var disableaj = getCookie('dis_aj');
var comefrom = window.location.pathname;

var req;
function loadXMLDoc(url, divID) {
	if (disableaj == 1) return true;

	var reqTimeout;
	var loadTimeout;
	req = null;
	if (window.XMLHttpRequest) {
		try { req = new XMLHttpRequest(); }
		catch (e) {}
	}
	else if (window.ActiveXObject) {
		try { req = new ActiveXObject('Msxml2.XMLHTTP'); }
		catch (e) {
			try { req = new ActiveXObject('Microsoft.XMLHTTP'); }
			catch (e) {}
		}
	}
	if (req) {
		req.onreadystatechange = function () {
			var loadobj = getObj('loading-div');
			if((req.readyState != 4) && (loadobj)) {
				var newtop = parseInt(screen.height/2)+getBodyScrollTop()-100;
				if (newtop > 0) { loadobj.style.top = newtop; }
				loadobj.style.display = 'block';
//				loadobj.innerHTML='<img src="/aj/Loading.gif">&nbsp; Загрузка...';
			}
			if (req.readyState == 4) {
				if (loadobj) { loadobj.style.display = 'none'; }
				clearTimeout(reqTimeout);
				clearTimeout(loadTimeout);
				if (req.status == 200) {
					var res = req.responseText;
					var res_status = res.substr(0, 1);
					var res_value = res.substr(1);
					if (res_status == '1') {
						var oAuto = eval("(" + res_value + ")");
						for (var i in oAuto) {
							if (i == 'title') {
								document.title = oAuto[i];
							}
							else if (i == 'from') {
								comefrom = oAuto[i];
							}
							else {
								var obj = getObj(i);
								if (obj) {
									obj.innerHTML = oAuto[i];
									var scripts = obj.getElementsByTagName("script");
									var script;
									for (var i = 0; script = scripts[i]; i++)
									{
									   eval(script.innerHTML); 
									}
								}
							}
						}
					}
					else if (res_status == 'm') { window.location.href = res_value; return; }
					else if (res_status == 'l') {
						window.location.href = '/login.lmz?come_from=' + comefrom;
						return;
					}
					else if (res_status == 'a') {
						window.location.href = '/set_agr.lmz?come_from=' + comefrom;
						return;
					}
					else if (res_status == 'e') { req.abort(); no_aj(); }
					else {
						document.write(res_value);
					}
				}
				else {
					var obj = getObj('informer');
					obj.innerHTML = 'Не удалось получить данные, проверьте подключение к интернету';
				}
			}
		}
		req.open("GET", url, true);
		req.send(null);
		reqTimeout = setTimeout("req.abort(); no_aj(); hideload(); return true;", 5000);
		return false;
	}
	no_aj();
	return true;
}

function hideload() {
	var loadobj = getObj('loading-div');
	if (loadobj) { loadobj.style.display = 'none'; }
}

function g(pid) {
	if (disableaj == 1) return true;
	var ans = loadXMLDoc('/getMain.lmz?i' + pid + '&hash=' + Math.random());
	if (ans == false) {
		AjHistory.add('g' + pid);
		return false;
	}
	return true;
}

function bonus_order(gid) {
	if (disableaj == 1) return true;
	var obj1 = getObj('mbc');
	var obj2 = getObj('mbd');
	var param = '';
	if ((obj1) && (obj2)) { param = '&cv=' + obj1.value + '&dt=' + obj2.value; }
	var ans = loadXMLDoc('/getMain.lmz?i24&add=1&confirm=1&id=' + gid + param + '&hash=' + Math.random());
	if (ans == false) return false;
	return true;
}

function historyChange(inp) {
	var act_type = inp.substr(0, 1);
	var act_link = inp.substr(1);
	if (act_type == 'g') {
		return loadXMLDoc('/getMain.lmz?i' + act_link + '&hash=' + Math.random());
	}
	else if (act_type == 's') {
		var s = act_link;
		if (s.length > 1) {
			var param;
			var obj = getObj('search_body');
			if (obj) { param = '&sv=' + s + '&dv=1&sf=1'; }
			else { param = '&sv=' + s + '&dv=1'; }
			return loadXMLDoc('/getMain.lmz?i17' + param + '&hash=' + Math.random());
		}
	}
	return false;
};

function change_curr(param) {
	if (disableaj == 1) return true;
	var forma = getObj('sm_currency');
	if (forma) {
		var ans = loadXMLDoc('/getMain.lmz?i13&cc=' + param + '&hash=' + Math.random());
	}
	return true;
}

function chfrom(param, act) {
	if (disableaj == 1) return true;
	var hashv = window.location.hash;
	if (hashv.length > 1 && hashv.charAt(0) == '#') {
		if (act) {
			var tname = param.action;
			tname = tname.split('come_from=', 1) + 'come_from=' + comefrom;
			param.action = tname;
		}
		else {
			var tname = param.href;
			tname = tname.split('come_from=', 1) + 'come_from=' + comefrom;
			param.href = tname;
		}
	}
	return true;
}


function search() {
	if (disableaj == 1) return true;
	var forma = getObj('make_search');
	if (forma) {
		var s = forma.sv.value;
		if (s.length < 2) {
			var obj = getObj('search_body');
			if (obj) {
				obj.innerHTML = 'В номере должно быть 2 и более символов';
				return false;
			}
			return true;
		}
		var oe = 0;
		var ref = 0;
		var trade = 0;
		var ean = 0;
		var avail = 0;
		var order = forma.order.value;
		if (forma.search_oe.checked)		{ oe = 1; }
		if ((forma.search_ref) && (forma.search_ref.checked))		{ ref = 1; }
		if (forma.search_trade.checked) { trade = 1; }
		if ((forma.search_ean) && (forma.search_ean.checked)) { ean = 1; }
		if (forma.avail.checked) { avail = 1; }
		s = encodeURIComponent(s);
		var param = '&sv=' + s + 
								'&search_oe=' + oe + 
								'&search_ref=' + ref + 
								'&search_trade=' + trade + 
								'&search_ean=' + ean + 
								'&avail=' + avail + 
								'&order=' + order;
		var ans = loadXMLDoc('/getMain.lmz?i17&sf=1' + param + '&hash=' + Math.random());
		if (ans == false) {
			AjHistory.add('s' + s);
			return false;
		}
	}
	return true;
}

function fsearch(s) {
	if (disableaj == 1) return true;
	if (s.length > 1) {
		s = encodeURIComponent(s);
		var param;
		var obj = getObj('search_body');
		if (obj) { param = '&sv=' + s + '&dv=1&sf=1'; }
		else { param = '&sv=' + s + '&dv=1'; }
		var ans = loadXMLDoc('/getMain.lmz?i17' + param + '&hash=' + Math.random());
		if (ans == false) {
			AjHistory.add('s' + s);
			return false;
		}
	}
	else {
		var ans = loadXMLDoc('/getMain.lmz?i17&hash=' + Math.random());
		if (ans == false) {
			AjHistory.add('g17');
			return false;
		}
	}
	return true;
}

function my_getdata(typ) {
	if (disableaj == 1) return true;
	var obj1 = getObj('df_f');
	var obj2 = getObj('df_u');
	if ((obj1) && (obj2) && (chksdate())) {
		var tvf = obj1.value;
		var tvu = obj2.value;
		var param = '';
		if (typ == 1) {
			var obj3 = getObj('gdsl');
			var obj4 = getObj('gdbl');
			var tsl = 0;
			var tbl = 0;
			if ((obj3) && (obj4)) {
				tsl = obj3.value;
				tbl = obj4.value;
			}
			param = '26&id=1&gm=1&day_from=' + tvf + '&day_upto=' + tvu + '&sl=' + tsl + '&bl=' + tbl;
		}
		else { param = '26&id=2&gm=1&day_from=' + tvf + '&day_upto=' + tvu; } 
		var ans = loadXMLDoc('/getMain.lmz?i' + param + '&hash=' + Math.random());
		if (ans == false) {
			AjHistory.add('g' + param);
			return false;
		}
	}
	return true;
}

function sendmsg(objlink) {
	var sendform = document.forms['send_err'];
	if (!sendform) { return true; }
	var ctrl_ent = 0;
	var ev = null;
	var errortext = '';
	var	cont_send = '';
	var c1 = 'На странице\n\n';
	var c2 = '\n\nОбнаружена ошибка\n\n';
	var c3 = '\n\nСообщить об этом разработчикам?\nСообщение отправится автоматически, заполнения форм или написания писем не потребуется.'

	if (window.event) ev = window.event;
	else if (parent && parent.event) ev = parent.event;

	if (ev) {
		ctrl_ent = ev.keyCode == 10 || (ev.keyCode == 13 && ev.ctrlKey);
		if (ctrl_ent) {
			if (parent.document.getSelection) {
				errortext = parent.document.getSelection();
				err_len = errortext.length;
			}
			else {
				tr = parent.document.selection;
				read = tr.createRange(); 
				errortext = read.text;
				read.moveStart("word", -5);
				read.moveEnd("word", 5);
				cont_send = read.text;
				err_len = errortext.length;
			}
		}
	}
	else {
		ctrl_ent = (objlink.keyCode==13 && objlink.ctrlKey);
		if (ctrl_ent) {
			errortext = parent.getSelection();
			err_ = errortext;
			err_len = err_.length;
		}
	}
	if (errortext != '') {
		if (err_len > 200) alert ('Вы выбрали слишком большой объем текста\nМаксимум - 200 символов!');
		else {
			ref = parent.document.title;
			if (confirm(c1+ref+c2+'>>>'+errortext+'<<<'+c3)) {
				sendform.addr.value = ref;
				sendform.txt.value = errortext;
				sendform.context.value = cont_send;
				sendform.lname.value = window.location.href;
				window.open('','wokrwindow1','resizable=no,toolbars=no,width=1,height=1');
				sendform.target = "wokrwindow1";
				sendform.submit();
			}
		}
	}
}

function switchcheck(field) {
	max = field.length;
	if (!max) {
		if (field.checked==true) {
			field.checked = false ;
		}
		else {
			field.checked = true;
		}
	}
	else {
		for (i = 0; i < max; i++) {
			if (field[i].checked==true) {
				field[i].checked = false ;
			}
			else {
				field[i].checked = true;
			}
		}
	}
}

function escapekey(e) {
	var code;
	if (!e) e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	if ((code == 27) && (e.ctrlKey == false) && (e.altKey == false)) {
		if (getObj('tobasket-form')) hideBasket();
		if (getObj('bonus-form')) hideBonus();
		
	}
}

function getBodyScrollTop() {
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function showBasket(gid) {
	if (disableaj == 1) return true;
	var f = document.forms['tobasket'];
	if (document.getElementById && f) { 
		loadXMLDoc('/getMain.lmz?i20&to_basket_gid=' + gid + '&hash=' + Math.random());
		document.onkeydown = escapekey;
		var b_obj = getObj('tobasket-form');
		var newtop = parseInt(screen.height/2) + getBodyScrollTop() - 190;
		if (newtop > 0) {
			b_obj.style.top = newtop + 'px';
		}
		b_obj.style.display = 'block';
		return false;
	}
	return true;
}

var span_tobasket = {'b_firm':'-','b_num':'-','b_name':'-','b_make':'-','b_mcount':'-','b_deliv':'-','b_avail':'-','b_transfer':'-','b_price':'-','b_cname':''};

function hideBasket() {
	if(getObj('tobasket-form')) {
		getObj('tobasket-form').style.display = 'none';
		var forma = getObj('tobasket');
		if (forma) {
			forma.gid.value = '0';
			forma.quantity.value = '';
			forma.comment.value = '';
		}

		for (var i in span_tobasket) {
			var obj = getObj(i);
			if (obj) { obj.innerHTML = span_tobasket[i]; }
		}
	}
	return false;
}

function to_basket() {
	if (disableaj == 1) return true;
	var forma = getObj('tobasket');
	if (forma) {
		var gid = forma.gid.value;
		var count = forma.quantity.value;
		var comment = forma.comment.value;
		comment = encodeURIComponent(comment);
		var param = '&to_basket_gid=' + gid + 
								'&to_basket_quantity=' + count + 
								'&to_basket_comment=' + comment +
								'&to_basket_done=1';
		loadXMLDoc('/getMain.lmz?i20' + param + '&hash=' + Math.random());
		hideBasket();
		return false;
	}
	return true;
}

function q_basket(param) {
	if (disableaj == 1) return true;
	if (!param) return true;
	var param = '&to_basket_gid=' + param + 
							'&to_basket_done=1';
	loadXMLDoc('/getMain.lmz?i20' + param + '&hash=' + Math.random());
	return false;
}

function gcLeft(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
function gcTop(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function showBonus(par, typ) {
	if(getObj('bonus-form')) {
		var obj1 = getObj('bonus_noadmin');
		var obj2 = getObj('bonus_nomoney');
		if ((obj1) && (obj2)) {
			if (typ) {
				obj1.style.display = 'none';
				obj2.style.display = 'block';
			}
			else {
				obj1.style.display = 'block';
				obj2.style.display = 'none';
			}
			document.onkeydown = escapekey;
			var ntop = parseInt(gcTop(par) - 20) + 'px';
			var nleft = parseInt(gcLeft(par) - 180) + 'px';
			getObj('bonus-form').style.top = ntop;
			getObj('bonus-form').style.left = nleft;
			getObj('bonus-form').style.display = 'block';
			return false;
		}
	}
	return true;
}

function hideBonus() {
	if(getObj('bonus-form')) {
		getObj('bonus-form').style.display = 'none';
		var obj1 = getObj('bonus_noadmin');
		if (obj1) { obj1.style.display = 'none'; }
		var obj2 = getObj('bonus_nomoney');
		if (obj2) { obj2.style.display = 'none'; }
	}
	return false;
}

function getObj(objID) {
	if (document.getElementById) { return document.getElementById(objID); }
	else if (document.all) { return document.all[objID]; }
	else if (document.layers) { return document.layers[objID]; }
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function refresh_data() {
	loadXMLDoc('/getMain.lmz?i6&hash=' + Math.random());
	setTimeout("refresh_data();", 60000);
}

function no_aj() {
	var today = new Date();
	today.setTime( today.getTime() );
	var expires_date = new Date( today.getTime() + (1000 * 60 * 60 * 24 * 7) );
	var obj = getObj('isdynamic');
	if (disableaj == 1) { disableaj = 0; }
	else { disableaj = 1; }
	loadisdinamic();
	document.cookie='dis_aj=' + disableaj + '; path=/; expires=' + expires_date.toGMTString();
	return false;
}

function cb(param) {
	if (disableaj == 1) return true;
	if (confirm("Уверены, что хотите очистить корзину?")) {
		var is_sb = getObj('chk_todo');
		var urlpar = '';
		if (param || is_sb) urlpar = '&sb=1';
		return loadXMLDoc('/getMain.lmz?i9&clean=1' + urlpar + '&hash=' + Math.random());
	}
	return false;
}

function checkAll(obj, ptype) {
	var fname = obj.form, i = 0;
	for(i = 0; i < fname.length; i++) {
		if(fname[i].type == 'checkbox' && fname[i].name != 'checkall' && fname[i].name != 'checkall1') {
			fname[i].checked = obj.checked;
		}
	}
	if (ptype) fname.checkall.checked = fname.checkall1.checked;
	else fname.checkall1.checked = fname.checkall.checked;

	curr_div = getObj('chk_todo');
	if (curr_div) {
		if (obj.checked) curr_div.style.display = 'block';
		else curr_div.style.display = 'none';
	}
}

function chkdiv(obj) {
	var fname = obj.form, i = 0, sum = 0, all = 0;
	for(i = 0; i < fname.length; i++) {
		if(fname[i].type == 'checkbox' && fname[i].name != 'checkall' && fname[i].name != 'checkall1') {
			if (fname[i].checked) sum++;
			all++;
		}
	}
	if ((fname.checkall.checked) && (sum != all)) {
		fname.checkall.checked = false;
		fname.checkall1.checked = false;
	}
	else if ((sum) && (!fname.checkall.checked) && (!fname.checkall1.checked) && (sum == all)) {
		fname.checkall.checked = true;
		fname.checkall1.checked = true;
	}
	curr_div = getObj('chk_todo');
	if (curr_div) {
		if (sum) curr_div.style.display = 'block';
		else curr_div.style.display = 'none';
	}
}

function chkagr(obj) {
	curr_div = getObj('chk_toagr');
	if (curr_div) {
		if (obj.value == 3) curr_div.style.display = 'block';
		else curr_div.style.display = 'none';
	}
}

function chksbr(obj) {
	curr_div_1 = getObj('chk_sftp');
	curr_div_2 = getObj('chk_smail');
	if ((curr_div_1) && (curr_div_2)) {
		if (obj.value == 1) {
			curr_div_1.style.display = 'block';
			curr_div_2.style.display = 'none';
		}
		else {
			curr_div_1.style.display = 'none';
			curr_div_2.style.display = 'block';
		}
	}
}

function loadisdinamic() {
	var obj = getObj('isdynamic');
	if (obj) {
		if (disableaj == 1) {
			obj.innerHTML = 'Динамический режим отключен: <u><A href="/" onclick="return no_aj();">Включить</A></u>';
		}
		else {
			obj.innerHTML = 'Динамический режим включен: <u><A href="/" onclick="return no_aj();">Отключить</A></u>';
		}
	}
	return false;
}

var hashValue = window.location.hash;
if (hashValue.length > 1 && hashValue.charAt(0) == '#') {
	historyChange(hashValue.substring(1));
}


