﻿/************************************************************************************************************
Custom Date Validate Functions
************************************************************************************************************/
function ValidDateOrYear(sender, args) {
    if (!ValidDate(args.Value)) {
        if (!ValidYear(args.Value)) {
            args.IsValid = false;
        }
    }

    return;
}

function ValidDate(value) {
    try {
        var minDbDate = new Date(1753, 0, 1);
        var maxDbDate = new Date(2199, 11, 31);

        var day = value.split("/")[0];
        var month = value.split("/")[1];
        var year = value.split("/")[2];

        var date = new Date(year, month - 1, day);

        if (isNaN(date)) return false;

        if (date <= minDbDate || date >= maxDbDate) {
            return false;
        }

        return true;
    }
    catch (err) {
        return false;
    }
}

function ValidYear(year) {
    try {
        var minDbDate = new Date(1753, 0, 1);
        var maxDbDate = new Date(2199, 11, 31);

        var date = new Date(year, 0, 1);

        if (isNaN(date)) return false;

        if (date <= minDbDate || date >= maxDbDate) {
            return false;
        }

        return true;
    }
    catch (err) {
        return false;
    }
}



/************************************************************************************************************
Workflow Application Functions
************************************************************************************************************/
function setFocus(elementID) {
    document.getElementById(elementID).focus();
}

function checkDate(sender, args) {
    var dt = new Date();
    if (sender._selectedDate > dt) {
        sender
            ._textbox
            .set_Value(dt.format(sender._format));
    }
}

function checkDeadlineDate(sender, args) {
    var dt = new Date();
    if (sender._selectedDate < dt) {
        sender
            ._textbox
            .set_Value(dt.format(sender._format));
    }
}

function ChangeCalendarView(sender, args) {
    sender._switchMode("years", true);
}

function ConfirmBox(targetURL, message) {
    var reply;
    reply = confirm(message);
    if (reply == true) {
        document.location = targetURL;
    }
    return false;
}

function SetFocus(findString, fieldName) {

    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];

        ident = elm.name.split(findString);
        if (ident.length > 1) {
            if (ident[ident.length - 1] == fieldName) {

                res_hidden_name = '';
                res = elm.name.split('$');
                if (res.length > 1) {
                    for (j = 0; j < res.length; j++) {
                        res_hidden_name += res[j];
                        if (j < res.length - 1) {
                            res_hidden_name += '_';
                        }
                    }
                }
                if (elm.type == "radio") {
                    res_hidden_name += "_0";
                }
                itemId = document.getElementById(res_hidden_name);
                var timer = setTimeout("itemId.focus()", 50);
                break;
            }
        }

    }
}


function FillPPSN(findString, fieldName) {

    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];

        ident = elm.name.split(findString);
        if (ident.length > 1) {
            if (ident[ident.length - 1] == fieldName) {

                res_hidden_name = '';
                res = elm.name.split('$');
                if (res.length > 1) {
                    for (j = 0; j < res.length; j++) {
                        res_hidden_name += res[j];
                        if (j < res.length - 1) {
                            res_hidden_name += '_';
                        }
                    }
                }
                if (elm.type == "radio") {
                    res_hidden_name += "_0";
                }
                itemId = document.getElementById(res_hidden_name);
                var timer = setTimeout("itemId.value='1234567A'", 50);
                break;
            }
        }

    }
}



function ShowHideDocumentOptions(findString, fieldName) {

    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];

        ident = elm.name.split(findString);
        if (ident.length > 1) {
            if (ident[ident.length - 1] == fieldName) {

                res_hidden_name = '';
                res = elm.name.split('$');
                if (res.length > 1) {
                    for (j = 0; j < res.length; j++) {
                        res_hidden_name += res[j];
                        if (j < res.length - 1) {
                            res_hidden_name += '_';
                        }
                    }
                }

                res_hidden_name_base = res_hidden_name;
                if (elm.type == "radio") {
                    res_hidden_name += "_0";
                }

                itemId = document.getElementById(res_hidden_name);
                optionCount = 1;
                while (itemId != null) {

                    if (itemId.checked) {
                        uploadPanel = document.getElementById(res_hidden_name_base.replace("options", "document_panel"));
                        postalPanel = document.getElementById(res_hidden_name_base.replace("options", "postal_panel"));
                        unavailablePanel = document.getElementById(res_hidden_name_base.replace("options", "unavailable_panel"));
                        existingPanel = document.getElementById(res_hidden_name_base.replace("options", "existing_panel"));

                        if (uploadPanel != null && postalPanel != null && unavailablePanel != null) {
                            if (itemId.value == "upload") {
                                //var timer1 = setTimeout("postalPanel.style.display='none';unavailablePanel.style.display='none';uploadPanel.style.display='';", 50);
                                postalPanel.style.display = 'none';
                                unavailablePanel.style.display = 'none';
                                existingPanel.style.display = 'none';
                                uploadPanel.style.display = '';
                            } else if (itemId.value == "postal") {
                                //var timer2 = setTimeout("unavailablePanel.style.display='none';uploadPanel.style.display='none';postalPanel.style.display='';", 50); 
                                unavailablePanel.style.display = 'none';
                                uploadPanel.style.display = 'none';
                                existingPanel.style.display = 'none';
                                postalPanel.style.display = '';
                            } else if (itemId.value == "notavailable") {
                                //var timer1 = setTimeout("postalPanel.style.display='none';uploadPanel.style.display='none';unavailablePanel.style.display='';", 50); 
                                postalPanel.style.display = 'none';
                                uploadPanel.style.display = 'none';
                                existingPanel.style.display = 'none';
                                unavailablePanel.style.display = '';
                            } else if (itemId.value == "existing") {
                                //var timer1 = setTimeout("postalPanel.style.display='none';uploadPanel.style.display='none';unavailablePanel.style.display='';", 50); 
                                postalPanel.style.display = 'none';
                                uploadPanel.style.display = 'none';
                                unavailablePanel.style.display = 'none';
                                existingPanel.style.display = '';
                            }
                        }
                        break;
                    }


                    res_hidden_name = res_hidden_name_base + "_" + optionCount;
                    itemId = document.getElementById(res_hidden_name);
                    optionCount++;
                }

                break;
            }
        }

    }
}

function ValidateNoticesCheckbox(obj, args) {

    var aspCheckBoxID = 'ConfirmReadCheckBox';

    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];
        if (elm.type == 'checkbox') {
            if (elm.checked) {

                ident = elm.name.split(aspCheckBoxID, 1);
                hidden_name = ident + "";
                res_hidden_name = "";

                res = hidden_name.split('$');
                if (res.length > 1) {
                    for (j = 0; j < res.length; j++) {
                        res_hidden_name += res[j];
                        if (j < res.length - 1) {
                            res_hidden_name += '_';
                        }
                    }
                    res_hidden_name += aspHiddenID;

                    itemId = document.getElementById(res_hidden_name);

                    if (itemId.checked == true) {
                        args.IsValid = true;
                    }
                    else {
                        args.IsValid = false;
                    }
                    break;
                }

            }
        }
    }


    return;

}

function ClientValidateCheckBox(source, args) {
    var aspCheckBoxID = 'consent_';

    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];
        if (elm.type == 'checkbox') {

            ident = elm.name.split(aspCheckBoxID);
            if (ident.length > 1) {
                if (elm.checked) {
                    args.IsValid = true;
                }
                else {
                    args.IsValid = false;
                    elm.focus();
                    //break; 
                }
            }
        }
    }
}



function EndDateToPresentChecked(findString, fieldName) {
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];

        ident = elm.name.split(findString);
        if (ident.length > 1) {
            if (ident[ident.length - 1] == fieldName) {

                res_hidden_name = '';
                res = elm.name.split('$');
                if (res.length > 1) {
                    for (j = 0; j < res.length; j++) {
                        res_hidden_name += res[j];
                        if (j < res.length - 1) {
                            res_hidden_name += '_';
                        }
                    }
                }

                res_hidden_name_base = res_hidden_name;
                itemId = document.getElementById(res_hidden_name);

                toPresentCheckbox = document.getElementById(res_hidden_name_base + "_topresent");
                toPresentMask = document.getElementById(res_hidden_name_base + "_masktext");
                orText = document.getElementById(res_hidden_name_base + "_ortext");
                if (toPresentCheckbox != null) {
                    if (toPresentCheckbox.checked == true) {
                        itemId.style.display = 'none';
                        toPresentMask.style.display = 'none';
                        orText.style.display = 'none';

                        itemId.value = "11/11/1811";
                    } else {
                        itemId.value = "";
                        itemId.className = "";
                        itemId.style.display = '';
                        toPresentMask.style.display = '';
                        toPresentMask.className = "";
                        orText.style.display = '';
                        orText.className = "";
                    }
                }
            }
        }

    }
}


function UserEndDateToPresentChecked(findString, fieldName) {
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i];

        ident = elm.name.split(findString);
        if (ident.length > 1) {
            if (ident[ident.length - 1] == fieldName + "Txt") {

                res_hidden_name = '';
                res = elm.name.split('$');
                if (res.length > 1) {
                    for (j = 0; j < res.length; j++) {
                        res_hidden_name += res[j];
                        if (j < res.length - 1) {
                            res_hidden_name += '_';
                        }
                    }
                }

                res_hidden_name_base = res_hidden_name;
                itemId = document.getElementById(res_hidden_name);

                toPresentCheckbox = document.getElementById(res_hidden_name_base.replace("Txt", "ToPresent"));
                toPresentLabel = document.getElementById(res_hidden_name_base.replace("Txt", "ToPresentLabel"));
                img = document.getElementById(res_hidden_name_base.replace("Txt", "Img"));
                if (toPresentCheckbox != null) {
                    if (toPresentCheckbox.checked == true) {
                        itemId.style.display = 'none';
                        toPresentLabel.style.display = 'none';
                        img.style.display = 'none';
                        itemId.value = "11/11/1811";
                    } else {
                        itemId.value = "";
                        itemId.className = "";
                        itemId.style.display = '';
                        toPresentLabel.className = '';
                        toPresentLabel.style.display = '';
                        img.className = 'CalendarIcon';
                        img.style.display = '';
                    }
                }
            }
        }

    }
}




/************************************************************************************************************
Facebook Functions
************************************************************************************************************/
function facebookLogin() {
    FB.Connect.requireSession(
				function () {
				    window.location.reload();
				});
}

function facebookLogout() {
    FB.Connect.logoutAndRedirect('/UserCreate.aspx');
}
/************************************************************************************************************
Functions provided to swap images
************************************************************************************************************/
function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}


/************************************************************************************************************
(C) www.dhtmlgoodies.com, October 2005
************************************************************************************************************/
var dhtmlgoodies_tooltip = false;
var dhtmlgoodies_tooltipShadow = false;
var dhtmlgoodies_shadowSize = 4;
var dhtmlgoodies_tooltipMaxWidth = 300;
var dhtmlgoodies_tooltipMinWidth = 100;
var dhtmlgoodies_iframe = false;
var tooltip_is_msie = (navigator.userAgent.indexOf('MSIE') >= 0 && navigator.userAgent.indexOf('opera') == -1 && document.all) ? true : false;
function showTooltip(e, tooltipTxt) {

    var bodyWidth = Math.max(document.body.clientWidth, document.documentElement.clientWidth) - 20;

    if (!dhtmlgoodies_tooltip) {
        dhtmlgoodies_tooltip = document.createElement('DIV');
        dhtmlgoodies_tooltip.id = 'dhtmlgoodies_tooltip';
        dhtmlgoodies_tooltipShadow = document.createElement('DIV');
        dhtmlgoodies_tooltipShadow.id = 'dhtmlgoodies_tooltipShadow';

        document.body.appendChild(dhtmlgoodies_tooltip);
        document.body.appendChild(dhtmlgoodies_tooltipShadow);

        if (tooltip_is_msie) {
            dhtmlgoodies_iframe = document.createElement('IFRAME');
            dhtmlgoodies_iframe.frameborder = '5';
            dhtmlgoodies_iframe.style.backgroundColor = '#FFFFFF';
            dhtmlgoodies_iframe.src = '#';
            dhtmlgoodies_iframe.style.zIndex = 100;
            dhtmlgoodies_iframe.style.position = 'absolute';
            document.body.appendChild(dhtmlgoodies_iframe);
        }

    }

    dhtmlgoodies_tooltip.style.display = 'block';
    dhtmlgoodies_tooltipShadow.style.display = 'block';
    if (tooltip_is_msie) dhtmlgoodies_iframe.style.display = 'block';

    var st = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
    if (navigator.userAgent.toLowerCase().indexOf('safari') >= 0) st = 0;
    var leftPos = e.clientX + 10;

    dhtmlgoodies_tooltip.style.width = null; // Reset style width if it's set 
    dhtmlgoodies_tooltip.innerHTML = tooltipTxt;
    dhtmlgoodies_tooltip.style.left = leftPos + 'px';
    dhtmlgoodies_tooltip.style.top = e.clientY + 10 + st + 'px';


    dhtmlgoodies_tooltipShadow.style.left = leftPos + dhtmlgoodies_shadowSize + 'px';
    dhtmlgoodies_tooltipShadow.style.top = e.clientY + 10 + st + dhtmlgoodies_shadowSize + 'px';

    if (dhtmlgoodies_tooltip.offsetWidth > dhtmlgoodies_tooltipMaxWidth) {	/* Exceeding max width of tooltip ? */
        dhtmlgoodies_tooltip.style.width = dhtmlgoodies_tooltipMaxWidth + 'px';
    }

    var tooltipWidth = dhtmlgoodies_tooltip.offsetWidth;
    if (tooltipWidth < dhtmlgoodies_tooltipMinWidth) tooltipWidth = dhtmlgoodies_tooltipMinWidth;


    dhtmlgoodies_tooltip.style.width = tooltipWidth + 'px';
    dhtmlgoodies_tooltipShadow.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
    dhtmlgoodies_tooltipShadow.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';

    if ((leftPos + tooltipWidth) > bodyWidth) {
        dhtmlgoodies_tooltip.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px', '') - ((leftPos + tooltipWidth) - bodyWidth)) + 'px';
        dhtmlgoodies_tooltipShadow.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px', '') - ((leftPos + tooltipWidth) - bodyWidth) + dhtmlgoodies_shadowSize) + 'px';
    }

    if (tooltip_is_msie) {
        dhtmlgoodies_iframe.style.left = dhtmlgoodies_tooltip.style.left;
        dhtmlgoodies_iframe.style.top = dhtmlgoodies_tooltip.style.top;
        dhtmlgoodies_iframe.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
        dhtmlgoodies_iframe.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';

    }

}

function hideTooltip() {
    dhtmlgoodies_tooltip.style.display = 'none';
    dhtmlgoodies_tooltipShadow.style.display = 'none';
    if (tooltip_is_msie) dhtmlgoodies_iframe.style.display = 'none';
}

function hideBackground() {
    var bge = $get("ctl00__uiMainContentCph_NavButtons_mpeConfirmPopup_backgroundElement");
    if (bge) bge.style.zIndex = -1;
    var bge2 = $get("ctl00__uiMainContentCph_NavButtons_mpeConfirmPopup2_backgroundElement");
    if (bge2) bge2.style.zIndex = -1;
    var bge3 = $get("ctl00__uiMainContentCph_NavButtons2_mpeConfirmPopup_backgroundElement");
    if (bge3) bge3.style.zIndex = -1;
    var bge4 = $get("ctl00__uiMainContentCph_NavButtons2_mpeConfirmPopup2_backgroundElement");
    if (bge4) bge4.style.zIndex = -1;
}


function cycleBgColor(findString, fieldName) {
    setTimeout("NLBfadeBg('ctl00__uiMainContentCph_TopErrorMessageBox','#E3F4F9','#FCC2C2','2000');", 50);
    setTimeout("NLBfadeBg('ctl00__uiMainContentCph_TopErrorMessageBox','#FCC2C2','#E3F4F9','2000');", 6000);
    setTimeout("NLBfadeBg('ctl00__uiMainContentCph_TopErrorMessageBox','#E3F4F9','#FCC2C2','2000');", 10000);
    setTimeout("NLBfadeBg('ctl00__uiMainContentCph_TopErrorMessageBox','#FCC2C2','#E3F4F9','2000');", 15000);
    setTimeout("NLBfadeBg('ctl00__uiMainContentCph_TopErrorMessageBox','#E3F4F9','#FCC2C2','2000');", 19000);
    setTimeout("NLBfadeBg('ctl00__uiMainContentCph_TopErrorMessageBox','#FCC2C2','#E3F4F9','2000');", 25000);
}

function flashBasket() {
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#FFE8BF','#FFFFFF','400');", 1000);
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#FFFFFF','#ADD8E6','400');", 2000);
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#ADD8E6','#FFFFFF','400');", 3000);
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#FFFFFF','#FFE8BF','400');", 4000);
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#FFE8BF','#FFFFFF','400');", 5000);
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#FFFFFF','#ADD8E6','400');", 6000);
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#ADD8E6','#FFFFFF','400');", 7000);
    setTimeout("NLBfadeBg('ctl00__uiRHSContentUc__uiLHSSavedItemsDetails','#FFFFFF','#FFE8BF','400');", 8000);
}


/************************************************************************************************************
Countdown redirect timer functions
************************************************************************************************************/
var time = 5;
var page = "";
function countDown() {
    if (time > 0) {
        time--;
    }
    gett("countdown").innerHTML = time;
    if (time == 0) {
        window.location = page;
    }
}

function gett(id) {
    if (document.getElementById) return document.getElementById(id);
    if (document.all) return document.all.id;
    if (document.layers) return document.layers.id;
    if (window.opera) return window.opera.id;
}
function init_countdown(redirectPage) {
    page = redirectPage;
    if (gett('countdown')) {
        setInterval(countDown, 1000);
        gett("countdown").innerHTML = time;
    }
    else {
        setTimeout(init, 50);
    }
}
/*************************************************************
* NLB Background Color Fader v1.0
* Author: Justin Barlow - www.netlobo.com
*************************************************************/

var nlbFade_hextable = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']; // used for RGB to Hex and Hex to RGB conversions
var nlbFade_elemTable = new Array(); // global array to keep track of faded elements
var nlbFade_t = new Array(); // global array to keep track of fading timers
function NLBfadeBg(elementId, startBgColor, endBgColor, fadeTime) {
    var timeBetweenSteps = Math.round(Math.max(fadeTime / 300, 30));
    var nlbFade_elemTableId = nlbFade_elemTable.indexOf(elementId);
    if (nlbFade_elemTableId > -1) {
        for (var i = 0; i < nlbFade_t[nlbFade_elemTableId].length; i++)
            clearTimeout(nlbFade_t[nlbFade_elemTableId][i]);
    }
    else {
        nlbFade_elemTable.push(elementId);
        nlbFade_elemTableId = nlbFade_elemTable.indexOf(elementId);
    }
    var startBgColorRGB = hexToRGB(startBgColor);
    var endBgColorRGB = hexToRGB(endBgColor);
    var diffRGB = new Array();
    for (var i = 0; i < 3; i++)
        diffRGB[i] = endBgColorRGB[i] - startBgColorRGB[i];
    var steps = Math.ceil(fadeTime / timeBetweenSteps);
    var nlbFade_s = new Array();
    for (var i = 1; i <= steps; i++) {
        var changes = new Array();
        for (var j = 0; j < diffRGB.length; j++)
            changes[j] = startBgColorRGB[j] + Math.round((diffRGB[j] / steps) * i);
        if (i == steps)
            nlbFade_s[i - 1] = setTimeout('document.getElementById("' + elementId + '").style.backgroundColor = "' + endBgColor + '";', timeBetweenSteps * (i - 1));
        else
            nlbFade_s[i - 1] = setTimeout('document.getElementById("' + elementId + '").style.backgroundColor = "' + RGBToHex(changes) + '";', timeBetweenSteps * (i - 1));
    }
    nlbFade_t[nlbFade_elemTableId] = nlbFade_s;
}
function hexToRGB(hexVal) {
    hexVal = hexVal.toUpperCase();
    if (hexVal.substring(0, 1) == '#')
        hexVal = hexVal.substring(1);
    var hexArray = new Array();
    var rgbArray = new Array();
    hexArray[0] = hexVal.substring(0, 2);
    hexArray[1] = hexVal.substring(2, 4);
    hexArray[2] = hexVal.substring(4, 6);
    for (var k = 0; k < hexArray.length; k++) {
        var num = hexArray[k];
        var res = 0;
        var j = 0;
        for (var i = num.length - 1; i >= 0; i--)
            res += parseInt(nlbFade_hextable.indexOf(num.charAt(i))) * Math.pow(16, j++);
        rgbArray[k] = res;
    }
    return rgbArray;
}
function RGBToHex(rgbArray) {
    var retval = new Array();
    for (var j = 0; j < rgbArray.length; j++) {
        var result = new Array();
        var val = rgbArray[j];
        var i = 0;
        while (val > 16) {
            result[i++] = val % 16;
            val = Math.floor(val / 16);
        }
        result[i++] = val % 16;
        var out = '';
        for (var k = result.length - 1; k >= 0; k--)
            out += nlbFade_hextable[result[k]];
        retval[j] = padLeft(out, '0', 2);
    }
    out = '#';
    for (var i = 0; i < retval.length; i++)
        out += retval[i];
    return out;
}
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (val, fromIndex) {
        if (typeof (fromIndex) != 'number') fromIndex = 0;
        for (var index = fromIndex, len = this.length; index < len; index++)
            if (this[index] == val) return index;
        return -1;
    }
}
function padLeft(string, character, paddedWidth) {
    if (string.length >= paddedWidth)
        return string;
    else {
        while (string.length < paddedWidth)
            string = character + string;
    }
    return string;
}

function showTab1() {
    $('#ctl00__uiMainContentCph__uiTab1').attr("src", "/Springboard/images/tab_courses_over.gif");
    $('#ctl00__uiMainContentCph__uiTab2').attr("src", "/Springboard/images/tab_howdoesitwork.gif");
    $('#ctl00__uiMainContentCph__uiTab3').attr("src", "/Springboard/images/tab_eligible.gif");
    $('#ctl00__uiMainContentCph__uiTab4').attr("src", "/Springboard/images/tab_how.gif");
    $('#ctl00__uiMainContentCph__uiTab5').attr("src", "/Springboard/images/tab_faq.gif");

    $('#text1').show();
    $('#text2').hide();
    $('#text3').hide();
    $('#text4').hide();
    $('#text5').hide();
}

function showTab2() {
    $('#ctl00__uiMainContentCph__uiTab1').attr("src", "/Springboard/images/tab_courses.gif");
    $('#ctl00__uiMainContentCph__uiTab2').attr("src", "/Springboard/images/tab_howdoesitwork_over.gif");
    $('#ctl00__uiMainContentCph__uiTab3').attr("src", "/Springboard/images/tab_eligible.gif");
    $('#ctl00__uiMainContentCph__uiTab4').attr("src", "/Springboard/images/tab_how.gif");
    $('#ctl00__uiMainContentCph__uiTab5').attr("src", "/Springboard/images/tab_faq.gif");

    $('#text1').hide();
    $('#text2').show();
    $('#text3').hide();
    $('#text4').hide();
    $('#text5').hide();
}

function showTab3() {
    $('#ctl00__uiMainContentCph__uiTab1').attr("src", "/Springboard/images/tab_courses.gif");
    $('#ctl00__uiMainContentCph__uiTab2').attr("src", "/Springboard/images/tab_howdoesitwork.gif");
    $('#ctl00__uiMainContentCph__uiTab3').attr("src", "/Springboard/images/tab_eligible_over.gif");
    $('#ctl00__uiMainContentCph__uiTab4').attr("src", "/Springboard/images/tab_how.gif");
    $('#ctl00__uiMainContentCph__uiTab5').attr("src", "/Springboard/images/tab_faq.gif");

    $('#text1').hide();
    $('#text2').hide();
    $('#text3').show();
    $('#text4').hide();
    $('#text5').hide();
}

function showTab4() {
    $('#ctl00__uiMainContentCph__uiTab1').attr("src", "/Springboard/images/tab_courses.gif");
    $('#ctl00__uiMainContentCph__uiTab2').attr("src", "/Springboard/images/tab_howdoesitwork.gif");
    $('#ctl00__uiMainContentCph__uiTab3').attr("src", "/Springboard/images/tab_eligible.gif");
    $('#ctl00__uiMainContentCph__uiTab4').attr("src", "/Springboard/images/tab_how_over.gif");
    $('#ctl00__uiMainContentCph__uiTab5').attr("src", "/Springboard/images/tab_faq.gif");

    $('#text1').hide();
    $('#text2').hide();
    $('#text3').hide();
    $('#text4').show();
    $('#text5').hide();
}

function showTab5() {
    $('#ctl00__uiMainContentCph__uiTab1').attr("src", "/Springboard/images/tab_courses.gif");
    $('#ctl00__uiMainContentCph__uiTab2').attr("src", "/Springboard/images/tab_howdoesitwork.gif");
    $('#ctl00__uiMainContentCph__uiTab3').attr("src", "/Springboard/images/tab_eligible.gif");
    $('#ctl00__uiMainContentCph__uiTab4').attr("src", "/Springboard/images/tab_how.gif");
    $('#ctl00__uiMainContentCph__uiTab5').attr("src", "/Springboard/images/tab_faq_over.gif");

    $('#text1').hide();
    $('#text2').hide();
    $('#text3').hide();
    $('#text4').hide();
    $('#text5').show();
}

// New logo slideshow (Ryan)

(function ($) {
    var cache = [];
    // Arguments are image paths relative to the current page.
    $.preLoadImages = function () {
        var args_len = arguments.length;
        for (var i = args_len; i--; ) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
})(jQuery)

function shuffle(v) {
    for (var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x);
    return v;
};

var logoSlideshow = {
    _elements: {},
    _nextIndex: 0,
    _numOfLogos: 0,
    fadeDelay: 700,
    displayDelay: 5000,
    providerLogos: [],
    startShow: function () {
        if (arguments.length) {
            if (arguments[0].providerLogos) this.providerLogos = arguments[0].providerLogos;
            if (arguments[0].fadeDelay) this.fadeDelay = arguments[0].fadeDelay;
            if (arguments[0].displayDelay) this.displayDelay = arguments[0].displayDelay;
        }

        if (this.providerLogos.length == 0) return;

        this._elements.containerDiv = $("#provider_logos");
        if (this._elements.containerDiv.length) {
            this.providerLogos = shuffle(this.providerLogos);
            this._elements.logos = this._elements.containerDiv.children();
            this._numOfLogos = this._elements.logos.length;

            // preload and heights
            for (var i = 0; i < this.providerLogos.length; i++) {
                var logo = this.providerLogos[i];
                logo.filename = "/images/small_logos/" + logo.filename;
                $.preLoadImages(logo.filename);

                var ratio = (this._elements.containerDiv.width() - 50) / logo.width;
                logo.width = ratio * logo.width;
                //logo.height = ratio * logo.height;
            }

            this._numOfLogos && this.showNext();
        }

    },
    showNext: function () {
        for (var i = 0; i < this._numOfLogos; i++) {
            this.drawNext(this._elements.logos.eq(i));
        }
        this._elements.containerDiv.fadeIn(this.fadeDelay).delay(this.displayDelay).fadeOut(this.fadeDelay, jQuery.proxy(this.showNext, this));
    },
    drawNext: function (elem) {
        if (this._nextIndex == this.providerLogos.length - 1) this._nextIndex = 0;
        else this._nextIndex++;
        var logo = this.providerLogos[this._nextIndex];
        elem.attr("href", logo.link);
        elem.children().first().attr({ src: logo.filename, alt: logo.name, width: logo.width, height: logo.height });
    }
};
