var ajax_url_user="/inforum/ru/rusiteuser/?ajax=1&module=siteuser";

/* Ф-я обработчик ответов сервера на AJAX-запрос*/
function xmlAjaxCallBack(xmlObj)
 {
    try
     {
       var xml_action=xmlObj.getElementsByTagName('action')[0];
       switch(xml_action.getAttribute("name"))
        {
          case "login": loginConfirm(xmlObj);       break;
          case "remind": remindConfirm(xmlObj);     break;
          case "update": updateConfirm(xmlObj);     break;
          case "reg":    regConfirm(xmlObj);        break;
          case "logout": logoutConfirm(xmlObj);     break;
          case "check":  checkUserConfirm(xmlObj);  break;
          default: break;
        }
     }
    catch (err)
     { 
       alert(err.message);
     }
 }
/* */
function tView(m)
 {
   var formArr = ['login','reg','remind'];
   for(var i=0,il=formArr.length;i<il;i++)
    {
       var formObj=document.forms['f'+formArr[i]];
       var divObj=getParentByTagName(formObj,'DIV');
       divObj.style.display = 'none';
       if(m==formArr[i])
        {
          divObj.style.display = "";
          var imgObj=formObj.getElementsByTagName('IMG')[0];
          imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
        }
       else  divObj.style.display = "none";
    }
 }
/* */
function loginUser(formObj)
 {
   var f_name=formObj.name;
   var query="pubaction=login";
   var dataArr = ['login','pwd'];
   query+=makeQF(formObj,dataArr);
   if(f_name=="felogin")
    {
      var formObj2=document.forms['flogin'];
      if(formObj2)
       {
         query+="&captcha="+formObj2.captcha.value;
       }
      else query+="&captcha="+formObj.captcha.value;
    }
   else query+="&captcha="+formObj.captcha.value;
   sendAR(query,ajax_url_user);
 }
/* */
function loginConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('action')[0];
    var formObj1=document.forms['felogin'];
    var formObj2=document.forms['flogin'];
    var redirect=(formObj2!=null && typeof(formObj2)!='undefined')?0:1;
    var url = ajax_url_user.substr( 0, ajax_url_user.lastIndexOf("/"));
    if(parseInt(xml_action.getAttribute("code"),10)==1)
     {
        if(!redirect)   window.location.reload();
        else            window.location.href=url;
     }
    else 
     {
        if(redirect) window.location.href=url;
        else
         {
             tView('login');
             var imgObj=formObj2.getElementsByTagName('IMG')[0];
             imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
             formObj2.captcha.value='';
             var divObj=$("loginMsg");
             divObj.style.color="#cc0000";
             divObj.innerHTML=xml_action.getAttribute("errmsg");
             divObj.style.display='block';
         }
     }
 }
/* */
function remindUser(formObj)
 {
   var query="pubaction=remind";
   var dataArr = ['email','captcha'];
   query+=makeQF(formObj,dataArr);
   sendAR(query,ajax_url_user);
 }
function remindConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('action')[0];
    var divObj=document.getElementById("remindMsg");
    var formObj=document.forms['fremind'];
    if(parseInt(xml_action.getAttribute("code"),10)==1)
     {
        divObj.style.color="#009900";
        divObj.innerHTML='Ваши регистрационные данные отправлены на указаный вами E-mail.';
        var imgObj=formObj.getElementsByTagName('IMG')[0];
        imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
        formObj.captcha.value='';
     }
    else 
     {
        var imgObj=formObj.getElementsByTagName('IMG')[0];
        imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
        formObj.captcha.value='';
        divObj.style.color="#cc0000";
        divObj.innerHTML=xml_action.getAttribute("errmsg");
     }
    divObj.style.display='block';
 }
/* */
function queryUser(form_up)
 {
   var query = "";
   for(var i=0,l=form_up.elements.length;i<l;i++)
    {
      switch(form_up.elements[i].tagName)
       {
          case "SELECT":
            query+='&' + form_up.elements[i].name + '=' + getSelectValue(form_up.elements[i]);
           break;
          case "INPUT":
            switch(form_up.elements[i].type)
             {
               case "radio":
                if(form_up.elements[i].checked == true) query+='&' + form_up.elements[i].name + '=' + form_up.elements[i].value;
                break;
               case "checkbox":
                if(form_up.elements[i].checked == true) query+='&' + form_up.elements[i].name + '=' + form_up.elements[i].value;
                break;
               case "text":
               case "password":
                query+='&' + form_up.elements[i].name + '=' + replaceEscape(form_up.elements[i].value);
                break;
               case "hidden":
                query+='&' + form_up.elements[i].name + '=' + form_up.elements[i].value;
                break;
               default: break;
             }
           break;
          case "TEXTAREA":
            query+='&' + form_up.elements[i].name + '=' + replaceEscape(form_up.elements[i].value);
           break;
          default: break;
       }
    }
 }
/* */
function regUser(form_up)
 {
   var query="pubaction=reg";
   //query+=queryUser(form_up);
   query+=makeQF(form_up);
   sendAR(query,ajax_url_user);
 }
/* */
function regConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('action')[0];
    var divObj=document.getElementById("regMsg");
    var formObj=document.forms['freg'];
    if(parseInt(xml_action.getAttribute("code"),10)==1)
     {
        divObj.style.color="#009900";
        divObj.innerHTML='Спасибо! Вы зарегистрированы на нашем сайте. В течении нескольких минут на указаный вами E-mail вы получите письмо с вашими регистрационными данными.';
        var imgObj=formObj.getElementsByTagName('IMG')[0];
        imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
        formObj.captcha.value='';
     }
    else 
     {
        var imgObj=formObj.getElementsByTagName('IMG')[0];
        imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
        formObj.captcha.value='';
        divObj.style.color="#cc0000";
        divObj.innerHTML=xml_action.getAttribute("errmsg");
     }
    divObj.style.display='block';
 }
/* */
function updateUser(form_up)
 {
   var query="pubaction=update";
   query+=makeQF(form_up);
   sendAR(query,ajax_url_user);
 }
/* */
function updateConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('action')[0];
    var divObj=document.getElementById("updateMsg");
    var formObj=document.forms['fupdate'];
    if(parseInt(xml_action.getAttribute("code"),10)==1)
     {
        divObj.style.color="#009900";
        divObj.innerHTML='Спасибо! Ваши данные изменены.';
        var imgObj=formObj.getElementsByTagName('IMG')[0];
        imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
        formObj.captcha.value='';
     }
    else 
     {
        var imgObj=formObj.getElementsByTagName('IMG')[0];
        imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
        formObj.captcha.value='';
        divObj.style.color="#cc0000";
        divObj.innerHTML=xml_action.getAttribute("errmsg");
     }
    divObj.style.display='block';
 }
/* */
function logoutUser()
 {
   var query="pubaction=logout";
   sendAR(query,ajax_url_user);
 }
/* */
function logoutConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('action')[0];
    if(parseInt(xml_action.getAttribute("code"),10)==1)
     {
        window.location.href=window.location.href;
     }
 }
////////////////////////////////////////////////////////////////////////////////
//                   блок проверки пользователя в заказе                      //
////////////////////////////////////////////////////////////////////////////////
/* */
function resetOrderForm()
 {
    var btn1 = $("orderBtn");
    var btn2 = $("checkBtn");
    var formObj = btn1.form;
    for(var i=0,il=formObj.elements.length;i<il;i++)
     {
        var elObj = formObj.elements[i];
        if(elObj===btn1 || elObj===btn2) continue;
        elObj.disabled=false;
     }
    btn1.disabled=true;
    btn1.style.backgroundColor="#808080";
    btn2.value='Проверьте данные';
    btn2.onclick = checkUser;
 }
/* */
function checkUser()
 {
   var btn = $("checkBtn");
   form_up=btn.form;
   var query="pubaction=check";
   query+=queryUser(form_up);
   sendAR(query,ajax_url_user);
 }
/* */
function checkUserConfirm(xmlObj)
 {
    var xml_action=xmlObj.getElementsByTagName('action')[0];
    var divObj=document.getElementById("regMsg");
    var formObj=document.forms['orderform'];
    var btn1 = $("orderBtn");
    var btn2 = $("checkBtn");
    var err_msg = "";
    if(parseInt(xml_action.getAttribute("code"),10)==1)
     {
       var formObj = btn1.form;
       btn1.disabled=false;
       btn1.style.backgroundColor="#cc2200";
       btn2.value='Обновить данные';
       btn2.onclick = resetOrderForm;
       for(var j=0,jl=formObj.elements.length;j<jl;j++)
        {
           var elObj = formObj.elements[j];
           if(elObj===btn1 || elObj===btn2) continue;
           elObj.disabled=true;
        }
     }
    else 
     {
        var err_code = parseInt(xml_action.getAttribute("errcode"),10);

        if(err_code&(1<<0)) err_msg+="Укажите логин в правильном формате\n";
        if(err_code&(1<<1)) err_msg+="Такой логин уже используется\n";
        if(err_code&(1<<2) || err_code&(1<<3)) err_msg+="Укажите правильно пароль(и)\n";
        if(err_code&(1<<4))                    err_msg+="Укажите правильно код.\n";
        if(err_code&(1<<5))                    err_msg+="Заполните все обязательные поля.\n";
        if(err_code&(1<<6))                    err_msg+="Нарушена уникальность полей.\n";
        alert(err_msg);
        if(formObj.elements['captcha'])
         {
           var imgObj=formObj.getElementsByTagName('IMG')[0];
           imgObj.src="/captchacode.php?r="+ Math.floor(Math.random()*1000000);
           formObj.captcha.value='';
         }
        $("orderBtn").disabled=true;
     }
    divObj.style.display='block';
 }


