//jQuery element exists
function IsElement(thisElement) {
    if (thisElement.length && thisElement.not(':hidden')) {
        return true;
    }
    else {
        return false;
    }
}

function pageLoad() {
    //jQuery tab
    $("ul.WiseTabHeader li").click(function () {
        var thisTab = "#" + $(this).parent().parent().attr("id");
        $(thisTab + " ul.WiseTabHeader li").removeClass("WiseTabActive");
        $(this).addClass("WiseTabActive");
        $(thisTab + " .WiseTabPanel").hide();
        var activeTab = "#" + $(this).attr("title");
        $(activeTab).fadeIn(1); //Fixes bug in IE6 rendering vertical CSS borders
        return false;
    });
    //Read more link
    $('.ReadMore').click(function () {
        $(this).dequeue();
        WiseTabSet('#WiseTabSet1');
    });
}

//jQuery tab
function WiseTabSet(thisDiv) {
    $(document).ready(function () {
        var thisTab = "#" + $(thisDiv).attr('id');
        $(thisTab + " .WiseTabPanel").hide();
        $(thisTab + " ul.WiseTabHeader li").removeClass("WiseTabActive");
        $(thisTab + " ul.WiseTabHeader li:first").addClass("WiseTabActive").show();
        $(thisTab + " .WiseTabPanel:first").show();
    });
}

//jQuery menu
$(document).ready(function () {
    $("ul.HorizMenu li").hover(function () {
        $(this).addClass("hover");
        $('ul:first', this).css('visibility', 'visible');
    }, function () {
        $(this).removeClass("hover");
        $('ul:first', this).css('visibility', 'hidden');
    });
    $("ul.HorizMenu li ul li:has(ul)").find("a:first").append(" &raquo; ");
});

$(document).ready(function () {
    $("ul.VertMenu li").hover(function () {
        $(this).addClass("hover");
        $('ul:first', this).css('visibility', 'visible');
    }, function () {
        $(this).removeClass("hover");
        $('ul:first', this).css('visibility', 'hidden');
    });
    $("ul.VertMenu li ul li:has(ul)").find("a:first").append(" &raquo; ");
});

//jQuery tree
$(document).ready(function () {
    if (IsElement($("#ShpMenuTree"))) {
        $("#ShpMenuTree").treeview({
            collapsed: true,
            animated: "fast",
            control: "#ShpMenuControl",
            persist: "location"
        });
    }
})

$(document).ready(function () {
    if (IsElement($("#ShpMenuTreeRestrict"))) {
        $("#ShpMenuTreeRestrict").treeview({
            collapsed: true,
            animated: "fast",
            control: "#ShpMenuControl",
            persist: "location"
        });
    }
})

$(document).ready(function () {
    if (IsElement($("#MgrMenuTree"))) {
        $("#MgrMenuTree").treeview({
            collapsed: true,
            animated: "fast",
            control: "#MgrMenuControl",
            persist: "location"
        });
    }
})

$(document).ready(function () {
    if (IsElement($("#MgrMenuTreeRestrict"))) {
        $("#MgrMenuTreeRestrict").treeview({
            collapsed: true,
            animated: "fast",
            control: "#MgrMenuControl",
            persist: "location"
        });
    }
})

$(document).ready(function () {
    if (IsElement($("#MgrGalleryTree"))) {
        $("#MgrGalleryTree").treeview({
            collapsed: true,
            animated: "fast",
            control: "#MgrGalleryControl",
            persist: "location"
        });
    }
})

//jQuery Zoom
$(document).ready(function () {
    if (IsElement($(".jqzoom"))) {
        $(".jqzoom").jqzoom({
            zoomType: "standard", zoomWidth: 700, zoomHeight: 600, lens: true, preloadImages: true, title: false, position: "right", xOffset: 10, alwaysOn: false
        });
    }
});

$(document).ready(function () {
    if (IsElement($(".jqzoomInner"))) {
        $(".jqzoomInner").jqzoom({
            zoomType: "innerzoom", preloadImages: true, title: false
        });
    }
});

function swapZoomImage(imageName, destId) {
    if (imageName != '') {
        document.getElementById(destId).src = imageName;
    }
}

function zoomOff() {
    $(document).ready(function () {
        $('.zoomWrapper').css({
            display: 'none'
        });
        $('.zoomPup').css({
            opacity: 0.0,
            cursor: 'pointer'
        });
        $('.hoverImage').css({
            display: 'none'
        });
        $('#zoomThumb ul li a').click(function () {
            $('#zoomThumb ul li a').removeClass('zoomThumbActive');
            $(this).addClass('zoomThumbActive');
        });
    });
}

function zoomOn() {
    $(document).ready(function () {
        $('.zoomWrapper').css({
            display: 'block'
        });
        $('.zoomPup').css({
            opacity: 0.6,
            cursor: 'crosshair'
        });
        $('.hoverImage').css({
            display: 'block'
        });
    });
}

// Check cookies
function createCookie(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function areCookiesEnabled() {
    var cookiesEnabled = false;
    createCookie("checkCookie", "detect", 1);
    if (readCookie("checkCookie") != null) {
        cookiesEnabled = true;
        eraseCookie("checkCookie");
    }
    return cookiesEnabled;
}

if (!areCookiesEnabled()) {
    document.location = "/error/NoCookie.htm";
}

// MW: 25/4/2007; modified 24/8/2009;
// Reset asp.net form script
function resetForm() {
    // This will reset file field
    document.getElementById('aspnetForm').reset();
    var str;
    var elem = document.getElementById('aspnetForm').elements;
    // Loop through elements and reset
    for (var i = 0; i < elem.length; i++) {
        if (elem[i].type == "checkbox" || elem[i].type == "radio") { document.getElementById(elem[i].id).checked = false; }
        if (elem[i].type == "select-one" || elem[i].type == "select-multiple") { document.getElementById(elem[i].id).selectedIndex = 0; }
        if (elem[i].type == "password" || elem[i].type == "text") { document.getElementById(elem[i].id).value = ""; }
        if (elem[i].type == "textarea") { document.getElementById(elem[i].id).value = ""; }
        // Output element details if required
        //str += elem[i].id + " - " + elem[i].type + "<br>";
    }
    // Find first input field and set focus
    for (i = 0; i < elem.length; i++) {
        if (elem[i].type == "checkbox" || elem[i].type == "select-one" || elem[i].type == "text" || elem[i].type == "textarea") {
            document.getElementById(elem[i].id).focus();
            break;
        }
    }
    // Place <div id="theElements"></div> on page to display elements
    //document.getElementById("theElements").innerHTML = str;
    return true;
}

// Reset asp.net form script
function resetControls() {
    // This will reset file field
    document.getElementById('aspnetForm').reset();
    var str;
    var elem = document.getElementById('aspnetForm').elements;
    // Loop through elements and reset
    for (var i = 0; i < elem.length; i++) {
        if (elem[i].type == "checkbox" || elem[i].type == "radio") { document.getElementById(elem[i].id).checked = false; }
        if (elem[i].type == "select-one" || elem[i].type == "select-multiple") { document.getElementById(elem[i].id).selectedIndex = 0; }
        if (elem[i].type == "password" || elem[i].type == "text") { document.getElementById(elem[i].id).value = ""; }
        if (elem[i].type == "textarea") { document.getElementById(elem[i].id).value = ""; }
    }
    return true;
}

// MW: 26/4/2007
// Set focus to first text input field on form
function focusForm() {
    var elem = document.getElementById('aspnetForm').elements;
    // Find first input field and set focus
    for (i = 0; i < elem.length; i++) {
        if (elem[i].type == "text" || elem[i].type == "text-area") {
            document.getElementById(elem[i].id).focus();
            break;
        }
    }
}

function popupWindow(referenceHTML, w, h, scroll, resize) {
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    windowProperties = "height=" + h + ",width=" + w + ",top=" + wint + ",left=" + winl + ",scrollbars=" + scroll + ", resizable=" + resize + "";
    reference = window.open(referenceHTML, 'refName', windowProperties)
    if (parseInt(navigator.appVersion) >= 4) { reference.window.focus(); }
}

function showStatus(sMsg) {
    window.status = sMsg;
    return true;
}

//Control for embedding flash
function FlashControl(ClsId, Url, Width, Height, AutoStart) {
    document.write('<object classid="' + ClsId + '" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + Width + '" height="' + Height + '">')
    document.write('<param name="movie" value="' + Url + '">')
    document.write('<param name="wmode" value="Transparent">')
    document.write('<param name="quality" value="high">')
    document.write('<param name="menu" value="false">')
    document.write('<embed src="' + Url + '" quality="high" pluginspage="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + Width + '" height="' + Height + '" wmode="Transparent" menu="False"></embed>')
    document.write('</object>')
}

//Function to display and hide panels
function toggleLayer(whichLayer) {
    if (document.getElementById) {
        var style2 = document.getElementById(whichLayer).style;
        style2.display = style2.display ? "" : "none";
    }
    else if (document.all) {
        var style2 = document.all[whichLayer].style;
        style2.display = style2.display ? "" : "none";
    }
    else if (document.layers) {
        var style2 = document.layers[whichLayer].style;
        style2.display = style2.display ? "" : "none";
    }
}
