﻿function escape(query) {
	var q = query;
	q = q.replace(/\%/g, "%25");
	q = q.replace(/\&/g, "%26");
	q = q.replace(/\?/g, "%3F");
	q = q.replace(/\s/g, "%20");
	return q;
}
function openPopup(URL, windowName, properties) {
	if (! properties) {
		properties = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes";
	}
	if (URL && URL.length>0) {
		var winref = window.open (URL, windowName, properties);
		winref.focus();
  		return winref;
  	}
}

// TABMENU
var content = new Array();		
var activePane = 0;
function mOver(oElement, srcPane) {
	if( activePane != srcPane )
	{
   	oElement.style.cursor = 'pointer';
   	oElement.style.cursor = 'hand';
   }
}
function mOut(oElement) {
    oElement.style.cursor = 'default';
}		
function changePane(oElement, thispane)
{
	oElement.style.cursor = 'default';			
	
	cp( thispane );
}			
function cp( thispane )
{
	for( i = 0; i < content.length; i++ )
	{
		if( i == thispane )
		{
			eval( 'document.getElementById("fane' + i + '").className="fanefg"' );
			eval( 'document.getElementById("imgleft' + i + '").src="/img/fanemenu/fg_left.gif"' );
			eval( 'document.getElementById("imgright' + i + '").src="/img/fanemenu/fg_right.gif"' );
			document.getElementById( 'contentDiv' ).innerHTML = content[i];
		}
		else
		{				
			eval( 'document.getElementById("fane' + i + '").className="fanebg"' );
			eval( 'document.getElementById("imgleft' + i + '").src="/img/fanemenu/bg_left.gif"' );
			eval( 'document.getElementById("imgright' + i + '").src="/img/fanemenu/bg_right.gif"' );
		}
	}
	activePane = thispane;
}
// END TABMENU



// open eksternal website popup
function virkOpenWindow(url){
    //url = "/static/vframe/index.aspx?url=" + escape(url);
    //url = escape(url);
    //var properties = "toolbar=yes,location=1,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes";
    var properties = "toolbar=yes,location=1,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes";
    var virkPopup = openPopup(url, "virkPopup", properties);
    virkPopup.focus();
}

function virkOpenWindowService(url){
    //url = "/static/vframe/indexService.aspx?url=" + escape(url);
    //url = escape(url);
    //var properties = "toolbar=yes,location=1,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes";
    var properties = "toolbar=yes,location=1,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes";
    var virkPopup = openPopup(url, "virkPopup", properties);
    virkPopup.focus();
}

function virkOpenWindowInternal(url){
	var properties = "directories=0,left=" + ((screen.width-500)/2) + ",top=" + ((screen.height-500)/2) + ",location=0,toolbar=0,scrollbars=yes,menubar=no,width=500,height=500,resizable=no";
    var virkPopupInternal = openPopup(url, "virkPopupInternal", properties);
    virkPopupInternal.focus();
}

function virkOpenWindowFreesize(url,paramHeight,paramWidth){
	var properties = "directories=0,left=" + ((screen.width-paramWidth)/2) + ",top=" + ((screen.height-paramHeight)/2) + ",location=0,toolbar=0,scrollbars=yes,menubar=no,width="+paramWidth+",height="+paramHeight+",resizable=yes";
    var virkPopupInternal = openPopup(url, "virkPopupInternal", properties);
    virkPopupInternal.focus();
}

// div menu
function showHideKrakMenu(){
	var objElem = getElementByClassName("menuHide");
	if(objElem != null){
		replaceClassName(objElem, "menuHide", "mainmenuchangeresult")
	}
	else{
		objElem = getElementByClassName("mainmenuchangeresult");
		if(objElem != null){
			replaceClassName(objElem, "mainmenuchangeresult", "menuHide")
		}
	}
}

function getElementByClassName(value, node) {
	return getFirstElementByClassName(value, node)[0];
}

function getFirstElementByClassName(value, node, arrNodes) {
	if (node == null) {
		node = document.body;
	}
	if (arrNodes == null) {
		arrNodes = new Array();
	}
	if (arrNodes.length>0) {
	  return arrNodes;
	}
	if (hasClassName(node, value)) {
		arrNodes[arrNodes.length] = node;
		return arrNodes;
	}
	if (node.childNodes) {
		for(var i=0; i<node.childNodes.length; i++) {
			if (arrNodes.length<1) {
				arrNodes = getFirstElementByClassName(value, node.childNodes.item(i), arrNodes);
			}
		}
	}
	return arrNodes;
}

var isLoading = false;

function addClassName(el, name) {
	if (! hasClassName(el, name) && !isLoading ) {
		if (el.className == "") {
			el.className = name;
		} else {
			el.className = el.className + " " + name;
		}
	}
}

function hasClassName(el, name) {
	if (el && el.className) {
		list = el.className.split(" ");
		for (var i = 0; i < list.length; i++)
			if (list[i] == name) {
				return true;
			}
	}
  return false;
}

function replaceClassName(el, name, newName) {
	if (el && el.className && !isLoading ) {
		curList = el.className.split(" ");
		for (i = 0; i < curList.length; i++) {
			if (curList[i] == name) {
				curList[i] = newName;
			}
		}
		el.className = curList.join(" ");
	}
}

function removeClassName(el, name) {
	if( !isLoading ) {
		var i, curList, newList;
		if (!el || el.className == null) {
			return;
		}
		newList = new Array();
		curList = el.className.split(" ");
		for (i = 0; i < curList.length; i++) {
			if (curList[i] != name) {
				newList[newList.length] = curList[i];
			}
		}	
		el.className = newList.join(" ");
	}
}

// MINIMIZE / MAXIMIZE Portlet
function minimizePortalWindow(id) {
	// get the <div> tag which can be hidden
	var portlet = document.getElementById(id+'_portlet');
	// check whether it is already hidden - set image accordingly
	
	if (portlet.style.display=='none') {
		portlet.style.display='block';
		document.getElementById(id+'_min').src = '/img/virkminimize.gif';
	} else {
		portlet.style.display='none';
		document.getElementById(id+'_min').src = '/img/virkrestore.gif';
	}
}

function removeParameters(_href) {
	var pos = _href.indexOf('__krak.portal.') ;
	// run through QS until no more __krak.portal. parameters exists. Remove these from the qs. New will be set!
	while (pos>0) {
		var posend = _href.indexOf('&',pos) ;
		// remove the parameter and the value. else is for end of string
		if (posend>0) {
		   _href=_href.substring(0,pos)+_href.substring(posend+1);
		} else {
			_href=_href.substring(0,pos);
		}
		// get next index of string
		pos = _href.indexOf('__krak.portal.') ;
	} 
	return _href;
}

function maximizePortalWindow(id) {
	// default we do not have parameters in the QS
	var addChar = "?"
	// remove all current system params
	var _href = removeParameters(window.location.href);
	// set parameter separator correct if we have something on the QS already
	if ((_href.charAt(_href.length-1)=='?') ||(_href.charAt(_href.length-1)=='&')) {
		addChar = '';
	} else if (_href.indexOf('?') > 0) {
		addChar = "&";
	} 
	// set the new location. This reloads the browser
	window.location.href = _href + addChar + "__krak.portal.portletid=" + id + "&__krak.portal.max=true";
}

function restorePortalWindow(id) {
	// default we do not have parameters in the QS
	var addChar = "?"
	// remove all current system params
	var _href = removeParameters(window.location.href);
	// set parameter separator correct if we have something on the QS already
	if ((_href.charAt(_href.length-1)=='?') ||(_href.charAt(_href.length-1)=='&')) {
		addChar = '';
	} else if (_href.indexOf('?') > 0) {
		addChar = "&";
	} 
	// set the new location. This reloads the browser
	window.location.href = _href + addChar + "__krak.portal.portletid=" + id + "&__krak.portal.max=false";
}

// END MINIMIZE MAXIMIZE

// For searchbox
function trapEnterAndClickBtn(btn, event){
	if (document.all){
		if (event.keyCode == 13){
			event.returnValue=false;
			event.cancel = true;
			btn.click();
		}
	}
	else if (document.getElementById){
		if (event.which == 13){
			event.returnValue=false;
			event.cancel = true;
			btn.click();
		}
	}
	else if(document.layers){
		if(event.which == 13){
			event.returnValue=false;
			event.cancel = true;
			btn.click();
		}
	}
}

function maxDocItem(id) {
	// get the <div> tag which can be hidden
	var portlet = document.getElementById(id+'_portlet');
	var portletHeader = document.getElementById(id+'_portletHeader');
	// check whether it is already hidden - set image accordingly
	
	if (portlet.style.display=='none') {
		portlet.style.display='block';
		portletHeader.style.backgroundColor='#DCDCDC';
		document.getElementById(id+'_min').src = '/img/virkminimize.gif';
	} else {
		portlet.style.display='none';
		portletHeader.style.backgroundColor='#E6EEF2';
		document.getElementById(id+'_min').src = '/img/virkmaximize.gif';
	}
}


//
// Functions for ControlPanelAccessRights below
//

	function changestate(state, element, masterelement) {
		
		var masterElem = document.getElementById(masterelement);
		var elem = document.getElementById(element);
		
		if(elem.value == state)
		{
			elem.value="";
		} 
		else {
			elem.value=state;
		}
		
		redrawstate(element, masterElem.value);
	}


	function changestate(state, element, masterelement, ubermasterelement) {
		
		var masterElem = document.getElementById(masterelement);
		var uberMasterElem = document.getElementById(ubermasterelement);
		
		var elem = document.getElementById(element);
		
		if(elem.value == state)
		{
			elem.value="";
		} 
		else {
			elem.value=state;
		}
		
		/*
		if(masterElem.value == "")
		{
			redrawstate(element, uberMasterElem.value);
		}
		else
		{
			redrawstate(element, masterElem.value);
		}
		*/
		//if(masterelement == ubermasterelement)
		//{
		var type = masterelement.substr(masterelement.indexOf("_")+1, masterelement.length);
		initAccessRight(type);
		//}
	}
	
	function redrawstate(element, defval) {
		var elem = document.getElementById(element);
		var elemY = document.getElementById(element+'_y');
		var elemX = document.getElementById(element+'_n');
		
		var setstate = (elem.value == "")?defval:elem.value;
		
//		var debug = document.getElementById('debug');
//		debug.value=setstate+":"+defval+":"+elem.value;
		
		if(elem.value == "") {
			if (setstate == "y") {
//				debug.value += "   1" + " " + element;
				elemY.src = "/img/cb_default.gif";
				elemX.src = "/img/cb_false.gif";
			}
			else {
//				debug.value += "   2" + " " + element;
				elemY.src = "/img/cb_false.gif";
				elemX.src = "/img/cb_default.gif";
			}
		}
		else {
			if (setstate == "y") {
//				debug.value += "   3" + " " + element;
				elemY.src = "/img/cb_true.gif";
				elemX.src = "/img/cb_false.gif";
			}
			else {
//				debug.value += "   4" + " " + element;
				elemY.src = "/img/cb_false.gif";
				elemX.src = "/img/cb_true.gif";
			}
		}
	}
	
	function initAccessRight(type)
	{
		var count = document.getElementById("ucount_"+type).value;
	
		var masterElem = document.getElementById("ug_"+type);
		var uberMasterElem = document.getElementById("uberug_"+type);
		
		if(masterElem.value == "")
		{
			redrawstate("ug_"+type, uberMasterElem.value);
			renderchildren("u"+type+"_", 0, count, uberMasterElem.value);
		}
		else
		{
			redrawstate("ug_"+type, masterElem.value);
			renderchildren("u"+type+"_", 0, count, masterElem.value);
		}
		
	}
	
	function renderchildren(prefix, start, count, defval)
	{
		var i=start;
		for (;i < start+count; i++)
		{
			redrawstate(prefix+i, defval);
		}
	}

//
// END of functions for ControlPanelAccessRights
//
//
// Functions for EAN administration below
//
function excludeEanUnit(msg, knr, action, thisObj){
		
	if(confirm(msg)){
		document.forms[0].knr.value = knr;
		
		if(thisObj.checked){
			document.forms[0].excluded.value = "true";
		}
		else{
			document.forms[0].excluded.value = "false";
		}	
		
		document.forms[0].action.value = action;
		document.forms[0].submit();
	}
	else{
		if(thisObj.checked){
			thisObj.checked = false;
		}
		else{
			thisObj.checked = true;
		}	
	}
	
}

//
// END of functions for EAN administration
//
// SPECIFIC FUNCTION FOR VIRK QUICK GUIDE
var gCurrentCpt = "intro";
function showCpt(id){
	var cptId = id.toLowerCase().replace('nav','');
	var objCpt	= document.getElementById(cptId);
	var objOff 	= document.getElementById(gCurrentCpt);
	if(objOff && objCpt){
		objOff.style.display 	= "none";
		objCpt.style.display 	= "block";
		gCurrentCpt = cptId;
	}
	 // prevent href of <A>
	return false;
}

function printStuff(contentId, printID) {
     // the content we wish to print
     var contentObj = document.getElementById(contentId);

     // the iframe from which we print
    var dFrame = document.getElementById(printID);
    var frameDocument = getIFrameDocument(dFrame);

	frameDocument.body.innerHTML = contentObj.innerHTML + navigator.userAgent;

	// print it
	if (dFrame.contentDocument) {
	     dFrame.contentWindow.print();
	} else {
		//alert(frameDocument.body.innerHTML );
		eval("parent.frames['" + printID + "'].focus()");
		eval("parent.frames['" + printID + "'].print()");
	}
}


function getIFrameDocument(dFrame) {
	if (dFrame.contentDocument) {
		// For NS6
		return dFrame.contentDocument;
	} else if (dFrame.contentWindow) {
		// For IE5.5 and IE6
		return dFrame.contentWindow.document;
	} else if (dFrame.document) {
		// For IE5
		return dFrame.document;
	} else {
		return null;
	}
}

// Top navigation box hide show
function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].visibility = iState ? "show" : "hide";       
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.visibility = iState ? "visible" : "hidden";
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
    }
}

// ==========================================================
// Used by the Virk LEP 

function hideFormElements(blnHideOrShow){
	// hide (or show) form elements that will be covered by the Virk LEP
}

function showLEP(){
	var objVLEP = document.getElementById('virkLEP');
	if(objVLEP){
		if(objVLEP.style.display == 'none'){
			objVLEP.style.display = 'block';
			hideFormElements();
			return false; /* do NOT go to href of a-tag */
		}else{
			objVLEP.style.display = 'none';
			hideFormElements(false);
			return false; /* do NOT go to href of a-tag */
		}
	}
	return true; /* go to href of a-tag */
}

function doRadioSearch(theForm, source) {
    for (var i = 0; i < theForm.searchTab.length; i++) {
        if (theForm.searchTab[i].checked) {
		//alert("Target:"+theForm.searchTab[i].value + "\n/VirkPortal/site/VirkSøgning/Produktsøgning.aspx");
		//alert(theForm.searchTab[i].value == '/VirkPortal/site/VirkSøgning/Produktsøgning.aspx');
		if (theForm.searchTab[i].value == "/VirkPortal/site/VirkSøgning/Produktsøgning.aspx") {
			source = source + '&stype=product';
		}
		    
		this.location.href=(theForm.searchTab[i].value + '?_krak.portal.virksoegning.soegeord=' + theForm.btnLevSoegTxt.value + "&source=" + source);
		break;
	}
}
}
