window.onload = pageLoad;
window.onresize = blackSquare;

    var map;
    var gdir;
    var geocoder = null;
    var addressMarker;
    var kmprice = 22;
    var fAddress = "";
    var tAddress = "";

function UpdateByEnter(event){
	if (!document.getElementById) return;
	event = event || window.event;
	
	var f = document.forms['orderform'];
	var myKeyCode = event.keyCode ? event.keyCode : event.which ? event.which : null
	
	switch (myKeyCode)
	{
		case 13:
			setDirections(f.from.value, f.to.value);
			return false;
		break;
		default:
			return false;
		break;
	}
	
}

    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        gdir = new GDirections(map, document.getElementById("directions"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);
      }
    }
    
	function setDirections(fromAddress, toAddress) {
		var locale = "ru_RU";
		
		fAddress = fromAddress;
		tAddress = toAddress;

		fromAddress = "Москва, "+fromAddress;
		toAddress = "Москва, "+toAddress;
		
		gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
	}

    function handleErrors(){
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	     alert("Неизвестный адрес");
	   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	     alert("Сервер не отвечает");
	   
	   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("Ошибка в запросе");

	   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("Ошибка в запросе");
	    
	   else alert("Произошла какая-то ошибка");
	   
	}
	
	function onGDirectionsLoad(){
	
		var r_length = gdir.getDistance().meters/1000;
		var r_time = Math.round(gdir.getDuration().seconds/60);
		var totalCost = Math.round(r_length*kmprice*1.2);
		
		if(totalCost<300)
			totalCost = 300;
		
		var scalc = document.getElementById("calculate");
		var sres = document.getElementById("result");
		
		scalc.style.display = "none";
		sres.style.display = "block"
		
		document.getElementById("path").innerHTML = fAddress+"&#151;"+tAddress;
		document.getElementById("time").innerHTML = r_time+" мин.";
		document.getElementById("distance").innerHTML = r_length.toFixed(1)+" км";
		document.getElementById("price").innerHTML = totalCost+" руб.";
	}
	
	function form_test(objects,submitters)
	{
		this.checker=function()
	
		{
			good=0;
	
			total=0;
			for(var i=0;i<objects.length;i++)
	
			{
				obj=document.getElementById(objects[i]);
				if(obj.value!='')good++;
	
				total++;
	
			}
	
	
	
			good=(good!=total);
	
			for(var i=0;i<submitters.length;i++)
	
			{
	
				obj=document.getElementById(submitters[i]);
	
				obj.disabled=good;
	
			}
	
		}
	
		this.checker()
	
	
	
		for(var i=0;i<objects.length;i++)
	
		{
			obj=document.getElementById(objects[i]);
	
			obj.onkeyup=this.checker;
			obj.onchange=this.checker;
	
		}
	
	
	}


function pageLoad()
{
	pngFix();
	blackSquare();
	showTime();
	showCounter();
	initialize();
}

function pngFix()
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent) && navigator.userAgent.search("Opera") < 0){
		document.getElementById('topBg').className = 'topBgFix';
	}
}

function showCounter()
{
	document.getElementById('footerCounter').innerHTML = '<a href="http://www.liveinternet.ru/click" '+'target=_blank><img src="http://counter.yadro.ru/hit?t18.6;r'+escape(document.referrer)+((typeof(screen)=='undefined')?'':';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+';'+Math.random()+'" alt="liveinternet.ru: iieacaii ?enei oeoia ca 24 ?ana, iinaoeoaeae ca 24 ?ana e ca naaiai\y" '+'border=0 width=88 height=31></a>';
}


function showTime()
{
	 if(hour_block) {
		nowtime = new Date()
		if (parseInt(nowtime.getHours()) > 9) { var nowtimeHours = nowtime.getHours()} else { var nowtimeHours = '0' + nowtime.getHours() }
		if (parseInt(nowtime.getMinutes()) > 9) { var nowtimeMinutes = nowtime.getMinutes()} else { var nowtimeMinutes = '0' + nowtime.getMinutes() }

		hour_block.innerHTML = nowtimeHours;
		minute_block.innerHTML = nowtimeMinutes;
		setTimeout("showTime()", 5000);                              	
	}
}

function blackSquare()
{
	row1=document.getElementById('squareRow1');
	row2=document.getElementById('squareRow2');
	if(row1 && row2){
		row1.style.height = row1.offsetWidth;
		row2.style.height = row2.offsetWidth;
	}
}

function soberSign(c)
{
	if(sober_sign){
		sober_sign.className = c;
	}
	else
		return false;
}

function viewParagraph(ptable, link){
	var obj = document.getElementById(ptable);
	obj.className = obj.className == 'pNone' ? 'pVisible' : 'pNone';
	link.className = link.className == 'cur' ? '' : 'cur';
}
