var Browser = {
	Version: function() {
		 var version = false; // we assume a sane browser
		 if (navigator.appVersion.indexOf("MSIE") != -1)
			 version = parseFloat(navigator.appVersion.split("MSIE")[1]);
		 return version;
	 }
}

function bindAll() {
	var path = $A(location.pathname.split('/')); 
	if (path.size() > 2) markSection(path[1]);
	if (Browser.Version() && (Browser.Version() <= 7)) {
		$$(".LMlt").each(function (x){x.hide();});
		$$(".LMrt").each(function (x){x.hide();});
		$$(".LMlb").each(function (x){x.hide();});
		$$(".LMrb").each(function (x){x.hide();});
		$$(".LFlt").each(function (x){x.hide();});
		$$(".LFrt").each(function (x){x.hide();});
		$$(".LFlb").each(function (x){x.hide();});
		$$(".LFrb").each(function (x){x.hide();});
		$$(".PBlt").each(function (x){x.hide();});
		$$(".PBrt").each(function (x){x.hide();});
		$$(".PBlb").each(function (x){x.hide();});
		$$(".PBrb").each(function (x){x.hide();});
	}
	if (!Browser.Version() || (Browser.Version() > 7)) {
		$$(".MU").each(function (x) {
			Event.observe(x, "mouseover", showPopup.bindAsEventListener())
			Event.observe(x, "mouseout", hidePopup.bindAsEventListener())
		});
	}
	$$(".IMSline img").each(function (x) {
		Event.observe(x, "mouseover", function (evt) {
			Event.element(evt).src = "/files/img/"+Event.element(evt).className+"-h.gif";
		}.bindAsEventListener())
		Event.observe(x, "mouseout", function (evt) {
			Event.element(evt).src = "/files/img/"+Event.element(evt).className+".gif";
		}.bindAsEventListener())
	});
	$$(".SB1 img").each(function (x) {
		Event.observe(x, "mouseover", function (evt) {
			Event.element(evt).src = "/files/img/"+Event.element(evt).className+"-h.png";
		}.bindAsEventListener())
		Event.observe(x, "mouseout", function (evt) {
			Event.element(evt).src = "/files/img/"+Event.element(evt).className+".png";
		}.bindAsEventListener())
	});
	$$(".Point").each(function (x) {
		Event.observe(x, "click", function (evt) {
			selectPoint(x);
		}.bindAsEventListener())
	});
	if ($("CalBtn")) { 
		Calendar.setup({ 
			inputField: "Cal", 
			ifFormat: "%d.%m.%Y", 
			button: "CalBtn"
			});
		Event.observe($("OrderBtn"), "click", submitOrder);
		clearFormErrors();
	}
	$$(".PBLeft").each(function (x) {
		Event.observe(x, "click", turnLeft.bindAsEventListener());
	});
	$$(".PBRight").each(function (x) {
		Event.observe(x, "click", turnRight.bindAsEventListener());
	});
	$$(".PromoImage").each (function (x) {
		Event.observe(x, "click", function (e) { 
			document.location.href='/company/news/kupon/'; 
		}.bindAsEventListener());
	});
	imagesPreload();
}


function markSection(mode) {
 	var cls = ".SS" + mode;	
	var div;
	if ($$(cls).size()) {
		div = $$(cls)[0];
		if (div.hasClassName("SMI")) {
			div.addClassName("SMIOn");
			div.removeClassName("SMI");
		}
		if (div.hasClassName("MMI")) {
			div.addClassName("MMIHoverNo");
			div.addClassName("MUOn");
			showFirstLast(div);
		}	
	}
	div = $$(".LFActive"); 
	if (div.size()) {
		div = div[0];
		var html = div.innerHTML;
		div.innerHTML = html+'<div class="LMlt"></div><div class="LMlb"></div><div class="LMrt"></div><div class="LMrb"></div>';
	}
}

function showFirstLast(div) {
	if (div.hasClassName("MMIFirst")) {
		$$(".MML").first().addClassName("MMLHover");
	}
	if (div.hasClassName("MMILast")) {
		$$(".MMR").first().addClassName("MMRHover");
	}
}

function selectPoint(x) {
	$$(".Point").each(function (z) {
		if (z == x) z.addClassName("On");
		else z.removeClassName("On");
	});
	points.each(function (k) {
		if (x.hasClassName(k.key)) {
			$("MapDescr").innerHTML = k.value+"<div class=MoreMap><a href=\"javascript:void(0)\" onClick=\"detailMap('"+k.key+"', 0)\">Подробная карта.</a> <a href=\"javascript:void(0)\" onClick=\"detailMap('"+k.key+"', 1)\">Печатать карту.</a><input type=\"hidden\" id=\"curplace\" value=\""+k.value+"\"></div>";
			types.each(function (z) {
				var place = $$("."+z)[0];
				var price = place.down(".TypePrice");
				var select = place.down("input");
				if (pricejson[k.key] && pricejson[k.key][z]) {
					place.addClassName("TypePlaceOn");
					price.innerHTML = pricejson[k.key][z];
					select.enable();
				} else {
					place.removeClassName("TypePlaceOn");
					price.innerHTML = "&#151;";
					select.disable();
				}
			});
		}
	})
}

var timeout = null;
var lastshown = null;

function showPopup(evt) {
	var div = Event.element(evt);
	if (!div.hasClassName("MU")) div = div.up(".MU");
	if (div.hasClassName("MUOn")) return;
	var haspopup = false;
	if (true || div.hasClassName("MU")) {
		if (lastshown && (lastshown != div)) hideTruePopup(lastshown);
		lastshown = div;
		if (div.down(".MU2")) {
			div.down(".MU2").show();
			haspopup = true;
		}
	}
	if (div.hasClassName("MMI")) {
		if (haspopup) div.addClassName("MMIHover");
		else div.addClassName("MMIHoverNo");
		showFirstLast(div);
	}
	if (timeout) clearTimeout(timeout);
	timeout = null;
}
function hidePopup(evt) {
	var div = Event.element(evt);
	if (!div.hasClassName("MU")) div = div.up(".MU");
	if (div.hasClassName("MUOn")) return;
	if (!timeout) {
		timeout = setTimeout(function () { hideTruePopup(div) }, 100);
	}

}
function hideTruePopup(div) {
	div.removeClassName("MMIHover");
	div.removeClassName("MMIHoverNo");
	if (div.down(".MU2")) div.down(".MU2").hide();
	if (div.hasClassName("MMIFirst")) {
		$$(".MML").first().removeClassName("MMLHover");
	}
	if (div.hasClassName("MMILast")) {
		$$(".MMR").first().removeClassName("MMRHover");
	}
}
function showSocial(evt) {
	
}
function hideSocial(evt) {
}

function submitOrder() {
//console.log("u");
	var post = true;
	clearFormErrors();

	if ($("FIO").value.length < 3) { 
		$("FIO").addClassName("RFErr"); 
		post = false;	
	}
	if ($("Car").value.length < 3) { 
		$("Car").addClassName("RFErr"); 
		post = false;	
	}
	if ($("Phone").value.length < 7) { 
		$("Phone").addClassName("RFErr"); 
		post = false;	
	}
	re = /^[0-9]+\.[0-9]+\.[0-9]+$/;
	if (!re.test($("Cal").value)) {
		$("Cal").addClassName("RFErr"); 
		post = false;	
	}
	if (post) {
		$("OrderBtn").innerHTML = '<img src="/files/img/ajax.gif" align="absmiddle"> Отправка запроса';
		checkOne = new Ajax.Request(
		'/order.php', 
		{
			method: 'post', 
			postBody: "Class="+$("PlacesForm").elements["Type"].value+
				"&STO="+($("curplace")?$("curplace").value:"?")+
				"&Service="+$("ProductHeading").innerHTML+
				"&FIO="+$("FIO").value+
				"&Car="+$("Car").value+
				"&Phone="+$("Phone").value+
				"&Cal="+$("Cal").value+ 
				"&Time="+$("Time").value,
			onComplete: submitDone 
		});
	}

}

function submitDone() {
	$("OrderBtn").innerHTML = 'Спасибо. Ждите звонка!'; 
	$("FIO").disabled = true;
	$("Car").disabled = true;
	$("Phone").disabled = true;
	$("Cal").disabled = true;
	$("Time").disabled = true;
	$("FIO").removeClassName("RFErr");
	$("Car").removeClassName("RFErr");
	$("Phone").removeClassName("RFErr");
	$("Cal").removeClassName("RFErr");

}

function clearFormErrors() {
	$("FIO").removeClassName("RFErr"); 
}

var scroll = null;
var scrollMode = 0; // -1 turn left; 1 turn right


function startScroll() {
	left = parseInt($("PBScroll").getStyle("left"), 10); 
 	 nleft = left - 5 * (scrollMode?-scrollMode:1);
	if (nleft % 960 == 0) {
		time = 10000;
		width = -(parseInt($("PBScroll").getStyle("width"), 10) - 960);
		if (nleft <= width ) nleft = 0; 
		scrollMode = 0;
	}
	else time = 10
	if (scroll) $("PBScroll").setStyle({ left: nleft + "px" });
	scroll = setTimeout(startScroll, time);
}

var preload;
var preloaded = 0;

function imagesPreload() {
	var prels = $$(".preload");
	var index;
	preload = prels.size();
	index = preload;
	prels.each(function (x) {
		var image = document.createElement('img');
		image.onload = function () {
				preloaded ++;
				if (preloaded == preload) startScroll();
			};
		image.src = '/files/img/slide-'+index+'.jpg';
		index --;
		x.appendChild(image);
	});
}
function turnRight(evt) { scrollMode = 1; clearTimeout(scroll); startScroll(); }
function turnLeft(evt) { console.log("Left"); scrollMode = -1; clearTimeout(scroll); startScroll(); }
function detailMap(name, print) {
	window.open("/maps/"+name+"/"+(print?"?print":""),"detailmap","toolbar=no,scrollbars=yes,directories=no,status=no,menubar=yes,resizable=yes,location=no,width=650,height=500");
}

function showBunner(b) {
	var rnd = Math.floor(Math.random()*b.size());
	var index = 0;
	b.each(function (u) {
		if (index == rnd) {
			document.write('<a href="'+u.value+'"><img src="/user/img/'+u.key+'" border="0"></a>');
			b.unset(u.key);
			throw $break;
		}
		index ++;
	});

}

function fixmarva() {
	var div;
	if (div = $("ProactiveSupport4545")) {
		div.style.marginTop = $(window).getHeight() - 217 + "px;"	
	}
}

