var streetN=0;
var searchAdr=0;
var searchStr=0;
var streetType = new Array();
var firmTypes = new Array();
var firmList = new Array();
var busTypes = new Array();
var busList = new Array();

var rpH=237;
var rpdH=367;
var scroll=0;	
this.onclick= focusBody;
var punkt_menu=0;
function printImage(name, info)
{

openwin('print.php?name='+name,'_blank',600,700);
}
function myscroll()
{
	if (scroll==0)
	{
		if (document.getElementById("content").addEventListener)
		{
			document.getElementById("content").addEventListener('DOMMouseScroll', wheel, false);
		}
		document.getElementById("content").onmousewheel = wheel;
		scroll=1;
	}
	else
	{
		if (document.getElementById("content").addEventListener)
		{
			document.getElementById("content").addEventListener('DOMMouseScroll', blockEvent, false);
		}
		document.getElementById("content").onmousewheel = blockEvent;
		scroll=0;
	}
}

function quality(s)
{
	thisMovie("karta").swfQuality(s);
}

function resit_clip()
{
	s = document.getElementById("content").offsetWidth;
	//thisMovie("karta").resIT(s);
	thisMovie("karta").reset();
}


function wheel(event)
{
    // Переменная, в которой будем хранить сдвиг
    var wheelDelta = 0;
    
    // Шаг меню при прокрутке
    var step = 300;
    if (!event) 
    {
        event = window.event;
    }
    if (event.wheelDelta) 
    {
        // В IE и Safari значения delta всегда строго 120, вне зависимости от настроек пользователя.
        wheelDelta = event.wheelDelta/120;
        
        // В Opera 9, значение delta домножается на 40 и совпадает по знаку со значениями в IE
        if (window.opera)
        {
            wheelDelta = event.wheelDelta/40;
        }
    } 
    else if (event.detail) 
    {
        wheelDelta = -event.detail;
    }
    if (wheelDelta)
    {
				if (wheelDelta>0) thisMovie("karta").navigate('in');
				else thisMovie("karta").navigate('out');
    }
    
    // Убиваем событие (чтобы страница не скроллилась)
    blockEvent(event);
}

function blockEvent(event)
{
    if (!event)
    {
        event = window.event;
    }
    if (event.stopPropagation) 
    {
        event.stopPropagation();
    }
    else 
    {
        event.cancelBubble = true;
    }
    if (event.preventDefault) 
    {
        event.preventDefault();
    }
    event.returnValue = false;
}

function resultOff() {
	for (j=0;j<streetType.length;j++)
	{
		try 
		{	resultTitleOff(streetType[j]); 
		}
		catch(e) {}
	}
}

function resultVisOff() {
	for (j=0;j<streetType.length;j++)
	{
		try {	resultTitleVisOff(streetType[j]); 
		}
		catch(e) {}
	}
}

function resultTitleOff(id) {
	document.getElementById("b"+id).style.display="none";
	document.getElementById("t"+id).style.backgroundImage="url(http://karta.tomsk.ru/dimages/bplus.gif)";
}

function resultTitleOn(id) {
	document.getElementById("b"+id).style.display="block";
	document.getElementById("t"+id).style.backgroundImage="url(http://karta.tomsk.ru/dimages/bminus.gif)";
}

function resultTitleVisOff(id) {	document.getElementById("t"+id).style.display="none";	}

function resultTitleVisOn(id) {	document.getElementById("t"+id).style.display="block";	}

function resultVis(id) {
	if (document.getElementById("b"+id).style.display=="none") {resultTitleOn(id);}
	else {resultTitleOff(id);}
}

function showProperties(obj, objName) 
{
  var result = "The properties for the " + objName + " object:" + "\n";
  
  for (var i in obj) {result += i + " = " + obj[i] + "\n";}
  //tesit.value=result;
}

function allStreet() {
	resultOff();
	for (j=0;j<streetType.length;j++)
	{
		resultTitleVisOn(streetType[j]);
		str=document.getElementById("b"+streetType[j]).innerHTML;
		document.getElementById("b"+streetType[j]).innerHTML=str.replace(/none/gi,"block");
	}
}

function clearStreet() {
	resultOff();
	for (j=0;j<streetType.length;j++)
	{
		str=document.getElementById("b"+streetType[j]).innerHTML;
		document.getElementById("b"+streetType[j]).innerHTML=str.replace(/block/gi,"none");
	}
}

function searchLoad(str,type) {
	clearStreet();
	resultVisOff();
	var temp = new Array();
	var temp1 = new Array();
	temp=str.split("!");
	temp1=type.split("!");
	for (j=0;j<temp.length;j++)
	{
		document.getElementById("r"+temp[j]).style.display="block";
	}
	for (j=0;j<temp1.length;j++)
	{
		resultTitleVisOn(temp1[j]);
		resultTitleOn(temp1[j]);
	}
}

function showStreet(id) {
	//ss=thisMovie("karta").searchStreet(document.getElementById(id).value);
	thisMovie("karta").addAdr(searchStr);
	//alert(''+streetType[0]+streetType[1]);
	//thisMovie("karta").addStreet(ss);
}

/*function showWR(id,l) {
	var n=true;
	if (id=="domSel") 
	{
		if (document.getElementById("streetSel").value.length<10) n=false;
	}
	if (document.getElementById(id).value.length>=l)
	{
		if (n)
		{		
			document.getElementById(id+"Pod").style.visibility='visible';
			if (id=="streetSel") 
			{
				document.getElementById("streetSelPod").innerHTML="";
				thisMovie("karta").searchAdr(document.getElementById(id).value,'');
			}
			if (id=="domSel"&&document.getElementById('streetSel').value.length>10) 
			{
				document.getElementById("domSelPod").innerHTML="";
				if (document.getElementById(id).value=='') str2='%';
				else str2=document.getElementById(id).value;
				thisMovie("karta").searchAdr(document.getElementById('streetSel').value,str2);
			}
		}
	}
	else document.getElementById(id+"Pod").style.visibility='hidden';
}*/
function showWR(id,l) {
	
	var n=true;
	if (id=="domSel") 
	{
		if (document.getElementById("streetSel").value.length<10) n=false;
	}
	if (document.getElementById(id).value.length>=l)
	{
		if (n)
		{		
			document.getElementById(id+"Pod").style.visibility='visible';
			if (id=="streetSel") 
			{
				document.getElementById("streetSelPod").innerHTML="";
				//thisMovie("karta").searchAdr(document.getElementById(id).value,'');
				str=document.getElementById(id).value;
				//alert(document.getElementById('streetSel').value);
				$.ajax({ 
					type: "POST", 
					url: "http://karta.tomsk.ru/serach.php", 
					data: "str="+escape(str)+"&script=street", 
					success: adrSearchLoad
				});
			}
			if (id=="domSel"&&document.getElementById('streetSel').value.length>10) 
			{
				document.getElementById("domSelPod").innerHTML="";
				if (document.getElementById(id).value=='') str2='%';
				else str2=document.getElementById(id).value;
				//thisMovie("karta").searchAdr(document.getElementById('streetSel').value,str2);
				
				str=escape(document.getElementById('streetSel').value);
				
				
				$.ajax({ 
					type: "POST", 
					url: "http://karta.tomsk.ru/serach.php", 
					data: "str="+str+"&num="+str2+"&script=adr", 
					success: adrSearchLoad1 
				});
			}
		}
	}
	else document.getElementById(id+"Pod").style.visibility='hidden';
}
function adrSearchLoad(response) {
	var temp = new Array();
	var str = response;
	//alert(str);
	//str1=str.split("?");
	temp=str.split("!");
	//temp1=str1[1].split("!");
	html='';
	for (j=0;j<temp.length;j++)
	{
		temp[j]=temp[j].split("_");
		if (temp[j][1]!=undefined && temp[j][2]!=undefined)
			html+="<div onMouseover='chColorRSin(this)' onMouseout='chColorRSout(this)' class='searchDivRes' onclick='searchStr="+temp[j][0]+"'>"+temp[j][1]+' '+temp[j][2]+"</div>";
	}	
	document.getElementById("streetSelPod").innerHTML=html;
}

function adrSearchLoad1(response)
{
	var temp = new Array();
	var str = response;	
	temp=str.split("!");
	html='';
	for (j=0;j<temp.length;j++)
	{
		temp[j]=temp[j].split("_");
		if (temp[j][1]!=undefined && temp[j][0]!=undefined)
			html+="<div onMouseover='chColorRSin(this)' onMouseout='chColorRSout(this)' class='searchDivRes' onclick='searchAdr="+temp[j][0]+"'>"+temp[j][1]+"</div>";
	}	
	document.getElementById("domSelPod").innerHTML=html;
}


function focusBody(e) {
	var mouseObj;
	if (navigator.appName=="Microsoft Internet Explorer"||
		  navigator.appName=="Opera") {
		mouseObj=event.srcElement;
	} 
	else 
	{
		if (navigator.appVersion.indexOf("Safari")!=-1)
		{
			mouseObj=event.srcElement;
		}
		else 
		{
			mouseObj=e.target;
		}
	}
	if (mouseObj.className!="searchDivRes"
		&&mouseObj.className!="searchDiv")
	{
		if	(mouseObj.id!="streetSel")	document.getElementById('streetSelPod').style.visibility='hidden';
		if	(mouseObj.id!="domSel")	document.getElementById('domSelPod').style.visibility='hidden';
	}
	else {
		if (mouseObj.className=="searchDivRes") {
			if (mouseObj.parentNode.id=='domSelPod') {
				document.getElementById("domSel").value=mouseObj.innerHTML;
				document.getElementById("domSelPod").innerHTML="<div class=searchDivRes>"+mouseObj.innerHTML+"</div>";
			}
			else {
				document.getElementById("streetSel").value=mouseObj.innerHTML;
				document.getElementById("streetSelPod").innerHTML="<div class=searchDivRes>"+mouseObj.innerHTML+"</div>";
			}
		}
		document.getElementById('streetSelPod').style.visibility='hidden';
		document.getElementById('domSelPod').style.visibility='hidden';
	}
}

function searchA() {
	if (document.getElementById('search').value.length>2)	
		thisMovie("karta").searchStreet(document.getElementById('search').value);
	this.foc.focus();
}

function getHash(str) {
	if (str!=null)
		document.location.hash=str;
	document.title="Интерактивная карта города Томск";
}

function setHash() {
	thisMovie("karta").HashIt(document.location.hash);
	document.title="Интерактивная карта города Томск";
}

function delAdr() {
	thisMovie("karta").DelAllAdr();
	document.title="Интерактивная карта города Томск";
}
function delBus() {
	thisMovie("karta").DelAllBus();
	document.title="Интерактивная карта города Томск";
}
function delNum() {
	thisMovie("karta").removeWays();
	document.title="Интерактивная карта города Томск";
}
function mark(value) {
	thisMovie("karta").panelVid(value);
}

function thisMovie(movieName)
{
	if (navigator.appName.indexOf("Microsoft") != -1)
	{
		return window[movieName];
	}
	else
	{
		return document[movieName];
	}
}

function change_vis(value,obj) {
	thisMovie("karta").change_vis(value,obj.checked);
}

function saveImage() {
	thisMovie("karta").saveImage();
}

function addBus(value) {
	thisMovie("karta").addBus(value);
}
function addNum(value) {

if (value=='')
{
 str=escape(document.getElementById('streetSel').value);
 $.ajax({ 
		type: "POST", 
		url: "http://karta.tomsk.ru/serach.php", 
		data: "str="+str+"&script=bus", 
		success: searchBusResponse
	});

 }
 else
{
 
 thisMovie("karta").addNum(value);
}
}

function mous_event(value) {
	if (value=="n") {
		this.m.style.borderColor="#f20000";
		this.p.style.borderColor="#aaaaaa";
	}
	if (value=="p") 
	{
		this.m.style.borderColor="#aaaaaa";
		this.p.style.borderColor="#f20000";
	}
	if (value=="m") 
	{
		this.m.style.borderColor="#f20000";
		this.p.style.borderColor="#aaaaaa";
	}
	if (value=="f") 
	{
		//this.l11.value=this.f.style.borderColor;
		if (this.f.style.borderColor=="rgb(242, 0, 0)"||this.f.style.borderColor=="#f20000")
			this.f.style.borderColor="#aaaaaa";
		else this.f.style.borderColor="#f20000";
	}
	thisMovie("karta").mous_event(value);
	this.search.focus();
}

function addStreet(id) {
	//streetSel.value=document.getElementById('rr'+id).innerHTML;
	thisMovie("karta").addStreet(searchStr);
}

function streetLoad(id,b) {
	if (b==1)
	{
		document.getElementById("rr"+id).style.fontWeight="bold";
	} 
	else 
	{
		document.getElementById("rr"+id).style.fontWeight="normal";
	}
}

function addAdr() {
	//thisMovie("karta").addAdr(streetSel.value,domSel.value);
	thisMovie("karta").addAdr(searchAdr);
	
	
}


function DelAllStreets() {
	thisMovie("karta").DelAllStreets();
}

function DelAllStreetsComlete(masId) {
	var temp= new Array();
	temp=masId.split("!");
	for (j=0;j<temp.length;j++)
	{
		document.getElementById("r"+temp[j]).className="result";
		document.getElementById("rr"+temp[j]).style.fontWeight="normal";
	}
}

function enabled() {
	thisMovie("karta").resIT(cW);
}

function killMenu(){
	if (event.button == 2){
		sendToFlash(); 
		disableContext();
	}
}

function chColorIn(obj)
{
	//obj.style.color="ff510d";
}

function chColorOut(obj)
{
	//obj.style.color="604124";
}

function chColorRSin(obj)
{
	obj.style.backgroundColor="71717f";
	//obj.style.color='#0fff0f';
	//obj.style.color='#ffffff';
}
function chColorRSout(obj)
{
	//obj.style.backgroundColor="ffffff";
	obj.style.backgroundColor="00f000";
	//obj.style.color='#604124';
}

function menu(id) {
	id2=id.substring(0, 3)+"t";
	if (document.getElementById(id).style.display=="none") {
		document.getElementById(id).style.display="block";
		document.getElementById(id2).style.backgroundImage="url(http://karta.tomsk.ru/dimages/bplus.gif)";
	}
	else 
	{
		document.getElementById(id).style.display="none";
		document.getElementById(id2).style.backgroundImage="url(http://karta.tomsk.ru/dimages/bplus.gif)";
	}
}

function mouseIn() {
	event.srcElement.style.borderWidth="1px";
	event.srcElement.style.borderColor="604124";
}

function mouseOut() {
	event.srcElement.style.borderWidth="0px";
}

function navigate(s) {
	thisMovie("karta").navigate(s);
}

function openwin (url, target, w, h) {
	var widthscreen=1024;
	var heightscreen=768;
	var top=100;
	var left=240;
	widthscreens=screen.availWidth;
	heightscreen=screen.availHeight;
	top=(heightscreen/2)-(h/2);
	left=(widthscreens/2)-(w/2);
	url='http://karta.tomsk.ru/'+url;
	eval("window.open(url, target, 'top="+top+",left="+left+",menubar=no,status=no,toolbar=no,directories=no,location=no,resizable=no,scrollbars=no,width='+w+',height='+h);");
}

function showFirmInfo(firm) 
{
	if (document.getElementById('b' + firm).style.display == 'none')
	{
		document.getElementById('rr' + firm).style.fontWeight = 'bold';
		document.getElementById('b' + firm).style.display = 'block';
	}	
	else
	{
		document.getElementById('rr' + firm).style.fontWeight = 'bold';
		document.getElementById('b' + firm).style.display = 'none';
	}	
}

function changeVis(obj)
{
	if (document.getElementById(obj.id + 'Body').style.display == 'block')
	{
		document.getElementById(obj.id + 'Body').style.display = 'none';
		obj.innerHTML = obj.innerHTML.replace(/\-/,'+');
	}	
	else
	{
		document.getElementById(obj.id + 'Body').style.display = 'block';
		obj.innerHTML = obj.innerHTML.replace(/\+/,'-');
	}	
}


function searchFirm()
{
	var name = document.getElementById('streetSel').value;
	var type1 ='all';
	if (name.length > 0)
		//thisMovie("karta").searchFirm(name, type);
		$.ajax({ 
			type: "POST", 
			url: "http://karta.tomsk.ru/serach.php", 
			data: "str="+escape(name)+"&type="+type1+"&script=firm", 
			success: searchFirmResponse
		});
}

function searchFirmResponse(str) 
{
	//alert(str);
	str=str.split("?");
	types=str[0];
	firms=str[1];
	hideFirms();
	var firm_Types = new Array();
	var firm_Names = new Array();
	firm_Types = types.split("!");
	firm_Names = firms.split("!");
	
	for (i=0; i<firm_Types.length; i++)
	{
		document.getElementById("t" + firm_Types[i]).style.display = "block";
		document.getElementById("t" + firm_Types[i]).style.background = "url(http://karta.tomsk.ru/dimages/bminus.gif) no-repeat";
		document.getElementById("b" + firm_Types[i]).style.display = "block";
	}
	
	var infoItems = ['address', 'product', 'contact'];
	for (i=0; i<firm_Names.length; i++)
	{
		document.getElementById('rr' + firm_Names[i]).style.fontWeight = 'normal';
		if (document.getElementById("l" + firm_Names[i])) 
			document.getElementById("l" + firm_Names[i]).style.display = "block";
		document.getElementById("r" + firm_Names[i]).style.display = "block";
		
		for (j=0; j<infoItems.length; j++)
		{
			if (document.getElementById(infoItems[j]+"_" + firm_Names[i]))
			{
				document.getElementById(infoItems[j]+"_" + firm_Names[i]).innerHTML = document.getElementById(infoItems[j]+"_" + firm_Names[i]).innerHTML.replace(/\+/,'-');
				document.getElementById(infoItems[j]+"_" + firm_Names[i] + "Body").style.display = "block";
			}
		}
		if (document.getElementById("info_" + firm_Names[i]))
		{		
			document.getElementById("info_" + firm_Names[i]).innerHTML = document.getElementById("info_" + firm_Names[i]).innerHTML.replace(/\-/,'+');
			document.getElementById("info_" + firm_Names[i] + "Body").style.display = "none";
		}
	}
}

function searchBusResponse(str) 
{
	//alert(str);
	
	if(str.indexOf('_')+1)
	{
		str1=str.split("_");
		str=str1[0];
	}
	else
	{
		
	}
	
	str=str.split("?");
	types=str[0];
	firms=str[1];
	
	hideFirms();
	var firm_Types = new Array();
	var firm_Names = new Array();
	firm_Types = types.split("!");
	firm_Names = firms.split("!");
	//thisMovie("karta").addNum(value);
	for (i=0; i<firm_Types.length; i++)
	{
		document.getElementById("t" + firm_Types[i]).style.display = "block";
		document.getElementById("t" + firm_Types[i]).style.background = "url(http://karta.tomsk.ru/dimages/bminus.gif) no-repeat";
		document.getElementById("b" + firm_Types[i]).style.display = "block";
	}
	
	var name = document.getElementById('streetSel').value;
	for (i=0; i<firm_Names.length; i++)
	{

		document.getElementById('rr' + name+'-'+firm_Names[i]).style.fontWeight = 'bold';
		document.getElementById('b' + name+'-'+firm_Names[i]).style.display = 'block';
		document.getElementById('rr' + name+'-'+firm_Names[i]).style.fontColor = '#0ff00f';
		document.getElementById('b' + name+'-'+firm_Names[i]).style.fontColor = '#0ff00f';
	}
}

function hideFirms()
{
	//this.sw5.innerHTML = this.sw5.innerHTML.replace(/block/gi,"none");
	for (i=0; i<firmTypes.length; i++)
	{
		document.getElementById("t" + firmTypes[i]).style.display = "none";
		document.getElementById("b" + firmTypes[i]).style.display = "none";
	}
	
	for (i=0; i<firmList.length; i++)
	{
		if (document.getElementById("l" + firmList[i])) 
			document.getElementById("l" + firmList[i]).style.display = "none";
		document.getElementById("r" + firmList[i]).style.display = "none";
		document.getElementById("b" + firmList[i]).style.display = "none";
	}
}


function showAllFirms()
{

	for (i=0; i<firmTypes.length; i++)
	{
		document.getElementById("t" + firmTypes[i]).style.display = "block";
		document.getElementById("t" + firmTypes[i]).style.background = "url(http://karta.tomsk.ru/dimages/bplus.gif) no-repeat";
		document.getElementById("b" + firmTypes[i]).style.display = "none";
	}
	
	var infoItems = ['address', 'product', 'contact'];
	for (i=0; i<firmList.length; i++)
	{
		
		if (document.getElementById("l" + firmList[i])) 
			document.getElementById("l" + firmList[i]).style.display = "block";
		document.getElementById("r" + firmList[i]).style.display = "block";
		document.getElementById('rr' + firmList[i]).style.fontWeight = 'bold';
		document.getElementById("b" + firmList[i]).style.display = "none";
		
		for (j=0; j<infoItems.length; j++)
		{
			if (document.getElementById(infoItems[j]+"_" + firmList[i]))
			{
				document.getElementById(infoItems[j]+"_" + firmList[i]).innerHTML = document.getElementById(infoItems[j]+"_" + firmList[i]).innerHTML.replace(/\+/,'-');
				document.getElementById(infoItems[j]+"_" + firmList[i] + "Body").style.display = "block";
			}
		}
		if (document.getElementById("info_" + firmList[i]))
		{		
			document.getElementById("info_" + firmList[i]).innerHTML = document.getElementById("info_" + firmList[i]).innerHTML.replace(/\-/,'+');
			document.getElementById("info_" + firmList[i] + "Body").style.display = "none";
		}		
	}	
}


function searchCriteriaChangedListener(criteria)
{
	if (event.srcElement.checked)
	{
		with (document.getElementById(event.srcElement.id + '_i'))
		{
			removeAttribute('disabled');
			value = '';
			style.textAlign = "left";
			focus();
		}
	}
	else
	{
		with (document.getElementById(event.srcElement.id + '_i'))
		{
			setAttribute('disabled', true);
			value = criteria;
			style.textAlign = "center";
		}
	}	
}


function searchAddress(id)
{
	thisMovie("karta").addAdr(id);
}


function submit()
{
	thisMovie("addFirm").testInputData();
}


function addingFaultResp()
{
	document.getElementById('add_btn').setAttribute('disabled', true);
}

function addingBack()
{
	document.getElementById('add_btn').removeAttribute('disabled');
}

function addingSuccessResp()
{
	document.getElementById('add_btn').setAttribute('disabled', true);
	document.getElementById('cancel_btn').setAttribute('value', 'Закрыть');
}