var net = new Object();
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;

net.ContentLoader=function(url, onload, fid, onerror)
{
	this.fid=fid;
	this.url=url;
	this.req=null;
	this.onload=onload;
	this.onerror=(onerror)?onerror:this.defaultError;
	this.loadXMLDoc(url);
}
net.ContentLoader.prototype=
{
	loadXMLDoc:function(url)
	{
		if(window.XMLHttpRequest)
		{
			this.req=new XMLHttpRequest();
		}else if(window.ActiveXObject)
		{
			this.req=new ActiveXObject("Microsoft.XMLHTTP");
		}
		if(this.req)
		{
			try
			{
				var loader=this;
				this.req.onreadystatechange=function()
				{
					loader.onReadyState.call(loader);
				}
				this.req.open('GET', url, true);
				//this.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				this.req.send(null);
			}catch(err)
			{
				this.onerror.call(this);
			}
		}
	},
	onReadyState:function()
	{
		var req=this.req;
		var ready=req.readyState;
		//alert(ready);
		if(ready==net.READY_STATE_COMPLETE)
		{
			var httpStatus=req.status;
			if(httpStatus==200||httpStatus==0)
			{
				this.onload.call(this);
			}else
			{
				this.onerror.call(this);
			}
		}
	},
	defaultError:function()
	{
		alert("Error fretching data!"+"\n\nreadyState: "+this.req.readyState+
		"\nstatus: "+this.re.status+"\nheaders: "+this.req.getAllResponseHeaders());
	}
}


function parse()
{
	var elem=document.getElementById('login');
	elem.innerHTML=this.req.responseText;
    if(document.forms['login'])
    {
        document.forms['login'].log.focus();
    }
    if(document.forms['newnotice'])
    {
        if(document.forms['newnotice1'])
        {
            if(document.forms['newnotice'].men)
                showsub(document.forms['newnotice'].men.value);
            else
                showsub(0);
        }
    }
}


function load_form(path)
{
    var ar=document.getElementsByTagName('select');
    for(var i=0; i<ar.length; ++i)
        ar[i].style.display='none';
    var el=document.getElementById('login');
        el.style.display='block';
	//alert("/design/form/sale_"+path+".php");
	var obj_map=new net.ContentLoader(path,parse, 1);
	obj_map=null;
}

function close_login()
{
    var ar=document.getElementsByTagName('select');
    for(var i=0; i<ar.length; ++i)
        ar[i].style.display='block';
    var el=document.getElementById('login');
    el.style.display='none';
    //alert("/design/form/sale_"+path+".php");
    el.innerHTML='<div align="center" style="padding: 380 0 0 0px;"><img src="/siteimg/ajax-loader(3).gif"></div>';

}

function checkparse()
{
    var answer=this.req.responseText;
    answer=answer.split('||');
    var el=document.getElementById('testrez');
    el.innerHTML=answer[1];
}

function chreckname()
{
     var name=document.forms['register'].login.value;
     if(name!='')
     {
        var obj_map=new net.ContentLoader('/includes/forms/checklogin.php?un='+name,checkparse, 1);
        obj_map=null;
     }
}
function changestate(el)
{
    if(el.checked)
    {
        document.forms['register'].pass3.value=document.forms['register'].pass1.value;
        document.getElementById('shpass').style.display='block';
        document.getElementById('hipass').style.display='none';
        var el1=document.getElementById('erpass');
        el1.style.display='none';
    }else
    {
       document.forms['register'].pass1.value=document.forms['register'].pass3.value;
       document.forms['register'].pass2.value=document.forms['register'].pass3.value;
       document.getElementById('hipass').style.display='block';
       document.getElementById('shpass').style.display='none';
    }
}

function addphone()
{
    var el=document.getElementById('tabphone');
    if(el.style.display=='none')
    {
        el.style.display='block';
        document.getElementById('tabphoneadd').style.display='none'
    }
}
function eda()
{    var el=document.getElementById('erpass');
    if(document.forms['register'].pass1.value!=document.forms['register'].pass2.value)
    {
       el.style.display='inline';
    }else
    {
         el.style.display='none';
    }
}

function trim(s)
{
    s=s.toString();
  return rtrim(ltrim(s));
}

function ltrim(s)
{
  return s.replace(/^\s+/, '');
}

function rtrim(s)
{
  return s.replace(/\s+$/, '');
}

function isValidEmail (email)
{
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}

function regServer()
{
    var err='';
    var login=document.forms['register'].login.value;
    login=trim(login);
    if(login=='')
    {
        err+='Неверный логин. ';
    }
    var ch=document.forms['register'].ch.checked;
    var pass='/*/';
    if(ch)
    {
        pass=document.forms['register'].pass3.value;
    }else
    {
        if(document.forms['register'].pass1.value==document.forms['register'].pass2.value)
        {
            pass=document.forms['register'].pass1.value;
        }
    }
    pass=trim(pass);
    if(pass=='/*/'||pass=='')
    {
        err+='Неверный пароль. ';
    }
    var fname=document.forms['register'].firstname.value;
    var sname=document.forms['register'].secondname.value;
    var phone='';
    for(var i=1; i<5; ++i)
    {
        var text=document.forms['register'].elements['t'+i].value;
        text=trim(text);
        if(text!=''||i==1||i==2)
        {
            phone+=text+';';
        }
    }
    var email=document.forms['register'].email.value;
    if(!isValidEmail(email)&&email!='')
    {
        err+="Неверный E-mail. "
    }
    var city=document.forms['register'].city[document.forms['register'].city.selectedIndex].value;
    if(err=='')
    {
        var el=document.getElementById('login');
        el.innerHTML='<div align="center" style="padding: 380 0 0 0px;"><img src="/siteimg/ajax-loader(3).gif"></div>';
        var params=$H({l:login,p:pass,f:fname,s:sname,ph:phone,e:email,c:city}).toQueryString();
        new Ajax.Request("/includes/forms/reguser.php",{method:"post",parameters: params, onSuccess:this.onAjaxLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
    }else
    {
        alert(err);
    }
}
function onAjaxLoad(transport)
{
    login();
    ShMessage(transport.responseText);
}
function onAjaxError(transport)
{
    ShMessage(transport.responseText);
}

function ShMessage(mess)
{
    var ar=document.getElementsByTagName('select');
    for(var i=0; i<ar.length; ++i)
        ar[i].style.display='none';
    var el=document.getElementById('login');
    el.style.display='block';
    var params=$H({message:mess}).toQueryString();
    new Ajax.Request("/includes/forms/message.php",{method:"post",parameters: params, onSuccess:this.onMesLoad.bind(this), onFailure:this.onAjaxError.bind(this)});

}
function onMesLoad(transport)
{
    var elem=document.getElementById('login');
    elem.innerHTML=transport.responseText;
}
function ShHelp()
{
    var ar=document.getElementsByTagName('select');
    for(var i=0; i<ar.length; ++i)
        ar[i].style.display='none';
    var el=document.getElementById('login');
    el.style.display='block';
    //var params=$H({message:mess}).toQueryString();
    new Ajax.Request("/includes/forms/help.php",{method:"post", onSuccess:this.onMesLoad.bind(this), onFailure:this.onAjaxError.bind(this)});

}
function onMesLoad(transport)
{
    var elem=document.getElementById('login');
    elem.innerHTML=transport.responseText;
}
function login() //показ активного
{
    new Ajax.Request("/includes/forms/enlogin.php",{method:"post", onSuccess:this.onLoginLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}
function endlogin()//разлогиниться
{
    new Ajax.Request("/includes/forms/endlogin.php",{method:"post", onSuccess:this.onLoginLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}
function onLoginLoad(transport)
{
    var el=document.getElementById('seans');
    //alert(transport.responseText);
    el.innerHTML=transport.responseText;
}
function loginuser() // вход
{
    var login = document.forms['login'].log.value;
    var pass = document.forms['login'].pass.value;
    var ch=document.forms['login'].ch.checked;
    var params=$H({l:login,p:pass,c:ch}).toQueryString();
    new Ajax.Request("/includes/forms/loginuser.php",{method:"post",parameters: params, onSuccess:this.onLoginUserLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}

function onLoginUserLoad(transport)
{
    if(transport.responseText=='ok')
    {
        login();
        close_login();
    }
    else
        ShMessage(transport.responseText);
}

function paynot(p)
{
    var el=document.getElementById("pay");
     if(p==1)
     {
        el.style.display='block';
     }else
     {
        el.style.display='none';
     }
}
function disa(el)
{
    if(el.checked)
    {
        document.forms['newnotice'].price.disabled=true;
    }else
    {
        document.forms['newnotice'].price.disabled=false;
    }
}

function showsub(p) //показать рубрики
{
    var ids=document.forms['newnotice1'].sel1[document.forms['newnotice1'].sel1.selectedIndex].value;
    var params=$H({id:ids, men:p}).toQueryString();
    new Ajax.Request("/includes/forms/where.php",{method:"post",parameters: params, onSuccess:this.onSelLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}

function onSelLoad(transport)
{
    var el=document.getElementById('seltd');
    el.innerHTML=transport.responseText;
}

function choose(myform,ch) //значение переключаителя
{
        var i;
        var arr= document.forms[myform].elements[ch];
        for (i=0; i<arr.length; i++)
        {
            if (arr[i].checked)
                break;
        }
        if (i<arr.length)
            return arr[i].value;
        else
            return false;
}


function addnewnotice() //добавление нового объявления
{
    var type=choose('newnotice', 'c1');
    var cat=choose('newnotice', 'c2');
    var term= document.forms['newnotice'].term[document.forms['newnotice'].term.selectedIndex].value;
    var reg= document.forms['newnotice'].region[document.forms['newnotice'].region.selectedIndex].value;
    var name= document.forms['newnotice'].name.value;
    var price=0;
    if(!document.forms['newnotice'].price.disabled)
    {
        price=document.forms['newnotice'].price.value;
    }
    var currency=document.forms['newnotice'].curr[document.forms['newnotice'].curr.selectedIndex].value;
    var text= document.forms['newnotice'].text.value;
    var men= document.forms['newnotice1'].sel2[document.forms['newnotice1'].sel2.selectedIndex].value;
    var params=$H({t:type,c:cat,te:term,r:reg,n:name,p:price,cur:currency,tex:text,m:men}).toQueryString();
    new Ajax.Request("/includes/forms/addnewnotice.php",{method:"post",parameters: params, onSuccess:this.onNewLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}
function onNewLoad(transport)
{
    load_form('/includes/forms/my.php');
    //ShMessage(transport.responseText);
}

function deleteNotice()
{
    var str1='', str2='';
     var arr=document.forms['delete'].elements;
     for(var i=0; i<arr.length; ++i)
     {
        if(arr[i].type == "checkbox"&&arr[i].checked)
        {
             if(document.forms['delete'].elements['h'+arr[i].name].value==1)
             {
                str1+=arr[i].value+';';
             }else
             {
                str2+=arr[i].value+';';
             }
        }
     }
     var params=$H({s1:str1, s2:str2}).toQueryString();
     new Ajax.Request("/includes/forms/del.php",{method:"post",parameters: params, onSuccess:this.onDelLoad.bind(this), onFailure:this.onAjaxError.bind(this)});

}

function onDelLoad(transport)
{
    //ShMessage(transport.responseText);
    load_form('/includes/forms/my.php');
}

function saveeditnotice() //добавление нового объявления
{
    var id=document.forms['newnotice'].id.value;
    var type=document.forms['newnotice'].typ.value;
    var reg= document.forms['newnotice'].region[document.forms['newnotice'].region.selectedIndex].value;
    var name= document.forms['newnotice'].name.value;
    var price=0;
    if(!document.forms['newnotice'].price.disabled)
    {
        price=document.forms['newnotice'].price.value;
    }
    var currency=document.forms['newnotice'].curr[document.forms['newnotice'].curr.selectedIndex].value;
    var text= document.forms['newnotice'].text.value;
    var men= document.forms['newnotice1'].sel2[document.forms['newnotice1'].sel2.selectedIndex].value;
    var params=$H({i:id,t:type,r:reg,n:name,p:price,cur:currency,tex:text,m:men}).toQueryString();
    new Ajax.Request("/includes/forms/changenotice.php",{method:"post",parameters: params, onSuccess:this.onChangeLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}
function onChangeLoad(transport)
{
    //ShMessage(transport.responseText);
    load_form('/includes/forms/my.php');
}

function getCookieValue(cname)
{
    var cookieValue=document.cookie;
    var start=cookieValue.indexOf(" "+cname+"=");
    if(start==-1)
    {
         start=cookieValue.indexOf(cname+"=");
    }
    if(start==-1)
    {
         value=null;
    }else
    {
        start=cookieValue.indexOf("=",start)+1;
        var end=cookieValue.indexOf(";",start);
        if(end==-1)
        {
            end= cookieValue.length;
        }
        value=unescape(cookieValue.substring(start, end));
    }
    return value;
}

function addcookie(id,t)
{
    var date=new Date();
    date.setHours(48);
    var el=document.getElementById('memo');
    memo.style.display="none";
    if(t==1)
    {
        free= getCookieValue('free');
        if(free==null||free=='')
        {
            free='!'+id+'!';
        }else
        {
            free+=id+'!';
        }
        document.cookie="free="+free+';expires='+date.toGMTString()+';path=/';
    }else
    {
        pay= getCookieValue('pay');
        if(pay==null||pay=='')
        {
            pay='!'+id+'!';
        }else
        {
            pay+=id+'!';
        }
        document.cookie="pay="+pay+';expires='+date.toGMTString()+';path=/';
    }
}

function delcook()
{
    var free= getCookieValue('free');
    var pay= getCookieValue('pay');
     var arr=document.forms['delete'].elements;
     for(var i=0; i<arr.length; ++i)
     {
        if(arr[i].type == "checkbox"&&arr[i].checked)
        {
             if(document.forms['delete'].elements['h'+arr[i].name].value==1)
             {
                free=free.replace('!'+arr[i].value+'!','!');
             }else
             {
                pay=pay.replace('!'+arr[i].value+'!','!');
             }
        }
     }
     if(pay=='!'||pay==null)
        pay='';
     if(free=='!'||free==null)
        free='';
     var date=new Date();
     date.setHours(48);
     document.cookie="pay="+pay+';expires='+date.toGMTString()+';path=/';
     document.cookie="free="+free+';expires='+date.toGMTString()+';path=/';
     load_form('/includes/forms/memory.php');
}


function doLoad(id,type) {
        JsHttpRequest.query(
            '/includes/forms/upload.php', // backend
            {
                // pass a text value
                'id': document.forms['uform'].id.value,
                't': document.forms['uform'].typ.value,
                // path a file to be uploaded
                'upl': document.forms['uform'].upl
            },
            // Function is called when an answer arrives.
            function(result, errors) {
                   if(errors!='Ok')
                    ShMessage(errors);
                   else
                     showph(id,type);

            },
            false  // do not disable caching
        );
    }

function showph(id,type)
{
    var params=$H({id:id, t:type}).toQueryString();
    new Ajax.Request("/includes/forms/photosh.php",{method:"post",parameters: params, onSuccess:this.onPhotoLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}

function onPhotoLoad(transport)
{
    var el=document.getElementById('foto');
    el.innerHTML=transport.responseText;
}


function delph(id,type,im)
{
    var params=$H({id:id, t:type, i:im}).toQueryString();
    new Ajax.Request("/includes/forms/photodel.php",{method:"post",parameters: params, onSuccess:this.onDelPhLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}

function onDelPhLoad(transport)
{
    if(document.forms['newnotice'])
    {
        var id=document.forms['newnotice'].id.value;
        var type=document.forms['newnotice'].typ.value;
    }else if(document.forms['uform'])
    {
        var id=document.forms['uform'].id.value;
        var type=document.forms['uform'].typ.value;
    }
    showph(id,type);
    //Message(transport.responseText);
}

function showreg(po)
{
    var params=$H({pos:po}).toQueryString();
    new Ajax.Request("/includes/forms/regfree.php",{method:"post",parameters: params, onSuccess:this.onRegionLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}

function onRegionLoad(transport)
{
    var el=document.getElementById('regid');
    el.innerHTML=transport.responseText;
}

function addtopnotice() //добавление нового объявления
{
    var po=choose('newnotice', 'position');
    var str='';
    var arr=document.forms['newnotice'].elements;
    for(var i=0; i<arr.length; ++i)
    {
        if(arr[i].type == "checkbox"&&arr[i].checked)
        {
            str+=arr[i].value+';';
        }
    }
    var term= document.forms['newnotice'].term[document.forms['newnotice'].term.selectedIndex].value;
    var name= document.forms['newnotice'].name.value;
    var price=0;
    if(!document.forms['newnotice'].price.disabled)
    {
        price=document.forms['newnotice'].price.value;
    }
    var currency=document.forms['newnotice'].curr[document.forms['newnotice'].curr.selectedIndex].value;
    var text= document.forms['newnotice'].text.value;
    var params=$H({pos:po,te:term,r:str,n:name,p:price,cur:currency,tex:text}).toQueryString();
    new Ajax.Request("/includes/forms/addtopnotice.php",{method:"post",parameters: params, onSuccess:this.onTopLoad.bind(this), onFailure:this.onAjaxError.bind(this)});
}
function onTopLoad(transport)
{
    if(transport.responseText!='Ошибка!')
    {
        load_form('/includes/forms/top2.php?id='+transport.responseText);
    }else
        ShMessage(transport.responseText);
}

function chsearch(p)
{
    var el1=document.getElementById('sea1');
    var el2=document.getElementById('sea2');
    var el3=document.getElementById('sea3');
    if(p==1)
    {
        if(document.forms['search'].typ.value=='0'||document.forms['search'].typ.value=='2')
        {
            document.forms['search'].typ.value=1;
            el1.innerHTML='Продажа';
            el2.innerHTML='Все объявления';
            el3.innerHTML='Покупка';
        }else
        {
            document.forms['search'].typ.value=0;
            el1.innerHTML='Все объявления';
            el2.innerHTML='Продажа';
            el3.innerHTML='Покупка';
        }
    }else
    if(p==2)
    {
        if(document.forms['search'].typ.value=='0'||document.forms['search'].typ.value==1)
        {
            document.forms['search'].typ.value=2;
            el1.innerHTML='Покупка';
            el2.innerHTML='Продажа';
            el3.innerHTML='Все объявления';
        }else
        {
            document.forms['search'].typ.value=0;
            el1.innerHTML='Все объявления';
            el2.innerHTML='Продажа';
            el3.innerHTML='Покупка';
        }
    }
}
