var xmlHttp=GetXmlHttpObject();
var loading_fired_ = 0;
function GetXmlHttpObject()
{
      var objXMLHttp;
      
      if (window.ActiveXObject)
      {
            try
            {
               objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
            }
            catch (e)
            {
                objXMLHttp=false;  
            }
      }
      else
      {
            try
            {
                objXMLHttp=new XMLHttpRequest()
				
            }
            catch (e)
            {
                objXMLHttp=false;  
            }
      }
      if (!objXMLHttp)
            alert("Ошибка"); 
      else
            return objXMLHttp
}

myonshow = function( message )
	{
		if ( ! loading_fired_ )
		{
			loading_fired_ = 1;
		
			//------------------------------------------------
			// Change text?
			//------------------------------------------------
		
		if ( message )
		{
			document.getElementById( 'loading-layer-text' ).innerHTML = message;
		}
		
		centerdiv = new center_div();
		centerdiv.divname = 'loading-layer';
		centerdiv.move_div();
		}
		
		return;
	};

myonhide = function()
	{
		try
		{
			if ( centerdiv && centerdiv.divobj )
			{
				centerdiv.clear_div();
			}
		}
		catch(e)
		{
		}
	
		loading_fired_ = 0;
		
		return;
};

function stateChanged() 
{

      if (xmlHttp.readyState==4) 
      {  
          if (xmlHttp.status==200)
          {
                
                data = xmlHttp.responseText;
				
				myonhide();
				select.options.length = 0;                     // очищаем SELECT 
                if(data.length == 0) return;                   // если данных нет – не делаем больше ничего 
                var arr = data.split('\n');                      // в массиве arr – строки полученной таблицы
                
                for(var i in arr){
                       val = arr[i].split('\t');                         // в массиве val – поля полученной таблицы
                       select.options[select.options.length]= 
                       new Option(val[1], val[0], false, false);         // добавляем новый объект OPTION к нашему SELECT 
                } 
                     
          }
          else
          {
                alert("При обращении к серверу возникли проблемы: "+xmlHttp.status);
				myonhide();
          }
      } 
}

function showRegion(str,name)
{
      if (document.getElementById('nameStreet')!=null) {document.getElementById('nameStreet').value="";}
      
   if (xmlHttp.readyState==4 || xmlHttp.readyState==0)
      {
            if (name=='selectCity') {
				namesel='selectRegion';
				stat='p_status';
			}
			if (name=='uselectcity') {
				namesel='uselectregion';
				stat='r_status';
			}
			var url="/engine/ajax/selectregion.php"
            url=url+"?selectCity="+str
            url=url+"&sid="+Math.random()
            select = document.getElementById(namesel)
			myonshow('');            
			xmlHttp.open("GET",url,true)
            xmlHttp.onreadystatechange=stateChanged;
            xmlHttp.send(null);
      }   
}




function ushowStreet(street,city)
{
    
	if (street.length<3) {document.getElementById('unamestreet').options.length = 0; }
    if (street.length>2) {
    
      if (xmlHttp.readyState==4 || xmlHttp.readyState==0)
      {       
            
			var url="/engine/ajax/selectregion.php"
            url=url+"?selCity="+city+"&selectStreet="+encodeURIComponent(street)
            url=url+"&sid="+Math.random()
            select = document.getElementById('unamestreet');
			myonshow('');
			xmlHttp.open("GET",url,true);
			
            xmlHttp.onreadystatechange=stateChanged;
            xmlHttp.send(null);
      }
    }
}
function ushowdiv(obj)
{
      if (xmlHttp.readyState==4 || xmlHttp.readyState==0)
      {    

            var url="/engine/ajax/selectregion.php"
            url=url+"?selectobj="+obj
            url=url+"&sid="+Math.random()
            
            select = document.getElementById('uselecttypeobj')
            xmlHttp.open("GET",url,true)
            xmlHttp.onreadystatechange=changediv
            xmlHttp.send(null)
            
      }
 
}
function clearstreet()
{
    document.getElementById('nameStreet').value=""
}
function uclearstreet()
{
    document.getElementById('unameStreet').value=""
}



function changediv() 
{
      
      if (xmlHttp.readyState==4) 
      {    
          if (xmlHttp.status==200)
          {
                data = xmlHttp.responseText;
                  switch (data) { 
                        case '1':
                        
                              document.getElementById('orooms').style.display="block";
                              document.getElementById('oareaall').style.display="block";
                              document.getElementById('oareakitchen').style.display="block";
                              document.getElementById('ofloor').style.display="block";
                              document.getElementById('ofloors').style.display="block";
                              document.getElementById('wall').style.display="block";
                              document.getElementById('planing').style.display="block";
                              document.getElementById('phone').style.display="block";
                              document.getElementById('balcony').style.display="block";
                              document.getElementById('bathroom').style.display="block";
                              document.getElementById('state').style.display="block"; 
                              document.getElementById('payment').style.display="block";
                              break;
                        
                        case '2':{
                                    
                                    if (select.value!='TIDTypeObj=17'){
                                    
                                    document.getElementById('orooms').style.display="block";
                                    document.getElementById('oareaall').style.display="block";
                                    document.getElementById('oareakitchen').style.display="none";
                                    document.getElementById('ofloor').style.display="none";
                                    document.getElementById('ofloors').style.display="block";
                                    document.getElementById('wall').style.display="block";
                                    document.getElementById('planing').style.display="block";
                                    document.getElementById('phone').style.display="block";
                                    document.getElementById('balcony').style.display="none";
                                    document.getElementById('bathroom').style.display="block";
                                    document.getElementById('state').style.display="block"; 
                                    document.getElementById('payment').style.display="block";
                              } else 
                              {
                                    document.getElementById('orooms').style.display="none";
                                    document.getElementById('oareaall').style.display="none";
                                    document.getElementById('oareakitchen').style.display="none";
                                    document.getElementById('ofloor').style.display="none";
                                    document.getElementById('ofloors').style.display="none";
                                    document.getElementById('wall').style.display="none";
                                    document.getElementById('planing').style.display="none";
                                    document.getElementById('phone').style.display="none";
                                    document.getElementById('balcony').style.display="none";
                                    document.getElementById('bathroom').style.display="none";
                                    document.getElementById('state').style.display="none"; 
                                    document.getElementById('payment').style.display="block";
                              }
                              }
                              break;
                        case '3': if (select.value!='TIDTypeObj=19'){
                                    document.getElementById('orooms').style.display="block";
                                    document.getElementById('oareaall').style.display="none";
                                    document.getElementById('oareakitchen').style.display="none";
                                    document.getElementById('ofloor').style.display="none";
                                    document.getElementById('ofloors').style.display="none";
                                    document.getElementById('wall').style.display="block";
                                    document.getElementById('planing').style.display="none";
                                    document.getElementById('phone').style.display="none";
                                    document.getElementById('balcony').style.display="none";
                                    document.getElementById('bathroom').style.display="none";
                                    document.getElementById('state').style.display="none"; 
                                    document.getElementById('payment').style.display="block";
                              } else 
                              {
                                    document.getElementById('orooms').style.display="none";
                                    document.getElementById('oareaall').style.display="none";
                                    document.getElementById('oareakitchen').style.display="none";
                                    document.getElementById('ofloor').style.display="none";
                                    document.getElementById('ofloors').style.display="none";
                                    document.getElementById('wall').style.display="none";
                                    document.getElementById('planing').style.display="block";
                                    document.getElementById('phone').style.display="none";
                                    document.getElementById('balcony').style.display="none";
                                    document.getElementById('bathroom').style.display="none";
                                    document.getElementById('state').style.display="none"; 
                                    document.getElementById('payment').style.display="block";
                              }
                              break;    
                        case '4':    
                                    document.getElementById('orooms').style.display="none";
                                    document.getElementById('oareaall').style.display="none";
                                    document.getElementById('oareakitchen').style.display="none";
                                    document.getElementById('ofloor').style.display="none";
                                    document.getElementById('ofloors').style.display="none";
                                    document.getElementById('wall').style.display="none";
                                    document.getElementById('planing').style.display="none";
                                    document.getElementById('phone').style.display="none";
                                    document.getElementById('balcony').style.display="none";
                                    document.getElementById('bathroom').style.display="none";
                                    document.getElementById('state').style.display="none"; 
                                    document.getElementById('payment').style.display="block";
                        default:
                  }
         } 
         else
         {
                alert("При обращении к серверу возникли проблемы: "+xmlHttp.statusText);  
         }
      } 
}

function fnamerealtor(val) {
    var arr = val.split(':');
    document.getElementById('namerealtor').value = arr[0];
    document.getElementById('mobilphone').value = arr[1];
}


function suggestcheck() {

    var key = (window.event) ? window.event.keyCode : ev.keyCode;
    if (key == 13) return false;
    return true;
}

function suggest() {
    var ss = document.getElementById('suggest');

    var key = (window.event) ? window.event.keyCode : ev.keyCode;
    var RETURN = 13;
    var TAB = 9;
    var ESC = 27;
    var ARRUP = 38;
    var ARRDN = 40;

    var bubble = true;

    switch (key) {

        case RETURN:
            setHighlightedValue();
            bubble = false;
            break;


        case ESC:
            clearSuggestions();
            break;

        case ARRUP:
            changeHighlight(key);
            bubble = false;
            break;


        case ARRDN:
            changeHighlight(key);
            bubble = false;
            break;
    }

    if (!bubble) return;
    street = document.getElementById('tBox').value;
    city = document.getElementById('uselectcity').value;
    if (street.length < 3) { document.getElementById('suggest').innerHTML = ''; return; }
    if (street.length > 2) {

        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {

            var url = "/engine/ajax/selectregion.php"
            url = url + "?selCity=" + city + "&selectStreet=" + encodeURIComponent(street)
            url = url + "&sid=" + Math.random()


            xmlHttp.open("GET", url, true);

            xmlHttp.onreadystatechange = handleSuggestions;
            xmlHttp.send(null);
        }
    }
}

var iHighlighted = 0;
function handleSuggestions() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {

            var ss = document.getElementById('suggest');
            ss.innerHTML = '';

            data = xmlHttp.responseText;

            if (data.length == 0) return;                   //         
            var arr = data.split('\n');                      //   arr    

            for (var i in arr) {
                val = arr[i].split('\t');                         //   val    
                if (val.length > 0) {
                    var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
                    suggest += 'onmouseout="javascript:suggestOut(this);" ';
                    suggest += 'onclick="javascript:setValue(this.innerHTML,this.id);" ';
                    suggest += 'class="suggest_link" id="' + val[0] + '">' + val[1] + '</div>';
                    ss.innerHTML += suggest;
                }
            }

        }
    }
}

changeHighlight = function(key) {
    var list = document.getElementById('suggest');
    if (!list)
        return false;

    var n;

    if (key == 40)
        n = iHighlighted + 1;
    else if (key == 38)
        n = iHighlighted - 1;


    if (n > list.childNodes.length)
        n = list.childNodes.length;
    if (n < 1)
        n = 1;


    setHighlight(n);
}



setHighlight = function(n) {
    var list = document.getElementById('suggest');
    if (!list)
        return false;

    if (iHighlighted > 0)
        clearHighlight();

    iHighlighted = Number(n);

    list.childNodes[iHighlighted - 1].className = "suggest_link_over";


   
}

clearHighlight = function() {
    var list = document.getElementById('suggest');
    if (!list)
        return false;

    if (iHighlighted > 0) {
        list.childNodes[iHighlighted - 1].className = "suggest_link";
        iHighlighted = 0;
    }
}


setHighlightedValue = function() {
    if (iHighlighted) {
        var list = document.getElementById('suggest');
        if (!list)
            return false;

        value = list.childNodes[iHighlighted - 1].innerHTML;
        id = list.childNodes[iHighlighted - 1].id;
        setValue(value, id)
        list.innerHTML = '';
        iHighlighted = 0;

    }
}


clearSuggestions = function() {
    var list = document.getElementById('suggest');
    list.innerHTML = '';
    document.getElementById('tBox').value = '';
    document.getElementById('unamestreet').value = '';

}

function suggestOver(div_value) {
    div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
    div_value.className = 'suggest_link';
}

//Click function
function setValue(value, id) {
    document.getElementById('tBox').value = value;
    document.getElementById('unamestreet').value = id;
    document.getElementById('suggest').innerHTML = '';
}
