﻿
document.onmousemove = getMouseXY;
var root="http://www.Rasabooks.com";
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="tdBody";
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);};
String.prototype.trim = function (){var reExtraSpace = /^\s+(.*?)\s+$/;return this.replace(reExtraSpace, "$1");};
function setIsLogin(){var hide=document.getElementById("hideIsLogin");if(hide.value=="1")isLogin=true;}
function showHome(){showLink(root+"/default.aspx",true);}
function saveBody(){var body=document.getElementById("tdBody");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("tdBody");
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((root+"/index.aspx")==href)document.getElementById("Left").style.display="inline";else{document.getElementById("Left").style.display="none";}*/return false;}
var prm = 'myurl=' +href;
loadBox="tdBody";loading(false);
myRequest(prm,"aspx/getResponse.aspx",function(response){body.innerHTML=response;/*if((root+"/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,width=600px');}
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 = "<br/><br/><img src='Images/loading7.gif' id='loadImage' /> <br/><br/>"; 
        }
    }        
}  
function getPOSTRequest(parameters,url) 
{
var httpRequest = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     httpRequest = new XMLHttpRequest();
     if (httpRequest.overrideMimeType) 
     {
        //httpRequest.overrideMimeType('text/xml');
        httpRequest.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           httpRequest = new ActiveXObject("Microsoft.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=="tdBody"){body.url="";}
    boxOpen(loadBox);
    loadBox="tdBody";}catch(e){boxOpen("tdBody");}
}
function showError(error)
{
    error = "<br><img src='Images/red-error.gif' /><br>" + error + "<br><br>";
    document.getElementById(loadBox).innerHTML = error;
    boxOpen(loadBox);
    loadBox="tdBody";
}
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)
{alert(oEvent.keyCode);
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="tdBody";showResponse("");document.getElementById("tdBody").appendChild(div);return;}
var body=document.getElementById(boxId);
boxClose("divRegister");
body.insertBefore(div,body.childNodes[0]);
document.getElementById("username").focus();
}
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;
loadBox="tdErrorLogin";
if(isInBasket){myRequest(prm,"aspx/basket.aspx",setLoginBasket);}
else{myRequest(prm,"aspx/login.aspx",setLogin);}
loading();
}
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{loadBox="tdErrorLogin";showResponse(response);}
}
function afterLogin(response)
{isLogin=true;
var errorBox=document.getElementById("tdErrorLogin");if(errorBox)errorBox.innerHTML="";
var arr=response.split('©');
document.getElementById("spnWelcome").innerHTML=arr[1];
document.getElementById("tdAdmin").innerHTML=arr[2];
document.getElementById("mLinkLogOut").style.display="block";
loadBox="tdBody";if(!isInBasket)showHome();
if(arr[0]=="1"){setEdit();}
document.getElementById("username").value="";
document.getElementById("password").value="";
}
function setEdit()
{
if(isAdmin){
var left=document.getElementById("tdLeft");
var right=document.getElementById("tdRight");
if(!isInBasket){bufferPagesInner=new Array;bufferPagesUrl=new Array;var body=document.getElementById("tdBody");showEdit(body,"img");showDelFromHead(body);}
else{
var div=document.createElement("div");
div.innerHTML=bufferPagesInner[0];
var name=bufferPagesUrl[0];
showEdit(div,"img");
showDelFromHead(div);
bufferPagesInner=new Array;bufferPagesUrl=new Array;
bufferPagesInner.push(div.innerHTML);
bufferPagesUrl.push(name);
}
showEdit(left,"img");
showEdit(right,"a");
}
}
function showDelFromHead(body)
{
var tmp=body.getElementsByTagName("img");var max=tmp.length;
var imgs=new Array;
for(var j=0;j<tmp.length;j++){imgs.push(tmp[j]);}
var imgBook=imgs.pop();
while(imgBook){
if(imgBook.bookId){var parent=imgBook.parentNode; 
var a=document.createElement("a");
a.id="dfh"+imgBook.bookId;
a.href="javascript:delFromHeadLine('"+a.id+"');";
var img=document.createElement("img");
img.src="Images/delFH.gif";
a.bId=imgBook.bookId;
var attr=document.createAttribute("admin");
attr.value="1";
a.setAttributeNode(attr);
a.appendChild(img);
parent.insertBefore(a,imgBook);}
imgBook=imgs.pop();
}
}
function showEdit(ctl,tag)
{
var tmp=ctl.getElementsByTagName(tag);var max=tmp.length;
var imgs=new Array;
for(var j=0;j<tmp.length;j++){imgs.push(tmp[j]);}
var imgBook=imgs.pop();
while(imgBook){
var node=imgBook;
if(node.bookId){var parent=node.parentNode;
var bId=imgBook.bookId;
var url="AddEditBook.aspx?bId="+bId;
var a=document.createElement("a");
a.href="javascript: openWindow('"+url+"');";
var img=document.createElement("img");
img.src="Images/edit.gif";
var attr=document.createAttribute("admin");
attr.value="1";
a.setAttributeNode(attr);
a.appendChild(img);
//img.onclick=function(){openWindow(this.url);};
parent.insertBefore(a,node);}
imgBook=imgs.pop();
}
}
function removeEdit(){var imgs=document.getElementsByTagName("a");var max=imgs.length;var buffer=new Array;for(var j=0;j<max;j++){if(imgs[j].name=="adminIMG"){buffer.push(imgs[j]);}}var node=buffer.pop();while(node){node.parentNode.removeChild(node);node=buffer.pop();}}
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.innerText+"&";
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="tdBody";showResponse(response.substring(1));return;}
loadBox="divErrorR";showResponse(response);
}
function getEditProfile()
{loadBox="tdBody";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("mLinkLogOut").style.display="none";
document.getElementById("spnWelcome").innerText="کاربر مهمان";
var divAdmin=document.getElementById("tdAdmin");
if(divAdmin){divAdmin.innerHTML="";}
showHome();
bufferPagesInner=new Array;
bufferPagesUrl=new Array;
removeEdit();
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.trim()==""){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=btn.parentNode.getElementsByTagName("input")[0];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;}