/* Browser Detection Assignment*/
var ua = navigator.userAgent.toLowerCase();

// browser engine name
this.isGecko = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);

// browser name
this.isKonqueror = (ua.indexOf('konqueror') != -1);
this.isSafari = (ua.indexOf('safari') != -1);
this.isOmniweb = (ua.indexOf('omniweb') != -1);
this.isOpera = (ua.indexOf('opera') != -1);
this.isIcab = (ua.indexOf('icab') != -1);
this.isAol = (ua.indexOf('aol') != -1);
this.isIE = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1));
this.isMozilla = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
this.isFirebird = (ua.indexOf('firebird/') != -1);
this.isNS = ((this.isGecko) ? (ua.indexOf('netscape') != -1) : ((ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1)));

//--- Start IE 5.5 and 6.0 PNG Fix --- this fix does not get applied on IE 7.0 ---//
if (navigator.platform == "Win32" && this.isIE && window.attachEvent) {
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    var IE55
    if (Number(rslt[1]) == 5.5) {
        IE55 = true;
    }
    var IEVersionsToFix = (rslt != null && Number(rslt[1]) >= 5.5 && Number(rslt[1]) < 7.0);
    var blnNeedPNGFix = false;
    if (IEVersionsToFix) {
        window.attachEvent("onload", fixPNG);
        blnNeedPNGFix = true;
    }
}

var strFilter = "progid:DXImageTransform.Microsoft.AlphaImageLoader"
if (document.URL.indexOf('https') < 0) {
    var strGif = "http://images.intl.match.com/s.gif"
} else {
    var strGif = "https://secureimages.intl.match.com/s.gif"
}

function fixPNG() {
    for (var i = 0; i < document.images.length; i++) {
        var img = document.images[i]
        var imgName = img.src.toUpperCase()
        if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") {
            var imgID = (img.id) ? "id='" + img.id + "' " : ""
            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
            var imgStyle = "display:inline-block;" + img.style.cssText
            if (img.align == "left") imgStyle = "float:left;" + imgStyle
            if (img.align == "right") imgStyle = "float:right;" + imgStyle
            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
            if (img.useMap) {
                strAddMap = "<img style=\"position:relative; left:-" + img.width + "px;"
	         + "height:" + img.height + "px;width:" + img.width + "\" "
			 + "src=\"" + strGif + "\" usemap=\"" + img.useMap
			 + "\" border=\"" + img.border + "\">"
            }
            var strNewHTML = "<span " + imgID + imgClass + imgTitle
		 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	     + "filter:" + strFilter
		 + "(src=\'" + img.src + "\', sizingMethod='image');\"></span>"
            if (img.useMap) strNewHTML += strAddMap
            img.outerHTML = strNewHTML
            i = i - 1
        }
    }
    for (p = 0; p < document.forms.length; p++) {
        findIMGInputs(document.forms(p))
    }
}

function findIMGInputs(oParent) {
    var oChildren = oParent.children
    if (oChildren) {
        for (var i = 0; i < oChildren.length; i++) {
            var oChild = oChildren(i)
            if ((oChild.type == 'image') && (oChild.src)) {
                var imgName = oChild.src.toUpperCase()
                if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") {
                    setIMGInput(oChild);
                }
            }
            if (!IE55) {
                findIMGInputs(oChild)
            }
        }
    }
}

function setIMGInput(img) {
    var origSrc = img.src;
    img.src = strGif;
    img.style.filter = strFilter + "(src='" + origSrc + "')";
    if (img.width != 0) {
        img.style.width = img.width;
    }
    if (img.height != 0) {
        img.style.height = img.height;
    }
}
//--------- End IE 5.5 and 6.0 PNG Fix ------------------


/* COMMON DHTML FUNCTIONS
These are handy functions I use all the time.
By Seth Banks (webmaster at subimage dot com)
http://www.subimage.com/
Up to date code can be found at http://www.subimage.com/dhtml/
This code is free for you to use anywhere, just keep this comment block.

X-browser event handler attachment and detachment
@argument obj - the object to attach event to
@argument evType - name of the event - DONT ADD "on", pass only "mouseover", etc
@argument fn - function to call
*/
function addEvent(obj, evType, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on" + evType, fn);
        return r;
    } else {
        return false;
    }
}
function removeEvent(obj, evType, fn, useCapture) {
    if (obj.removeEventListener) {
        obj.removeEventListener(evType, fn, useCapture);
        return true;
    } else if (obj.detachEvent) {
        var r = obj.detachEvent("on" + evType, fn);
        return r;
    } else {
        alert("Handler could not be removed");
        return false;
    }
}

/*
Code below taken from - http://www.evolt.org/article/document_body_doctype_switching_and_more/17/30655/
Modified 4/22/04 to work with Opera/Moz (by webmaster at subimage dot com)
Gets the full width/height because it's different for most browsers.
*/
function getViewportHeight() {
    if (window.innerHeight != window.undefined) return window.innerHeight;
    if (document.compatMode == 'CSS1Compat') return document.documentElement.clientHeight;
    if (document.body) return document.body.clientHeight;
    return window.undefined;
}
function getViewportWidth() {
    if (window.innerWidth != window.undefined) return window.innerWidth;
    if (document.compatMode == 'CSS1Compat') return document.documentElement.clientWidth;
    if (document.body) return document.body.clientWidth;
    return window.undefined;
}
/* POPUP WINDOW CODE v1.1
Used for displaying DHTML only popups instead of using buggy modal windows.
By Seth Banks (webmaster at subimage dot com)
http://www.subimage.com/
Contributions by Eric Angel (tab index code) and Scott (hiding/showing selects for IE users)
Up to date code can be found at http://www.subimage.com/dhtml/subModal
This code is free for you to use anywhere, just keep this comment block. */

// Popup code
var gPopupMask = null;
var gPopupContainer = null;
var gPopFrame = null;
var gPopTitleBar = null;
var gReturnFunc;
var gPopupIsShown = false;
var gHideSelects = true;

var gTabIndexes = new Array();
// Pre-defined list of tags we want to disable/enable tabbing into
var gTabbableTags = new Array("A", "BUTTON", "TEXTAREA", "INPUT", "IFRAME");

// If using Mozilla or Firefox, use Tab-key trap.
if (!document.all) {
    document.onkeypress = keyDownHandler;
}

/* Initializes popup code on load.	*/
function initPopUp() {

}
//addEvent(window, "load", initPopUp);
/*
@argument width - int in pixels
@argument height - int in pixels
@argument url - url to display
@argument returnFunc - function to call when returning true from the window.
*/

function showPopWin(url, width, height, returnFunc) {
    showPopWinTemplate(url, width, height, returnFunc, '')
}

function showPopWinTemplate(url, width, height, returnFunc, templateID) {
    showPopWinTemplateWithPositiveTop(url, width, height, returnFunc, templateID, 'false')
}
var grespectTop = 'false';
function showPopWinTemplateWithPositiveTop(url, width, height, returnFunc, templateID, respectTop) {

    grespectTop = respectTop;
    gPopupMask = document.getElementById("popupMask" + templateID);
    gPopupContainer = document.getElementById("PopupContainer" + templateID);
    gPopFrame = document.getElementById("PopupFrame" + templateID);
    gPopTitleBar = document.getElementById("PopupTitleBar" + templateID);
    // check to see if this is IE version 6 or lower. hide select boxes if so
    // maybe they'll fix this in version 7?
    var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10);
    if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) {
        gHideSelects = true;
    }
    gPopupIsShown = true;
    disableTabIndexes();
    gPopupMask.style.display = "block";
    gPopupContainer.style.display = "block";
    // calculate where to place the window on screen
	if (respectTop == 'true')
	{
        centerPopWinPositiveTop(width, height);
    }
	else
	{
        centerPopWin(width, height);
    }
    gPopupContainer.style.width = width + "px";
	if (gPopTitleBar != null)
	{
        var titleBarHeight = parseInt(gPopTitleBar.offsetHeight, 10);
        gPopupContainer.style.height = (height + titleBarHeight) + "px";
        // need to set the width of the iframe to the title bar width because of the dropshadow
        // some oddness was occuring and causing the frame to poke outside the border in IE6
        gPopFrame.style.width = parseInt(gPopTitleBar.offsetWidth, 10) + "px";
	}else
	{
        gPopupContainer.style.height = height + "px";
        if (gPopFrame != null)
            gPopFrame.style.width = width + "px";
    }
    if (gPopFrame != null)
        gPopFrame.style.height = (height) + "px";
    // set the url
    if (gPopFrame != null)
        gPopFrame.src = url;

    gReturnFunc = returnFunc;
    // for IE
    if (gHideSelects == true) {
        hideSelectBoxes();
    }
    //window.setTimeout("setPopTitle();", 600);
}

//
var gi = 0;

function centerPopWin(width, height) {
    if (gPopupIsShown == true) {
        if (width == null || isNaN(width)) {
            width = gPopupContainer.offsetWidth;
        }
        if (height == null) {
            height = gPopupContainer.offsetHeight;
        }
        var fullHeight = getViewportHeight();
        var fullWidth = getViewportWidth();
        var theBody = document.documentElement;

        var scTop
        if (document.documentElement && document.documentElement.scrollTop) {
            scTop = parseInt(theBody.scrollTop, 10);
        } else if (document.body) {
            scTop = parseInt(document.body.scrollTop, 10)
        } else {
            scTop = parseInt(theBody.scrollTop, 10);
        }
        //var scTop = parseInt(theBody.scrollTop,10);
        var scLeft = parseInt(theBody.scrollLeft, 10);
        gPopupMask.style.height = fullHeight + "px";
        gPopupMask.style.width = fullWidth + "px";
        gPopupMask.style.top = scTop + "px";
        gPopupMask.style.left = scLeft + "px";
        window.status = gPopupMask.style.top + " " + gPopupMask.style.left + " " + gi++;
        var titleBarHeight = 0;
        if (gPopTitleBar != null) {
            titleBarHeight = parseInt(gPopTitleBar.offsetHeight, 10);
        }
        gPopupContainer.style.top = (scTop + ((fullHeight - (height + titleBarHeight)) / 2)) + "px";
        gPopupContainer.style.left = (scLeft + ((fullWidth - width) / 2)) + "px";
        //alert(fullWidth + " " + width + " " + gPopupContainer.style.left);
    }
}


function centerPopWinPositiveTop(width, height) {
    removeEvent(window, "resize", centerPopWin);
    removeEvent(window, "resize", centerPopWinPositiveTop);
    addEvent(window, "resize", centerPopWinPositiveTop);
    window.onscroll = centerPopWinPositiveTop;

    if (gPopupIsShown == true) {
        if (width == null || isNaN(width)) {
            width = gPopupContainer.offsetWidth;
        }
        if (height == null) {
            height = gPopupContainer.offsetHeight;
        }
        var fullHeight = getViewportHeight();
        var fullWidth = getViewportWidth();
        var theBody = document.documentElement;

        var scTop
        if (document.documentElement && document.documentElement.scrollTop) {
            scTop = parseInt(theBody.scrollTop, 10);
        } else if (document.body) {
            scTop = parseInt(document.body.scrollTop, 10)
        } else {
            scTop = parseInt(theBody.scrollTop, 10);
        }
        //var scTop = parseInt(theBody.scrollTop,10);

        var scLeft = parseInt(theBody.scrollLeft, 10);
        gPopupMask.style.height = fullHeight + "px";
        gPopupMask.style.width = fullWidth + "px";
        gPopupMask.style.top = scTop + "px";
        gPopupMask.style.left = scLeft + "px";
        window.status = gPopupMask.style.top + " " + gPopupMask.style.left + " " + gi++;
        var titleBarHeight = 0;
        if (gPopTitleBar != null) {
            titleBarHeight = parseInt(gPopTitleBar.offsetHeight, 10);
        }
        var posGPHeight = (scTop + ((fullHeight - (height + titleBarHeight)) / 2));
		if(posGPHeight < 0)
		{
            posGPHeight = 0;
        }
        gPopupContainer.style.top = posGPHeight + "px";
        gPopupContainer.style.left = (scLeft + ((fullWidth - width) / 2)) + "px";
        //alert(fullWidth + " " + width + " " + gPopupContainer.style.left);
    }
}

addEvent(window, "resize", centerPopWin);
window.onscroll = centerPopWin;

/*
@argument callReturnFunc - bool - determines if we call the return function specified
@argument returnVal - anything - return value 
*/
function hidePopWin(callReturnFunc) {
    hidePopWinTemplate(callReturnFunc, '')
}

function hidePopWinTemplate(callReturnFunc, templateID) {
    gPopupMask = document.getElementById("popupMask" + templateID);
    gPopupContainer = document.getElementById("PopupContainer" + templateID);
    gPopFrame = document.getElementById("PopupFrame" + templateID);

    gPopupIsShown = false;
    restoreTabIndexes();
    if (gPopupMask == null) {
        return;
    }
    gPopupMask.style.display = "none";
    gPopupContainer.style.display = "none";
    if (callReturnFunc == true && gReturnFunc != null) {
        //WI13377 - A/B test floating ID Cert upload
        try {
            gReturnFunc(window.frames["PopupFrame" + templateID].returnVal);
        }
        catch (err) {
            gReturnFunc(document.getElementById("PopupFrame" + templateID).returnVal);
        }
    }
    gPopFrame.src = '/blank.htm';
    // display all select boxes
    if (gHideSelects == true) {
        displaySelectBoxes();
    }
}

/**
* Sets the popup title based on the title of the html document it contains.
* Uses a timeout to keep checking until the title is valid.
*/
function setPopTitle() {
    if (window.frames["PopupFrame"].document.title == null) {
        window.setTimeout("setPopTitle();", 10);
    } else {
        document.getElementById("popupTitle").innerHTML = window.frames["PopupFrame"].document.title;
    }
}

/**
* Hides Floater window
* Changes parent window location to src
*/
function hideFloater() {
    gPopupMask = parent.document.getElementById("popupMask");
    gPopupContainer = parent.document.getElementById("PopupContainer");
    gPopFrame = parent.document.getElementById("PopupFrame");
    if (gPopupMask != null && gPopupContainer != null && gPopFrame != null)
    {
        hidePopWin(false);
        parent.document.location.href = document.location.href;
    }
}
/**
* Hides Popup window
* Submits parent form
*/
function hidePopupAndSubmit() {
    gPopupMask = parent.document.getElementById("popupMask");
    gPopupContainer = parent.document.getElementById("PopupContainer");
    gPopFrame = parent.document.getElementById("PopupFrame");
    if (gPopupMask != null && gPopupContainer != null && gPopFrame != null)
    {
        hidePopWin(false);
    }
    if (parent.document.forms[0] != null)
        parent.document.forms[0].submit();
}

// Tab key trap. iff popup is shown and key was [TAB], suppress it.
// @argument e - event - keyboard event that caused this function to be called.
function keyDownHandler(e) {
    if (gPopupIsShown && e.keyCode == 9) return false;
}

// For IE.  Go through predefined tags and disable tabbing into them.
function disableTabIndexes() {
    if (document.all) {
        var i = 0;
        for (var j = 0; j < gTabbableTags.length; j++) {
            var tagElements = document.getElementsByTagName(gTabbableTags[j]);
            for (var k = 0; k < tagElements.length; k++) {
                gTabIndexes[i] = tagElements[k].tabIndex;
                tagElements[k].tabIndex = "-1";
                i++;
            }
        }
    }
}

// For IE. Restore tab-indexes.
function restoreTabIndexes() {
    if (document.all) {
        var i = 0;
        for (var j = 0; j < gTabbableTags.length; j++) {
            var tagElements = document.getElementsByTagName(gTabbableTags[j]);
            for (var k = 0; k < tagElements.length; k++) {
                tagElements[k].tabIndex = gTabIndexes[i];
                tagElements[k].tabEnabled = true;
                i++;
            }
        }
    }
}

/*
* Hides all drop down form select boxes on the screen so they do not appear above the mask layer.
* IE has a problem with wanted select form tags to always be the topmost z-index or layer
* Thanks for the code Scott!
*/
function hideSelectBoxes() {
    for (var i = 0; i < document.forms.length; i++) {
        for (var e = 0; e < document.forms[i].length; e++) {
            if (document.forms[i].elements[e].tagName == "SELECT") {
                document.forms[i].elements[e].style.visibility = "hidden";
            }
        }
    }
}

/*Makes all drop down form select boxes on the screen visible so they do not reappear after the dialog is closed.
IE has a problem with wanted select form tags to always be the topmost z-index or layer*/
function displaySelectBoxes() {
    for (var i = 0; i < document.forms.length; i++) {
        for (var e = 0; e < document.forms[i].length; e++) {
            if (document.forms[i].elements[e].tagName == "SELECT") {
                document.forms[i].elements[e].style.visibility = "visible";
            }
        }
    }
}
function resizeFrame() {
    document.getElementById("PopupContainer").style.height = "418px";
    document.getElementById("PopupFrame").style.height = "418px";
    document.getElementById("PopupContainer").style.width = "420px";
    document.getElementById("PopupFrame").style.border = "1px solid #425AAD";
    document.getElementById("PopupFrame").style.width = "420px";

}

function createObjectTags() {
    divs = document.getElementsByTagName('div');
    for (var j = 0; j < divs.length; j++) {
        var movieDiv = divs[j];
        if (movieDiv.id.substr(0, 9) == "objectTag") {
            var movieID = movieDiv.id.substr(9, movieDiv.id.length);
            var mp = eval('mp' + movieID);
            var fv = eval('fv' + movieID);
            var h = eval('h' + movieID);
            var w = eval('w' + movieID);
            var bg = eval('bg' + movieID);
            var asa = eval('asa' + movieID);
            var tag = "";
            tag = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="' + document.location.protocol + '//fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="' + w + '" height="' + h + '" id="' + movieID + '" align="middle" VIEWASTEXT>';
            tag += '<param name="movie" value="' + mp + '" />';
            tag += '<param name="flashvars" value="' + fv + '" />';
            tag += '<param name="wmode" value="transparent">';
            tag += '<param name="quality" value="high" />';
            tag += '<param name="bgcolor" value="' + bg + '" />';
			if ((asa != null)&& asa != '')
			{
                tag += '<param name="allowScriptAccess" value="' + asa + '" />';
                tag += '<embed src="' + mp + '" flashvars="' + fv + '" quality="high" bgcolor="' + bg + '" width="' + w + '" height="' + h + '" allowScriptAccess="' + asa + '" wmode="transparent" name="' + movieID + '" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
            }
			else
			{
                tag += '<embed src="' + mp + '" flashvars="' + fv + '" quality="high" bgcolor="' + bg + '" width="' + w + '" height="' + h + '" wmode="transparent" name="' + movieID + '" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
            }
            tag += '</object>';
            movieDiv.innerHTML = tag;
        }
    }
}
function setFocus() {
    var fe = document.getElementById(focElement);
    if (fe != null) {
        fe.focus();
    }
}

function toggleAll(check, id) {
    var elem = document.forms['aspnetForm'].elements[id];
    if (elem != null) {
        if (elem.length) {
            for (count = 0; count < elem.length; count++) {
                elem[count].checked = check.checked;
            }
        } else {
            elem.checked = check.checked;
        }
    }
}

function masterCheckBoxToggle(controlId)
{
    var element = document.getElementById(controlId);
    var aspNetForm = document.forms[0];

    if (element != null && aspNetForm != null)
    {
        for (var j = 0; j < aspNetForm.elements.length; j++)
        {
            aspNetForm.elements[j].checked = element.checked;
        }
    }
}

function toggleAllWithRegEx(check,idPattern)
{   
    var myform = document.forms['aspnetForm'];
    if(myform != null)
    {
        var len = myform.elements.length;
        for( var i=0 ; i < len ; i++)    
        {   
            if (myform.elements[i].type == 'checkbox' && myform.elements[i].id.match(idPattern))
                myform.elements[i].checked = check.checked;
        }
    }
}

function getElementsWithRegEx(elementType,idPattern)
{   
    var myform = document.forms['aspnetForm'];
    if(myform != null)
    {
        var j = 0;
        var elements = new Array();
        var len = myform.elements.length;
        for( var i=0 ; i < len ; i++)    
        {   
            if (myform.elements[i].type == elementType && myform.elements[i].id.match(idPattern))
                elements[j++] = myform.elements[i];
        }
        return elements;
    }
    return null;
}

var toggle = {
    show: function (obj) {
        var e = document.getElementById(obj);
        if (e != null && e.style.display != '')
            e.style.display = '';
    },
    hide: function (obj) {
        var e = document.getElementById(obj);
        if (e != null && e.style.display != 'none')
            e.style.display = 'none';
    }
};

/*
* Custom Javascript to enable Cascading Drop Downs using Ajax.
*/

var Pass_languageID = 0;
var Pass_CountryControlID = 0;
var Pass_StateControlID = 0;
var Pass_CityControlID = 0;

function PopulateCountryDropDown(languageID, CountryID, StateID, CityID, AffiliateID)
{
    Pass_languageID = languageID;
    Pass_CountryControlID = CountryID;
    Pass_StateControlID = StateID;
    Pass_CityControlID = CityID;

    PageMethods.GetInitialCountryList(languageID, AffiliateID, PopCountrySuccess, PopCountryFailure, CountryID);
}

function PopulateStateDropDown(languageID, CountryID, StateID, CityID)
{
    Pass_CountryControlID = CountryID;
    Pass_StateControlID = StateID;

    var tempCollection;
    var element = document.getElementById(CountryID);

    if(element == null)
    {
        tempCollection = document.getElementsByName(CountryID);
        element = tempCollection[0];
    }

    var value = 0;

    for(var j = 0; j < element.options.length; j++)
    {
        if (element.options[j].selected)
            value = element.options[j].value;
    }

    var selectBox = document.getElementById(StateID);

    if(selectBox == null)
    {
        tempCollection = document.getElementsByName(StateID);
        selectBox = tempCollection[0];
    }

    var options = selectBox.options.length;

    for(var j = 0; j < options; j++)
    {
        selectBox.remove(0);
    }

    PageMethods.GetStateList(languageID, value, PopStateSuccess, PopStateFailure, StateID);
}

function PopulateCityDropDown(languageID, CountryID, StateID, CityID)
{
    var tempCollection;
    var element = document.getElementById(StateID);

    if(element == null)
    {
        tempCollection = document.getElementsByName(StateID);
        element = tempCollection[0];
    }

    var elementParent = document.getElementById(CountryID);

    if(elementParent == null)
    {
        tempCollection = document.getElementsByName(CountryID);
        elementParent = tempCollection[0];
    }

    var valueOne = 0;
    var valueTwo = 0;

    for(var j = 0; j < elementParent.options.length; j++)
    {
        if (elementParent.options[j].selected)
            valueOne = elementParent.options[j].value;
    }

    for(var j = 0; j < element.options.length; j++)
    {
        if (element.options[j].selected)
            valueTwo = element.options[j].value;
    }

    var selectBox = document.getElementById(CityID);

    if(selectBox == null)
    {
        tempCollection = document.getElementsByName(CityID);
        selectBox = tempCollection[0];
    }

    var options = selectBox.options.length;

    for(var j = 0; j < options; j++)
    {
        selectBox.remove(0);
    }

    if(valueTwo != -1)
    {
        //document.getElementById(CityID).disabled = false;
        selectBox.disabled = false;
        PageMethods.GetCityList(languageID, valueOne, valueTwo, PopCitySuccess, PopCityFailure, CityID);
    }
    else
        selectBox.disabled = true;
    //document.getElementById(CityID).disabled = true;
}

function PopCountrySuccess(res, dest)
{
    var blocks = res.split('#');
    var selectBox = document.getElementById(dest);

    var tempCollection;
    if(selectBox == null)
    {
        tempCollection = document.getElementsByName(dest);
        selectBox = tempCollection[0];
        //document.write(selectBox);
    }

    var options = selectBox.options.length;

    for(var j = 0; j < options; j++)
    {
        selectBox.remove(0);
    }

    var currentCode = blocks[blocks.length - 1];

    for(var i = 0; i < blocks.length - 1; i++)
    {
        var items = blocks[i].split('|');

        var optn = document.createElement("OPTION");
        optn.text = items[0];
        optn.value = items[1];

        if(optn.value == currentCode)
        {
            optn.selected = true;
            index = i;
        }

        //document.getElementById(dest).options.add(optn);
        selectBox.options.add(optn);
    }

    PopulateStateDropDown(Pass_languageID, Pass_CountryControlID, Pass_StateControlID, Pass_CityControlID);
}

function PopCountryFailure(res, dest)
{
    // Do Nothing
}

function PopStateSuccess(res, dest)
{
    var blocks = res.split('#');
    var stateSelectBox = document.getElementById(dest)
    var tempCollection;

    if(stateSelectBox == null)
    {
        tempCollection = document.getElementsByName(dest);
        stateSelectBox = tempCollection[0];
    }

    var translatedContent = blocks[blocks.length - 1];

    var selectOptn = document.createElement("OPTION");
    selectOptn.text = '< ' + translatedContent + ' >';
    selectOptn.value = -1;

    //document.getElementById(dest).options.add(selectOptn);
    stateSelectBox.options.add(selectOptn);

    for(var i = 0; i < blocks.length - 1; i++)
    {
        var items = blocks[i].split('|');

        var optn = document.createElement("OPTION");
        optn.text = items[0];
        optn.value = items[1];

        //document.getElementById(dest).options.add(optn);
        stateSelectBox.options.add(optn);
    }

    //document.getElementById(dest).selectedIndex = 0;
    stateSelectBox.selectedIndex = 0;

    PopulateCityDropDown(Pass_languageID, Pass_CountryControlID, Pass_StateControlID, Pass_CityControlID);
}

function PopStateFailure(res, dest)
{
    // Do Nothing
}

function PopCitySuccess(res, dest)
{
    var blocks = res.split('#');
    var citySelectBox = document.getElementById(dest);
    var tempCollection;

    if(citySelectBox == null)
    {
        tempCollection = document.getElementsByName(dest);
        citySelectBox = tempCollection[0];
    }

    var translatedContent = blocks[blocks.length - 1];

    var selectOptn = document.createElement("OPTION");
    selectOptn.text = translatedContent;
    selectOptn.value = -1;

    //document.getElementById(dest).options.add(selectOptn);
    citySelectBox.options.add(selectOptn);

    for(var i = 0; i < blocks.length - 1; i++)
    {
        var items = blocks[i].split('|');

        var optn = document.createElement("OPTION");
        optn.text = items[0];
        optn.value = items[1];

        //document.getElementById(dest).options.add(optn);
        citySelectBox.options.add(optn);
    }
}

function PopCityFailure(res, dest)
{
    // Do Nothing
}

function mopDDchanged(resource) 
{
    var dropDown = document.getElementById(resource);

    if(dropDown != null)
    {
        var index = dropDown.options[dropDown.selectedIndex].value;

        // Hide CVV on JCB selection
        if (index == 64)
            $('.cvvContainer').hide();
        else
            $('.cvvContainer').show();

        for(var j = 0; j < dropDown.options.length; j++)
        {
            var element = document.getElementById('ccId' + dropDown.options[j].value);
            var element2 = document.getElementById('2ccId' + dropDown.options[j].value);

            if(element != null)
            {
                element.style.display = 'none';
            }

            if(element2 != null)
            {
                element2.style.display = 'none';
            }
        }

        var showElement = document.getElementById('ccId' + index);
        var showElement2 = document.getElementById('2ccId' + index);

        if(showElement != null)
        {
            showElement.style.display = 'block';
        }

        if(showElement2 != null)
        {
            showElement2.style.display = 'block';
        }
    }
}

function mopRBchanged(resource, Id)
{
    var controlExists = true;
    var index = 0;
    var element = document.getElementById(resource + '_' + index);

    if(element != null)
    {
        while(controlExists)
        {
            var divTag = document.getElementById('ccId' + element.value);
            var divTag2 = document.getElementById('2ccId' + element.value);

            if(divTag != null)
            {
                divTag.style.display = 'none';
            }

            if(divTag2 != null)
            {
                divTag2.style.display = 'none';
            }

            index++;
            element = document.getElementById(resource + '_' + index);

            if (element == null)
                controlExists = false;
        }

        var desiredDiv = document.getElementById('ccId' + Id);
        var desiredDiv2 = document.getElementById('2ccId' + Id);

        if(desiredDiv != null)
        {
            desiredDiv.style.display = 'block';
        }

        if(desiredDiv2 != null)
        {
            desiredDiv2.style.display = 'block';
        }

        // Hide CVV on JCB selection
        if (Id == 64) {
            $('.cvvContainer').hide();
        }
        else {
            $('.cvvContainer').show();
        }
    }
}


function resizeImageFromDiv(imgId, divId)
{

    var thisImg = document.getElementById(imgId);
    var thisDiv = document.getElementById(divId);

    if (thisDiv != null)
    {
        thisImg.style.width = thisDiv.style.width;
        thisImg.style.height = thisDiv.style.height;
    }
}


//WI13377 - A/B test floating ID Cert upload
function ChangeCertTypeDiv(ddId)
{
    var ddCertType = document.getElementById(ddId);
    var certTypeIndex = ddCertType.selectedIndex;
    var divCertType = document.getElementById('phCert_' + certTypeIndex);

    var lbCertTitle = document.getElementById('lbCertTitle');

    var i;


    for(i = 0; i <= 8; i++)
    {
        var allDiv = document.getElementById('phCert_' + i);
        allDiv.style.display = 'none';
    }

    divCertType.style.display = 'block';
    if(certTypeIndex != 0 && certTypeIndex != 7)
    {
        var upDiv = document.getElementById('phCert_8');
        upDiv.style.display = 'block';
    }
}

function returnRefresh(returnVal) {
    location.reload(true);
}

function centerFloater()
{
    var overlay = document.getElementById("overlay");
    if (overlay != null)
    {
        var fullHeight = getViewportHeight();
        var fullWidth = getViewportWidth();

        var scTop;
        var theBody = document.documentElement;
        if (document.documentElement && document.documentElement.scrollTop) {
            scTop = parseInt(theBody.scrollTop, 10);
        } else if (document.body) {
            scTop = parseInt(document.body.scrollTop, 10)
        } else {
            scTop = parseInt(theBody.scrollTop, 10);
        }
        var scLeft = parseInt(theBody.scrollLeft, 10);
        overlay.style.top = scTop + "px";
        overlay.style.left = scLeft + "px";
        overlay.style.height = fullHeight + "px";
        overlay.style.width = fullWidth + "px";

        var modalDiv = document.getElementById("modalDiv");
        if (modalDiv != null)
        {                       
            var posGPHeight = (scTop + ((fullHeight - modalDiv.offsetHeight) / 2));
		    if(posGPHeight < 0)
		    {
                posGPHeight = 0;
            }
            modalDiv.style.top = posGPHeight + "px";
            modalDiv.style.left = (scLeft + ((fullWidth - modalDiv.offsetWidth) / 2)) + "px";
        }
    }
}
var headerV2 = false;

var SysImgFullPath;
var SysLanguageID;

var BackImage = SysImgFullPath + "jquery/matchpopup/backlabel_" + SysLanguageID + ".gif";
var CloseImage = SysImgFullPath + "jquery/matchpopup/closelabel_" + SysLanguageID + ".gif";

var PopupLink = function (oLink) {
    oLink = $(oLink);
    var oContent = $("#matchpopup .content");
    var oTemp = $("<div id=\"x-optin-temp\" style=\"display: none\"></div>");
    $(document.body).append(oTemp);
    oTemp.html(oContent.html());
    $.ajax({
        url: oLink.attr("href")
		, async: false
		, success: function (html) {
		    html = html.replace(/<script language=\"JavaScript\" type=\"text\/javascript\" src=\"(.*?)jquery-1.2.6.min.js\"><\/script>(.*?)/g, "");
		    html = html.replace(/<script language=\"JavaScript\" type=\"text\/javascript\" src=\"(.*?)jquery.matchpopup3.js\"><\/script>(.*?)/g, "");
		    jQuery.matchpopup.settings.noClose = false;
		    jQuery.matchpopup.reveal(html);
		    $('#matchpopup .close').unbind().bind("click", PopupBack);
		    $('#matchpopup .close_image').attr('src', BackImage);
		}
    });
}

var PopupBack = function () {
    jQuery.matchpopup.settings.noClose = true;
    jQuery.matchpopup.reveal($("#x-optin-temp").html());
    $("#x-optin-temp").remove();
    $('#matchpopup .close').unbind().bind("click", $.matchpopup.close);
    $('#matchpopup .close_image').attr('src', CloseImage);

    $("a[rel=ajax]", $("#matchpopup .content")).bind("click", function () {
        PopupLink(this);
        return false;
    });
}

