// GMC: Gotta figure out what the hell this is for, and if we can delete it... all of it...
// This function creates the tracking redirector.


// Popup Window --------------------------------------------------------------------------------
function popupWindow(url,w,h) { 
    window.open(url,"preload","status=no, resizable=yes"+","+("width="+w)+","+("height="+h)); 
}

function popupWindowScrollable(url,w,h) { 
    window.open(url,"preload","scrollbars=yes, status=no, resizable=yes"+","+("width="+w)+","+("height="+h)); 
}

function jobsPopupWindow() { 
    var w = 775;
    var h = 600;
    window.open('http://www.hyattclassic.com/RedDotHelper/Apps/JobSelector.aspx',"preload","scrollbars=yes, status=no, resizable=yes"+","+("width="+w)+","+("height="+h)); 
}

// NOTE: MOSTLY PPC
// Toggle a Hidden Div on/off ---------------------------------------------------------------------------
function toggleHiddenDiv(szDivID, iState, iType) // iState = 1 visible, 0 hidden, iType , 1 = visibility, 2 = display
{
    if(document.layers)       //NN4+
    {
       document.layers[szDivID].visibility = iState ? "show" : "hide";
    }
    else if(document.getElementById)      //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        if (iType == 1)
            obj.style.visibility = iState ? "visible" : "hidden";
        else if (iType == 2)
            obj.style.display = iState ? "" : "none";
    }
    else if(document.all)    // IE 4
    {
        document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
    }
}
// Swap the state of a Hidden Div (on/off) ---------------------------------------------------------------
function swapHiddenDivState(szDivID, iType) //iType , 1 = visibility, 2 = display)
{
    if(document.layers)       //NN4+
    {
        if (document.layers[szDivID].visibility == "show")
            document.layers[szDivID].visibility = "hide";
        else
            document.layers[szDivID].visibility = "show";
    }
    else if(document.getElementById)      //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        
        if (iType == 1)
        {
            if (obj.style.visibility == "visible")
            {
                obj.style.visibility = "hidden";
            }
            else
            {
                obj.style.visibility = "visible";
            }
        }
        else if (iType ==2)
        {
            if (obj.style.display == "")
            {
                obj.style.display = "none";
            }
            else
            {
                obj.style.display = "";
            }
        }
    }
    else if(document.all)    // IE 4
    {
        if (document.all[szDivID].style.visibility == "visible")
            document.all[szDivID].style.visibility = "hidden";
        else
            document.all[szDivID].style.visibility = "visible";
    }
}
// Verify Radio Button List ---------------------------------------------------------------------------
// This method should be called like the following:
//        var showInquiry = verifyRadioButtonListSelectedValue(x, 'Option to find');
// It should be called from another javascript function that in turn is called via an OnChange
// event within a <asp:RadioButtonList> tag.
function verifyRadioButtonListSelectedValue(rbl, valueToFind) {
    var i;
    var inputElements = rbl.getElementsByTagName('INPUT');
    var currentInput;
    
    for (i = 0; i < inputElements.length; i++)
    {
        currentInput = inputElements[i];
        if (currentInput.defaultValue == valueToFind && currentInput.checked)
        {
            return true;
        }
    }
    return false;
}
// Verify Drop Down List ---------------------------------------------------------------------------
// This method should be called like the following:
//        var showInquiry = verifyDropDownListSelectedValue(x, 'Option to find');
// It should be called from another javascript function that in turn is called via an OnChange
// event within a <asp:DropDownList> tag.
function verifyDropDownListSelectedValue(ddl, valueToFind) {
    var i;
    var inputElements = ddl.getElementsByTagName('OPTION');
    var currentInput;
    for (i = 0; i < inputElements.length; i++)
    {
        currentInput = inputElements[i];
        if (currentInput.value == valueToFind && currentInput.selected)
        {
            return true;
        }
    }
    return false;
}


// checkEnter ------------------------------------------------------------------------
// This method determines if the user pressed enter to try and submit a form.
// Thus it sets the hidden value.

function checkEnter(htmlHidden) {
    // If the user clicked enter, 
    if (event.keyCode == 13) {
        htmlHidden.value = '1';
    }
}


// Unknown as to what this does.  ------------------------------------------------------------------------

try {
 document.execCommand('BackgroundImageCache', false, true); 
} catch(e) {}


// Browser Detection Script ------------------------------------------------------------------------
// This code sets the BrowserDetect object which determines what browser is currently in use.
// NOTE: PPC ONLY
var BrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
            || this.searchVersion(navigator.appVersion)
            || "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function (data) {
        for (var i=0;i<data.length;i++)    {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
    },
    dataBrowser: [
        {     string: navigator.userAgent,
            subString: "OmniWeb",
            versionSearch: "OmniWeb/",
            identity: "OmniWeb"
        },
        {
            string: navigator.vendor,
            subString: "Apple",
            identity: "Safari"
        },
        {
            prop: window.opera,
            identity: "Opera"
        },
        {
            string: navigator.vendor,
            subString: "iCab",
            identity: "iCab"
        },
        {
            string: navigator.vendor,
            subString: "KDE",
            identity: "Konqueror"
        },
        {
            string: navigator.userAgent,
            subString: "Firefox",
            identity: "Firefox"
        },
        {
            string: navigator.vendor,
            subString: "Camino",
            identity: "Camino"
        },
        {        // for newer Netscapes (6+)
            string: navigator.userAgent,
            subString: "Netscape",
            identity: "Netscape"
        },
        {
            string: navigator.userAgent,
            subString: "MSIE",
            identity: "Explorer",
            versionSearch: "MSIE"
        },
        {
            string: navigator.userAgent,
            subString: "Gecko",
            identity: "Mozilla",
            versionSearch: "rv"
        },
        {         // for older Netscapes (4-)
            string: navigator.userAgent,
            subString: "Mozilla",
            identity: "Netscape",
            versionSearch: "Mozilla"
        }
    ],
    dataOS : [
        {
            string: navigator.platform,
            subString: "Win",
            identity: "Windows"
        },
        {
            string: navigator.platform,
            subString: "Mac",
            identity: "Mac"
        },
        {
            string: navigator.platform,
            subString: "Linux",
            identity: "Linux"
        }
    ]
};
BrowserDetect.init();





function addTrackingURL(str) {
	return 'http://www.hyattclassic.com/reddothelper/apps/TrackingRedirector.aspx?redirectURL=' + str;
}

// This code appends the tracking redirector URL to the beginning of the URL.
var learnMore = document.getElementById("learnMoreID");
var iNode;
if (BrowserDetect.browser == "Explorer") {
	// For some reason, IE doesn't see the first child that firefox sees (text).
	iNode = 0;
} else {
	// For everything else, use the second child, not the first one.
	iNode = 1;
}

if (learnMore != null) {
    var learnMoreLink = learnMore.childNodes[iNode];
    if (learnMoreLink != null)
        learnMoreLink.href = addTrackingURL(learnMoreLink.href);
}