var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350; // А-Яа-я
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё
trans[0x457] = 0xBF;    // ї
trans[0x407] = 0xAF;    // Ї
trans[0x456] = 0xB3;    // і
trans[0x406] = 0xB2;    // І
trans[0x404] = 0xBA;    // є
trans[0x454] = 0xAA;    // Є

escape2 = function(str)
{
  var res="";

  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
    {
      n = trans[n];
      res=res+escape(String.fromCharCode(n));
    }
    else
    {
      n = str.charAt(i);
      res=res+n;
    }

  }
  return res;
}


var townindex=0;

function mainsearch(fChar, state) {
	if (fChar!='') {
		GetCTList(escape2(fChar)); //поиск по первой букве
	}
	if (state!=0) GetTList(state); //поиск по региону
}

function GetCTList(fChar){ //поиск по первой букве
  var URL="/find.htm?searchby=firstchar&fchar="+fChar+"&type=cgi";
  gotoPage(URL);
}

function GetTList(state){

	clearContainer("townsContainer");

	initTList();

	initPreloader("townsContainer", "preloader2", "");

	clearTimeout(timeOut);

  timeOut=window.setTimeout(function() {sendAjaxRequest("/loadXML.php?searchby=towns&state="+state+"&r="+Math.random(),"GET", fOkTList, fError)}, 500);

}

function fOkTList(xrequest) {
  if (document.getElementById("preloader2"))
  document.getElementById("preloader2").style.visibility="hidden";

  var listrecords=xrequest.responseXML.getElementsByTagName('t');
  showSliderList(listrecords);
}

function fError(xrequest) {
	xrequest=null;
}

function showSliderList(listrecords) {

	var count=0;
	var tdnum=0;
	var str="";
	var nTown=-1;
	var mincount=listrecords.length;
	var fChar="";
	var strFChar="";
	var bFChar=false;
	var new_URL="";

	for (i=0; i<listrecords.length; i++) {
  	count++;
  	try {
  		var strindex=listrecords[i].getAttribute("i");
  		var strname=listrecords[i].getAttribute("n");
  		var cindex=listrecords[i].getAttribute("ci");
  		var strOnClick="";

  		if ((fChar!=strname.charAt(0)) || (count==1)) {
  			if (bFChar) {
  	          fChar=strname.charAt(0);
  			  strFChar="<tr><td height='19' class='fChar'>"+fChar+"</td></tr>";
  	        }
  	    }
  	    else strFChar="";
  	    new_URL=setURL(cindex);
      	if (strindex==townindex) {
      		var nTown=i;
      		str+=strFChar+"<tr><td width='150' height='19' bgcolor='#e8eef8' "+strOnClick+"><a href='"+new_URL+"/frc/"+strindex+".htm'><b>"+strname+"</b></a></td></tr>";
      	}
      	else str+=strFChar+"<tr><td width='150' height='19' "+strOnClick+"><a href='"+new_URL+"/frc/"+strindex+".htm'>"+strname+"</a></td></tr>";
    }
    catch(err) {
    	document.getElementById("td"+tdnum).innerHTML="<table>"+str+"</table>";
    	return;
    }

    if ((count==mincount)||(i==listrecords.length-1)){
    	if (document.getElementById("td"+tdnum))
        document.getElementById("td"+tdnum).innerHTML="<table>"+str+"</table>";
      str="";
      count=0;
      tdnum++;
    }
  }

  if (nTown>-1) scroll3('townsContainer','vSlider', 'slideHandle', nTown);

  var obj=document.getElementById("townsContainer");
  if (obj.className=="townsContainer") obj.style.height="100%";

  townindex=0;
}

function showRegionsList(listrecords) {
	clearContainer("townsContainer");
	initTList();

	if (listrecords.length==0) {
		document.getElementById("td0").innerHTML="<table><tr><td style='cursor:default; text-decoration:none'>Ничего не найдено</td><tr></table>";
		return;
	}

	var count=0;
	var tdnum=0;
	var str="";
  var mincount=Math.ceil(listrecords.length/4);
	var fChar="";
	var strFChar="";


	if (document.getElementById("ttitle")) {		var obj=document.getElementById("ttitle");
		obj.innerHTML="<ul>"
  	obj.innerHTML+="<li class='title2'><b>"+arrtitle[1]+" (области)</b></li>";
		obj.innerHTML+="<ul>"
  }

	for (i=0; i<listrecords.length; i++) {
  	count++;
  	try {
 		if ((fChar!=listrecords[i][1].charAt(0)) || (count==1)) {
      		fChar=listrecords[i][1].charAt(0);
			strFChar="<tr><td height='19' class='fChar'>"+fChar+"</td></tr>";
  	    }
  	    else strFChar="";

      	str+=strFChar+"<tr><td height='19'><a href='/find.htm?&searchby=towns&state="+listrecords[i][0]+"&type=cgi'>"+listrecords[i][1]+"</a></td></tr>";
    }
    catch(err) {
    	document.getElementById("td"+tdnum).innerHTML="<table>"+str+"</table>";
      	return;
    }

    if ((count==mincount)||(i==listrecords.length-1)){
    	if (document.getElementById("td"+tdnum))
        document.getElementById("td"+tdnum).innerHTML="<table>"+str+"</table>";
      str="";
      count=0;
      tdnum++;
    }
  }
}

function showCountriesList(listrecords) {
	initСList();

	if (listrecords.length==0) {
		document.getElementById("сtd0").innerHTML="<table><tr><td style='cursor:default; text-decoration:none'>Ничего не найдено</td><tr></table>";
		return;
	}

	if (document.getElementById("country_lable"))
  		document.getElementById("country_lable").innerHTML+="<li class='last title4'><b>Страны</b></li>";

	var count=0;
	var tdnum=0;
	var str="";
  	var mincount=Math.ceil(listrecords.length/4);
	var fChar="";
	var strFChar="";
	var new_URL="";

	for (i=0; i<listrecords.length; i++) {
  	count++;
  	try {
 		if ((fChar!=listrecords[i][1].charAt(0).toLowerCase()) || (count==1)) {
      		fChar=listrecords[i][1].charAt(0).toLowerCase();
			strFChar="<tr><td height='19' class='fChar'>"+listrecords[i][1].charAt(0).toUpperCase()+"</td></tr>";
  	    }
  	    else strFChar="";
  	    new_URL=setURL(listrecords[i][0]);
      	str+=strFChar+"<tr><td height='19'><a href='"+new_URL+"/find.htm?cindex="+listrecords[i][0]+"&searchby=regions'>"+listrecords[i][1]+"</a></td></tr>";
    }
    catch(err) {
    	document.getElementById("сtd"+tdnum).innerHTML="<table>"+str+"</table>";
      	return;
    }

    if ((count==mincount)||(i==listrecords.length-1)){
    	if (document.getElementById("сtd"+tdnum))
        document.getElementById("сtd"+tdnum).innerHTML="<table>"+str+"</table>";
      str="";
      count=0;
      tdnum++;
    }
  }
}

function showTownsList(listrecords) {
	clearContainer("townsContainer");
	initTList();

	if (listrecords.length==0) {
		document.getElementById("td0").innerHTML="<table><tr><td style='cursor:default; text-decoration:none'>Ничего не найдено</td><tr></table>";
		return;
	}

	if (document.getElementById("ttitle")) {
		var obj=document.getElementById("ttitle");
  		if (arrtitle[2]!="") {
  			obj.innerHTML="<p class='title4'>Города | "+arrtitle[1]+" | "+arrtitle[2]+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style='font-size:13px; font-weight:normal' href='/find.htm?searchby=regions&cindex="+arrtitle[0]+"'>Все области</a></p>";
  		}
  		else if(arrtitle[1]!="") obj.innerHTML="<p class='title4'>"+arrtitle[1]+"</p>";
  	}

	var count=0;
	var tdnum=0;
	var str="";
  	var mincount=Math.ceil(listrecords.length/4);
	var fChar="";
	var strFChar="";
	var new_URL="";

	for (i=0; i<listrecords.length; i++) {
  	count++;
  	try {
 		if ((fChar!=listrecords[i][1].charAt(0)) || (count==1)) {
      		fChar=listrecords[i][1].charAt(0);
			strFChar="<tr><td height='19' class='fChar'>"+fChar+"</td></tr>";
  	    }
  	    else strFChar="";
  	    new_URL=setURL(listrecords[i][2]);
      	str+=strFChar+"<tr><td height='19'><a href='"+new_URL+"/frc/"+listrecords[i][0]+".htm'>"+listrecords[i][1]+"</a></td></tr>";
    }
    catch(err) {
    	document.getElementById("td"+tdnum).innerHTML="<table>"+str+"</table>";
      	return;
    }

    if ((count==mincount)||(i==listrecords.length-1)){
    	if (document.getElementById("td"+tdnum))
        document.getElementById("td"+tdnum).innerHTML="<table>"+str+"</table>";
      str="";
      count=0;
      tdnum++;
    }
  }
}

function initTList(){

	var obj=document.getElementById("townsContainer");

	if (obj) {


	 var content='';

	  content+='<div>'+
	  		   '<table width=100%><tr>'+
			   '<td width="20%" id="td0" class="countrieslist" valign="top"></td>'+
			   '<td width="1%"></td>';

		var strlocation=new String(document.location);
	  if (strlocation.indexOf("htm")>-1) {
	  	content+='<td width="20%" id="td1" class="countrieslist" valign="top"></td>'+
			     '<td width="1%"></td>'+
				 '<td width="20%" id="td2" class="countrieslist" valign="top"></td>'+
				 '<td width="1%"></td>'+
				 '<td width="20%" id="td3" class="countrieslist" valign="top"></td>';
     }
     content+='</tr></table></div>';
    document.getElementById("townsContainer").innerHTML=content;
    strlocation=null;
	}
}

function initСList(){
	var obj=document.getElementById("countriesContainer");
	if (obj) {		var content='';		var strlocation=new String(document.location);
		if (strlocation.indexOf('find.htm')>-1)
			content='<div class="title2">Страны</div>';
	  strlocation=null;
	  content+='<div>'+
	  	'<table width=100%><tr>'+
			'<td width="20%" id="сtd0" class="countrieslist" valign="top"></td>'+
			'<td width="1%"></td>'+
	  		'<td width="20%" id="сtd1" class="countrieslist" valign="top"></td>'+
			'<td width="1%"></td>'+
			'<td width="20%" id="сtd2" class="countrieslist" valign="top"></td>'+
			'<td width="1%"></td>'+
			'<td width="20%" id="сtd3" class="countrieslist" valign="top"></td>'+
     	'</tr></table></div>';
   	 	document.getElementById("countriesContainer").innerHTML=content;
	}
}

function gotoPage(URL) {
	document.location.href=URL;
}

function clearContainer(objName) {
	var obj=document.getElementById(objName);
	if (obj) obj.innerHTML="";
}
