﻿/*  AdCom.LibraryJS.Javascript
    Developer: Nguyen Xuan Hoang
    Fpt Telecom - 48 Van Bao - Ngoc Khanh - Ba Dinh - Ha Noi
    Mobile: 84-983251124
    Email: hoangnx.fpt@gmail.com
    --------------------------------------------------------
*/
//-----------------------------------------
var AdRequest = {
		gXSLT:null,
        gObjId:null,
        xmlhttp:null,
        data : Array(),
        //--------------
        AdGenerateHTMLnotBuff : function (xmlFile, xslFile, objID)
        {
            gObjId = objID;
            AdRequest.AdloadXSLTDoc(xslFile);
            AdRequest.AdloadXMLDoc(xmlFile);
        },
        AdGenerateHTMLBuff : function (xmlFile, xslFile, objID)
        {
            AdRequest.data[AdRequest.data.length] = {urlxml: xmlFile.toString(), urlxsl: xslFile.toString(), id: objID}
        },
        AdProcess : function () {
            var ob = AdRequest.data.shift();
            if (typeof(ob) != 'undefined') {
                gObjId = ob.id; 
                AdRequest.AdloadXSLTDoc(ob.urlxsl);
                AdRequest.AdloadXMLDoc(ob.urlxml);
            }                        
        },
		AdloadXSLTDoc : function(xsl)
		{
			if (window.ActiveXObject)
            {
                gXSLT = new ActiveXObject("Microsoft.XMLDOM");
                gXSLT.async = false;
                gXSLT.validateOnParse=true;
                gXSLT.load(xsl);
            }
            else
            {
                gXSLT = new XSLTProcessor();
                var myXMLHTTPRequest = new XMLHttpRequest();
                myXMLHTTPRequest.open("GET", xsl, false);
                myXMLHTTPRequest.send(null);
                var xslRef = myXMLHTTPRequest.responseXML;
                gXSLT.importStylesheet(xslRef);
            }
		},
        // =========================================================================
        AdloadXMLDoc : function(xml)
        {
            if (window.XMLHttpRequest)
            {
                xmlhttp=new XMLHttpRequest()
            }
            // code for IE
            else if (window.ActiveXObject)
            {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
            }
            if (xmlhttp != null)
            {
                xmlhttp.onreadystatechange = AdRequest.returnHTML;
                xmlhttp.open("GET",xml,true);
                xmlhttp.send(null);
            }
            else
            {
                alert("Your browser does not support XMLHTTP.")
            }
        },
        //==========================================================================
        checkReadyState : function()
        {
            if(xmlhttp.readyState == 4)
            {
                if(xmlhttp.status == 200)
                    return true;
                else
                    document.getElementById(gObjId).innerHTML = "Error retrieving XML data..!";
            }
            else
                document.getElementById(gObjId).innerHTML = '<div align="center"><img alt="" src="/Images/ADSpinner.gif" vspace="10" /></div>';
        },
        //==========================================================================
        returnHTML : function()
        {
            if (!AdRequest.checkReadyState())
            {
                return;
            }
            var target = document.getElementById(gObjId);
            xmlRef = xmlhttp.responseXML;

            target.innerHTML = "";
            var outputXHTML = null;
            if (window.ActiveXObject)
            {
                outputXHTML = xmlRef.transformNode(gXSLT);
                target.innerHTML = outputXHTML;
            }
            else
            {
                outputXHTML = gXSLT.transformToFragment(xmlRef, document);
                target.appendChild(outputXHTML);
                //--------- replace
                var content = target.innerHTML;
                htmlTag = /&amp;/gi;
                content = content.replace(htmlTag,"&")
                htmlTag = /&lt;(.*?)&gt;/gi;
                content = content.replace(htmlTag,"<$1>")
	            target.innerHTML = content;
            }
            outputXHTML = null;
            target = null;
        	gObjId = null;
        	gXSLT = null;
        	xmlhttp = null;
        	AdRequest.AdProcess();
        }
    };
	