﻿var AJAXController = {  
  
 /*private*/ url : "/AJAXController/AJAXResponseBuilder.aspx",
 /*public*/ ajax_calling : "",
 /*public*/ ajax_hisData : "",
 /*public*/ dropdownShowing : false,
 PageWithCallBack : function (callname, params, updateElementId, callback){
    var pars = "callname=" + callname + "&" + params;
    if(params.length > 0)
        AJAXController.ajax_calling = "PageWithCallBack:" + callname + ":" + encodeURI (params) + ":"   + updateElementId + ":" + escape ( encodeURI (callback) );
    else
        AJAXController.ajax_calling = "PageWithCallBack:" + callname + "::"                             + updateElementId + ":" + escape ( encodeURI (callback) );
    var myAjax = new Ajax.Request(this.url, {
        parameters:pars, 
        onSuccess: function UpdateElement(transport){
            var response = transport.responseText;
            response =  response.evalJSON(true); 
            //response = response.substring (response.indexOf ("<!--Rstart-->") + 13, response.indexOf ("<!--Rend-->"));
            if (updateElementId != "") Element.update (updateElementId, response );
            //google analytic
            //urchinTracker( "/?" + AJAXController.ajax_calling );
           // dhtmlHistory.add(AJAXController.ajax_calling, AJAXController.ajax_calling);
            //myLightbox.initializeAfterAJAX();
            try {eval (String (callback));} catch(e) {}
            scroll(0,0);
        },
        onFailure: reportError,
        evalScripts:true }); 
      
 },
 Page : function (callname, params, updateElementId){
    var pars = "callname=" + callname + "&" + params;
    
    if(params.length > 0)
        AJAXController.ajax_calling = "Page:" + callname + ":" + encodeURI (params) + ":"   + updateElementId + ":";
    else
        AJAXController.ajax_calling = "Page:" + callname + "::"                         + updateElementId + ":";
    
    var myAjax = new Ajax.Request(this.url, {
        parameters:pars, 
        onSuccess: function UpdateElement(transport){
       
            var response = transport.responseText;
            response =  response.evalJSON(true); 
            //response = response.substring (response.indexOf ("<!--Rstart-->") + 13, response.indexOf ("<!--Rend-->"));
            if (updateElementId != "") Element.update (updateElementId, response);
            //google analytic
           // urchinTracker( "/?" + AJAXController.ajax_calling );
            var hisencodeToAdd = Base64.encode (AJAXController.ajax_calling);
            
            if (hisencodeToAdd != '')
                 dhtmlHistory.add(hisencodeToAdd,hisencodeToAdd);
           // myLightbox.initializeAfterAJAX();
            scroll(0,0);
            
        },
       
        onFailure: reportError,
        evalScripts:true });  //alert(myAjax);
 },
 
 MakeAjaxRequest : function(callname, params, updateElementId){
    AJAXController.ajax_calling = callname;
    var pars = "callname=" + callname + "&" + params;
    var myAjax = new Ajax.Request(this.url, {
        parameters:pars, 
        onSuccess: function UpdateElement(transport){
            var response = transport.responseText;
            response =  response.evalJSON(true); 
            //response = response.substring (response.indexOf ("<!--Rstart-->") + 13, response.indexOf ("<!--Rend-->"));
            
            if(updateElementId != '')
                Element.update (updateElementId, response);
            //myLightbox.initializeAfterAJAX();
            
            //FixPNG ();
        },
        onFailure: reportError,
        evalScripts:true });
 },
 
 MakeAjaxRequestWithCallBack : function(callname, params, updateElementId, callback){
 
    AJAXController.ajax_calling = callname;
    var pars = "callname=" + callname + "&" + params;
  
    var myAjax = new Ajax.Request(this.url, {
        parameters:pars, 
        onSuccess: function UpdateElement(transport){
            var response = transport.responseText;
            response =  response.evalJSON(true); 
            //response = response.substring (response.indexOf ("<!--Rstart-->") + 13, response.indexOf ("<!--Rend-->"));
            if (updateElementId != "") Element.update (updateElementId, response );
            //try{ myLightbox.initializeAfterAJAX();} catch(e) {}
            
            //FixPNG ();
            try {eval (String (callback));} catch(e) {}
        },
        onFailure: reportError,
        evalScripts:true });
 }
}
