﻿// BEGIN: Rollovers
function InitRollovers() {
    var enableRollovers = true;

    if (enableRollovers === true) {
        var $images = $("img, input:image");
        var len = $images.length;
        for (i = 0; i < len; i++) {
            ProcessImage($images[i]);
        }
    }
}
Sys.Application.add_load(InitRollovers);


function GetFileNameWithExtension(str) {
    var fileName = GetFileName(str);
    var ext = GetExtension(str);
    return fileName + ((ext != null && ext.length > 0) ? "." + ext : "");
}

function GetFileName(str) {
    var fileName = str.substring(str.lastIndexOf('/') + 1, str.lastIndexOf('.'));
    return CleanFileName(fileName);
}

function CleanFileName(str) {
    var fileName = str;
    if (fileName != null && fileName.endsWith("_over")) {
        fileName = fileName.substring(0, fileName.length - 5);
    }
    return fileName;
}

function GetExtension(str) {
    return str.substring(str.lastIndexOf('.') + 1, str.length)
}

function ProcessImage(img) {
    
    var sFullName = GetFileNameWithExtension(img.src);
    var sFileName = GetFileName(img.src);
    var sExtension = GetExtension(img.src);
    var sPath = img.src.substring(0, img.src.lastIndexOf("/") + 1);

    if (sFileName.length < 3)
        return;

    if (sFileName.substring(0, 3).toLowerCase() != "btn")
        return;

    if (img.id == null || img.id == "" || img.id == "null" || img.id == "undefined")
        img.id = sFileName + "_" + i;

    if (img.id.length <= 0)
        return;

    var imgOff = new Image();
    imgOff.src = sPath + sFullName; 

    var imgOn = new Image();
    imgOn.src = sPath + sFileName + "_over." + sExtension;

    var $img = $(img);
    $img.data("imgOn", imgOn.src);
    $img.data("imgOff", imgOff.src);

    $img.unbind('Rollovers');
    $img.bind("mouseover.Rollovers", function () {
        this.src = $(this).data("imgOn");
    });
    $img.bind("mouseout.Rollovers", function () {
        this.src = $(this).data("imgOff");
    });
}
// END: Rollovers
