﻿function doAjax() {
        try
        {
//            alert('came in');
            subGetDataAndExecuteEx('Ovais', '10', '', '', '' , '', '', '', '','','','','','','','','','','');
        }
        catch(e)
        {
            alert(e);
        }
    }



var intBusyCount = 0;
function subGetDataAndExecute(strScriptId, strURLData, strCallBackCode, blnRemoveScript)
{
    
        subShowBusy();
    
    
    try
    {
        
        
        var objHead = document.getElementsByTagName("head").item(0);
        var objScript = document.getElementById(strScriptId);
        if(objScript)
        {
            if(blnRemoveScript)
            {
                objHead.removeChild(objScript);
            }
            else
            {
                if(strCallBackCode.length > 0)
                {
                    subExecuteCommand(strCallBackCode, 0);
                }
                else
                {
                    subHideBusy();
                }
                return;
            }
        }
        
        objScript = document.createElement("script");
        objScript.setAttribute("src", strURLData);
        objScript.setAttribute("id", strScriptId);
        if(strCallBackCode.length > 0)
        {
            switch(strBrowserType) {
                case "ie":
                    objScript.onreadystatechange = function() {
                        if(this.readyState == "complete" || this.readyState == "loaded")
                        {
                            subExecuteCommand(strCallBackCode, 0);
                        }
                    }
                    break;
                case "ff":
                    objScript.onload = function() {
                        subExecuteCommand(strCallBackCode, 0);
                    }
                    objScript.onerror = function() {
                        subExecuteCommand(strCallBackCode, 0);
                    }
                    break;
                default:
                    alert('ERROR:: Unknown browser detected !!!');
                    break;
            }
        }
        objHead.appendChild(objScript);
        
        if(strCallBackCode.length == 0)
        {
            subHideBusy();
        }

    } catch(e) {
        subDisplayError("AJAXCode.js", "subGetDataAndExecute('" + strScriptId + "', '" + strURLData + "', '" + strCallBackCode + "', '" + blnRemoveScript + "')", e);
    }
}

function subExecuteCommand(strCommand, intTimeOut)
{
    try
    {
        if(strBrowserType == "ie") {
            if(document.readyState == "complete") {
                if(intTimeOut == 0) {
                    intTimeOut = 500;
                }
                strCommand = "try{" + strCommand + ";}catch(e){alert('Error: '+e.message);};subHideBusy();";
                window.setTimeout(strCommand, intTimeOut);
            } else {
                var strCode = "subExecuteCommand(\"" + strCommand + "\", 0);";                
                window.setTimeout(strCode, 1000);
            }
        } else {
            strCommand = "try{" + strCommand + ";}catch(e){alert('Error: '+e.message);};subHideBusy();";
            window.setTimeout(strCommand, intTimeOut);
        }
    } catch(e) {
        subDisplayError("AJAXCode.js", "subExecuteCommand('" + strCommand + "', " + intTimeOut + ")", e);
    }
}


function subGetDataAndExecuteEx(strCommand, strParam1, strParam2, strParam3, strParam4, strParam5, strParam6, strParam7, strParam8, strParam9, strParam10, strParam11, strParam12, strParam13, strParam14, strParam15, strParam16, strParam17, strParam18, strParam19, strParam20, strParam21, strParam22, strParam23, strParam24, strParam25, strWebServiceURL, strCallBackCommand, strErrorCommand)
{

    //subShowBusy();
    
    if(!strErrorCommand)
    {
        strErrorCommand = "";
    }
    
    var objXML;
    
    strWebServiceURL = "../Services/wsTrans.asmx";
    
    var strLocation = window.location.toString();
    if(strLocation.substring(0, 6) == "https:") {
        strWebServiceURL = "../Services/wsTrans.asmx";
    }
    
    try
    {
        if(window.XMLHttpRequest)
        {
            objXML = new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {
            objXML = new ActiveXObject("Microsoft.XMLHTTP");
        }
        
        if(objXML)
        {
            var strParams = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
            strParams += "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">";
            strParams += "<soap12:Body>";
            strParams += "<strTrans  xmlns=\"http://primerealtors.co.in/\">";
            strParams += "<strCommand>" + strCommand + "</strCommand>";
            strParams += "<strParam1>" + strParam1 + "</strParam1>";
            strParams += "<strParam2>" + strParam2 + "</strParam2>";
            strParams += "<strParam3>" + strParam3 + "</strParam3>";
            strParams += "<strParam4>" + strParam4 + "</strParam4>";
            strParams += "<strParam5>" + strParam5 + "</strParam5>";
            strParams += "<strParam6>" + strParam6 + "</strParam6>";
            strParams += "<strParam7>" + strParam7 + "</strParam7>";
            strParams += "<strParam8>" + strParam8 + "</strParam8>";
            strParams += "<strParam9>" + strParam9 + "</strParam9>";
            strParams += "<strParam10>" + strParam10 + "</strParam10>";
            strParams += "<strParam11>" + strParam11 + "</strParam11>";
            strParams += "<strParam12>" + strParam12 + "</strParam12>";
            strParams += "<strParam13>" + strParam13 + "</strParam13>";
            strParams += "<strParam14>" + strParam14 + "</strParam14>";
            strParams += "<strParam15>" + strParam15 + "</strParam15>";
            strParams += "<strParam16>" + strParam16 + "</strParam16>";
            strParams += "<strParam17>" + strParam17 + "</strParam17>";
            strParams += "<strParam18>" + strParam18 + "</strParam18>";
            strParams += "<strParam19>" + strParam19 + "</strParam19>";
            strParams += "<strParam20>" + strParam20 + "</strParam20>";
            strParams += "<strParam21>" + strParam21 + "</strParam21>";
            strParams += "<strParam22>" + strParam22 + "</strParam22>";
            strParams += "<strParam23>" + strParam23 + "</strParam23>";
            strParams += "<strParam24>" + strParam24 + "</strParam24>";
            strParams += "<strParam25>" + strParam25 + "</strParam25>";
            strParams += "</strTrans >";
            strParams += "</soap12:Body>";
            strParams += "</soap12:Envelope>";
              
            objXML.open("POST", strWebServiceURL);
            objXML.setRequestHeader("Content-Type", "application/soap+xml");            
            objXML.onreadystatechange = function() {                    
                    if(objXML.readyState == 4 && objXML.status == 200)
                    {                        
                        if (window.ActiveXObject)
                        {
                            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                            xmlDoc.async = false;
                            xmlDoc.loadXML(objXML.responseText);                                   
                        }
                        else
                        {
                            var xmlParser=new DOMParser();
                            var xmlDoc = xmlParser.parseFromString(objXML.responseText, "text/xml");
                        }
                        
//                        alert(objXML.responseText);
                        
//                        alert(xmlDoc.getElementsByTagName("strData")[0].childNodes[0].nodeValue);
//                        alert(xmlDoc.getElementsByTagName("blnSuccess")[0].childNodes[0].nodeValue);
                        
                        if(xmlDoc.getElementsByTagName("blnSuccess")[0].childNodes[0].nodeValue == "true")
                        {
                            if(strCallBackCommand != "")
                            {
                            
//                            alert('strCallBackCommand != ""');
                            
                            
                                if(xmlDoc.getElementsByTagName("strData")[0].childNodes.length != 0)
                                {
                                    if(xmlDoc.getElementsByTagName("strData")[0].childNodes.length != 0)
                                    {
				                        var strData = "";
				                        for(var intLen = 0; intLen < xmlDoc.getElementsByTagName("strData")[0].childNodes.length; intLen++)
				                        {
    					                    strData += xmlDoc.getElementsByTagName("strData")[0].childNodes[intLen].nodeValue;
//    					                    alert('strData' + strData);
                                        }
				                    }
				                    
				                    //
				                    //alert('strCallBackCommand : ' + strCallBackCommand);
				                    
                                    subExecuteCommand(strCallBackCommand + "('" + strData + "');", 0);
//                                    eval(strCallBackCommand + "('" + strData + "');");
//                                    
//                                    alert(strCallBackCommand + "('" + strData + "');");
                                }
                                else
                                {
//                                alert('else');
                                    subExecuteCommand(strCallBackCommand + "();", 0)
                                }
                            }
                        }
                        else
                        {
//                            if(strErrorCommand != "")
//                            {
                                var strErrorMessage = "";
                                if(xmlDoc.getElementsByTagName("strException")[0].childNodes.length == 0)
                                {
                                    strErrorMessage = "Technical Problem!!! Please try again";
                                }
                                else
                                {
                                    strErrorMessage = xmlDoc.getElementsByTagName("strException")[0].childNodes[0].nodeValue;
                                }
                                
                                subExecuteCommand("subShowError(" + xmlDoc.getElementsByTagName("intException")[0].childNodes[0].nodeValue + ", '" + strErrorMessage + "');", 0);
                                if(strErrorCommand != "")
                                {
                                    subExecuteCommand(strErrorCommand + "();", 0);
                                }
//                            }
                        }
                    }
                }
            objXML.send(strParams);
        }        
    } catch(e) {
        alert(e)
    }
}



//function subGetDataAndExecuteEx(strParam9, strParam10, strWebServiceURL, strCallBackCommand, strErrorCommand)
//{

//    subShowBusy();
//    
//    if(!strErrorCommand)
//    {
//        strErrorCommand = "";
//    }
//    
//    var objXML;
//    
//    strWebServiceURL = "Services/WebService1.asmx";
//    
//    var strLocation = window.location.toString();
////    if(strLocation.substring(0, 6) == "https:") {
////        strWebServiceURL = "../Services/wsSecureTrans.asmx";
////    }
//    
//    try
//    {
//        if(window.XMLHttpRequest)
//        {
//            objXML = new XMLHttpRequest();
//        }
//        else if (window.ActiveXObject)
//        {
//            objXML = new ActiveXObject("Microsoft.XMLHTTP");
//        }
//        
//        if(objXML)
//        {
//            var strParams = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
//            strParams += "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">";
//            strParams += "<soap12:Body>";
//            strParams += "<HelloWorld xmlns=\"http://www.infinitilanguages.com/\">";
//            strParams += "<strName>" + strParam9 + "</strName>";
//            strParams += "<strAge>" + strParam10 + "</strAge>";
//            strParams += "</HelloWorld>";
//            strParams += "</soap12:Body>";
//            strParams += "</soap12:Envelope>";
//              alert(strParams);
//            objXML.open("POST", strWebServiceURL);
//            objXML.setRequestHeader("Content-Type", "application/soap+xml");            
//            objXML.onreadystatechange = function() {                    
//                    if(objXML.readyState == 4 && objXML.status == 200)
//                    {                        
//                        if (window.ActiveXObject)
//                        {
//                            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
//                            xmlDoc.async = false;
//                            xmlDoc.loadXML(objXML.responseText);                                   
//                        }
//                        else
//                        {
//                            var xmlParser=new DOMParser();
//                            var xmlDoc = xmlParser.parseFromString(objXML.responseText, "text/xml");
//                        }
//                        alert(objXML.responseText);
//                        
//                        alert(xmlDoc.getElementsByTagName("strData")[0].childNodes[0].nodeValue);
//                        
//                        
////                        if(xmlDoc.getElementsByTagName("blnSuccess")[0].childNodes[0].nodeValue == "true")
////                        {
////                            if(strCallBackCommand != "")
////                            {
////                                if(xmlDoc.getElementsByTagName("strData")[0].childNodes.length != 0)
////                                {
////                                    if(xmlDoc.getElementsByTagName("strData")[0].childNodes.length != 0)
////                                    {
////				                        var strData = "";
////				                        for(var intLen = 0; intLen < xmlDoc.getElementsByTagName("strData")[0].childNodes.length; intLen++)
////				                        {
////    					                    strData += xmlDoc.getElementsByTagName("strData")[0].childNodes[intLen].nodeValue;
////                                        }
////				                    }
////                                    subExecuteCommand(strCallBackCommand + "('" + strData + "');", 0);
////                                }
////                                else
////                                {
////                                    subExecuteCommand(strCallBackCommand + "();", 0)
////                                }
////                            }
////                        }
////                        else
////                        {
//////                            if(strErrorCommand != "")
//////                            {
////                                var strErrorMessage = "";
////                                if(xmlDoc.getElementsByTagName("strException")[0].childNodes.length == 0)
////                                {
////                                    strErrorMessage = "Technical Problem!!! Please try again";
////                                }
////                                else
////                                {
////                                    strErrorMessage = xmlDoc.getElementsByTagName("strException")[0].childNodes[0].nodeValue;
////                                }
////                                
////                                subExecuteCommand("subShowError(" + xmlDoc.getElementsByTagName("intException")[0].childNodes[0].nodeValue + ", '" + strErrorMessage + "');", 0);
////                                if(strErrorCommand != "")
////                                {
////                                    subExecuteCommand(strErrorCommand + "();", 0);
////                                }
//////                            }
////                        }
//                    }
//                }
//            objXML.send(strParams);
//        }        
//    } catch(e) {
//        alert(e)
//    }
//}


function subShowBusy()
{
    try {
        var intX = 0;
        var intY = 0;        
        
        if(document.body.scrollTop > 0)
        {
            intY = document.body.scrollTop;
        }
        else
        {
            intY = document.documentElement.scrollTop;
        }
        
        var objDivStatus = document.getElementById("divStatus");
        var objTblStatus = document.getElementById("tblStatus");
        var objTblLoading = document.getElementById("tblLoading");
        var objTblComingSoon = document.getElementById("tblComingSoon");
        
        if((objDivStatus) && (objTblStatus)) {
            //objTblStatus.style.backgroundImage = 'url(Common/Images/2px_orange.gif)';
            if(intY > 0)
            {
                objDivStatus.style.top = objDivStatus.offsetParent.offsetTop + intY + "px";
            }
            else
            {
                objDivStatus.style.top = "0px";
            }
            objDivStatus.style.display="block";
            objTblComingSoon.style.display="none";
            objTblLoading.style.display="block";
            
        }
        intBusyCount++;
    } catch(e) {
        subDisplayError("AJAXCode.js", "subShowBusy();", e);
    }
}

function subHideBusy()
{
    try
    {
        if(intBusyCount > 0)
        {
            intBusyCount--;
        }
        if(intBusyCount == 0)
        {
            var objTblError = document.getElementById("tblError");
            var objDivStatus = document.getElementById("divStatus");
            if(objTblError && objDivStatus)
            {
                if(objTblError.style.display == "none" || objTblError.style.display == "")
                {
                    objDivStatus.style.display="none";
                }
            }
        }
    } catch(e) {
        subDisplayError("AJAXCode.js", "subHideBusy()", e);
    }
}



