
var ua = navigator.userAgent;
var is = {};
is.opera = ua.match(/opera/i) != null;
is.ie = ua.match(/MSIE/ig) != null && !is.opera;
is.iewin = is.ie && ua.match(/win/i) != null;
is.iemac = is.ie && ua.match(/mac/i) != null;
is.safari = ua.match(/safari/i) != null;
is.gecko = ua.match(/gecko/i) != null && !is.safari;

window.onload = function() {
    initEmailLinks();
    //OnClsChange('{EEFD8CF9-FD4D-4D27-B67D-AAA5D7FE1F9F}', 0); 
    if (Effect) {
        if ($('login-link')) Event.observe('login-link', 'click', function(e){
            Effect.toggle('login-form', 'blind', {
                afterFinish: function() {
                    Form.focusFirstElement('login-form');
                }
            });
        });
        if ($('subscribe-link')) Event.observe('subscribe-link', 'click', function(e){
            Effect.toggle('subscribe-form', 'blind', {
                afterFinish: function() {
                    Form.focusFirstElement('subscribe-form');
                }
            });
        });
    }
    
    initZebras();
}


/** Zebra stripes **/
function initZebras() {
    var parents = document.getElementsByClassName("zebra");
    $A(parents).each( function(parent) {
        var cs = parent.getElementsByTagName("li");
        for (var i=0; i<cs.length; i=i+2) {
            Element.addClassName(cs[i], "zebra-alternate");
        };
    });
}



/** Page subscription **/
var isPageSubscriptionBlinding = false;
function togglePageSubscriptionForm() {
    if (!isPageSubscriptionBlinding) {
        isPageSubscriptionBlinding = true;
        Effect.toggle( 'pagesubscription-container', "blind", { afterFinish: function() {
            isPageSubscriptionBlinding = false;
        }});
    }
}
function addPageSubscriber() {
    new Ajax.Request( '/tools/KCPSSubscribe', {
            postBody: Form.serialize('pagesubscription-form'),
            onSuccess: function( t ) {
                Element.update( 'pagesubscription-form', t.responseText );
            },
            onFailure: function( t ) {
                new Insertion.Top('pagesubscription-form', '<p>Error communicating with server.</p>');
            },
            on203: function( t ) {
                // not good data from form.
                new Insertion.Top('pagesubscription-form', t.responseText);
            }
        } ); 
}


/** Tip a friend **/
var isTipBlinding = false;
function toggleTipAFriendForm() {
    if (!isTipBlinding) {
        isTipBlinding = true;
        Effect.toggle( 'tip-container', "blind", { afterFinish: function() {
            isTipBlinding = false;
        }});
    }
}
function tipAFriend() {
    new Ajax.Request( '/tools/TipAFriend', {
            postBody: Form.serialize('tip-form'),
            onSuccess: function( t ) {
                Element.update( 'tip-form', t.responseText );
            },
            onFailure: function( t ) {
                new Insertion.Top('tip-form', '<p>Error communicating with server.</p>');
            },
            on203: function( t ) {
                // not good data from form.
                new Insertion.Top('tip-form', t.responseText);
            }
        } ); 
}





/** Calendar **/
function updateCalendar( id, url, y, m ) {
    new Ajax.Updater( id, url + "?mode=updateview&y=" + y + "&m=" + m, { duration:0.5 } );
}
var isBlinding = false;
function getCalendarEvents( id, url, y, m, d ) {
    if (!isBlinding) {
        isBlinding = true;
        Effect.BlindUp( id, { duration:0.5, fps:15, afterFinish: function() {
            isBlinding = false;
            new Ajax.Updater( id, url + "?mode=getevents&y=" + y + "&m=" + m + "&d=" + d, { onComplete:function() {
                Effect.BlindDown( id, { duration:0.5, fps:15, afterFinish: function() {
                    isBlinding = false;
                }});
            }});
        }});
    }
}

function size() {
    var body = document.getElementsByTagName("body")[0];
    if (body) {
        if (Element.hasClassName(body, "size2")) {
            body.className = body.className.replace(/size2/, "size3");
        } else if (Element.hasClassName(body, "size3")) {
            body.className = body.className.replace(/size3/, "");
        } else {
            Element.addClassName(body, "size2");
        }
    }
}


/** Add classnames coz' IE cant handle multiple ones in a selector, ie. .class1.class2 **/
function CombineIEClassNames() {
    var ua = navigator.userAgent;
    if (/msie [456]/i.test(ua) && !/opera/i.test(ua)) {
        if (document.getElementsByClassName) {
            $A(document.getElementsByClassName("PEti")).each( function(PE) {
                if (Element.hasClassName( PE, "w2")) {
                    if (Element.hasClassName( PE, "imageright"))
                        Element.addClassName( PE, "imageright_w2")
                    if (Element.hasClassName( PE, "imageleft"))
                        Element.addClassName( PE, "imageleft_w2")
                } else {
                     Element.removeClassName( PE, "imageright_w2")
                     Element.removeClassName( PE, "imageleft_w2")
                }
            });
        }
    }
}

function initEmailLinks() {
    var as = document.getElementsByTagName("a");
    for (var i=0; i<as.length; i++) {
        var a = as[i];
        if (a.href.match(/^mailto:spammenot-/)) {
            var href = "mailto:" + rot13(a.href.replace(/(mailto:|spammenot-)/g, '').replace(/\(a\)/, '@'));
            if (is.iewin) {
                var t = a.innerHTML;
                a.setAttribute("href", href);
                a.innerHTML = t;
            } else {
                a.setAttribute("href", href);
            }
        }
    }
}
function rot13(s) {
    var a = s.split('');
    var out = "";
    var s1 = "abcdefghijklmnopqrstuvwxyz".split('');
    var s2 = "nopqrstuvwxyzabcdefghijklm".split('');
    for (var p=0; p<a.length; p++) {
        var pos = s1.indexOf(a[p]);
        if (pos >= 0) {
            out += s2[pos];
        } else {
            out += a[p];
        }
    }
    return out;
}

Array.prototype.indexOf = function(val) {
    for (var i=0; i<this.length; i++) {
        if (this[i] == val) {
            return i;
        }
    }
    return -1;
}


function OnClsChange(guid, level) {
    var o = document.getElementById("shortcut" + (level+1));
    if (o) {
        o.options.length = 1;
        var parent = clsData[guid];
        if (parent && parent.items) for (var i=0; i<parent.items.length; i++) {
            o.options.length = i+2;
            o.options[i+1].text = clsData[parent.items[i]].name;
            o.options[i+1].value = parent.items[i];
        }
        if (guid)
            Element.show("shortcut" + (level+1) + "container");
        if (level == 1) {
            $("shortcut3").options.length = 0;
            $("shortcut3").selectedIndex = -1;
            Element.hide("shortcut3container");
        }
    }
    for (var i=level+1; i<=3; i++) {
        var o = $("shortcut" + i);
        if (o && o.options.length <= 1) {
            Element.hide("shortcut" + i + "container");
        }
    }
}

var clsData = [];
clsData["{AD980D46-8BEC-406A-955F-AA5ACE25978B}"] = { name:"Test", items:["{66328785-5694-4CA9-8BFE-66054C34D768}","{732542B2-9EAE-4D9E-9505-B4892FAC8A93}","{7A42D0B3-D1C4-4A10-AB64-87FA07C50AC7}","{6590EADC-4C44-487B-8BA0-33DEE945697D}"] };
    clsData["{66328785-5694-4CA9-8BFE-66054C34D768}"] = { name:"Dipp", items:["{4927864C-60F5-4349-A612-2611CA73C29B}","{453CD982-1D2D-4C7D-BF4A-E71A0C7633A7}","{9C99358F-561A-4027-A366-71E89AA97826}","{B784CEEC-7B77-430A-A229-7C57073A6B3A}"] };
        clsData["{4927864C-60F5-4349-A612-2611CA73C29B}"] = { name:"Flipp", items:[] };
        clsData["{453CD982-1D2D-4C7D-BF4A-E71A0C7633A7}"] = { name:"Dropp", items:[] };
        clsData["{9C99358F-561A-4027-A366-71E89AA97826}"] = { name:"Flopp", items:[] };
        clsData["{B784CEEC-7B77-430A-A229-7C57073A6B3A}"] = { name:"Dripp", items:[] };
    clsData["{732542B2-9EAE-4D9E-9505-B4892FAC8A93}"] = { name:"Hopp", items:[] };
    clsData["{7A42D0B3-D1C4-4A10-AB64-87FA07C50AC7}"] = { name:"Dopp", items:[] };
    clsData["{6590EADC-4C44-487B-8BA0-33DEE945697D}"] = { name:"Hepp", items:[] };
clsData["{34D8824F-8BBD-424C-BAC6-5BF1C344EC98}"] = { name:"Overenskomst", items:["{3F6582EC-4031-451D-B93D-AD1273CBFCEC}"] };
    clsData["{3F6582EC-4031-451D-B93D-AD1273CBFCEC}"] = { name:"Vagtbetaling", items:[] };
clsData["{2A24215B-05FB-4AF0-9653-AFB1D00466DC}"] = { name:"Test 3", items:[] };
clsData["{4EC29D71-AECB-47AE-A26B-6ED146F09735}"] = { name:"Løn og pension", items:["{979FA201-A573-4BC2-8AEA-1FADCCD45F13}","{1ED5FE0C-2524-4E98-8C47-F8F7B93FF704}","{54388068-20D7-4193-85F8-3B1525659EFB}","{009C1D75-0C81-4DDE-932A-7670E9144531}","{C21B91C0-2B8D-42CB-AB07-98C6441D850C}","{0C5B3BF7-3951-4809-8291-17F58F0C64C7}"] };
    clsData["{979FA201-A573-4BC2-8AEA-1FADCCD45F13}"] = { name:"Hvad er aftalt?", items:["{05369D5F-A490-41A4-AC67-211ED22A3C24}"] };
        clsData["{05369D5F-A490-41A4-AC67-211ED22A3C24}"] = { name:"Ny løn", items:[] };
    clsData["{1ED5FE0C-2524-4E98-8C47-F8F7B93FF704}"] = { name:"Takster og honorar", items:[] };
    clsData["{54388068-20D7-4193-85F8-3B1525659EFB}"] = { name:"Hvad kan aftales?", items:[] };
    clsData["{009C1D75-0C81-4DDE-932A-7670E9144531}"] = { name:"Pensionsrådgivning", items:[] };
    clsData["{C21B91C0-2B8D-42CB-AB07-98C6441D850C}"] = { name:"Pensionsordninger", items:[] };
    clsData["{0C5B3BF7-3951-4809-8291-17F58F0C64C7}"] = { name:"Tabeller og statistik", items:[] };
clsData["{610DD7A2-5AE4-4BEE-98B9-D354FF785938}"] = { name:"Test 44", items:[] };
clsData["{1BCBA7E5-84A9-405F-8A05-972395598F8C}"] = { name:"Test2", items:[] };


