﻿// JScript File
 
AJAXGet = function(url, returnFunction)
{
    var pageRequest = RequestObject();

    if (!pageRequest) return;

    if (top.document.getElementById("websiteURL")) {
        if (!/[Hh][Tt][Tt][Pp]/.test(url)) {
            url = url.replace(/\.\.\//g, "");
            url = top.document.getElementById("websiteURL").value + "/" + url;
        }
    }
    
    var AddParams = new Array();
    
    if (AJAXGet.arguments.length > 2)
    {
        for (var i = 2; i <= AJAXGet.arguments.length - 1; i++)
        {
            //AddParams += ", '" + AJAXPost.arguments[i] + "'";
            AddParams[i - 1] = AJAXGet.arguments[i];
        }
    }
    
    var UrlTest = url.split("?");

    if (UrlTest[1])
    {
        url += "&id=" + Math.random() + clientTimeZones();
    }
    else
    {
        url += "?id=" + Math.random() + clientTimeZones();
    }
       
    pageRequest.open('GET', url, true);
    //pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    pageRequest.send(null);

    pageRequest.onreadystatechange = function() 
    {
        if (pageRequest.readyState == 4)
        {
            if (pageRequest.status == 200)
            {
                if (returnFunction != "")
                {
                    AddParams[0] = pageRequest.responseText;
                    //alert(AddParams.length);
                    var functionCall = eval(returnFunction);
                                        
                    functionCall.apply(this, AddParams);
                }
            }            
            
            //pageRequest.xmlHttpRequest = null;
            AddParams = null;
            pageRequest = null; 
        }
    }
}

AJAXPost = function(url, returnFunction, sendData) {
    var pageRequest = RequestObject();

    if (!pageRequest) return;

    if (top.document.getElementById("websiteURL")) {
        if (!/[Hh][Tt][Tt][Pp]/.test(url)) {
            url = url.replace(/\.\.\//g, "");
            url = top.document.getElementById("websiteURL").value + "/" + url;
        }
    }

    //var AddParams = "";
    var AddParams = new Array();

    if (AJAXPost.arguments.length > 3) {
        for (var i = 3; i <= AJAXPost.arguments.length - 1; i++) {
            //AddParams += ", '" + AJAXPost.arguments[i] + "'";
            AddParams[i - 2] = AJAXPost.arguments[i];
        }
    }

    var UrlTest = url.split("?");

    if (UrlTest[1]) {
        url += "&id=" + Math.random() + clientTimeZones();
    }
    else {
        url += "?id=" + Math.random() + clientTimeZones();
    }

    pageRequest.open('POST', url, true);
    pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    pageRequest.send(sendData);

    pageRequest.onreadystatechange = function() {
        if (pageRequest.readyState == 4) {
            if (pageRequest.status == 200) {
                if (returnFunction != "") {
                    AddParams[0] = pageRequest.responseText;
                    //alert(AddParams.length);
                    var functionCall = eval(returnFunction);

                    functionCall.apply(this, AddParams);
                    //this.call(eval(returnFunction + "()"), pageRequest.responseText);

                    //                    returnFunction += "('" + pageRequest.responseText + "'";
                    //                    
                    //                    returnFunction += AddParams + ");";   
                    //        
                    //                    eval(returnFunction);
                }
            }

            AddParams = null;
            pageRequest = null;
        }
    }
}

AJAXPostWithFunction = function(url, returnFunction, sendData)
{
    var pageRequest = RequestObject();

    if (!pageRequest) return;

    if (top.document.getElementById("websiteURL")) {
        if (!/[Hh][Tt][Tt][Pp]/.test(url)) {
            url = url.replace(/\.\.\//g, "");
            url = top.document.getElementById("websiteURL").value + "/" + url;
        }
    }
    
    //var AddParams = "";
//    var AddParams = new Array();
//    
//    if (AJAXPost.arguments.length > 3)
//    {
//        for (var i = 3; i <= AJAXPost.arguments.length - 1; i++)
//        {
//            //AddParams += ", '" + AJAXPost.arguments[i] + "'";
//            AddParams[i - 2] = AJAXPost.arguments[i];
//        }
//    }
//       
    var UrlTest = url.split("?");

    if (UrlTest[1])
    {
        url += "&id=" + Math.random() + clientTimeZones();
    }
    else
    {
        url += "?id=" + Math.random() + clientTimeZones();
    }
       
    pageRequest.open('POST', url, true);
    pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    pageRequest.send(sendData);

    pageRequest.onreadystatechange = function() 
    {
        if (pageRequest.readyState == 4)
        {
            if (pageRequest.status == 200)
            {
                if (returnFunction != "")
                {   
                    var AddParams = new Array();
                    AddParams[0] = pageRequest.responseText;
                    
                    returnFunction.apply(this, AddParams);
                    //alert(AddParams.length);
//                    var functionCall = eval(returnFunction);
//                                        
//                    functionCall.apply(this, AddParams);
                    //this.call(eval(returnFunction + "()"), pageRequest.responseText);
                
//                    returnFunction += "('" + pageRequest.responseText + "'";
//                    
//                    returnFunction += AddParams + ");";   
//        
//                    eval(returnFunction);
                }
            }            
        
            AddParams = null;
            pageRequest = null; 
        }
    }
}

AJAXPostWithError = function(url, returnFunction, errorFunction, sendData) {
    var pageRequest = RequestObject();

    if (!pageRequest) return;

    if (top.document.getElementById("websiteURL")) {
        if (!/[Hh][Tt][Tt][Pp]/.test(url)) {
            url = url.replace(/\.\.\//g, "");
            url = top.document.getElementById("websiteURL").value + "/" + url;
        }
    }

    //var AddParams = "";
    var AddParams = new Array();

    if (AJAXPostWithError.arguments.length > 4) {
        for (var i = 4; i <= AJAXPostWithError.arguments.length - 1; i++) {
            //AddParams += ", '" + AJAXPost.arguments[i] + "'";
            AddParams[i - 3] = AJAXPostWithError.arguments[i];
        }
    }

    var UrlTest = url.split("?");

    if (UrlTest[1]) {
        url += "&id=" + Math.random() + clientTimeZones();
    }
    else {
        url += "?id=" + Math.random() + clientTimeZones();
    }
    
    pageRequest.open('POST', url, true);
    pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    pageRequest.send(sendData);

    pageRequest.onreadystatechange = function() {
        if (pageRequest.readyState == 4) {
            if (pageRequest.status == 200) {
                if (returnFunction != "") {
                    AddParams[0] = pageRequest.responseText;
                    //alert(AddParams.length);
                    var functionCall = eval(returnFunction);

                    functionCall.apply(this, AddParams);
                    //this.call(eval(returnFunction + "()"), pageRequest.responseText);

                    //                    returnFunction += "('" + pageRequest.responseText + "'";
                    //                    
                    //                    returnFunction += AddParams + ");";   
                    //        
                    //                    eval(returnFunction);
                }
            }
            else {
                if (errorFunction != "") {
                    AddParams[0] = pageRequest.status;

                    var functionCall = eval(errorFunction);

                    functionCall.apply(this, AddParams);
                }
            }

            AddParams = null;
            pageRequest = null;
        }
    }
}

AJAXGetWithError = function(url, returnFunction, errorFunction) {    
    var pageRequest = RequestObject();
    
    if (!pageRequest) return;

    if (top.document.getElementById("websiteURL")) {
        if (!/[Hh][Tt][Tt][Pp]/.test(url)) {
            url = url.replace(/\.\.\//g, "");
            url = top.document.getElementById("websiteURL").value + "/" + url;
        }
    }

    var AddParams = new Array();

    if (AJAXGetWithError.arguments.length > 3) {
        for (var i = 3; i <= AJAXGetWithError.arguments.length - 1; i++) {
            //AddParams += ", '" + AJAXPost.arguments[i] + "'";
            AddParams[i - 2] = AJAXGetWithError.arguments[i];
        }
    }

    var UrlTest = url.split("?");

    if (UrlTest[1]) {
        url += "&id=" + Math.random() + clientTimeZones();
    }
    else {
        url += "?id=" + Math.random() + clientTimeZones();
    }


    pageRequest.open('GET', url, true);
    //pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    pageRequest.send(null);

    pageRequest.onreadystatechange = function() {
        if (pageRequest.readyState == 4) {
            if (pageRequest.status == 200) {
                if (returnFunction != "") {
                    AddParams[0] = pageRequest.responseText;
                    //alert(AddParams.length);
                    var functionCall = eval(returnFunction);

                    functionCall.apply(this, AddParams);
                }
            }
            else {
                if (errorFunction != "") {
                    AddParams[0] = pageRequest.status;

                    var functionCall = eval(errorFunction);

                    functionCall.apply(this, AddParams);
                }
            }

            //pageRequest.xmlHttpRequest = null;
            AddParams = null;
            pageRequest = null;
        }
    }
}

RequestObject = function()
{
  var xmlHttpRequest = null;
  try
  {
    xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e1)
  {
    try
    {
        xmlHttpRequest = new XMLHttpRequest();
    }
    catch(e2)
    {
        try
        {
           xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e3)
        {
           xmlHttpRequest = null;
        }
    }
  }
  return xmlHttpRequest;
}



clientTimeZones = function()
{
    var today = new Date();
    var daylight = new Date(today.getFullYear(), 6, 30);
    var standard = new Date(today.getFullYear(), 12, 30);
    
    var ctz = "&tzoDaylight=" + daylight.getTimezoneOffset() + "&tzoStandard=" + standard.getTimezoneOffset();
    
    today = null;
    daylight = null;
    standard = null;
    
    return ctz;
}

