﻿
function clsAjaxCtrl() {
    this.xmlhttp;
}

var ctrlAjax = new clsAjaxCtrl();   //The Ajax control in this page

clsAjaxCtrl.prototype.GetXmlHttp = function()    // Define Method
{
    if (window.XMLHttpRequest) {
        this.xmlhttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
        alert("Your browser does not support XMLHTTP!");
    }

    if (this.xmlhttp.overrideMimeType) {
        this.xmlhttp.overrideMimeType('text/xml');
    }

    return this.xmlhttp;
}

clsAjaxCtrl.prototype.CallAjaxFunction = function(funcName, params) {
    var url = "";

    switch (funcName) {
        case "LoginCheck":
        case "InsertNewUser":
        case "RequestConfirmMail":
        case "RequestPasswordMail":
            url = "Ajax/Userdata.aspx?";
            break;
        case "InitialDataset":
        case "GetDatasetByDates":
            url = "Ajax/Datamanager.aspx?";
            break;
        case "InsertNewTag":
        case "LoadUserTag":
        case "LoadPublicTag":
        case "DeleteUserTag":
        case "RequestTag":
            url = "Ajax/Tagdata.aspx?";
            break;
        case "CreateGroup":
        case "LoadGroups":
        case "DisjoinGroup":
            url = "Ajax/Groupdata.aspx?";
            break;
    }

    url += "funcName=" + funcName + "&";
    url += params;
    //alert(url);
    var http = this.GetXmlHttp();

    if (http) {
        ctrlDesc.Dataloading("Please Wait", " Data loading... ");
        http.open("GET", url, true);
        http.onreadystatechange = function() {
            if (http.readyState == 4) // 4 is a success
            {
                var result = http.responseText;
                eval(result);
            }
        }
        http.send(null);
    }
    else {
        alert("I am out of the function!");
    }
}

clsAjaxCtrl.prototype.InitializeDataset = function() {
    this.CallAjaxFunction("InitialDataset", "dummy=0");
}