/*
    Document    : AjaxCall
    Created on  : Sep 21, 2010, 11:12:06 AM
    Author      : lijoyX
    Last Edited : Oct 09, 2010
    Description:
        This is my Jquery ajax overlay
*/
var gObjAjaxCallReturnValue;
function AjaxCall(){

    /*
        Must Use
        1. FormName
        2. FormSubmitPage
        3. fnAjax
     */

    this.lNumTimeOut = 100000;
    this.DataType = "text";  //text, xml, json, script, or html
    this.FormMethod = "post" //post,get
    this.FormName = "form1";
    this.FormSubmitPage=""
    this.FormVals = "";
    this.FunctionOnScuccess="";

    
    this.fnErrorFunction = function(xhr){
        $("#" + FormName + " button,input,select,textarea").enable();
    //alert('alert');
    }

    this.fnAjaxSetup=function(){
        $.ajaxSetup(
        {
            timeout:this.lNumTimeOut,
            dataType:this.DataType,
            error:function(xhr)
            {
            
            }
        });
        //Serialize form values
        this.FormVals += "&" + $("#"+this.FormName).serialize();
    }

    this.fnAjax=function(){
        try{
            this.fnAjaxSetup();

            var lStrFunctionToExecute =(this.FunctionOnScuccess!="")?this.FunctionOnScuccess+"()":this.FunctionOnScuccess;
            switch($.trim(this.FormMethod)){
                case "post":
                    $.post(this.FormSubmitPage,this.FormVals,
                        function(data)
                        {
                            gObjAjaxCallReturnValue=data;
                            if(this.FunctionOnScuccess!=""){
                                eval(lStrFunctionToExecute);
                            }
                        });
                    break;
                case "get":
                    $.get(this.FormSubmitPage,this.FormVals,
                        function(data)
                        {
                            gObjAjaxCallReturnValue=data;
                            if(this.FunctionOnScuccess!=""){
                                eval(lStrFunctionToExecute);
                            }
                        });
                    break;
            }
        }catch(e){
            
        } 
    }
}

