﻿// JScript File

//if (servicePath.search("asmx") == -1)
//{ servicePath = servicePath + "/Service/E-Sang.asmx"; }
//servicePath =  "http://localhost/Esang/Service/E-Sang.asmx";

function ESang()
{
    var o = new Object();
    var isRequestCompleted = false;
    var xmlHTTPReq;
    this.XMLRequest = function(url, data, fnc, obj, async) {
        
        async = async == undefined ? true : async;
        isRequestCompleted = false;
        if (ESang.IE) {
            xmlHTTPReq = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else {
            xmlHTTPReq = new XMLHttpRequest();
        }
        if (xmlHTTPReq) {
            if (o) {
                o.xmlHTTPReq = xmlHTTPReq;
            }
            if (fnc) {
                xmlHTTPReq.onreadystatechange = fnc;
            }
            xmlHTTPReq.open("POST", url, async);
            xmlHTTPReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xmlHTTPReq.send(data);
            if (fnc && !async && !ESang.IE) {
                fnc();
            }
        }
        return xmlHTTPReq;
    };

    this.GetResponseText = function(errorMessage)
    {
        var response = "";
        if( o.xmlHTTPReq.readyState == 4 )
        {
            if( o.xmlHTTPReq.status == 200 )
            {
                response = o.xmlHTTPReq.responseText.decodeHTML();
                isRequestCompleted = true;
            }	
            else
            {
                if(errorMessage)
                {
                    response = errorMessage;
                }
                else
                {
                    response = "";
                }
            }
        }
        else
        {
            response = "";
        }
        return response;
    };

    this.GetXMLResponse = function(errorMessage, loadingMsg)
    {
        var response = "";
        if( o.xmlHTTPReq.readyState == 4 )
        {
            if( o.xmlHTTPReq.status == 200 )
            {
                response = o.xmlHTTPReq.responseText.decodeHTML();
            }
            else
            {
                if(errorMessage)
                {
                    response = errorMessage;
                }
                else
                {
                    response = "";
                }
            }
        }
        else
        {
            response = loadingMsg;
        }
        return response;
    }; 
};

if( window.ActiveXObject )
{
	ESang.IE = true;
	ESang.XMLHTTPReq = new ActiveXObject( "Microsoft.XMLHTTP" );
}
else
{
	ESang.IE = false;
	ESang.XMLHTTPReq = new XMLHttpRequest();
}

String.prototype.decodeHTML = function()
{
	var decodeHTML	= this;
	decodeHTML		= decodeHTML.replace( new RegExp( "&amp;", "g" ), "&" );
	decodeHTML		= decodeHTML.replace( new RegExp( "&quot;", "g" ), "\"" );
	decodeHTML		= decodeHTML.replace( new RegExp( "&lt;", "g" ), "<" );
	decodeHTML		= decodeHTML.replace( new RegExp( "&gt;", "g" ), ">" );
	decodeHTML		= decodeHTML.replace( new RegExp( "&apos;", "g" ), "'" );
	return decodeHTML;
};

function CallAjax(FnName,Params,objESang, servicePath,FnCallBack)
{
    //alert(FnName);
    try
    {
        var strParamt = "";
        if(Params != undefined)
        {
            for(Param in Params)
            {
                strParamt = strParamt + "&" + Param + "=" + Params[Param];
            }
            strParamt=strParamt.substr(1,strParamt.length); 
        }
        
        //servicePath = "http://localhost/Esnag/E-Sang.asmx/";
        //alert(servicePath);
        objESang.XMLRequest(servicePath+FnName,strParamt,FnCallBack,null,true);
        
    }
    catch(e)
    {
        //alert("Error while executing "+FnName);
        alert(e.message);
    }
};
function getDataBetween (strInput,strBtwn)
{
    var lenBtwn = strBtwn.length+2;
    var strOut = strInput.substr(strInput.indexOf("<"+strBtwn+">")+lenBtwn,strInput.indexOf("</"+strBtwn+">")-strInput.indexOf("<"+strBtwn+">")-lenBtwn);
    return strOut;
};
function ChkIsValidTicker(ticker,objESang,FnCallBack)
{
    var params = {};
    params["Quoteticker"]=ticker;
    CallAjax("IsValidTicker",params,objESang,FnCallBack);
};
function ChkIsValidMultiTicker(ticker,objESang,FnCallBack)
{
    var params = {};
    params["Quoteticker"]=ticker;
    CallAjax("IsValidMultiTicker",params,objESang,FnCallBack);
};
function SaveCompanyTitle(Quote,objESang,FnCallBack)
{
    var params = {};
    params["Quote"]=Quote;
    CallAjax("SaveCompanyTitle",params,objESang,FnCallBack);
};


