//
//NOTES
//
// This file relies on the existence of "FACRules.xml" in the XML_RULES_FILE_PATH (const var)
// The last line of this file calls the loadXML() function to load into memory
// the contents of the Featured Ad Comparison rules stored in "FACRules.xml"
//
//
var oLoadedXML;
var boolIsIE = false;
var XML_RULES_FILE_PATH = '/includes/jscript/FACRules.xml';

//Create the xmlDoc object
function loadXML(sImportXML)
{
    if( window.ActiveXObject && /Win/.test(navigator.userAgent) )
    {
        //alert('IE detected');
        boolIsIE = true;
        oLoadedXML = new ActiveXObject("Msxml.DOMDocument");
        oLoadedXML.async = false;
        //oLoadedXML.onreadystatechange = function ()
        //                                {
        //                                    if (oLoadedXML.readyState == 4)
        //                                    parseXML();
        //                                }
        oLoadedXML.load(sImportXML);
    }
    else if( document.implementation && document.implementation.createDocument ) 
    {
        //alert('FF detected');
        boolIsIE = false;
        oLoadedXML = document.implementation.createDocument("","",null);
        oLoadedXML.async=false;
        var loaded = oLoadedXML.load(sImportXML);
        //if (loaded)
        //{
        //    parseXML();
        //}
        
    }
    else
    {
        alert("Your browser can\'t handle this script");
        return;
    }
}

//returnDataType = 1 = vehicleID
//returnDataType = 2 = advertiser
function returnFeaturedVehicleData(vehicleID, returnDataType)
{
    var xpathString = '//vehicle[@vehicleID="' + vehicleID + '"]';
    var vehicleNode;
    if (boolIsIE)
    {
        var nodes = oLoadedXML.selectNodes(xpathString); // returns collection of nodes
        //node.selectSingleNode(xpathString); //returns the first node
        vehicleNode = nodes[0];
    }
    else
    {
        var nsResolver = oLoadedXML.createNSResolver(oLoadedXML.ownerDocument == null ? oLoadedXML.documentElement : oLoadedXML.ownerDocument.documentElement);
        var vehicleIterator = oLoadedXML.evaluate(xpathString, oLoadedXML, nsResolver, XPathResult.ANY_TYPE, null);
        vehicleNode = vehicleIterator.iterateNext();
    }
    
    if (returnDataType==1 && vehicleNode && vehicleNode.firstChild)
    {
        return vehicleNode.firstChild.nodeValue;
    }
    else if (returnDataType==1)
    {
        return -1;
    }
    else if (returnDataType==2 && vehicleNode && vehicleNode.attributes && vehicleNode.attributes.length >= 4)
    {
        return vehicleNode.attributes[3].value;
    }
    else
    {
        return "unknown";
    }
} 

loadXML(XML_RULES_FILE_PATH);
