﻿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;
var bufferPagesUrl = new Array;
var bufferPagesInner = new Array;
var bufferBack = new Array;
var bufferNext = new Array;
var BodyId = "contentPane";
var HomePageSrc = "default.aspx";
var LoginAsyncUrl = "TabId-9.aspx";
var starScoreSet = false;

loadBox = BodyId;

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(HomePageSrc, true); }
function saveBody() { var body = document.getElementById(BodyId); 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(BodyId);
    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 = BodyId; loading(false);

    myRequest(prm, href, function(response) {
        try {
            body.innerHTML = response;
        }
        catch (e) {
            if (isAdmin)
                showError('<br>سمت سرور خطایی روی داده است<br>' + e.message);
            else
                showError('<br>سمت سرور خطایی روی داده است<br>');
        }
        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 == BodyId) { body.url = ""; }
        boxOpen(loadBox);
        loadBox = BodyId;
    } catch (e) { boxOpen(BodyId); }
}
function showError(error) {
    error = "<br><img src='Images/red-error.gif' /><br>" + error + "<br><br>";
    document.getElementById(loadBox).innerHTML = error;
    boxOpen(loadBox);
    loadBox = BodyId;
}
function myRequest(prm, url, method) {
    if (!method) { method = showResponse; }

    if (prm.length > 0) {
        prm = prm + "&async=1";
    }
    else {
        prm = "async=1";
    }
    var httpRequest = getPOSTRequest(prm, url); httpRequest.onreadystatechange = function() { if (httpRequest.readyState == 4) { if (httpRequest.status == 200) { method(httpRequest.responseText); } else { showError('دریافت از سرور با خطا روبرو شد' + '<br/>' + httpRequest.status); } } }; 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 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 = BodyId; showResponse(""); document.getElementById(BodyId).appendChild(div);setTimeout(" document.getElementById('username').focus();", 100);  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; saveBody();
    loadBox = BodyId;
    if (isInBasket) { myRequest(prm, getCartEditUrl(), setLoginBasket); }
    else { myRequest(prm, LoginAsyncUrl, 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) {
    isLogin = true;
    var errorBox = document.getElementById("tdErrorLogin"); if (errorBox) errorBox.innerHTML = "";
    var divMember = document.getElementById('divMember');
    var divLoginTitle = document.getElementById('divLoginTitle');
    var mLinkSignOut = document.getElementById('mLinkSignOut');
    divMember.style.display = 'block';
    divLoginTitle.style.display = 'none';
    mLinkSignOut.style.display = 'block'; loadBox = BodyId; if (!isInBasket) showHome();
    var arr = response.split('©');
    var spnWelcome = document.getElementById("spnWelcome");
    spnWelcome.innerText = arr[1];
    if(isAdmin)
    {
    var divAdmin = document.getElementById("divAdmin");
    divAdmin.style.display = 'inline-block';
    divAdmin.innerHTML = arr[2];
    }


    //clearLoginForm(); 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]; var btn = document.getElementById("mLinkSignOut"); btn.style.display = 'inline-block'; loadBox = BodyId; if (!isInBasket) showHome(); if (arr[0] == "1") { setEdit(); } }

}
function clearLoginForm() { document.getElementById("username").value = ""; document.getElementById("password").value = ""; }
/////END//login
////////Login Click//////
function loginClick() {
    if (isLogin) { logout(); }
    else { showLogin('divLogin'); }
}
function logout() {
    myRequest("type=async", "signout.aspx", function(res) { });
    setLogout();
}
function setLogout() {
    isAdmin = false;
    isLogin = false;
    var divMember = document.getElementById('divMember');
    var divLoginTitle = document.getElementById('divLoginTitle');
    var mLinkSignOut = document.getElementById('mLinkSignOut');
    divMember.style.display = 'none';
    divLoginTitle.style.display = 'block';
    mLinkSignOut.style.display = 'none';

    showHome();
    bufferPagesInner = new Array;
    bufferPagesUrl = new Array;
    var divAdmin = document.getElementById("divAdmin");
    if (divAdmin) { divAdmin.innerHTML = ""; divAdmin.style.display = 'none'; }
    document.getElementById("spnWelcome").innerText = "کاربر مهمان";
}
function search(btn) {var txt = btn.parentNode.parentNode.getElementsByTagName("input")[0]; searchText(txt); }
function searchText(txt) {
    if (txt.value == '-- جستجو --' || txt.value == '') {
        alert('عبارتی برای جستجو وارد کنید'); return;
    }
    var url = "tabId-1-Search-1" + ".aspx";
    loading();
    myRequest("SearchText=" + txt.value, url, null);
}
function advancedSearch(btn) { var url = "tabId-1-Search-2" + 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 setEdit() {
    // TODO

}

function SaveComment(btn) {
    btn.disabled = true; 
    var divCommentControl = document.getElementById("divComment");
    if (divCommentControl) {
        var txts = divCommentControl.getElementsByTagName("INPUT");
        var aliasname = txts[0].value;
        var comment = document.getElementsByTagName("TEXTAREA")[0].value;
        var prms = "AliasName=" + aliasname + "&PhoneNumber=" + txts[1].value + "&Email=" + txts[2].value + "&Comment=" + comment;
        loadBox = "divCommentLoading"; loading();myRequest(prms, "TabId-11.aspx", function(res) { document.getElementById('divCommentLoading').innerHTML = res; btn.disabled = false; });
    }
    else {
        ShowError("خطایی روی داده است");
    }
}
function EmailChanged(txt, divFavoriteId) {
    var divFavorite = document.getElementById(divFavoriteId);
    if (txt.value == '')
        divFavorite.disabled = true;
    else
        divFavorite.disabled = false;
}

/// Register

function register(typeName) {
    var url = "TabId-12.aspx";
    var prm = getRegisterParams(); prm += '&type=' + typeName;
    loadBox = "divResultRegister";
    if (isInBasket) { url = getCartEditUrl(); loadBox = "divResultRegister"; } loading();
    myRequest(prm, url, registerResponse);
}
function getRegisterParams() {
    var prm = "";
    var div = document.getElementById("divRegister");
    if (!div) return prm;
    var GroupStr = "&GroupIdStr=";
    var inputs = div.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type == 'checkbox') {
            if (inputs[i].checked) {
                GroupStr = GroupStr + inputs[i].value + ";";
            }  
        }
        else prm += inputs[i].getAttribute('MyID') + "=" + inputs[i].value + "&";
    }
    var txtArea = div.getElementsByTagName("textarea")[0];
    prm += txtArea.getAttribute('MyID') + "=" + txtArea.value + "&";
    var sels = div.getElementsByTagName("select");
    for(var k=0;k<sels.length;k++)
    {
        var select = sels[k];
        var selValue=select.options[select.selectedIndex].value;
        prm += select.getAttribute('MyID') + "=" + selValue + "&";    
    }
    
    
    prm += GroupStr;
    prmRegisterInBasket = prm;
    return prm;
}
function registerResponse(response) {
    if (response.substring(0, 1) == "1") { isLogin = true; loadBox = "divResultRegister"; if (isInBasket) { loadBox = 'divNext'; } showResponse(response.substring(1)); return; }
    if (response.substring(0, 1) == "2") { loadBox = "divNext"; showResponse(response.substring(1)); return; }
    loadBox = "divResultRegister"; showResponse(response);
}
function SaveProductComment(btn,txtAreaId,txtAliasNameId) {
    btn.disabled = true;
    var txtAliasName = document.getElementById(txtAliasNameId);
    var txtArea = document.getElementById(txtAreaId);
    var Comment = txtArea.value;
    var AliasName = txtAliasName.value;
    loadBox = "divResultProductComment";
    
    var prms = getParameters("divSaveProductComment") + "Save=1";
    loadBox = "divResultProductComment";
    loading(false);
    myRequest(prms, "TabId-13.aspx", function(res) { btn.disabled = false; loadBox = "divResultProductComment"; showResponse(res); });
}
function getParameters(divId) {
    var div = document.getElementById(divId);
    var prms = "";
    if (div) {
        var inputs = div.getElementsByTagName("input");
        for (var i = 0; i < inputs.length; i++) {
            prms += inputs[i].id + "=" + inputs[i].value + "&";
        }
        var txtAreas = div.getElementsByTagName("TEXTAREA");
        for (var j = 0; j < txtAreas.length; j++) {
            prms += txtAreas[j].id + "=" + txtAreas[j].value + "&";
        }
    }
    return prms;
}
function ProductCommentPostback(btn, prms) {
    btn.style.display = 'none';
    myRequest(prms, "TabId-14.aspx", function(res) { if (res.substring(0, 1) != "1") alert(res); });
}
function StarOver(img, StarId) {
    if (starScoreSet == false) {
        var imgs = img.parentNode.getElementsByTagName("img");
        for (var i = 0; i < imgs.length; i++) {
            if (i <= parseInt(StarId) - 1) {
                imgs[i].src = "Images/Stars/GoldStar.gif";
            }
            else {
                imgs[i].src = "Images/Stars/SilverStar.gif";
            }
        } 
    }
}
function StarLeave(img, StarId) {
    if (starScoreSet == false) {
        var imgs = img.parentNode.getElementsByTagName("img");
        for (var i = 0; i < imgs.length; i++) {

            imgs[i].src = "Images/Stars/SilverStar.gif";
        }
    } 
}
function StarClicked(img, StarId) {

    starScoreSet = true;
    var prms = "ScoreId=" + StarId + "&ProductId=" + document.getElementById('hideProductIdScore').value;
    var pnlScores = document.getElementById('pnlScores').parentNode;
    loadBox = pnlScores.id;
    loading();
    myRequest(prms, "TabId-15.aspx", function(res) { loadBox = pnlScores.id; showResponse(res); starScoreSet = false; });
}
function ExpandCollapse(imgId, ulId) {
    var ul = document.getElementById(ulId);
    var img = document.getElementById(imgId);
    if (ul.style.display == 'none') {
        ul.style.display = 'block';
        img.src = "Images/TreeViewMinus.gif";
    } else {
        ul.style.display = 'none';
        img.src = "Images/TreeViewPlus.gif";
    }
}
function SelectProductType(drp) {
    var divParent = drp.parentNode;
    var ul = divParent.getElementsByTagName('ul')[0];
    var lis = ul.getElementsByTagName('li');
    for (var i = 0; i < lis.length; i++) {
        var index = drp.selectedIndex - 1;
        if (i == index) lis[i].style.display = 'block';
        else lis[i].style.display = 'none';
    }
}
function AdvancedSearch(btn) {
    btn.disabled = true;
    var div = btn.parentNode;
    var prms = GetmyParameters(div);
    myRequest(prms, 'TabId-21.aspx');
}
function GetmyParameters(div) {
    var prms = '';
    var txts = div.getElementsByTagName('input');
    for (var i = 0; i < txts.length; i++) {
        var id = txts[i].getAttribute('MyId');
        if (id) {
            prms += id + '=' + txts[i].value + '&';
        }
    }
    var txtAreas = div.getElementsByTagName('textarea');
    for (var j = 0; j < txtAreas.length; j++) {
        var id = txtAreas[j].getAttribute('MyId');
        if (id) {
            prms += id + '=' + txtAreas[j].value + '&';
        }
    }
    var selects = div.getElementsByTagName('select');
    for (var k = 0; k < selects.length; k++) {
        var id = selects[k].getAttribute('MyId');
        if (id) {
            var selIndex = selects[k].selectedIndex;
            prms += id + '=' + selects[k].options[selIndex].value + '&';
        }
    }
    return prms;
}
function ProductSendEmailToFriend(btn)
{
    var txts = btn.parentNode.getElementsByTagName('input');
    var EmailAddress;
    var NickName;
    var prms = 'SendMail=1&NickName='+txts[0].value+'&EmailAddress='+txts[1].value+"&pId="+txts[2].value;
    var url="TabId-37.aspx";
    loadBox="divEmailLoading";
    loading();
    myRequest(prms,url,function(res){loadBox="divEmailLoading";showResponse(res);});
}
function ChangePassword(btn)
{
var prms = getParameters(btn.parentNode.id);
loadBox = 'divResultChangePassword';
loading();
btn.disabled=true;
myRequest(prms,'TabId-40.aspx',function(res){loadBox = 'divResultChangePassword';showResponse(res);btn.disabled=false;});
}
function ForgotPassword(btn)
{
var inputs=btn.parentNode.getElementsByTagName('input');
var prms = btn.id+"="+btn.value+"&"+inputs[0].id+"="+inputs[0].value;
loadBox = 'divResultForgotPassword';
loading();
btn.disabled=true;
myRequest(prms,'TabId-41.aspx',function(res){loadBox = 'divResultForgotPassword';showResponse(res);btn.disabled=false;});
}
