﻿// JScript File

var User = {

    Url: "Ajax/",

    IsLogin: false,


    //    Login: function(userName, password, objectInvoked) {
    //        var ajaxUrl = this.Url + "Login.ashx"; // this.Url + "Login.ashx?name=" + userName + "&Password=" + password;
    //        var params = "name=" + userName + "&Password=" + password;
    //        var callback = this.Login_CALLBACK;
    //        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);
    //    },

    //    Login_CALLBACK: function(res) {
    //        if (res == "0") {
    //            alert("משתמש לא קיים");
    //        }
    //        else {
    //            if ($("menuTabs") != null)
    //                $("menuTabs").style.display = "block";
    //            $("_registration").style.display = "none";
    //            $("connected").style.display = "block";

    //            $("userName").innerHTML = res;
    //            if (curPage == "home.aspx") {
    //                $("z2LogOut").style.display = "none";
    //                $("z2LogIn").style.display = "inline";
    //            }
    //        }
    //        //alert(res);

    //    },

    //    Logout: function(objectInvoked) {
    //        var ajaxUrl = this.Url + "Logout.ashx"; // this.Url + "Login.ashx?name=" + userName + "&Password=" + password;
    //        var callback = this.Logout_CALLBACK;
    //        Ajax.HTTPServerRequest(ajaxUrl, " ", false, callback, null, objectInvoked);
    //    },

    //    Logout_CALLBACK: function(res) {
    //        $("_registration").style.display = "block";
    //        $("connected").style.display = "none";
    //        $("userName").innerHTML = "";
    //        if (curPage == "home.aspx") {
    //            $("z2LogOut").style.display = "inline";
    //            $("z2LogIn").style.display = "none";
    //        }
    //        if (window.location.pathname.indexOf("BTop.aspx") == -1)
    //            window.location = "home.aspx";

    //    },

    FindCustomer: function(custTosearch, pageNum, objectInvoked) {
        if (custTosearch == "") {
            alert("יש להכניס שם לקוח");
            return;
        }
        var ajaxUrl = this.Url + "FindCustomer.aspx"; //?custTosearch=" + custTosearch;// this.Url + "Login.ashx?name=" + userName + "&Password=" + password;

        var params = "custId=" + custTosearch;
        if (pageNum != null)
            params += "&pageNum=" + pageNum;
        var callback = this.FindCustomer_CALLBACK;
        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);

    },

    FindCustomer_CALLBACK: function(res) {
        var content = $("tab_1_content");
        res = res.replace("##", "\'");
        content.innerHTML = res;

    },

    GetCustomerContacts: function(customer, objectInvoked) {
        var ajaxUrl = this.Url + "GetCustomerContacts.aspx";
        var params = "custId=" + customer;
        document.forms["regForm"]["_custId"].value = customer;
        var callback = this.GetCustomerContacts_CALLBACK;
        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);
    },

    GetCustomerContacts_CALLBACK: function(res) {
        var resERR = res.split("error:");
        if (resERR.length > 1) {
            if (resERR[1] == "102") {
                res = "<div class='regHeadlineDiv' style='height:70px;padding-top:30px;'>";
                res += "לקוח רשום במערכת <br/> לעזרה לחץ <a href='/D2BGUI/Support.aspx'>כאן</a>";
                res += "<\div>";
            }
            if (resERR[1] == "103") {
                a.MoveNext();
                a.MoveNext();
                return;
            }

        }
        var content = $("tab_2_content");
        content.innerHTML = res// tmp;
        a.MoveNext();
        iFrame = $('regIFrame');
        iFrame.src = "Account/frame2.aspx";

    },

    SendSMS: function(customer, phone, objectInvoked) {
        var ajaxUrl = this.Url + "SendSMS.aspx";
        var params = "custId=" + customer + "&Phone=" + phone;
        var callback = this.SendSMS_CALLBACK;
        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);
    },

    SendSMS_CALLBACK: function(res) {
        a.MoveNext();
        var content = $("tab_3_content");
        //תהליך ההרשמה נכשל מסיבה לא ידועה
        if (res == 3) {
            var error = "<div class='regSucced'>תהליך הרשמה נכשל! <br/>לעזרה לחץ <a href='http://www.d-biz.co.il/support/ContactUs.aspx'>כאן</a>  </div>";
            content.innerHTML = error;
        }
        //לקוח רשום ופעיל
        if (res == 2) {
            var error = "<div class='regSucced'>לקוח יקר, <br/>הינך רשום במערכת. <br/> <a href='http://www.d-biz.co.il/Support/ForgetPassword.aspx' style='text-decoration:underline'>שכחתי סיסמה</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href='http://www.d-biz.co.il/'>חזור</a>  </div>";
            content.innerHTML = error;
        }
    },

    SendMAIL: function(customer, objectInvoked) {
        var ajaxUrl = this.Url + "SendEmail.aspx";
        var params = "custId=" + customer;
        var callback = this.SendMAIL_CALLBACK;
        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);
    },

    SendMAIL_CALLBACK: function(res) {
        a.MoveNext();
        var content = $("tab_3_content");
        //תהליך ההרשמה נכשל מסיבה לא ידועה
        if (res == 3) {
            var error = "<div class='regSucced'>תהליך הרשמה נכשל! <br/>לעזרה לחץ <a href='http://www.d-biz.co.il/support/ContactUs.aspx'>כאן</a>  </div>";
            content.innerHTML = error;
        }
        //לקוח רשום ופעיל
        if (res == 2) {
            var error = "<div class='regSucced'>לקוח יקר, <br/>הינך רשום במערכת. <br/> <a href='http://www.d-biz.co.il/Support/ForgetPassword.aspx' style='text-decoration:underline'>שכחתי סיסמה</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href='http://www.d-biz.co.il/'>חזור</a>  </div>";
            content.innerHTML = error;
        }
    },

    Activate: function(activationCode, contactPerson, mail, password, objectInvoked) {
        var ajaxUrl = this.Url + "ActivateUser.aspx";
        var params = "activationCode=" + activationCode + "&contactPerson=" + contactPerson + "&email=" + mail + "&password=" + password;
        var callback = this.Activate_CALLBACK;
        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);
    },

    Activate_CALLBACK: function(res) {
        res = parseInt(res);
        var content = $("tab_3_content");
        var succeed = "<div class='regSucced'>תהליך הרשמה הסתיים בהצלחה! <br/><br/> מייד תופנה לעמוד הבית</div>";
        var error = "<div class='regSucced'>תהליך הרשמה נכשל! <br/>לעזרה לחץ <a href='/D2BGUI/Support.aspx'>כאן</a>  </div>";
        switch (res) {

            case 0:
                content.innerHTML = succeed;
                window.setTimeout(function() { window.location = "home.aspx" }, 1500);
                break;
            case 1:
                $("q_err_1").style.visibility = "visible";
                fGetInput(content, "input", "_registrationCode").focus();
                break;
            case 2:
                $("q_err_3").style.visibility = "visible";
                fGetInput(content, "input", "_email").focus();
                break;
            case 3:
                content.innerHTML = error;
                break;
            default:
                break;

        }



    },

    Update: function(mail, password, objectInvoked) {
        var ajaxUrl = this.Url + "UpdateUser.ashx";
        var params = "mail=" + mail + "&password=" + password;
        var callback = this.GetCustomerContacts_CALLBACK;
        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);
    }


}

function update_user()
{
    var email = $("userMail").value;
    var password = $("userPassword").value;
    var bPassword = $("userBPassword").value;
    if(!edit_user_validate(email,password,bPassword))
    {
        alert ("רישום נכשל");
    }
    else
        User.Update(email,password);
}


var Graph = {

    Bars: [],

    Max: 350,

    FrameHeight: 145,

    Innitilize: function(a, b, c) {
    Graph.Max = FindMaxNumber(a, b, c);
        this.Bars[0] = Object._extend([], GraphBar);
        this.Bars[1] = Object._extend([], GraphBar);
        this.Bars[2] = Object._extend([], GraphBar);
        this.Bars[0].Innit(a, $('barOrange'));
        this.Bars[1].Innit(b, $('barBlue'));
        this.Bars[2].Innit(c, $('barGreen'));
        
        //alert(FindMaxNumber(a, b, c));
    }

}

var GraphBar = {

    MonthValue: 0,

    Step: 0,

    TextStep: 0,

    Bar: null,

    Text: null,

    Start: function() {
        var tmr = TimerManager.MakeNew();
        tmr.Initialize(fCloseCallback, 12, 60, fCloseEndCallback, { div: this.Bar, Text: this.Text, Height: 0, Step: this.Step, ValueStep: this.TextStep, EndValue: this.MonthValue, CurrentValue: 0 }, true);
    },


    Innit: function(value, barElement) {
        this.MonthValue = value;
        //alert(Graph.Max);
        this.Step = (value / Graph.Max)*2.2; // value / 120;
        this.TextStep = value / 60;
        this.Bar = barElement;
        this.Text = $A('span', '*', barElement)[0];
    }
}


function fCloseCallback(obj) {
    obj.div.style.height = obj.Height + "px";
    obj.Height += obj.Step;
    obj.CurrentValue = obj.CurrentValue + obj.ValueStep;
    var text = (parseInt(obj.CurrentValue*10)/10);
    
    obj.Text.innerHTML = text.toString().split(".")[0];
}

function fCloseEndCallback(obj) {
    
    obj.Text.innerHTML = obj.EndValue;
}

function FindMaxNumber(a, b, c) {
    if (a > b) {
        if (a > c) return a;
        else return c;
    }
    else {
        if (b > c) return b;
        else return c;
    }
}


var Lightbox = {

    Url: null,

    fShowLoginFrame: function(activator) {
        if (User.IsLogin) return true;
        Lightbox.Url = activator.href;
        var par = document.getElementById("par");
        window.moveTo(0, 0);
        window.resizeTo(window.screen.availWidth, window.screen.availHeight);

        if (par == null) {
            par = document.createElement("div");
            //par.innerHTML = " ";
            var frm = document.createElement("iframe");
            frm.src = appPath + "/Html/Login.htm";
            frm.id = "lFrame";
            frm.scrolling = "no";
            frm.frameBorder = "0";
            //frm.attributes["scrolling"].value = "no";
            //frm.attributes["frameBorder"].value = "0";
            par.id = "par";
            document.body.appendChild(par);
            document.body.appendChild(frm);
            var avWidth = (window.screen.availWidth - 10) / 2;
            frm.style.right = (avWidth - 100) + "px";

        }
        var frame = $('lFrame');
        //alert(document.documentElement.scrollHeight);
        frame.style.marginTop = (250 + document.documentElement.scrollTop) + 'px';
        par.style.height = window.screen.availHeight > document.body.scrollHeight ? window.screen.availHeight - 100 + "px" : document.body.scrollHeight + "px";
        //alert(document.body.offsetWidth);
        par.style.width = document.body.parentNode.offsetWidth + "px";
        par.style.display = "block";
        frame.style.display = "block";
        if (browser == "MSIE") {
            document.body.parentNode.style.height = "100%";
            document.body.parentNode.style.width = "100%";
            document.body.parentNode.style.overflow = "hidden";
            //  alert(document.body.parentNode.nodeName);

        }
        fAddEvent(par, "click", Lightbox.fHideLoginFrame);
        return false;

    },
    fHideLoginFrame: function() {
        var par = $('par');
        var frame = $('lFrame');
        par.style.display = "none";
        frame.style.display = "none";
        if (browser == "MSIE") {
            document.body.parentNode.style.height = "auto";
            document.body.parentNode.style.width = "auto";
            document.body.parentNode.style.overflow = "";
        }
    },

    Login: function(userName, password, objectInvoked) {
        //todo: change the url
        
        var ajaxUrl = appPath + "/Ajax/LightBoxLogin.aspx"; // this.Url + "Login.ashx?name=" + userName + "&Password=" + password;
        var params = "email=" + userName + "&password=" + password;
        var callback = this.Login_CALLBACK;
        Ajax.HTTPServerRequest(ajaxUrl, params, false, callback, null, objectInvoked);
    },

    Login_CALLBACK: function(res) {
        res = parseInt(res);
        if (res == 0) {
            $('loginFailed').style.visibility = "visible";
        }
        else {
            parent.location = parent.Lightbox.Url;
        }
    }

};