﻿document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
var tempX_OLD = 0;
var tempY_OLD = 0;
var zIndex = 10;
var isLogin=false;
var isAdmin=false;
var divLoginInner=false;
var isInBasket=false;
var prmRegisterInBasket="";
var loadBox="divBody";
var bufferPagesUrl=new Array;
var bufferPagesInner=new Array;
var bufferBack=new Array;
var bufferNext=new Array;

Array.prototype.remove = function(from, to) {var rest = this.slice((to || from) + 1 || this.length);this.length = from < 0 ? this.length + from : from;return this.push.apply(this, rest);};
function setIsLogin(){var hide=document.getElementById("hideIsLogin");if(hide.value=="1")isLogin=true;}
function showHome(){showLink("default.aspx",true);} 
function saveBody(){var body=document.getElementById("divBody");var index=-1;if(body.url!=""){for(var i=0;i<bufferPagesUrl.length;i++){if(bufferPagesUrl[i]==body.url){index=i;break;}}if(index==-1){bufferPagesUrl.push(body.url);bufferPagesInner.push(body.innerHTML);}}}  
function link(ctl){showLink(ctl.href,true);return false;}
function showLink(href,isUrl)
{if(href=="")return;isInBasket=false;
var body=document.getElementById("divBody");
if(body.url==href&&isUrl==false){return;}
saveBody();
var index=-1;
for(var i=0;i<bufferPagesUrl.length;i++){if(bufferPagesUrl[i]==href){index=i;break;}}
if(index!=-1){body.innerHTML=bufferPagesInner[index];body.url=href;/*if(("/index.aspx")==href)document.getElementById("Left").style.display="inline";else{document.getElementById("Left").style.display="none";}*/return false;}
var prm = 'myurl='+href;
loadBox="divBody";loading(false);
myRequest(prm,"aspx/getResponse.aspx",function(response){body.innerHTML=response;/*if(("/index.aspx")==href)document.getElementById("Left").style.display="inline";else{document.getElementById("Left").style.display="none";}*/if(isUrl)body.url=href;else body.href="";});
return false; 
}
function openWindow(url){window.open(url,'','scrollbars=yes,top=20,left=100,status=yes');}
function getMouseXY(e) 
{
    var IE = document.all?true:false
    if (!IE) document.captureEvents(Event.MOUSEMOVE)
    
      if (IE) { // grab the x-y pos.s if browser is IE
        tempX = event.clientX + document.documentElement.scrollLeft
        tempY = event.clientY + document.documentElement.scrollTop
      } else {  // grab the x-y pos.s if browser is NS
        tempX = e.pageX
        tempY = e.pageY
      }  
      // catch possible negative values in NS4
      if (tempX < 0){tempX = 0}
      if (tempY < 0){tempY = 0}  
}
function boxClose(boxId){var box=document.getElementById(boxId);if(box)box.style.display='none';}
function boxOpen(boxId){zIndex++;var box = document.getElementById(boxId);box.style.zIndex = zIndex;box.style.display='block';}
function boxOpenNearMouse(boxId){var box = document.getElementById(boxId);box.style.top = tempY + 20;box.style.left = tempX-150;boxOpen(boxId);}
function boxActive(boxId){zIndex++;document.getElementById(boxId).style.zIndex=zIndex;}
function loading(isFirst)
{
    var load = document.createElement("img");
    load.src="Images/loading7.gif";
    load.id= "loadImage";
    var box = document.getElementById(loadBox);
    if(box)
    {
        boxOpen(loadBox);
        if(!document.getElementById("loadImage"))
        {
            if( (isFirst) && (box.firstChild) )
                box.insertBefore(load,box.firstChild);
            else
                box.innerHTML = "<img src='Images/loading7.gif' id='loadImage' /> "; 
        }
    }        
}  
function getPOSTRequest(parameters,url) 
{
var httpRequest = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     httpRequest = new XMLHttpRequest();
     if (httpRequest.overrideMimeType) 
     {
        httpRequest.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (e) {
        try {
           httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!httpRequest) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }
    httpRequest.open('POST', url, true);
    httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    httpRequest.setRequestHeader("Content-length", parameters.length);
    httpRequest.setRequestHeader("Connection", "close");        
    return httpRequest;
}
function showResponse(responseText)
{try{var body=document.getElementById(loadBox);body.innerHTML=responseText;
    if(loadBox=="divBody"){body.url="";}
    boxOpen(loadBox);
    loadBox="divBody";}catch(e){boxOpen("divBody");}
}
function showError(error)
{
    error = "<br><img src='Images/red-error.gif' /><br>" + error + "<br><br>";
    document.getElementById(loadBox).innerHTML = error;
    boxOpen(loadBox);
    loadBox="divBody";
}
function myRequest(prm,url,method){if(!method){method = showResponse;}var httpRequest = getPOSTRequest(prm ,url);httpRequest.onreadystatechange=function(){if (httpRequest.readyState == 4){if (httpRequest.status == 200){method(httpRequest.responseText);}else{showError('دریافت از سرور با خطا روبرو شد');}}};httpRequest.send(prm);}
function setPriceSeparator(price){var result = "";var selected = "";var temp = price;while (temp.length > 3){selected = temp.substring(temp.length - 3);temp = temp.substring(0, temp.length - 3);result = "," + selected + result;}result = temp + result;return result;}
///////////////login
function divLoginKeyPress(oEvent)
{
if(oEvent.keyCode==13)showLogin("divLoginShow");
}
function showLogin(boxId)
{
if(!divLoginInner){var login=document.getElementById("divLogin");divLoginInner=login.innerHTML;login.innerHTML="";}
var div=document.createElement("div");
div.align="center";div.style.direction="rtl";div.id="divLoginShow";
div.innerHTML = divLoginInner;
if (boxId == "divLogin") { isInBasket = false; saveBody(); loadBox = "divBody"; showResponse(""); document.getElementById("divBody").appendChild(div);setTimeout('document.getElementById("username").focus();', 10); return; }
var body = document.getElementById(boxId);
boxClose("divRegister");
body.insertBefore(div, body.childNodes[0]);
}
function login()
{
var username=document.getElementById("username");
var password=document.getElementById("password");
if(username.value=="" || password.value=="")
{
    alert("نام کاربری یا رمز عبور وارد نشده است");
   return; 
}
var prm="type=2&username="+username.value+"&password="+password.value;saveBody();
loadBox="divBody";
if(isInBasket){myRequest(prm,"aspx/basket.aspx",setLoginBasket);}
else{myRequest(prm,"aspx/login.aspx",setLogin);}
//loading(true);
}
function setLogin(response)
{
if(response.substring(0,1)=="1"){/*admin*/isAdmin=true;afterLogin(response);}
else if(response.substring(0,1)=="2"){/*simpleUser*/isAdmin=false;afterLogin(response);}
else{showResponse(response);}
}
function afterLogin(response) {
    clearLoginForm(); isLogin = true; var errorBox = document.getElementById("tdErrorLogin"); if (errorBox) errorBox.innerHTML = ""; var arr = response.split('©'); document.getElementById("spnWelcome").innerHTML = arr[1]; document.getElementById("divAdmin").innerHTML = arr[2]; var btn = document.getElementById("mLinkSignOut"); btn.style.display = 'inline-block'; loadBox = "divBody"; if (!isInBasket) { showHome(); } var divLoginTitle = document.getElementById('divLoginTitle'); divLoginTitle.style.display = 'none'; var divMember = document.getElementById('divMember');
    divMember.style.display = 'block';
}
function clearLoginForm(){document.getElementById("username").value="";document.getElementById("password").value="";}
function register()
{var url="aspx/register.aspx";
var prm=getRegisterParams();prm+="&type=register";
if(isInBasket){url="aspx/Basket.aspx";loadBox="divErrorRegister";}loading();
myRequest(prm,url,registerResponse);
}
function getRegisterParams()
{var prm="";
var div=document.getElementById("divRegister");
if(!div) return prm;
var texts=div.getElementsByTagName("input");
for(var i=0;i<texts.length;i++){prm+=texts[i].id+"="+texts[i].value+"&";}
var txtArea=div.getElementsByTagName("textarea")[0];
prm += txtArea.id + "=" + txtArea.value + "&";
var select=div.getElementsByTagName("select")[0];
prm+=select.id+"="+select.selectedIndex.toString();
prmRegisterInBasket=prm;
return prm;
}
function registerResponse(response)
{
if(response.substring(0,1)=="1"){isLogin=true;loadBox="divNext";showResponse(response.substring(1));return;}
if(response.substring(0,1)=="2"){loadBox="divNext";showResponse(response.substring(1));return;}
loadBox="divErrorRegister";showResponse(response);
}
function registerUser()
{
var url="aspx/register.aspx";
var prm=getRegisterParams();prm+="&type=register";
loadBox="divErrorR";
loading();
myRequest(prm,url,registerUserResponse);
}
function registerUserResponse(response)
{
if(response.substring(0,1)=="1"){isLogin=true;loadBox="divBody";showResponse(response.substring(1));return;}
loadBox="divErrorR";showResponse(response);
}
function getEditProfile()
{loadBox="divBody";loading();myRequest("type=getEdit","aspx/Register.aspx",false);return false;}
function editProfile()
{
var url="aspx/register.aspx";
var prm=getRegisterParams();prm+="&type=edit";
loadBox="divErrorR";
loading();
myRequest(prm,url,editProfileResponse);
}
function editProfileResponse(response)
{loadBox="divErrorR";showResponse(response);}

///////////////////////Login Click///////////
function loginClick()
{
if(isLogin){logout();}
else{showLogin('divLogin');}
}
function logout()
{
myRequest("type=async","aspx/signout.aspx",function(res){});
setLogout();
}
function setLogout()
{
isAdmin=false;
isLogin=false;document.getElementById("spnWelcome").innerText="کاربر مهمان";
var divAdmin=document.getElementById("divAdmin");
var divLoginTitle=document.getElementById('divLoginTitle');
var mLinkSignOut = document.getElementById('mLinkSignOut');
var divMember = document.getElementById('divMember');
divMember.style.display = 'none';
divLoginTitle.style.display='block';
mLinkSignOut.style.display='none';
if(divAdmin){divAdmin.innerHTML="";}
showHome();
bufferPagesInner=new Array;
bufferPagesUrl=new Array;
var as=document.getElementsByTagName("a");
var num=as.length;
for(var i=0;i<num;i++){if(as[i]&&as[i].admin){as[i].parentNode.removeChild(as[i]);i--;}}
}
///////divComment
function sendComment()
{
var div=document.getElementById("divComment");
var txts=div.getElementsByTagName("input");
var name=txts[0];var phone=txts[1];var email=txts[2];
var comment=div.getElementsByTagName("TextArea")[0];
if(comment.value==""){loadBox="divErrorComment";showError("متن پیام وارد نشده است");return;}
var prm="type=add&name="+name.value+"&email="+email.value+"&comment="+comment.value+"&phoneNumber="+phone.value;
loadBox="divErrorComment";loading();myRequest(prm,"aspx/Comments.aspx",false);
}
function getPublisher(link){loadBox="tdPublisher";loading();var prm='myurl='+link.href;prm=prm.replace(".aspx","-alphabet-1.aspx");myRequest(prm,"aspx/getResponse.aspx",false);return false;}
function search(btn){var txt=document.getElementById("txtSearch");searchText(txt);}
function searchText(txt){var url=root+"tabId-1-s-"+txt.value+"-mb-m.aspx";showLink(url,true);}
function advancedSearch(btn){var url=root+"tabId-1"+getParamsAdvancedSearch(btn.parentNode)+"-mb-m.aspx";showLink(url,false);return false;}
function getParamsAdvancedSearch(box){var txts=box.getElementsByTagName("Input");var output="";for(var i=0;i<txts.length;i++){output+="-"+txts[i].id+"-"+txts[i].value;}return output;}
function SendPassword(btn){var txt=btn.previousSibling;while(txt && txt.tagName!="INPUT"){txt=txt.previousSibling;}if(txt){loadBox='loadBoxSend';loading(false); myRequest('username='+txt.value,'/aspx/ForgotPassword.aspx',function(response){showResponse(response);});}else{alert('دریافت اطلاعات با خطا مواجه شد');}}