﻿function getHTTPObject() {
    var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        if (!xmlhttp) {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
    return xmlhttp;
}

// Create the HTTP Object
var http = getHTTPObject();

/*
Funtion Name=requestInfo 
Param = url >> Url to call : id = Passing div id for multiple use ~ as a seprator for eg. div1~div2 :
redirectPage >> if you like to redirect to other page once the event success then 
the response text = 1 and the redirectPage not left empty
*/

function requestInfo(url, id, redirectPage) {
    var temp = new Array();
    http.open("GET", url, true);
    http.onreadystatechange = function() {
        if (http.readyState == 4) {
            if (http.status == 200) {
                var results = http.responseText;
                if (redirectPage == "" || results != "1") {
                    var temp = id.split("~"); // To display on multiple div 
                    //alert(temp.length);
                    var r = results.split("~"); // To display multiple data into the div 
                    //alert(temp.length);
                    if (temp.length > 1) {
                        for (i = 0; i < temp.length; i++) {
                            //alert(temp[i]);
                            document.getElementById(temp[i]).innerHTML = r[i];
                            if (id == 'mypopup') {
                                fireMyPopup();
                            }
                        }
                    } else {
                        document.getElementById(id).innerHTML = results;
                        if (id == 'mypopup') {
                            fireMyPopup();
                        }
                    }
                } else {
                    //alert(results);
                    window.location.href = redirectPage;
                }
            }
        }
    };
    http.send(null);
}

function requestUpdate(url, id, redirectPage) {
    var temp = new Array();
    http.open("GET", url, true);
    http.onreadystatechange = function() {
        if (http.readyState == 4) {
            if (http.status == 200) {
                var results = http.responseText;
                if (redirectPage == "" || results != "1") {
                    var temp = id.split("~"); // To display on multiple div 
                    //alert(temp.length);
                    var r = results.split("~"); // To display multiple data into the div 
                    //alert(temp.length);
                    if (temp.length > 1) {
                        for (i = 0; i < temp.length; i++) {
                            //alert(temp[i]);
                            document.getElementById(temp[i]).innerHTML = r[i];
                        }
                    } else {
                        document.getElementById(id).innerHTML = results;
                    }
                } else {
                    //alert(results);
                    window.location.href = redirectPage;
                }
            }
        }
    };
    http.send(null);
}

function myPopupRelocate() {
    var scrolledX, scrolledY;
    if (self.pageYOffset) {
        scrolledX = self.pageXOffset;
        scrolledY = self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
        scrolledX = document.documentElement.scrollLeft;
        scrolledY = document.documentElement.scrollTop;
    } else if (document.body) {
        scrolledX = document.body.scrollLeft;
        scrolledY = document.body.scrollTop;
    }

    var centerX, centerY;
    if (self.innerHeight) {
        centerX = self.innerWidth;
        centerY = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        centerX = document.documentElement.clientWidth;
        centerY = document.documentElement.clientHeight;
    } else if (document.body) {
        centerX = document.body.clientWidth;
        centerY = document.body.clientHeight;
    }

    var leftOffset = scrolledX + (centerX - 900) / 2;
    var topOffset = 140;  //scrolledY + (centerY - 550) / 2;

    //var leftOffset = (centerX - 900) / 2;
    //var topOffset = (centerY - 550) / 2;

    document.getElementById("mypopup").style.top = topOffset + "px";
    document.getElementById("mypopup").style.left = leftOffset + "px";
}

function fireMyPopup() {
    myPopupRelocate();
    document.getElementById("mypopup").style.position = "absolute";
    document.getElementById("mypopup").style.width = "900px";
    document.getElementById("mypopup").style.background = "#f5f5f5";
    document.getElementById("mypopup").style.border = "solid 1px #000000";
    document.getElementById("mypopup").style.display = "block";
    //document.body.onscroll = myPopupRelocate;
    //window.onscroll = myPopupRelocate;
    //window.setTimeout("myPopupRelocate", 1000);
}

function closeMyPopup() {
    document.getElementById("mypopup").style.display = "none";
}

// Moveable Div Below

var ie = document.all;
var nn6 = document.getElementById && !document.all;

var isdrag = false;
var x, y;
var dobj;

function movemouse(e) {
    if (isdrag) {
        dobj.style.left = nn6 ? tx + e.clientX - x + "px" : tx + event.clientX - x + "px";
        dobj.style.top = nn6 ? ty + e.clientY - y + "px" : ty + event.clientY - y + "px";
        return false;
    }
}

function selectmouse(e) {
    var fobj = nn6 ? e.target : event.srcElement;
    var topelement = nn6 ? "!DOCTYPE" : "HTML";

    while (fobj.tagName != topelement && fobj.className != "dragme") {
        fobj = nn6 ? fobj.parentNode : fobj.parentElement;
    }

    if (fobj.className == "dragme") {
        isdrag = true;
        dobj = document.getElementById("mypopup");
        tx = parseInt(dobj.style.left + 0);
        ty = parseInt(dobj.style.top + 0);
        x = nn6 ? e.clientX : event.clientX;
        y = nn6 ? e.clientY : event.clientY;
        document.onmousemove = movemouse;
        return false;
    }
}

document.onmousedown = selectmouse;
document.onmouseup = new Function("isdrag=false");

// Test Ajax Edit/Update For client_view.aspx below

function editField(div) {
    var r_div = document.getElementById("r_" + div);
    var e_div = document.getElementById("e_" + div);
    if (e_div.style.display == "block") {
        r_div.style.display = "block";
        e_div.style.display = "none";
    } else {
        r_div.style.display = "none";
        e_div.style.display = "block";
    }
}

function updateField(div, id) {
    var r_div = document.getElementById("r_" + div);
    var e_div = document.getElementById("e_" + div);
    f = document.getElementById("FV1_f_" + div);
    if (f.tagName == "INPUT") {
        r_div.innerHTML = f.value;
        var v = f.value;
    } else {
        r_div.innerHTML = f.options[f.options.selectedIndex].text;
        var v = f.options[f.options.selectedIndex].text;
    }
    var i = id;
    r_div.style.display = "block";
    e_div.style.display = "none";
    requestUpdate('update_client_details.aspx?field=' + div + '&value=' + v + '&id=' + i, 'results', '');
}

function sendEmail(mode, address, id) {
    var add = document.getElementById(address);
    if (add.value == "") {
        var div = document.getElementById(id);
        div.innerHTML = " * Enter E-mail Address.";
    } else {
        requestUpdate('allCode.aspx?mode=' + mode + '&value=' + add.value, id, '');
        add.value = "";
    }
}

function checkUser(mode, user, pw, id) {
    var user = document.getElementById(user);
    var pass = document.getElementById(pw);
    requestUpdate('allCode.aspx?mode=' + mode + '&uid=' + user.value +  '&password=' + pass.value, id, 'default.aspx');
}

function JSFX_FloatDiv(id, sx, sy) {

    var centerX;
    if (self.innerHeight) {
        centerX = self.innerWidth;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        centerX = document.documentElement.clientWidth;
    } else if (document.body) {
        centerX = document.body.clientWidth;
    }
    sx = (centerX - 900) / 2;

    var ns = (navigator.appName.indexOf("Netscape") != -1);
    var d = document;
    var el = d.getElementById ? d.getElementById(id) : d.all ? d.all[id] : d.layers[id];
    var px = document.layers ? "" : "px";
    window[id + "_obj"] = el;
    if (d.layers) el.style = el;
    el.cx = el.sx = sx; el.cy = el.sy = sy;
    el.sP = function(x, y) { this.style.left = x + px; this.style.top = y + px; };

    el.floatIt = function() {
        var pX, pY;
        pX = (this.sx >= 0) ? 0 : ns ? innerWidth :
		document.documentElement && document.documentElement.clientWidth ?
		document.documentElement.clientWidth : document.body.clientWidth;
        pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ?
		document.documentElement.scrollTop : document.body.scrollTop;
        if (this.sy < 0)
            pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ?
		document.documentElement.clientHeight : document.body.clientHeight;
        this.cx += (pX + this.sx - this.cx) / 8; this.cy += (pY + this.sy - this.cy) / 8;
        this.sP(this.cx, this.cy);
        setTimeout(this.id + "_obj.floatIt()", 35);
    }
    return el;
}

function DeleteRecord() {
    if (confirm("Are You Sure You Want To DELETE This Entry?")) {
        return true
    }
    else {
        return false
    }
}