var xmlHttp = createXmlHttpRequestObject();
 

function createXmlHttpRequestObject() {

    var xmlHttp;
    try {

        xmlHttp = new XMLHttpRequest();
    }
    catch(e)  {

        var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                        "MSXML2.XMLHTTP.5.0",
                                        "MSXML2.XMLHTTP.4.0",
                                        "MSXML2.XMLHTTP.3.0",
                                        "MSXML2.XMLHTTP",
                                        "Microsoft.XMLHTTP");

    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
          try { 

              xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
          } 
          catch (e) {}
    }
}

  if (!xmlHttp) alert("Ошибка создания XMLHttpRequest");
  else return xmlHttp;
}


function chreg3($switch,$city,$city_name) {

        if (xmlHttp) {
            try {

		$sw = $switch;
		$ct = $city;
		$cn = $city_name;

		xmlHttp.open("GET", "/cmd/common/clist.php?city_id="+$city, true);
                xmlHttp.onreadystatechange = handlerchreg;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}

function handlerchreg() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		a = content.split("&");

	        document.getElementById('vpolosa').innerHTML = '';
	    
		if ($sw==1){
	        var polosa = '<div id="userbar" class="reg_mode"><div class="content_block"><div class="block"><a href="javascript:void(0);" onclick="chreg3(2,'+$ct+',\''+$cn+'\')" class="head_reg">';
	        polosa = polosa + '<img src="/images/ru/span_login.gif" width="187" height="30" alt="Вход в систему" /></a><form action="/cmd/user/reg.php" method="post"><div class="form_field">';
	        polosa = polosa + '<input type="hidden" id="city_id" name="city_id" value="'+$ct+'"><label>Ваш E-mail:</label><input class="text" name="email" type="text" /></div><div class="city"><span class="head">Ваш город:</span>';
	        polosa = polosa + '<span class="active" id="city_checker" onclick="document.getElementById(\'city_list\').style.display=\'block\'" title="Сменить город">';
	        polosa = polosa + '<i id="active_city">'+$cn+'</i></span><ul id="city_list" style="display: none">';

                for (i=0;i<a.length;i++){
                var b = a[i].split('|');
                polosa = polosa + '<li><a href="javascript:void(0);" onclick="setcity3('+b[0]+',\''+b[1]+'\');">'+b[1]+'</a></li>';
                }

	        polosa = polosa + '</ul></div>';
	        polosa = polosa + '<div><input class="button reg" type="submit" value="" title="Вход" /></div>';
	        polosa = polosa + '</form><div class="clear"></div></div></div>';
		}//if sw

		if ($sw==2){
		

                var polosa = '<div id="userbar">';
	        polosa = polosa + '<div class="content_block"><div class="block">';
                polosa = polosa + '<a href="javascript:void(0);" onclick="chreg3(1,'+$ct+',\''+$cn+'\');" class="head_reg"><img src="/images/ru/span_reg.gif" width="187" height="30" alt="Регистрация" /></a>';
    	        polosa = polosa + '<div class="city">';
                polosa = polosa + '<span class="head">Город:</span>';
                polosa = polosa + '<span class="active" id="city_checker" onclick="document.getElementById(\'city_list\').style.display=\'block\'" title="Сменить город"><i id="active_city">'+$cn+'</i></span>';
                polosa = polosa + '<ul id="city_list" style="display: none">';
                for (i=0;i<a.length;i++){
                var b = a[i].split('|');
                polosa = polosa + '<li><a href="/cmd/common/chcity.php?city_id='+b[0]+'">'+b[1]+'</a></li>';
                }
                polosa = polosa + '</ul></div>';
                polosa = polosa + '<form action="/cmd/user/logon.php" method="post">';
	        polosa = polosa + '<div class="form_field">';
                polosa = polosa + '<label>E-mail:</label>';
                polosa = polosa + '<input class="text" name="email" type="text" />';
    	        polosa = polosa + '</div>';
    		polosa = polosa + '<div class="form_field">';
                polosa = polosa + '<label>Пароль:</label>';
                polosa = polosa + '<input class="text" name="pass" type="password" />';
	        polosa = polosa + '</div>';
                polosa = polosa + '<div><input class="button login" type="submit" value="" title="Вход" /></div>';
                polosa = polosa + '</form>';
	        polosa = polosa + '<a href="/user/remember_password/" class="forgot">Забыли пароль?</a>';
	        polosa = polosa + '<div class="clear"></div>';
	        polosa = polosa + '</div></div>';
	        polosa = polosa + '</div>';
		}//if sw
    


	        document.getElementById('vpolosa').innerHTML = polosa;
            
                }
            catch(e) {}
        }
        else {}
  }
}

function setcity3($cid,$cname) {

        if (xmlHttp) {
            try {

		document.getElementById('city_id').value=$cid;
		document.getElementById('active_city').innerHTML=$cname;
		document.getElementById('city_list').style.display='none';

                xmlHttp.open("GET", "/cmd/common/clist.php?city_id="+$cid, true);
                xmlHttp.onreadystatechange = handlersetcity;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}

function handlersetcity() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		a = content.split("&");

                document.getElementById('city_list').innerHTML = '';
		
		var polosa = '';
	    
                for (i=0;i<a.length;i++){
                var b = a[i].split('|');
                polosa = polosa + '<li><a href="javascript:void(0);" onclick="setcity3('+b[0]+',\''+b[1]+'\');">'+b[1]+'</a></li>';
                }


		document.getElementById('city_list').innerHTML = polosa;


                }
            catch(e) {}
        }
        else {}
  }
}




function GenCode() {

        if (xmlHttp) {
            try {
            $email = document.getElementById('email').value;


            var errorList = [];
            var errorText = {
            1 : "Неверный формат поля 'E-mail'",
	    2 : "Не заполнено поле 'Пароль'"
            }

//            reg = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
//            if (!$email.match(reg)) errorList.push(1);

                if (!errorList.length)
                {
                xmlHttp.open("GET", "/cmd/user/gencode.php?email="+encodeURI($email), true);
                xmlHttp.onreadystatechange = handlerGenCode;
                xmlHttp.send(null);
                }
                else
                {
                var errorMsg = "Ошибка: ";
                for (i = 0; i < errorList.length; i++) {
                errorMsg += errorText[errorList[i]] + "\n";
                }
                alert(errorMsg);
                }


        }
        catch(e) {}
    }
}

function handlerGenCode() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
                a = content.split("|");
                if (a[0]=="500"){
                alert('Ошибка. Пользователь с таким E-mail не найден.');
                }
                if (a[0]=="200"){
                document.getElementById('in_rempass').style.display = 'none';
		document.getElementById('in_rempass2').style.display = 'block';	    
                }

                }
            catch(e) {}
        }
        else {}
  }
}

function flashsxema($switch,$action) {

        if (xmlHttp) {
            try {

	    $sw = $switch;

	    xmlHttp.open("GET", "/cmd/common/act.php?act_id="+$action, true);
	    xmlHttp.onreadystatechange = handlerflashsxema;
	    xmlHttp.send(null);


//	    var cont    = '<img src="/files/act/map/2_1281695746.jpg">';
//	    cont = cont + '<div class="scheme"><a href="javascript:void(0);" onclick="flashsxema(1,2);">схема проезда</a></div>';
//	    cont = cont + '<span class="date">с 5 по 25 августа</span>';

//	    document.getElementById('flash').innerHTML = cont;
	    
//	    alert('123');

        }
        catch(e) {}
    }
}

function handlerflashsxema() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;

		a = content.split("|");

		document.getElementById('flash').innerHTML = '';


		if ($sw==1){
		if (a[5]!="") {var cont = a[5];} else {var cont    = '<img src="'+a[3]+'" width="544" height="348">';}
		//cont = cont + '<div class="location"><a href="javascript:void(0);" onclick="flashsxema(2,'+a[0]+');" class="scheme">главная</a><span class="metro">Адрес: '+a[4]+'</span></div>';
		cont = cont + '<div class="location"><a href="javascript:void(0);" onclick="document.location.reload();" class="scheme">главная</a><span class="metro">Адрес: '+a[4]+'</span></div>';
		}

		if ($sw==2){
		var cont    = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="544" height="348" id="movie" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+a[2]+'" /><param name="quality" value="high" /><param name="wmode" value="opaque" /><param name="bgcolor" value="#ffffff" /><embed src="'+a[2]+'" quality="high" wmode="opaque" bgcolor="#ffffff" width="544" height="348" name="movie" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
		cont  = cont + '<div class="location"><a href="javascript:void(0);" onclick="flashsxema(1,'+a[0]+');" class="scheme">схема проезда</a></div>';
                cont  = cont + '<span class="period">'+a[1]+'</span>';
		}

		document.getElementById('flash').innerHTML = cont;


                }
            catch(e) {}
        }
        else {}
  }
}


function sf(){
GenCode();
return false;
}


function chreguser() {

        if (xmlHttp) {
            try {

                $email   = document.getElementById('email').value;
                $pass    = document.getElementById('pass1').value;
                $city_id = document.getElementById('city_id').value;

                xmlHttp.open("GET", "/cmd/user/reg_ajax.php?email="+$email+"&password="+$pass+"&city_id="+$city_id, true);
                xmlHttp.onreadystatechange = handlerchreguser;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}

function handlerchreguser() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		a = content.split("|");

		    if (a[0]==200){
		    document.getElementById('lightbox_in').innerHTML = '';
		    document.getElementById('lightbox_in').innerHTML = '<span style="font-size: 180%; text-align: center">Для завершения регистрации необходимо перейти по ссылке, которая была отправлена на ваш E-mail</span>';
		    }
		    if (a[0]==500){
		    a2 = a[1].split("-");
                    var errorMsg = "Ошибки: \n";
	            for (i = 0; i < a2.length; i++){
    	            errorMsg += a2[i] + "\n";
        	    }
	            alert(errorMsg);
		    }

                }
            catch(e) {}
        }
        else {}
  }
}



function sendcode() {

        if (xmlHttp) {
            try {

                $phone_code    = document.getElementById('phone_code').value;
                $phone_text    = document.getElementById('phone_text').value;

                var errorList = [];
	        var errorText = {
	        1 : "Неверный формат номера телефона"
	        }


	        ret2 = /[0-9]/i;
	        if (!$phone_code.match(ret2) || !$phone_text.match(ret2)) errorList.push(1);


	        if (!errorList.length)
	        {
                xmlHttp.open("GET", "/cmd/user/send_sms.php?phone=7"+$phone_code+""+$phone_text, true);
                xmlHttp.onreadystatechange = handlersendcode;
                xmlHttp.send(null);
	        }
	        else {
	        var errorMsg = "При заполнении формы допущены следующие ошибки:\n\n";
	        for (i = 0; i < errorList.length; i++) {
	        errorMsg += errorText[errorList[i]] + "\n";
	        }
	        alert(errorMsg);
	        }


        }
        catch(e) {}
    }
}


function handlersendcode() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		alert('SMS с кодом отправлено');
                }
            catch(e) {}
        }
        else {}
  }
}

function logon() {

        if (xmlHttp) {
            try {

                $email    = document.getElementById('logon_email').value;
                $pass     = document.getElementById('logon_pass').value;

                xmlHttp.open("GET", "/cmd/user/ajax_logon.php?email="+$email+"&pass="+$pass, true);
                xmlHttp.onreadystatechange = handlerlogon;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}


function handlerlogon() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;


		if (content==200){
		document.location.href="/";
		}
		else alert('E-mail или пароль неверные')
	    
                }
            catch(e) {}
        }
        else {}
  }
}



function CheckUser(){

        if (xmlHttp) {
            try {
	    $email   = document.getElementById('uemail').value;
	    $message = document.getElementById('message').value;

            var errorList = [];
            var errorText = {
            1 : "Неверный формат поля 'E-mail'"
            }

            reg = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
            if (!$email.match(reg)) errorList.push(1);

                if (!errorList.length)
                {
                xmlHttp.open("GET", "/cmd/user/checkuser.php?email="+$email+"&message="+$message, true);
                xmlHttp.onreadystatechange = handlerCheckUser;
                xmlHttp.send(null);
                }
                else
                {
                var errorMsg = "Ошибка: ";
                for (i = 0; i < errorList.length; i++) {
                errorMsg += errorText[errorList[i]] + "\n";
                }
                alert(errorMsg);
                }

            }
            catch(e) {}
        }

}

function handlerCheckUser() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		if (content==500) {
		document.sfriendform.submit();
		//document.location.href='/actions/order/';
		//document.getElementById('in').innerHTML = '<div class="form_field">Приглашение будет отправлено другу после оформления заказа</div>';
		}
		if (content==200) {alert('Пользователь с таким E-mail уже зарегистрирован. Вы не можете отправить ему бесплатный купон.');}
                }
            catch(e) {}
        }
        else {}
  }
}




function AddMetro($st_id){

        if (xmlHttp) {
            try {

                xmlHttp.open("GET", "/cmd/common/metro.php?mode=add&id="+$st_id, true);
                xmlHttp.onreadystatechange = handlerAddMetro;
                xmlHttp.send(null);
            }
            catch(e) {}
        }

}

function handlerAddMetro() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		
                a = content.split("&");
                document.getElementById('spisok_stan').innerHTML = '';

		var ms = document.getElementById('metro_selected');
		ms.options.length = 0;


		var stan = '';
                for (i=0;i<a.length;i++){
                var b = a[i].split('|');
                stan = stan + '<li><a herf="javascript:void(0);" onclick="DelMetro('+b[0]+');"><img src="/images/ru/scheme_del.gif" alt="" title="Удалить" class="delete" /></a>'+b[1]+'</li>';
		ms.options[ms.options.length] = new Option(b[1], b[0]);
                }

	        for (i=0;i<ms.options.length;i++){
	        ms.options[i].selected = true;
	        }

		if (content=='') ms.options.length = 0;
		if (content!='') document.getElementById('spisok_stan').innerHTML = '<ul>'+stan+'</ul>';
	

                }
            catch(e) {}
        }
        else {}
  }
}

function DelMetro($st_id){

        if (xmlHttp) {
            try {

            xmlHttp.open("GET", "/cmd/common/metro.php?mode=del&id="+$st_id, true);
            xmlHttp.onreadystatechange = handlerAddMetro;
            xmlHttp.send(null);
            }
            catch(e) {}
        }

}


function ViewMessages(){

        if (xmlHttp) {
            try {
	    var user_id = document.getElementById('user_id').value;

            xmlHttp.open("GET", "/cmd/common/chat.php?user_id="+user_id, true);
            xmlHttp.onreadystatechange = handlerViewMessages;
            xmlHttp.send(null);
            }
            catch(e) {}
        }


}


function handlerViewMessages() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		document.getElementById('chat_window').innerHTML = content;
		$('div.pane').scrollTo( '100%' );
		CheckNew();
                }
            catch(e) {}
        }
        else {}
  }
}

function PutMessage(){

        if (xmlHttp) {
            try {
            var user_id = document.getElementById('user_id').value;
	    var message = document.getElementById('message').value;

	    document.getElementById('message').value = '';

            xmlHttp.open("GET", "/cmd/common/putchat.php?user_id="+user_id+"&message="+encodeURIComponent(message), true);
            xmlHttp.onreadystatechange = handlerPutMessage;
            xmlHttp.send(null);

            }
            catch(e) {}
        }


}

function handlerPutMessage() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
		var content = xmlHttp.responseText;
                document.getElementById('chat_window').innerHTML = content;
		$('div.pane').scrollTo( '100%' );
	        pref[0] = '';
    		pref[1] = '';
                }
            catch(e) {}
        }
        else {}
  }
}


    var step = 0;
    var pref = new Array("","::: новое сообщение ::: ");
    var titl = document.title;
    var iTimerID;

    function titles()
    {
        document.title = pref[step++ % 2] + titl;
    }
    function StartInterval() 
    {
        pref[0] = '';
        pref[1] = '::: новое сообщение :::';
        iTimerID = setInterval("titles()",400);
    }
    function StopInterval()
    {
	pref[0] = '';
	pref[1] = '';
        clearInterval(iTimerID);
        document.title = titl;
    }

function CheckNew(){

        if (xmlHttp) {
            try {
            var user_id = document.getElementById('user_id').value;

            xmlHttp.open("GET", "/cmd/common/ncount.php?user_id="+user_id, true);
            xmlHttp.onreadystatechange = handlerCheckNew;
            xmlHttp.send(null);

            }
            catch(e) {}
        }


}

function handlerCheckNew() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
                if (content==0) {StopInterval();} else {StartInterval();}
                }
            catch(e) {}
        }
        else {}
  }
}



function Chat_Look(){
//intervalID2 = setInterval(function() { CheckNew(); }, 5000);
intervalID  = setInterval(function() { ViewMessages(); }, 6000);
}

function reg_adver() {

        if (xmlHttp) {
            try {

                var email2 = document.getElementById('user_email2').value;
		var city2 = document.getElementById('user_city2');

                xmlHttp.open("GET", "/cmd/user/reg4.php?email="+email2+"&city_id="+city2.options[city2.selectedIndex].value, true);
                xmlHttp.onreadystatechange = handlerchregstep2;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}



function reg_step1() {

        if (xmlHttp) {
            try {

                var city      = document.getElementById('user_city');
		var city_name = document.getElementById('user_city_name').value;

                xmlHttp.open("GET", "/cmd/user/reg.php?step=1&city_id="+city.options[city.selectedIndex].value+"&city_name="+encodeURIComponent(city_name), true);
                xmlHttp.onreadystatechange = handlerchregstep1;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}

function handlerchregstep1() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
                if (content == 200) {
                document.getElementById('in_reg1').style.display = "none";
		document.getElementById('in_reg11').style.display = "none";
                document.getElementById('in_reg2').style.display = "block";
                }
                if (content == 500) alert('Ошибка');
                }
            catch(e) {}
        }
        else {}
  }
}

function reg_step2() {

        if (xmlHttp) {
            try {

                var email = document.getElementById('user_email').value;
                var pass  = document.getElementById('user_pass').value;

                xmlHttp.open("GET", "/cmd/user/reg.php?step=2&email="+email+"&pass="+pass, true);
                xmlHttp.onreadystatechange = handlerchregstep2;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}

function handlerchregstep2() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
                a = content.split("|");
                if (a[0] == 200) {
                document.getElementById('in_reg2').style.display = "none";
		document.getElementById('in_adver').style.display = "none";
                document.getElementById('in_reg3').style.display = "block";
                }
            	    if (a[0] == 500){
                    a2 = a[2].split("-");
                    var errorMsg = "Ошибки при регистрации: \n";
                    for (i = 0; i < a2.length; i++){
                    errorMsg += a2[i] + "\n";
                    }
                    alert(errorMsg);
		    }
                }
            catch(e) {}
        }
        else {}
  }
}


function save_rate() {

        if (xmlHttp) {
            try {

                var act_id = document.getElementById('act_rate_id').value;
                var rating = document.getElementById('act_rate_value').value;
		var info   = document.getElementById('act_rate_comment').value;
		var is_use = document.getElementById('act_rate_use').value;

    

                xmlHttp.open("GET", "/cmd/user/rate.php?act_id="+act_id+"&rating="+rating+"&is_use="+is_use+"&info="+encodeURIComponent(info), true);
                xmlHttp.onreadystatechange = handlersaverate;
                xmlHttp.send(null);

        }
        catch(e) {}
    }
}

function handlersaverate() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            try {
                var content = xmlHttp.responseText;
		document.location.reload();
                }
            catch(e) {}
        }
        else {}
  }
}









