function ToggleAll(id, all) {
    var control = document.getElementById(id);
    var inps = control.getElementsByTagName("INPUT");

    if(all.checked) {
        for(var i=0; i < inps.length; i++) {
            inps[i].checked = true;        
        }        
    } else {
        for(var i=0; i < inps.length; i++) {
            inps[i].checked = false;
        }        
    }    
}

function UncheckAllCheckBox(id) {
    var control = document.getElementById(id);
    var inps = control.getElementsByTagName("INPUT");
       
    inps[0].checked = false;
}

function openWindow ( URL, name, top, left, height, width ) {
    var rp = window.open(URL, name, "'top = " + top + ", left = " + left + ", height = " + height + ", width = " + width + ", location = no, scrollbars = yes, resizable = yes, status = no, menubar = no, toolbar = no'");
    rp.focus();
}

function SetColumnToMaxHeight(relCol1ID, relCol2ID, relCol3ID, resultColClass) {
    var related = document.getElementById ( relCol1ID );//"RelatedInfo"
    var fprelated = document.getElementById ( relCol2ID );//"FrontPageRelatedInfo"
    var submenu = document.getElementById ( relCol3ID );//"Submenu"
    var content = getDivElementByClassName(resultColClass);
    var relH = 0;
    
    if(related){
        relH = related.offsetHeight;
    }
    var subH = 0;
    if(submenu){
        subH = submenu.offsetHeight;
    }
    var fprelH = 0;
    if(fprelated){
        fprelH = fprelated.offsetHeight;
    }
    var resultHeight;
    if(relH > subH) {
        resultHeight = relH;
    } else {
        resultHeight = subH;
    }
    if(fprelH > resultHeight){
        resultHeight = fprelH;
    }
    if (content && content.offsetHeight < resultHeight){
        content.style.height = resultHeight + "px";
    }
    /* TODO: Skal evt. være minHeight til andre browsere end IE6? */
}

function SetColumnsEqualHeight( wrapper ) {
    var outerelement = document.getElementById(wrapper);

    if (!outerelement) {
        outerelement = getDivElementByClassName(wrapper);
    }

    if(outerelement != null) {
        var innerElements = outerelement.getElementsByTagName( 'div' );
        
        if(innerElements.length > 0){
            var maxHeight = 0;
            for (var i = 0; i < innerElements.length; i++) {
                if(innerElements[i].offsetHeight > maxHeight & i < 2) {
                    maxHeight = innerElements[i].offsetHeight;
                    
                }
            }
            for (var i = 0; i < innerElements.length; i++) {
                if(i < 2) {
                    innerElements[i].style.height = maxHeight + "px";
                    }
            }
        }
    }
}

function getDivElementByClassName(className) {
    var page = document.getElementById("page");
    var divs = page.getElementsByTagName("div");
	var breakout = false;
	
    for (var i = 0; i < divs.length; i++) {
		var allNames = divs[i].className.split(' ');
		for(var j = 0; j < allNames.length; j++) {
	        if (allNames[j] == className) {
	            return divs[i];
	        }
		}
    }
}

function actionKeyPressed(evt, actionkeys) {
    //enter 13
    //space 32
    if ( !actionkeys )
        return false;
    var keyPressed = false;
    var code;
    if ( !evt )
        evt = window.event;
    if ( evt.keyCode )
        code = evt.keyCode;
    if ( evt.which )
        code = evt.which;
    for ( i = 0; i < actionkeys.length; i++ ) {
        keyPressed = ( code == actionkeys[i] );
        if ( keyPressed )
            break;
    }
    return keyPressed;
}