﻿/// <reference path="jquery-1.6.4.min.js" />

function ApplyHoverCommands(imgDimensions)
{
    //Default.aspx buttons.
    $(".tealButton").hover(
    //mouseover
        function ()
        {
            var imgId = $(this).attr('id');
            var refId = "#ref_" + imgId.substr(4, 3);

            if (imgDimensions == 'ie6') {
                $(this).animate({ top: '-5px' }, 100, 'linear');
                try {
                    $(refId).animate({ top: '0px' }, 100, 'linear');
                }
                catch (e) {
                    alert(e);
                }
            }
            else if (imgDimensions == '99') {
                $(this).animate({ top: '-5px' }, 100, 'linear');
                try {
                    $(refId).animate({ top: '-5px' }, 100, 'linear');
                }
                catch (e) {
                    alert(e);
                }
            }
            else if (imgDimensions == '66') {
                $(this).animate({ top: '-5px' }, 100, 'linear');
                $(refId).animate({ top: '0px' }, 100, 'linear');
            }
        },
    //mouseout
        function ()
        {
            var imgId = $(this).attr('id');
            var refId = "ref_" + imgId.substr(4, 3);

            if (imgDimensions == 'ie6') {
                $(this).animate({ top: '0px' }, 100, 'linear');
                $("#" + refId).animate({ top: '-5px' }, 100, 'linear');
            }
            else if (imgDimensions == '99') {
                $(this).animate({ top: '0px' }, 100, 'linear');
                $("#" + refId).animate({ top: '-10px' }, 100, 'linear');
            }
            else if (imgDimensions == '66') {
                $(this).animate({ top: '0px' }, 100, 'linear');
                $("#" + refId).animate({ top: '-5px' }, 100, 'linear');
            }
        }
    );

}

function GetImageSet(src)
{
    //Returns a string such as "Set1".
    var retVal = "";
    var srcArray = src.split("/");
    if (srcArray.length != 0 || srcArray != null) {

        for (var i = 0; i < srcArray.length; i++) {
            //iterate through each segment of the array.
            //find the segment that contains the "set"
            if (srcArray[i].indexOf('Set') >= 0) {
                retVal = srcArray[i];
            }
        }

    }
    return retVal;
}

function ForceImageColour(fileName, colour)
{
    //used in place of the ToggleImageColour for onload events.
    var retVal = "";
    if (colour == 'Purple') {
        if (fileName.indexOf('Teal') >= 0) {
            retVal = "Purple_" + fileName.split("Teal_")[1];
        }
        else if (fileName.indexOf('Purple') >= 0)
            retVal = fileName;
    }

    else if (colour == 'Teal') {
        if (fileName.indexOf('Teal') >= 0)
            retVal = fileName;
        else if (fileName.indexOf('Purple') >= 0)
            retVal = "Teal_" + fileName.split("Purple_")[1];
    }

    return retVal;
}


function ToggleImageColour(fileName, forceTeal)
{
    //Will toggle a filename between its teal and purple counterparts.
    //Can use the "forceTeal" flag to force an image to switch to teal.
    var retVal = "";
    var tempArray;
    if (!forceTeal) {
        if (fileName.indexOf('Teal') >= 0) {
            //Change the Teal file to its equivalent Purple file.
            tempArray = fileName.split("Teal_");
            retVal = "Purple_" + tempArray[1];

        }
        else if (fileName.indexOf('Purple') >= 0) {
            //Change the Purple file to its equivalent Teal file.
            tempArray = fileName.split("Purple_");
            retVal = "Teal_" + tempArray[1];
        }
    }

    else {
        if (fileName.indexOf('Teal') >= 0) {
            //Change the Teal file to its equivalent Purple file.
            tempArray = fileName.split("Teal_");
            retVal = "Teal_" + tempArray[1];

        }
        else if (fileName.indexOf('Purple') >= 0) {
            //Change the Purple file to its equivalent Teal file.
            tempArray = fileName.split("Purple_");
            retVal = "Teal_" + tempArray[1];
        }
    }
    return retVal;
}

function ChangeImgSrc(imgID, imgSrc)
{
    //Changes an image's source value.
    $(imgID).attr('src', imgSrc);
}

function ToggleSliderButton(obj)
{
    //--------------Slider Button toggle------------------
    //
    //  Used for the img tag inside the slider's native A tags.
    //  The img tags have no bearing on the slider's navigation functions,
    //  this is purely used to toggle the corresponding navs' child img
    //  to Purple (to indicate active), and to change any other nav images
    //  back to teal (to indicate inactive).
    //
    //----------------------------------------------------
    var objID = $(obj).attr('id');              //eg: 'btn_1'
    var refId = "#ref_" + objID.substr(4, 3);   //eg: 'ref_1'
    var objectNumber = objID.substr(4, 1);      //eg: '1'

    if ($("#" + objID).attr('src').indexOf('Purple') >= 0) //This means the button being clicked is already selected. Ergo, do nothing.
        return;
    else {
        //cycle through each of the buttons.
        $("img[id*='btn_']").each(function (index, element)
        {
            var src = $(element).attr('src');   //get the elements 'src' attribute.
            var fileName = GetFileName(element);

            //IF...the current iterated element matches the original object.
            if ($(element).attr('id') == objID) {
                //the current element in the iteration matches the clicked object.
                //This is the object we want to change, as well as its reflection (if applicable).
                ChangeImgSrc($(element), 'Images/Buttons/' + GetImageSet(src) + '/' + ToggleImageColour(GetFileName(element), false));
                if ($(refId).attr('id') != null) //Change reflection too.
                {
                    ChangeImgSrc(refId, 'Images/Buttons/' + GetImageSet(src) + '/' + ToggleImageColour(GetFileName(refId), false));
                }
            }
            else {
                //changes any existing "purple" buttons (and their reflections) back to blue.
                var reflectionNumber = parseInt(index + 1);
                ChangeImgSrc($(element), 'Images/Buttons/' + GetImageSet(src) + '/' + ToggleImageColour(GetFileName(element), true));
                if ($("#ref_" + reflectionNumber.toString()).attr('id') != null) { //Change reflection too.
                    ChangeImgSrc($("#ref_" + reflectionNumber.toString()), 'Images/Buttons/' + GetImageSet(src) + '/' + ToggleImageColour(GetFileName("#ref_" + reflectionNumber.toString()), true));
                }
            }
        });
    }
}

function GetFileName(obj)
{
    var fileName = "";
    if ($(obj).attr('src') != null) {
        var srcArray = $(obj).attr('src').split("/");
        fileName = srcArray[srcArray.length - 1];
    }
    return fileName;
}


function SetActiveSliderTab(obj)
{
    var objID = $(obj).attr('id');              //eg: 'btn_1'
    if (objID != null)
        var refId = "#ref_" + objID.substr(4, 3);   //eg: 'ref_1'
    $("img[id*='btn_']").each(
    //cycle through each of the slider's buttons.
    function (index, element)
    {
        if ($(element).attr('id') == objID) {
            //this is now the active tab.
            //set to purple.

            var fn = GetFileName(element);
            //Force purple.
            ChangeImgSrc(element, 'Images/Buttons/' + GetImageSet($(element).attr('src')) + '/' + ForceImageColour(GetFileName(element), 'Purple'));

            if ($(refId).attr('src') != -1) //Change reflection as well.
            {
                ChangeImgSrc(refId, 'Images/Buttons/' + GetImageSet($(element).attr('src')) + '/' + ForceImageColour(GetFileName(refId), 'Purple'));
            }
        }
        else {
            //Set image to Teal.
            ChangeImgSrc(element, 'Images/Buttons/' + GetImageSet($(element).attr('src')) + '/' + ForceImageColour(GetFileName(element), 'Teal'));
            if ($(refId).attr('src') != -1) //Change reflection as well.
            {
                var reflectionNumber = parseInt(index + 1);
                ChangeImgSrc("#ref_" + reflectionNumber.toString(), 'Images/Buttons/' + GetImageSet($(element).attr('src')) + '/' + ForceImageColour(GetFileName(refId), 'Teal'));
            }
        }
    }
);
}


function ShowLarge(imgName)
{
    window.open("largePic.htm?file=" + imgName, "Payslip", "height=630,width=500,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbars=no");
}


function SetActiveNavTab()
{
    $(".menu tr td a").each(function (index, element)
    {
        if (location.href.indexOf($(element).attr('href')) != -1) {
            $(element).css('background-color', '#bfcbd6');
            $(element).css('color', '#465c71');
        }
    });
}

function OpenNotification()
{
    $("div[id*='div_Notifier']").dialog({ resizable: false});

    //$("div[id*='div_Notifier']").dialog("option", "autoOpen", true);
}
