﻿// Add color-handler for main- and sitemenuitems, so user only have to change it once
function getColorIn() {
    return "Red";
}
function getColorOut() {
    return "White";
}

// Print contents of an specified element
function printContent(strID) {

    var content = document.getElementById(strID);
    var varPrnt = window.open('', '', 'left=100,top=100,width=300,height=600,toolbar=0,scrollbars=0,status=0');

    varPrnt.document.write(content.innerHTML);
    varPrnt.document.close();
    varPrnt.focus();
    varPrnt.print();
    varPrnt.close();

}

// Retrieves querystring from client URL
function retrieveQuerystring(qString) {

    var bString = window.location.search.substring(1);
    var qArray = bString.split("&");

    for (i = 0; i < qArray.length; i++) {
        var val = qArray[i].split("=");
        if (val[0] == qString) {
            return val[1];
        }
    }

}

// Make list item with correct errorpath to show on error pages
function makelistitem() {

    var res = 'Klik <a href="#" onclick="javascript:openErrorWindow(';
    var qst = retrieveQuerystring("from");

    if (qst == null) {
        qst = retrieveQuerystring("aspxerrorpath");
        if (qst == null) {
            qst = 'no_path_defined';
        }
    }
    res = res + "'" + qst + "'";
    res = res + ');">her</a> for at forsøge at udfylde en rapport, som du kan sende til os <i>(Afhængig af, hvad der er grunden til at du ser denne side, er det måske ikke muligt at åbne formularen. Hvis det er tilfældet, beder vi dig ringe til os)</i>';

    return res;

}

// Function to go to the root folder and return a path based on that
function returnServerPath(addToRootFolder) {
    var bUrl = ""+window.location;
    var http = bUrl.split('//')[1];
    var host = http.split('/')[0];
    var path = "http://" + host + addToRootFolder;
    return path;
}

// Make error window reference
function openErrorWindow(from) {
    var pat;
    if (from) { pat = '/forms/respond.aspx?from=' + from; }
    else { pat = '/forms/respond.aspx'; }
    var url = returnServerPath(pat);
    var win = window.open(url, '', 'left=100,top=100,width=970,height=740,toolbar=0,scrollbars=0,status=0');
}

// Retrieve a java session cookie
function retrieveCookie(cookieName) {

    var search = cookieName + "=";
    var cookieValue = "";

    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = document.cookie.indexOf(";", offset);
            if (end == -1) end = document.cookie.length;
            cookieValue = unescape(document.cookie.substring(offset, end));

            return cookieValue;
        }
    }

}

// Handle watermark on pages with a element named 'printArea'
addLoadEvent(

    function changeBackground() {

        var currentWatermark = retrieveCookie("watermark");
        var pathForWatermark = "";

        if (currentWatermark == null) {
            pathForWatermark = "../../styles/images/watermarks/juuls.jpg";
        } else {
            pathForWatermark = "../../styles/images/watermarks/" + currentWatermark;
        }
        if (document.getElementById("printArea")) {
            document.getElementById("printArea").style.backgroundImage = "url('" + pathForWatermark + "')";
            document.getElementById("printArea").style.backgroundRepeat = "no-repeat";
        }
    }

);

// Function to handle multiple onload javascript-functions
function addLoadEvent(event) {

    var oldonload = window.onload;

    if (typeof window.onload != 'function') {
        window.onload = event;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            event();
        }
    }

}

// Add event that colors mainmenu on every page load
addLoadEvent(
    function colorOnLoad() {
        var colorIn = getColorIn();
        setMenuItemColor(colorIn);
    }
);

// Handle mainmenu hover colors
function handleMainMenu(hovertype, element) {

    var elm = document.getElementById(element);

    if (elm) {
        var colorIn = getColorIn();
        var colorOut = getColorOut();

        if (hovertype == 'in') {
            elm.style.color = colorIn;
        }
        if (hovertype == 'out') {
            elm.style.color = colorOut;
        }
        setMenuItemColor(colorIn);
    }

}

// Function to make sure, that selected mainmenuitem stays colored
function setMenuItemColor(sColor) {

    var selectedItem = retrieveQuerystring("menu");

    var itemName = "mItem" + selectedItem;
    var elm = document.getElementById(itemName);

    if (elm) {
        elm.style.color = sColor;
    }

}

// Function to clear java-cookies when user clicks on mainmenu
function clearCookies() {
    document.cookie = 'watermark=juuls.jpg';
    document.cookie = 'category=';
    document.cookie = 'submenu=';
}

// Handle sitemenu hover colors
function handleSiteMenu(hovertype, element) {

    var elm = document.getElementById(element);
    
    if (elm) {
        var colorIn = getColorIn();
        var colorOut = getColorOut();

        if (hovertype == 'in') {
            elm.style.color = colorIn;
        }
        if (hovertype == 'out') {
            elm.style.color = colorOut;
        }
    }

}

// Add loadevent to select correct submenuitem
addLoadEvent(

    function selectSubMenu() {

        var s = retrieveCookie('submenu');

        if (s) {
            var elm = document.getElementById(s);

            if (elm) {
                elm.style.color = "#A70303";
                //elm.style.fontSize = "14px";//
                elm.style.fontWeight = "600";
                elm.style.backgroundColor = "#EAEAEA";
            }
        }

    }

);


// TESTFUNCTION
    function test(watermark, category) {
        window.location = ('../koerekort/?menu=2');
        setCookies(watermark, category);
        
    }

// Function to set cookies on submenu click
function setCookies(watermark, category) {
    var wat = 'watermark=' + watermark;
    var cat = 'category=' + category;
    document.cookie = (wat);
    document.cookie = (cat);
}

// Function to change window.location on demand
function changeLocation(urlLocation) {
    window.location = urlLocation;
}
function changeLocationTo(urlLocation) {
    window.location = 'http://www.juulgruppen.dk/' + urlLocation;
}

// Function to interact with activity-boxes 
function changeActivityBox(hovertype, element) {

    var type;    
    if (hovertype == 'in') { 
        type = 'd'; 
    }
    if (hovertype == 'out') { 
        type = 'r'; 
    }
    if (document.getElementById(element)) {
        changeClassNames(element, type, 'b');
        changeClassNames(element, type, 'div');
    }

}

// Function to change classes on activity-boxes
function changeClassNames(element, extension, tagname) {

    var elm = document.getElementById(element);
    if (elm) {

        var arr = elm.getElementsByTagName(tagname);
        for (var i = 0; i < (arr.length); i++) {
            var obj = arr[i];
            var cls = obj.className;
            if (cls) {
                var len = cls.length;
                var sub = cls.substring((len + 1) - len);
                var ncl = extension + sub;
                obj.className = ncl;
            }
        }
    }

}

// Add loadevent, that changes an h3 i a printArea by extending innerhtml with information about category
addLoadEvent(

    function addCategory() {

        var elm = document.getElementById("pageHeader");

        if (elm) {

            var cat = retrieveCookie("category");

            if (cat) {

                var oldtxt = elm.innerHTML;
                var newtxt = oldtxt + ', kategori ';
                var pushed = 'false';

                if (cat == '""') { newtxt = oldtxt; pushed = 'true'; }
                if (cat == 'Motorcykel') { newtxt = newtxt + 'A'; pushed = 'true'; }
                if (cat == 'Personbil') { newtxt = newtxt + 'B'; pushed = 'true'; }
                if (cat == 'Trailer') { newtxt = newtxt + 'B/E'; pushed = 'true'; }
                if (cat == 'Taxa') { newtxt = newtxt + 'B/EP'; pushed = 'true'; }
                if (cat == 'Lastbil') { newtxt = newtxt + 'C'; pushed = 'true'; }
                if (cat == 'Vogntog') { newtxt = newtxt + 'C/E'; pushed = 'true'; }
                if (cat == 'Bus') { newtxt = newtxt + 'D'; pushed = 'true'; }
                if (cat == 'Bus vogntog') { newtxt = newtxt + 'D/E'; pushed = 'true'; }
                if (pushed == 'false') { newtxt = oldtxt + ', ' + cat; }

                elm.innerHTML = newtxt;

            }
        }
    }

);

// Previous Webmasters code for handling image-swapping on frontpage
function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

// Functions below is for handling all java on front-page

// Function to swap images and show menu
function swapImageAndShowMenu(swapWhat) {

    var itmSrc = "";
    var urlSrc = "";

    if (swapWhat == 'AMU') {
        MM_swapImage('AMU', '', 'styles/images/fp-amu-over.gif', 1);
    }
    if (swapWhat == 'Juuls') {
        MM_swapImage('Juuls', '', 'styles/images/fp-juuls-over.gif', 1);
    }

    //MM_swapImage('Hand', '', 'styles/images/hand-right.gif', 1);

    for (i = 1; i < 8; i++) {    
    
        if (swapWhat == 'AMU') {
            itmSrc = "amuItm" + i;
            urlSrc = "amuUrl" + i;
        }
        if (swapWhat == 'Juuls') {
            itmSrc = "juulsItm" + i;
            urlSrc = "juulsUrl" + i;        
        }
    
        var elmSrc = document.getElementById(itmSrc);
        var elmUrl = document.getElementById(urlSrc);
        var menNam;
        
        if (elmSrc) {
            menNam = elmSrc.innerHTML;
        } else {
            menNam = "ERROR!"
        }
        
        var itmDes = "mItem" + i;
        var elmDes = document.getElementById(itmDes);

        if (elmDes) {
            elmDes.innerHTML = menNam;
            if (elmUrl) {
                elmDes.href = elmUrl.innerHTML;
            }
        }
        
    }     
}

// Function to clear mainmenu-items
function clearFPMainMenu() {
    
    for (i = 0; i < 8; i++) {
        var itm = "mItem" + i;
        var elm = document.getElementById(itm);
        if (elm) {
            elm.innerHTML = "";
        }
    } 
}

// Function to highlight borders on fp-images
function blinkFPImageBorders() {
    var interval = 500;
    // TODO: tweak script with an "for i=0 to 6, i++"
    window.setTimeout('setImageBorderColor("on", "amu");', (interval * 1));
    window.setTimeout('setImageBorderColor("on", "juuls");', (interval * 1));

    window.setTimeout('setImageBorderColor("off", "amu");', (interval * 2));
    window.setTimeout('setImageBorderColor("off", "juuls");', (interval * 2));

    window.setTimeout('setImageBorderColor("on", "amu");', (interval * 3));
    window.setTimeout('setImageBorderColor("on", "juuls");', (interval * 3));

    window.setTimeout('setImageBorderColor("off", "amu");', (interval * 4));
    window.setTimeout('setImageBorderColor("off", "juuls");', (interval * 4));

    window.setTimeout('setImageBorderColor("on", "amu");', (interval * 5));
    window.setTimeout('setImageBorderColor("on", "juuls");', (interval * 5));

    window.setTimeout('setImageBorderColor("off", "amu");', (interval * 6));
    window.setTimeout('setImageBorderColor("off", "juuls");', (interval * 6));
    
}

// Set image border color
function setImageBorderColor(typ, img) {
    var elm;
    if (img) {
        if (img == "amu") {
            elm = document.getElementById("buttonAMU");
        }
        if (img == "juuls") {
            elm = document.getElementById("buttonJuuls");
        }
        if (elm) {
            if (typ == "on") {
                elm.style.border = "solid 2px white";
            }
            if (typ == "off") {
                elm.style.border = "solid 2px black";
            }
        }       
    }
}



//function clearAllElements() {

//    var doc = document.getElementsByName('uItem');
//    
//    for (var i = 0; i < doc.length; i++) {
//        doc[i].style.color = "#A70303";
//        doc[i].style.fontWeight = "bold";
//        doc[i].style.backgroundColor = "White";
//    }

//}

//for (var loop = 0; loop < document.all.length; ++loop)
//    elements += "<br />" + document.all[loop].tagName;
//pText.innerHTML += elements;
//alert(elements);



//<script type="text/javascript"> 
//function DisplayFormValues() 
//{ 
//var str = ''; 
//var elem = document.getElementById('frmMain').elements; 
//for(var i = 0; i < elem.length; i++) { str += "<b>Type:</b>" + elem[i].type + "&nbsp&nbsp"; str += "<b>Name:</b>" + elem[i].name + "&nbsp;&nbsp;"; str += "<b>Value:</b><i>" + elem[i].value + "</i>&nbsp;&nbsp;"; str += "<BR>"; } document.getElementById('lblValues').innerHTML = str; } </script>

//function setMenuCookie(item) {
//    var cName = "menuitem=" + item;
//    document.cookie = (cName);
//    setMenuItem(item);
//}







//function determineBrowser() {
//    if (getBrowserName() == "Microsoft Internet Explorer") 
//    {
//        hideBrowserError();
//    }
//     else 
//    {
//        showBrowserError();
//    }

//}
//function getBrowserName() {
//    var browserName = navigator.appName;
//    return browserName
//}

//function showBrowserError() {
//    var v = document.getElementById("wrongBrowserNotice");
//    if (v.style.visibility == 'hidden') {
//        v.style.visibility = 'visible';
//    }
//}
//function hideBrowserError() {
//    var v = document.getElementById("wrongBrowserNotice");
//    if (v.style.visibility == 'visible') {
//        v.style.visibility = 'hidden';
//    }
//}
