//jQuery element exists
function IsElement(thisElement) {
    if (thisElement.length && thisElement.not(':hidden')) {
        return true;
    }
    else {
        return false;
    }
}

//jQuery tab
function WiseTabInit() {
    $(document).ready(function() {
        $('body').find('div[id^=WiseTabSet]').each(function() {
            WiseTabSet($(this));
        });
    });
}

function WiseTabSet(thisDiv) {
    $(document).ready(function() {
        var thisTab = "#" + $(thisDiv).attr('id');
        $(thisTab + " .WiseTabPanel").hide();
        $(thisTab + " ul.WiseTabHeader li:first").addClass("WiseTabActive").show();
        $(thisTab + " .WiseTabPanel:first").show();
    });
}

$(document).ready(function() {
    $("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).find("a").attr("href");
        //$(activeTab).show();
        $(activeTab).fadeIn(1); //Fixes bug in IE6 rendering vertical CSS borders
        return false;
    });
});

//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($("#MgrMenuTree"))) {
        $("#MgrMenuTree").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"
        });
    }
})

// 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";
    }
}
