function ajaxOrder3(act, reg)
{
    var cityel, city, areael, area, storeel, store;
    var cart, noi, gt;
    var regdevcode, devemail;
    var devname, devaddr1, devaddr2, devmark, devcode, devalt, mobnum, register;
    var params, ddateel, ddate, dtimeel, dtime, devmode;
    var logintype, scode, mscode;

    var devemailc;
    
    //mscode is used only for login purpose
    
//    removeDivElements('CENTERDIV3');
//    removeDivElements('CENTERDIV4');

//    document.getElementById("T1RESP").innerHTML = "Started...";

    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();

    var regdevcodeid = document.getElementById("regdevcode");
    var emailid      = document.getElementById("devemail");

    if (!regdevcodeid)
    {
        devemail   = readCookie("devemail");
        regdevcode = readCookie("regdevcode");

        if (!devemail || !regdevcode)
        {
            var cd = document.getElementById('CENTERDIV2');
            cd.innerHTML = "";
    
            askToLogin();
            return -1;

//            alert("You need to be signed in for this action");
//            addTableSignin(1);
//            addFooter(1);
//            return(-1);
        }
    }
    else
    {
        regdevcode = regdevcodeid.value;
        devemail   = emailid.value;
    }

    params = "&regdevcode=" + regdevcode + "&devemail=" + devemail;
    
//    alert('params1: ' + params);

    cityel  = document.getElementById("city");
    city    = cityel.options[cityel.selectedIndex].text;

    areael  = document.getElementById("area");
    area    = areael.options[areael.selectedIndex].text;

    storeel = document.getElementById("store");
    store   = storeel.options[storeel.selectedIndex].text;

    scode   = document.getElementById("SCODE").value;

    if (act == 'Get Code' || act == 'Login User')
    {
        devname   = 'null';
        devaddr1  = 'null';
        devaddr2  = 'null';
        devmark   = 'null';
        devcode   = 'null';
        devalt    = 'null';
        mobnum    = 'null';
        mscode    = document.getElementById("mscode").value;
        params    = params + "&mscode=" + mscode;
    }
    else
    {
        devname   = document.getElementById("devname").value;
        devaddr1  = document.getElementById("devaddr1").value;
        devaddr2  = document.getElementById("devaddr2").value;
        devmark   = document.getElementById("devmark").value;
        devcode   = document.getElementById("devcode").value;
        devalt    = document.getElementById("devalt").value;
        mobnum    = document.getElementById("mobnum").value;
    }

    if (reg == 1)
    {
        register  = 'on';
        ddate     = 'null';
        dtime     = 'null';
        cart      = 0;
        noi       = 0;
        gt        = 0;

        var cartel     = document.getElementById("cart");
        if (cartel)
        {
            cart = cartel.value;
        }

        var noiel      = document.getElementById("noi");
        if (noiel)
        {
            noi = noiel.value;
        }
        
        var gtel       = document.getElementById("gt");
        if (gtel)
        {
            gt = gtel.value;
        }
        
        var devemailcel = document.getElementById("devemailc");
        if (devemailcel)
        {
            devemailc = devemailcel.value;
        }

    }
    else
    {
//        alert('value of register: ' + document.getElementById('subscribe').value);
        if (document.getElementById('subscribe').value)
        {
            register = 'on';
        }
        else
        {
            register = 'off';
        }
        ddate     = document.getElementById("ddate").value;
        dtimeel   = document.getElementById("dtime");
        dtime     = dtimeel.options[dtimeel.selectedIndex].value;
        devmode   = document.getElementById("devmode").value;

        cart    = document.getElementById("cart").value;
        noi     = document.getElementById("noi").value;
        gt      = document.getElementById("gt").value;
    }

    if (reg == 1 && act == 'Place Order')
    {
        if (document.getElementById("devemailc"))
        {
            if (devemailc != regdevcode)
            {
                alert("Selected password and confirm password did not match");
                return;
            }
        }
    }
    
    params = params + "&devname=" + devname + "&devaddr1=" + devaddr1 + "&devaddr2=" + devaddr2 + "&devmark=" + devmark + "&devcode=" + devcode + "&devalt=" + devalt + "&mobnum=" + mobnum + "&register=" + register + "&ddate=" + ddate + "&dtime=" + dtime + "&devmode=" + devmode + "&sign=" + reg;

//    alert('params2: ' + params);

    params  = "&rn=" + rn + params + "&city=" + city + "&area=" + area + "&store=" + store + "&scode=" + scode + "&cart=" + cart + "&noi=" + noi + "&gt=" + gt + "&orderbutton=" + act;

//    alert('params3: ' + params);

    var cnt=1;
    var pd;
        for (cnt = 1; cnt < cart; cnt = parseInt(cnt) + 1)
        {
            pdid = document.getElementById('cart_' + cnt);
            if (pdid == null)
            {
                pd = 'null product';
            }
            else
            {
                pd = pdid.value;
            }

//            alert('product' + cnt + ': ' + pd);

            params = params + '&cart_' + cnt + '=' + pd;
        }
//        alert('params4: ' + params);

    if (devemail.search(/[@.]+/) == -1)
    {
        //alert("Please enter valid email id");
        //return;
    }

    if (act == 'Get Code' || act == 'Login User')
    {
        //alert("the mscode is: -- " + mscode + "--");
        if (mscode)
        {
            //alert('in here');
            if (mscode.length == 0 || mscode == " ")
            {
                 alert("Please fill store code");
                 return;
            }
        }
    }

    if (act == 'Existing User' || act == 'Login User' || act == 'Place Order')
    {
        if (regdevcode.length == 0)
        {
            alert('You must fill GreenyTails PIN');
            return;
        }
        //makeMeDisappear('T2RESP2', 'Existing User');
    }

    //makeMeDisappear('T1RESP3', 'Get Code');
    
    if (act == 'Place Order')
    {
        if (ddate.length == 0)
        {
            alert('Select your order delivery date/time');
            return;
        }
        
        if (mobnum.length == 0 ||
            devaddr1.length == 0 ||
            devmark.length == 0)
        {
            alert('Recipient and/or Delivery Address are mandatory');
            return;
        }

        if (mobnum.length != 10 ||
           mobnum.search(/[0-9]/) == -1)
        {
            alert("Please enter valid mobile number");
            return;
        }

        if (devname.search(/[a-zA-Z]+/) == -1 ||
            devaddr1.search(/[a-zA-Z]+/) == -1 ||
            devmark.search(/[a-zA-Z]+/) == -1
//            devcode.search(/[0-9]+/) == -1
           )
        {
            alert('Please enter valid content for Recipient and/or Delivery Address');
            return;
        }

        if (ddate == 'Select Delivery Date')
        {
            alert('Select a delivery date');
            return;
        }
        
        if (dtime == 'Select Delivery Time')
        {
            alert('Select a delivery time');
            return;
        }
        
        if (devmode == -1)
        {
            alert('Select a delivery mode');
            return;
        }
        
        if (document.getElementById('tnc').checked == false)
        {
            alert('To proceed you should agree to the terms and conditions by ticking the associated checkbox');
            return;
        }

        if (dtime == 'Today\'s Delivery Time Exceeded')
        {
            alert('Today\'s Delivery Time Execeeded. Please select another delivery date/time');
            return;
        }
    }

    var ogs = document.getElementById("ogs").value;
    
    req.open("POST", "/cgi-bin/" + ogs + "/orderform.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {
//        alert('onreadystatechange');

        if (act == 'Existing User')
        {
            document.getElementById("T2RESP").innerHTML = "Processing, please wait......";
        }
        else if (act == 'Login User')
        {
            document.getElementById("CENTERDIV3").innerHTML = "Logging in, please wait......";
        }
        else if (act == 'Place Order')
        {
//            document.getElementById('CENTERDIV3').innerHTML = "";
            document.getElementById('CENTERDIV4').innerHTML = "";
            document.getElementById("CENTERDIV3").innerHTML = "Updating your details. Please wait...<img src=\"n_rings.gif\" width=\"50\" height=\"50\" />";
        }
        else
        {
//            document.getElementById("T1RESP3").innerHTML = "Updating your details. Please wait...<img src=\"n_rings.gif\" width=\"50\" height=\"50\" />";
            document.getElementById("T1RESP3").innerHTML = "Processing your query. Please wait...";
        }
		
        if(req.readyState == 4)
        {
//            alert('onreadystatechange-4');
            if(req.status == 200)
            {
                var resp = req.responseText;
//                alert('the response is: ' + resp);
                if (act == 'Existing User')
                {
        
                    var eu = document.getElementById('T2RESP2');
                    eu.innerHTML = "<font size=\"1\" color=\"black\">You may edit your delivery address details and tick the \'Register/Update\' checkbox to retain your data for future use</font>";
//                    document.getElementById("T2RESP").innerHTML = "Received: " + resp;
                    document.getElementById("T2RESP").innerHTML = resp;

                    if (resp.search(/is not registered/) == -1)
                    {
                         createLogout(devemail, regdevcode);
                    }
                }
                else if (act == 'Place Order')
                {
//                    document.getElementById("CENTERDIV3").innerHTML = resp;
                    document.getElementById('CENTERDIV3').innerHTML = "";
                    document.getElementById("CENTERDIV2").innerHTML = "<br><br><br>" + resp;

                    if (resp.search(/is already registered/) == -1)
                    {
                         //createLogout(devemail, regdevcode);
                    }
                }
                else if (act == 'Login User')
                {
                    if (resp.search(/is not registered/) == -1)
                    {
                         createLogout(devemail, regdevcode);
                         document.getElementById('CENTERDIV3').innerHTML = "";
                         document.getElementById("CENTERDIV2").innerHTML = "Login Successfull<br><br>Welcome to the new age online shopping!!!";
                    }
                    else
                    {
                         document.getElementById("CENTERDIV3").innerHTML = "<font color=\"red\">Login credentials did not match!<br>Please check and try again!</font>";
                         return;
                    }
                }
                else
                {
//                    document.getElementById("T1RESP").innerHTML = "Received: " + resp;
                    document.getElementById("T1RESP3").innerHTML = "<font size=\"1px\" color=\"black\">" + resp + "</font>";
                }
//                document.getElementById("T2RESP").style.display = 'inline';
//                addTable2('inline');
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
//                //alert('status: ' + stat + ' and status text: ' + stxt);
                document.getElementById("T1RESP").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);
};

function egmLogout(m, r)
{
// m and r need not be supplied....

    eraseCookie("devemail");
    eraseCookie("regdevcode");
    document.getElementById('SIGNUP').innerHTML = "Logging Out...";
    document.getElementById('SIGNIN').innerHTML = "&nbsp;";
    //centerDiv2Text();
    window.location.reload();
};

function createLogout(m, r)
{
    if (m != null && r != null)
    {
        m = m.replace(/%40/i, "@");

        createCookie("devemail", m);
        createCookie("regdevcode", r);

        document.getElementById('SIGNUP').innerHTML = "Welcome, " + m;
        document.getElementById('SIGNIN').innerHTML = "<a href=\"#\" onclick=\"egmLogout(\'" + m + "\', \'" + r + "\');return false;\" />Logout</a>";
    }
    else
    {
        m = readCookie("devemail");
        r = readCookie("regdevcode");
    }
};

function loadLogout()
{
    m = readCookie("devemail");
    r = readCookie("regdevcode");
    d = readCookie("dispname");
    
    m = m.replace(/%40/i, "@");
    
//    alert('m is: ' + m + ', d is: ' + d + ', r is: ' + r);
    if (m == null || m == '')
    {
//        alert('setting m with the value of d');
        m = d;
        createCookie("devemail", m);
    }
    
    if (m == null)
    {
//        alert('m is null');
        document.getElementById('SIGNUP').innerHTML = "Welcome, New User? <a href=\"#\" onclick=\"addTable1(1);addTable2(1);addFooter(1);return false;\">Sign-Up</a>";
        document.getElementById('SIGNIN').innerHTML = "<a href=\"#\" align=\"left\" onclick=\"addTableSignin(1);addFooter(1);return false;\">Sign-In</a>";
    }
    else
    {
//        alert('m is not null: ' + m);
        createLogout(m, r);
        
    }
};

function popSetLogout()
{
//    document.domain = 'www.sarinapps.com';
    
    var m = readCookie("devemail");
    var r = readCookie("regdevcode");
    
//    alert('m is: ' + m + ', d is: ' + d + ', r is: ' + r);
    if (m == null || m == '')
    {
//        alert('popupset - setting m with the value of d');
        m = d;
        createCookie("devemail", m);
    }
    
    if (m == null)
    {
//        alert('popupset - m is null');
        window.opener.document.getElementById('SIGNUP').innerHTML = "Welcome, New User? <a href=\"#\" onclick=\"addTable1(1);addTable2(1);addFooter(1);return false;\">Sign-Up</a>";
        window.opener.document.getElementById('SIGNIN').innerHTML = "<a href=\"#\" align=\"left\" onclick=\"addTableSignin(1);addFooter(1);return false;\">Sign-In</a>";
    }
    else
    {
        m = m.replace(/%40/i, "@");
    
//        alert('popupset - m is not null: ' + m);
        if (window.opener.document.getElementById('SIGNUP') == null)
        {
//            alert('alert parent window signup tag is null');
        }
        else
        {
//            alert('alert parent window signup tag is not null');
            window.opener.document.getElementById('SIGNUP').innerHTML = "Welcome, " + m;
        }
//        alert('dunno what the heck is this');
        window.opener.document.getElementById('SIGNIN').innerHTML = "<a href=\"#\" onclick=\"egmLogout(\'" + m + "\', \'" + r + "\');return false;\" />Logout</a><input type=\"hidden\" name=\"openid\" id=\"openid\" value=\"1\" />";

        if(window.opener.document.getElementById('needlogin'))
        {
//            alert('need login is not null');
            window.opener.document.getElementById('CENTERDIV2').innerHTML = "<b>You are now logged in as " + m + "<br>You may continue your operations</b>";
        }
    }
};

function ajaxEmail(regdevcode, orderid)
{
    var params;
    
    document.getElementById("EMAILSTAT").innerHTML = "Sending Email...";

    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();

    params = "&rn=" + rn + "&regdevcode=" + regdevcode + "&orderid=" + orderid + "&pore=1";
    
    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/orderdisplay.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {

        document.getElementById("EMAILSTAT").innerHTML = "Email Sent...";
		
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
//                alert(resp);
                document.getElementById("EMAILSTAT").innerHTML = resp;
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("EMAILSTAT").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);

};

function ajaxPartner()
{
    var params;
    var pname, pcori, paddr1, paddr2, pcity, pcode, pcont, pemail, pmesg;
    
    pname    = document.getElementById("pname").value;
    pcori    = document.getElementById("pcori").value;
    paddr1   = document.getElementById("paddr1").value;
    paddr2   = document.getElementById("paddr2").value;
    pcity    = document.getElementById("pcity").value;
    pcode    = document.getElementById("pcode").value;
    pcont    = document.getElementById("pcont").value;
    pemail   = document.getElementById("pemail").value;
    pmesg    = document.getElementById("pmesg").value;
    
    if (pname.length == 0  ||
        paddr1.length == 0 ||
        pcity.length == 0)
    {
        alert('Name, Address and City fields are mandatory');
        return;
    }

    if (pname.search(/[a-zA-Z]+/) == -1   ||
        paddr1.search(/[a-zA-Z]+/) == -1 ||
        pcity.search(/[a-zA-Z]+/) == -1)
    {
        alert('Please enter valid content for Name, Address and City fields');
        return;
    }

    if (pcont.length != 10 ||
        pcont.search(/[0-9]/) == -1)
    {
        alert("Please enter valid Indian mobile number");
        return;
    }
    
    if (pemail.length == 0 ||
        pemail.search(/[@]/) == -1 ||
        pemail.search(/[.]/) == -1)
    {
        alert("Please enter valid email id");
        return;
    }
    
     document.getElementById("CENTERDIV4").innerHTML = "Please wait...";

    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();

    params = "&rn=" + rn +
             "&pname=" + pname +
             "&pcori=" + pcori +
             "&paddr1=" + paddr1 +
             "&paddr2=" + paddr2 +
             "&pcity=" + pcity +
             "&pcode=" + pcode +
             "&pcont=" + pcont +
             "&pemail=" + pemail +
             "&pmesg=" + pmesg;

    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/partner.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {

        document.getElementById("CENTERDIV4").innerHTML = "Please wait...<img src=\"n_rings.gif\" width=\"50\" height=\"50\" />";
		
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
//                alert(resp);
                document.getElementById("CENTERDIV4").innerHTML = "";
                document.getElementById("CENTERDIV2").innerHTML = resp;
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("CENTERDIV4").innerHTML = "";
                document.getElementById("CENTERDIV2").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);

};

function ajaxHistory(upd)
{
    var params;
    var mobnum, regdevcode, fmonthel, fmonth, fyearel, fyear, tmonthel, tmonth, tyearel, tyear;
    var scode, merchant;
    var fmidx, tmidx;
    
    var trackoid = 0;
    
    var regdevcodeid = document.getElementById("regdevcode");
    var devemailid   = document.getElementById("devemail");

    if (!regdevcodeid)
    {
        devemail   = readCookie("devemail");
        regdevcode = readCookie("regdevcode");

        if (!devemail || !regdevcode)
        {
            var cd = document.getElementById('CENTERDIV2');
            cd.innerHTML = "";

            askToLogin();
            return;

//            alert("You need to be signed in for this action");
//            addTableSignin(1);
//            addFooter(1);
//            return(-1);
        }
    }
    else
    {
        regdevcode = regdevcodeid.value;
        devemail   = devemailid.value;
    }

    scode      = document.getElementById("SCODE").value;
    merchant   = document.getElementById("merchbox").checked;
    
    var rn         = new Date().getTime();

    params = "&rn=" + rn +
             "&devemail=" + devemail +
             "&regdevcode=" + regdevcode +
             "&merchant=" + merchant +
             "&scode=" + scode;

//    alert("mechant value: " + merchant);

    var toid   = document.getElementById("trackoid");
    if(toid)
    {
        trackoid = toid.value;
//        alert('the order id to track is: ' + trackoid);
        from = 0;
        to   = 0;
    }
    else
    {
    
        fmonthel = document.getElementById("fmonth");
        fmidx    = fmonthel.selectedIndex;
        fmonth   = fmonthel.options[fmidx].text;
        fyearel  = document.getElementById("fyear");
        fyear    = fyearel.options[fyearel.selectedIndex].text;

        tmonthel = document.getElementById("tmonth");
        tmidx    = tmonthel.selectedIndex;
        tmonth   = tmonthel.options[tmidx].text;
        tyearel  = document.getElementById("tyear");
        tyear    = tyearel.options[tyearel.selectedIndex].text;

        trackoid = 0;
    }

    var months = new Array(13);
    months[0]  = "Jan";
    months[1]  = "Feb";
    months[2]  = "Mar";
    months[3]  = "Apr";
    months[4]  = "May";
    months[5]  = "Jun";
    months[6]  = "Jul";
    months[7]  = "Aug";
    months[8]  = "Sep";
    months[9]  = "Oct";
    months[10] = "Nov";
    months[11] = "Dec";

    var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    
    var from, to;
    
    from = fyear + '-' + (parseInt(fmidx) + 1) + '-01';
    to   = tyear + '-' + (parseInt(tmidx) + 1) + '-' + daysInMonth[tmidx];
    
//    alert('from date: ' + from + ' and to date: ' + to);

    if (devemail.search(/[@.]+/) == -1)
    {
        //alert("Please enter valid email id");
        //return;
    }

   
    if (regdevcode.length == 0)
    {
        alert('You must fill GreenyTails PIN');
        return;
    }
    
    if (isNaN(trackoid))
    {
        alert('Invalid order id');
        return;
    }

    params = params + "&trackoid=" + trackoid + "&from=" + from + "&to=" + to;

    if (upd == 1)
    {
        newOrderStatus();
        
        var oidstrid = document.getElementById('oidlist');
        var oststrid = document.getElementById('ostlist');
    
        var oidstr = oidstrid.value;
        var oststr = oststrid.value;
        
        params += "&oidstr=" + oidstr + "&oststr=" + oststr;
    }

    document.getElementById("HIST2").innerHTML = "Please wait...";

    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/history.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {

        document.getElementById("HIST2").innerHTML = "Please wait...";
		
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
//                alert(resp);

                var dx = document.getElementById('HIST2');
                dx.style.padding = "10px 10px 10px 10px";
                //dx.style.border = "2px solid black";

                document.getElementById("HIST2").innerHTML = resp;

                    if (resp.search(/did not match/) == -1)
                    {
                         createLogout(devemail, regdevcode);
                    }
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("HIST2").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);

};

function newPrint(regdevcode, orderid)
{
    var ogs = document.getElementById("ogs").value;

    document.getElementById("CENTERDIV2").innerHTML = "<iframe id=\"pif\" onload=\"print()\" src=\"/cgi-bin/" + ogs +"/orderdisplay.cgi?regdevcode=5611&orderid=1234\" ><p>Your browser does not support iframes.</p></iframe>";
};

function editOrderStatus(oid, st)
{
    var chbox = document.getElementById('ch_' + oid).checked;
    var spid  = document.getElementById(oid);
    
//    alert('order id: ' + oid + ' status: ' + st + ' chbox: ' + chbox + ' and spid: ' + spid);
//    alert('html status is: ' + spid.innerHTML);

    if(chbox == true)
    {
        if (document.getElementById("sb_" + oid) == null)
        {
            spid.innerHTML = "<select name=\"sb_" + oid + "\" id=\"sb_" + oid + "\" class=\"sb3\" onchange=\"st=getOrderStatus(" + oid + ");\">" +
                                 "<option value=\"1\">New Order</option>" +
                                 "<option value=\"2\">Processed</option>" +
                                 "<option value=\"3\">Delivered</option>" +
                                 "<option value=\"4\">Address Rejected</option>" +
                                 "<option value=\"5\">Found Door Locked</option>" +
                             "</select>";
        }
//        alert('new html: ' + spid.innerHTML);
    }
    else
    {
        spid.innerHTML = st;
//        alert('new html2: ' + spid.innerHTML);
    }
    
    var oidstrid = document.getElementById('oidlist');
    var oststrid = document.getElementById('ostlist');
    
    var oidstr = oidstrid.value;
    var oststr = oststrid.value;
    
    var oidary = oidstr.split(',');
    var ostary = oststr.split(',');

//    alert("oidary is: " + oidary.toString() + " and ostary is: " + ostary.toString());

    var ix      = oidary.has(oid);

    if (ix == -1)
    {
//        alert("The ix: " + ix + " did not match");
        oidary = oidary.concat(oid);
        ostary = ostary.concat(st);
    }
    else
    {
//        alert("The ix: " + ix + " matched and status is: " + ostary[ix] + " before update");
        ostary[ix] = st;
//        alert("The ix: " + ix + " matched and status is: " + ostary[ix] + " after update");
    }

    oidstr = oidary.toString();
    oststr = ostary.toString();

    oidstrid.value = oidstr;
    oststrid.value = oststr;
    
//    alert("oidstr is: " + oidstr + " and oststr is: " + oststr);
};

Array.prototype.has=function(v)
{
    for (i=0; i<this.length; i++){
    if (this[i]==v) return i;
    }
    return -1;
};

function getOrderStatus(oid)
{
    var sbel = document.getElementById("sb_" + oid);
    var sb   = sbel.options[sbel.selectedIndex].value;

//    alert("new status is: " + sb);
    return sb;
    
};

function newOrderStatus()
{
    var sbel, sb;
    var oidparams = '';
    var ostparams = '';
    var oidstrid  = document.getElementById('oidlist');
    var oststrid  = document.getElementById('ostlist');

    var oidstr    = oidstrid.value;
    var oststr    = oststrid.value;
    
    var oidary    = oidstr.split(',');
    var ostary    = oststr.split(',');

//    alert("ajax Order Update: oidary is: " + oidary.toString() + " and ostary is: " + ostary.toString());
    
    var oidlen = oidary.length;
    var chbox  = false;
    
    // i starts from 1, because i == 0 is a ','
    for (var i = 1; i < oidlen; i++)
    {
        chbox = document.getElementById('ch_' + oidary[i]).checked;
        
        if (chbox == true)
        {
            sbel = document.getElementById("sb_" + oidary[i]);
            sb   = sbel.options[sbel.selectedIndex].value;
            oidparams += oidary[i] + ',';
            ostparams += sb + ',';
        }
    }
            
//    alert("order ids to update: " + oidparams + "with statuses: " + ostparams);
    
    oidstrid.value = oidparams;
    oststrid.value = ostparams;
};

function ajaxSaveOrder(act, reg)
{
    var cityel, city, areael, area, storeel, store;
    var cart, noi, gt;
    var regdevcode, devemail;
    var devname, devaddr1, devaddr2, devmark, devcode, devalt, mobnum, register;
    var params, ddateel, ddate, dtimeel, dtime, devmode;
    var saveas;
    
    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();

    var regdevcodeid = document.getElementById("regdevcode");
    var devemailid   = document.getElementById("devemail");

    if (!regdevcodeid)
    {
        devemail   = readCookie("devemail");
        regdevcode = readCookie("regdevcode");

        if (!devemail || !regdevcode)
        {
            var cd = document.getElementById('CENTERDIV2');
            cd.innerHTML = "";

            askToLogin();
            return;

//            alert("You need to be signed in for this action");
//            addTableSignin(1);
//            addFooter(1);
//            return(-1);
        }
    }
    else
    {
        regdevcode = regdevcodeid.value;
        devemail   = devemailid.value;
    }

    params = "&regdevcode=" + regdevcode + "&devemail=" + devemail;
    
    cityel  = document.getElementById("city");
    city    = cityel.options[cityel.selectedIndex].text;

    areael  = document.getElementById("area");
    area    = areael.options[areael.selectedIndex].text;

    storeel = document.getElementById("store");
    store   = storeel.options[storeel.selectedIndex].text;

    scode   = document.getElementById("SCODE").value;

    register = 'off';
    
    saveas  = document.getElementById("saveas").value;

    cart    = document.getElementById("cart").value;
    noi     = document.getElementById("noi").value;
    gt      = document.getElementById("gt").value;

    params = params + "&register=" + register + "&sign=" + reg;

//    alert('params2: ' + params);

    if (saveas.length > 5 ||
        saveas.search(/[0-9]/) == -1 &&
        saveas.length != 0)
    {
        alert("Please enter valid order id to save");
        return;
    }
    
    params  = "&rn=" + rn + params + "&city=" + city + "&area=" + area + "&store=" + store + "&scode=" + scode + "&cart=" + cart + "&noi=" + noi + "&gt=" + gt + "&orderbutton=" + act + "&saveas=" + saveas;

//    alert('params3: ' + params);

    var cnt=1;
    var pd;
    for (cnt = 1; cnt < cart; cnt = parseInt(cnt) + 1)
    {
        pdid = document.getElementById('cart_' + cnt);
        if (pdid == null)
        {
            pd = 'null product';
        }
        else
        {
            pd = pdid.value;
        }

//        alert('product' + cnt + ': ' + pd);

        params = params + '&cart_' + cnt + '=' + pd;
    }

//    alert('params4: ' + params);

    if (devemail.length == 0 ||
        devemail.search(/[@.]/) == -1)
    {
        //alert("Please enter valid emaild");
        //return;
    }
    
    if (regdevcode.length == 0)
    {
        alert('You must fill Registered Delivery Code');
        return;
    }
            
    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/orderform.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {
        document.getElementById('CENTERDIV4').innerHTML = "";
        document.getElementById("CENTERDIV3").innerHTML = "Saving your order. Please wait...<img src=\"n_rings.gif\" width=\"50\" height=\"50\" />";

        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
                document.getElementById('CENTERDIV3').innerHTML = "";
                document.getElementById("CENTERDIV2").innerHTML = "<br><br><br>" + resp;

                if (resp.search(/is not registered/) == -1)
                {
                     createLogout(devemail, regdevcode);
                }
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("T1RESP").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);
};

function loadEditOrder(oid, rcode)
{
    selectCity();

    if (loadTreeByStore(1) == -1)
    {
//        alert("You cancelled loading of editable order: " + oid);
        return;
    }
    
//    loadEditSummary();

    loadEditCart(oid);
};

function editOrder(oid, rcode)
{
    var params;
    
//    alert("edit order: " + oid + " - regdevcode: " + rcode);
    document.getElementById("CENTERDIV2").innerHTML = "Requesting Order Description...";

    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();
    params = "&ru=" + rn + "&orderid=" + oid + "&regdevcode=" + rcode;

//    alert('tree params: ' + params);
    
    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/editorder.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {

        document.getElementById("CENTERDIV2").innerHTML = "Loading Order Description...";
		
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
//                alert(resp);
                document.getElementById("CENTERDIV2").innerHTML = resp;
                
                loadEditOrder(oid, rcode);
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("CENTERDIV2").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);

};

function selectCity()
{    
    var ecity   = document.getElementById("ecity").value;
    var earea   = document.getElementById("earea").value;
    var estore  = document.getElementById("estore").value;

    //alert("ecity: " + ecity + " earea: " + earea + " estore: " + estore);

    var cityop = document.getElementById("city");
    for(var i=0; i < cityop.length; i++)
    {
        if(cityop.options[i].value == ecity)
        {
//            alert('selected city at index: ' + i);
            cityop.options[i].selected = true;
        }
    }
    
    loadArea();
    
    var areaop = document.getElementById("area");
    for(var i=0; i < areaop.length; i++)
    {
        if(areaop.options[i].value == earea)
        {
//            alert('selected area at index: ' + i);
            areaop.options[i].selected = true;
        }
    }
    
    loadStore();

    var storeop = document.getElementById("store");
    for(var i=0; i < storeop.length; i++)
    {
        if(storeop.options[i].value == estore)
        {
//            alert('selected store at index: ' + i);
            storeop.options[i].selected = true;
        }
    }
};

function loadEditSummary()
{
    var enoi = document.getElementById("enoi").value;
    var egt  = document.getElementById("egt").value;

//    alert("enoi: " + enoi + " egt: " + egt);
    
    document.getElementById("noi").value = enoi;
    document.getElementById("gt").value  = egt;

    var tcell1 = document.getElementById('cell_gt');
    tcell1.innerHTML = "<input type=\"hidden\" value=" + egt + " name=\"gt\" id=\"gt\" />" +
                       "<span id=\"SPANPROD\">&nbsp; " + egt + " &nbsp;</span>";

    var tcell2 = document.getElementById('cell_noi');
    tcell2.innerHTML = "<input type=\"hidden\" value=" + enoi + " name=\"noi\" id=\"noi\" />" +
                       "<span id=\"SPANPROD\">&nbsp; " + enoi + " &nbsp;</span>";

};

function loadEditCart(oid)
{
    var cnt = document.getElementById('ecnt').value;
    var cid = document.getElementById('CENTERDIV2');
    
//    alert('ecnt: ' + cnt);

    for(var i = 1; i <= cnt; i++)
    {
        var plist = document.getElementById('eplist_'+i).value;
        
//        alert('plist-' + i + ': ' + plist);

        var id, prod, price;

        var msgList1 = plist.split(';');
        var id       = (msgList1[0].split(':'))[1];
        var prod     = (msgList1[1].split(':'))[1];
        var price    = (msgList1[2].split(':'))[1];
        var qty      = (msgList1[3].split(':'))[1];
        
//        alert('ID: ' + id + ';NAME: ' + prod + ';PRICE: ' + price);
        
        var qtyele = document.createElement('div');
        qtyele.innerHTML = "<input type=\"hidden\" id=\"c_" + prod + "\" value=" + qty + " />";
        cid.appendChild(qtyele);

        addCartEvent("ID:" + id + ";NAME:" + prod + ";PRICE:" + price);
    }

    var osave = document.createElement('div');
    osave.innerHTML = "<input type=\"hidden\" name=\"saveas\" id=\"saveas\" value=" + oid + " />";
    document.getElementById('RIGHTDIV1').appendChild(osave);

    removeLeafEvents();
    
    document.getElementById('CENTERDIV2').innerHTML  = "<br><br><br>Your editable order: " + oid + " has been loaded. You may continue your shopping<br><br><br><<-- Expand and select product categories list in the left panel for detailed listing of groceries of that product category.";
};

function ajaxCreateStore(act, reg)
{
    var storecode, regdevcode, devemail, invfile;
    
    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();

    var regdevcodeid = document.getElementById("regdevcode");
    var devemailid   = document.getElementById("devemail");

    if (!regdevcodeid)
    {
        devemail   = readCookie("devemail");
        regdevcode = readCookie("regdevcode");

        if (!devemail || !regdevcode)
        {
            var cd = document.getElementById('CENTERDIV2');
            cd.innerHTML = "";

            askToLogin();
            return;

//            alert("You need to be signed in for this action");
//            addTableSignin(1);
//            addFooter(1);
//            return(-1);
        }
    }
    else
    {
        regdevcode = regdevcodeid.value;
        devemail   = devemailid.value;
    }

    storecode  = document.getElementById("storecode").value;
    invfile    = document.getElementById("invfile").value;

    params = "&regdevcode=" + regdevcode + "&devemail=" + devemail + "&storecode=" + storecode + "&filename=" + invfile;
    
//    alert('params2: ' + params);

    if (devemail.length == 0 ||
        devemail.search(/[@.]/) == -1)
    {
        //alert("Please enter valid mobile number");
        //return;
    }
    
    if (regdevcode.length == 0)
    {
        alert('You must fill GreenyTails PIN');
        return;
    }
            
    if (storecode.length == 0)
    {
        alert('You must fill Store Code');
        return;
    }
            
    if (invfile.length == 0)
    {
        alert('You must select the inventory file to upload');
        return;
    }
            
    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/createstore.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {
        document.getElementById('CSTORERESP').innerHTML = "";
        document.getElementById("CSTORERESP").innerHTML = "Creating your store. Please wait...<img src=\"n_rings.gif\" width=\"50\" height=\"50\" />";

        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
                document.getElementById('CSTORERESP').innerHTML = "";
                document.getElementById("CSTORERESP").innerHTML = resp;

                if (resp.search(/is not registered/) == -1)
                {
                     createLogout(devemail, regdevcode);
                }
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("CSTORERESP").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);
};

function ajaxTestimonial()
{
    var params;
    var pname, pcountry, pcity, pcont, pemail, pmesg;
    
    pname    = document.getElementById("pname").value;
    pcountry = document.getElementById("pcountry").value;
    pcity    = document.getElementById("pcity").value;
    pcont    = document.getElementById("pcont").value;
    pemail   = document.getElementById("pemail").value;
    pmesg    = document.getElementById("pmesg").value;
    
    if (pname.length == 0  ||
        pcountry.length == 0 ||
        pcity.length == 0)
    {
        alert('Name, Country and City fields are mandatory');
        return;
    }

    if (pname.search(/[a-zA-Z]+/) == -1   ||
        pcountry.search(/[a-zA-Z]+/) == -1 ||
        pcity.search(/[a-zA-Z]+/) == -1)
    {
        alert('Please enter valid content for Name, Address and City fields');
        return;
    }

    if (pcont.length != 10 ||
        pcont.search(/[0-9]/) == -1)
    {
        alert("Please enter valid Indian mobile number");
        return;
    }
    
    if (pemail.length == 0 ||
        pemail.search(/[@]/) == -1 ||
        pemail.search(/[.]/) == -1)
    {
        alert("Please enter valid email id");
        return;
    }
    
     document.getElementById("CENTERDIV4").innerHTML = "Please wait...";

    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();

    params = "&rn=" + rn +
             "&pname=" + pname +
             "&pcountry=" + pcountry +
             "&pcity=" + pcity +
             "&pcont=" + pcont +
             "&pemail=" + pemail +
             "&pmesg=" + pmesg;

    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/testimonial.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {

        document.getElementById("CENTERDIV4").innerHTML = "Please wait...<img src=\"n_rings.gif\" width=\"50\" height=\"50\" />";
		
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
//                alert(resp);
                document.getElementById("CENTERDIV4").innerHTML = "";
                document.getElementById("CENTERDIV2").innerHTML = resp;
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("CENTERDIV4").innerHTML = "";
                document.getElementById("CENTERDIV2").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);

};

function ajaxChangePasswd(ob)
{
    var params;
    
    var regdevcodeid = document.getElementById("regdevcode");
    var devemailid   = document.getElementById("devemail");

    if (!regdevcodeid)
    {
        devemail   = readCookie("devemail");
        regdevcode = readCookie("regdevcode");

        if (!devemail || !regdevcode)
        {
            var cd = document.getElementById('CENTERDIV2');
            cd.innerHTML = "";

            askToLogin();
            return;

//            alert("You need to be signed in for this action");
//            addTableSignin(1);
//            addFooter(1);
//            return(-1);
        }
    }
    else
    {
        regdevcode = regdevcodeid.value;
        devemail   = devemailid.value;
    }

    if (devemail.length == 0 ||
        devemail.search(/[@]/) == -1 ||
        devemail.search(/[.]/) == -1)
    {
        //alert("Please enter valid email id");
        //return;
    }
    
    var devemailc = document.getElementById("devemailc").value;

    if (devemailc != regdevcode)
    {
        alert("Selected password and confirm password did not match");
        return;
    }

    document.getElementById("CENTERDIV4").innerHTML = "Please wait...";

    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/html');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
            }
    }

    var rn         = new Date().getTime();

    params = "&rn=" + rn +
             "&orderbutton=" + ob +
             "&devemail=" + devemail +
             "&regdevcode=" + regdevcode;

//    alert("params: " + params);

    var ogs = document.getElementById("ogs").value;

    req.open("POST", "/cgi-bin/" + ogs + "/orderform.cgi", true);

    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    req.setRequestHeader("Content-length", params.length);

    req.onreadystatechange = function()
    {

        document.getElementById("CENTERDIV4").innerHTML = "Please wait...<img src=\"n_rings.gif\" width=\"50\" height=\"50\" />";
		
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseText;
//                alert(resp);
                document.getElementById("CENTERDIV4").innerHTML = "";
                document.getElementById("CENTERDIV2").innerHTML = resp;
            }
            else
            {
                var stat = req.status;
                var stxt = req.statusText;
                document.getElementById("CENTERDIV4").innerHTML = "";
                document.getElementById("CENTERDIV2").innerHTML = "Error: returned status code " + stat + " " + stxt;
            }
        }
    };

    req.send(params);

};

