﻿/*
Name:       Default.js
Purpose:    Default javascripts
Created:    2009-10-15; Internetfabriken
Modified:   2009-10-24; Internetfabriken
Comment:     
*/

// Get a cookie by name
function GetCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) return GetCookieVal(j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}

// Get Cookie value
function GetCookieVal(offset) {
    var endstr = document.cookie.indexOf(";", offset);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

// Set cookie by name
function SetCookie(name, value) {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape(value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
}

// Delete cookie by name
function DeleteCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1000000000);
    SetCookie(name, '', exp.toGMTString());
}

// Show a layer
function ShowLayer(targetId) {
    try {
        var target = $$(targetId);
        target.style.display = 'block';
    }
    catch (err) { }
}

// Hide a layer
function HideLayer(targetId) {
    try {
        var target = $$(targetId);
        target.style.display = 'none';
    }
    catch (err) { }
}

// Show/Hide a layer
function ToggleLayer(targetId) {
    try {
        var target = $$(targetId);
        if (target.style.display == 'block') target.style.display = 'none';
        else target.style.display = 'block';
    }
    catch (err) { }
}

// Clear textbox if it's contents is the default value
function ClearTextBox(tb, defaultValue) {
    if (tb.value == defaultValue) {
        tb.value = "";
    }
}

// Reset textbox value to default value if it's contents is empty
function ResetTextBox(tb, defaultValue) {
    if (tb.value == "") {
        tb.value = defaultValue;
    }
}

// Submit a button on enter keys
function XForm_SubmitOnEnter(buttonName, event) {
    var key = 0;
    if (window.event) key = window.event.keyCode;
    else if (event) key = (event.charCode) ? event.charCode : ((event.which) ? event.which : event.keyCode);

    if (key == 13) {

        // Find submit button and trigger it
        var all = document.getElementsByTagName("input");
        for (var i = 0; i < all.length; i++) {
            if (all[i].type == "submit" && all[i].name == buttonName) {
                var submitButton = all[i];
                //alert('click');
                //submitButton.click();
                return false;
            }
        }
    }

    return true;
}

// Treat rel="external" as target="_blank"
function EnableExternalLinks() {
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
    }
}
window.onload = EnableExternalLinks;