/* FORCE wait symbol onPageLeave
   =============================
   Version 1.0
   Date: 24.03.2004
   Programmer: Sten Hougaard
   Description:
   Will force a wait-cursor on leaving the page.
   >>>>>>>>>>>>>>>*/


    if(document.addEventListener){
    	document.addEventListener('mousemove', EG_setMouseOverElement, false);	
    }else{
    	document.attachEvent('onmousemove', EG_setMouseOverElement);
    }
    
    if(window.addEventListener){
    	window.addEventListener('beforeunload', EG_pageLeave, false);    	
    }else{
    	window.attachEvent('onbeforeunload', EG_pageLeave);    	
    }    


   var EG_mouseOverElement;
   function EG_setMouseOverElement() {
       try {
       	var e = window.event;
       	mouseOverElement = e.srcElement;
       } catch(e) {   
          // prevent runtime errors
       }
   }
   function EG_pageLeave() {
       try {
       	mouseOverElement.style.cursor = 'wait';
       	document.body.style.cursor = 'wait';
       } catch(e) {   
          // prevent runtime errors
       }
   }
// <<<<<<<<<<<<<<<<<<

function gotoURL(sURL, sTarget) {
try {
	document.location.href=sURL;
} catch(e) {
	window.status  = 'gotoURL error: '+e.description;
}
}

var sUrl, oUrlElement;
function accept(sPrompt) {
try {
	if (!sPrompt) {
		       	var e = window.event.srcElement;
		       	sPrompt = e.firstChild.id;
	}
	if (!confirm(sPrompt)) {
		 
                oUrlElement = window.event.srcElement;
		sUrl = oUrlElement.href;

		window.event.srcElement.href = "#";
                
                window.setTimeout('restoreUrl()', 500);
		return false;
	}
	else {
		return true;
	}
} catch(e) {
	window.status  = 'accept error: '+e.description;
}
}

function restoreUrl()
{
  oUrlElement.href = sUrl;
}


 if(window.addEventListener){
	 window.addEventListener('load', EG_setTitle, false); 
 }else{
   window.attachEvent('onload', EG_setTitle);
 }
   
   
var EG_mouseOverElement;
function EG_setTitle() {
       try {
       	var e = window.event;
       	var sTitle = sGlobalSitename;
       	try {
       		sTitle=sPageTitle+', '+sTitle;
       	} catch(e) {
       		// No problem, der er ikke defineret pagetitle for DENNE side...
       	}
       	document.title = sTitle;
       } catch(e) {   
          // prevent runtime errors
       }
}
   
//Debug tool
function doDebug(sId) {
	try {
		var oTextArea = document.getElementById(sId);
		eval(oTextArea.value);
	} catch(e) {
		alert('DEBUG:\n'+e.description);
	}
}
function insertDebug() {
	try {
		var id = 'debug1';
		var code = '<div class="footerHeight" style="position: absolute; z-index: 100; bottom: 0px"><textarea id="'+id+'" rows="5" cols="100"></textarea><input type="button" onclick="doDebug(\''+id+'\');" value="eval"></div>'
		document.body.innerHTML = code+document.body.innerHTML;

	} catch(e) {
		alert('insertDebug:\n'+e.description);
	}
}
function setClipboardData(sId, sType, oClipboardSource) {
	/*-----------------------------------
	(C)EDB Gruppen 2002
	PROGRAMMER  : STG
	VERSION     : 1.00 - 17-10-2002
	FUNCTION    : setClipboardData(sId, [sType], [oClipboardSource])
	DESCRIPTION :
	Only two types are allowed:
		Text: Normal text (default)
		URL: an URL
		
	oClipboardSource:
	Default is window clipboard, but you can use another
	object as a clipboard-holder.
	
	returns true for okay or false for "not possibel"
	-------------------------------------*/
	sData = document.getElementById(sId).innerText;

	sType = (sType) ? ((sType=='Text') ? 'Text' : 'URL') : 'Text';
	oClipboardSource = (oClipboardSource) ? oClipboardSource : window.clipboardData;
	sData = sData+'';
	return (oClipboardSource.setData(sType, sData));
}

var oWin, sXML;
function visIVindue(oElement, sTitle) {
	if (oElement.innerText.toString().length>0) {
		sTitle = (sTitle) ? sTitle : new Date().toString();
		oWin = window.open("", "external", "scrollbars=1,resizable=1")
    indsetXML(oElement, sTitle);
	} else {
		alert('Ingen data');
	}
}
function indsetXML(oElement, sTitle) {
    var oTextArea = oWin.document.createElement('textarea');
    oTextArea.style.width = '100%';    
    oTextArea.style.height = '100%';
    oTextArea.style.fontSize = '8pt';
    oTextArea.style.fontFamily = 'monospace';
    sXML = oElement.innerText;
    oTextArea.value = sXML;
    oWin.document.body.appendChild(oTextArea);
		oWin.document.title = sTitle;
}

/*-----------------------------------
(C)EDB Gruppen 2003
PROGRAMMER  : STG
VERSION     : 1.00 - 14-08-2003
File name   : STG_querystring.js
DESCRIPTION : Tilføjer 2 metoder som gør det nemmere at håndtere QueryStings
Metoder     :
	string[] getQuerystrings()
		Retunerer et array med navnene på de querystrings som siden er kaldt med.

	variant[] getQuerystringByName(sQueryStringName)
		Retunerer den eller de værdier som et givet navn har
		i et array af varianter. Det er nemlig muligt at et navn kan
		være der mere end een gang i en form.
		
	variant[] getDecodedQuerystringByName(sQueryStringName)
		Som getQuerystringByName - men her er værdier decoded
-------------------------------------*/			
if(window.addEventListener){
  window.addEventListener('load', __buildQueryStrings, false);	
}else{
  window.attachEvent('onload', __buildQueryStrings);
}

/// Indeholde de query-string parametre som siden kaldes med:
/// aQueryStrings[name0]= (val0,...,valX);;
/// .....
/// aQueryStrings[nameX]= (val0,...,valX);;
/// aQueryNames	= ("name0",...."nameX");
var __aQueryStrings			= new Array();
var __aQueryNames				= new Array();
function __buildQueryStrings()
{
	try {
		var sQueryStrings	= document.location.search;
		var aTemp					= sQueryStrings.split('&');
		var aTemp1				= new Array();
		for(var i=0; i<aTemp.length; i++)
		{
			aTemp1									= aTemp[i].split('=');
			if (i==0)
			{
				aTemp1[0]			= aTemp1[0].substr(1, aTemp1[0].length);
			};
			if (!__aQueryStrings[aTemp1[0]])
			{
				__aQueryStrings[aTemp1[0]]	= new Array();
			};
			__aQueryStrings[aTemp1[0]][__aQueryStrings[aTemp1[0]].length]	= aTemp1[1];
			__aQueryNames[__aQueryNames.length]	= aTemp1[0];
		};
	} catch(e){
		alert('Error in __buildQuerystrings:\n'+e.description);
	};
};

function getQuerystrings()
{
	try {
		return (__aQueryNames);
	} catch(e){
		alert('Error in getQuerystrings:\n'+e.description);
	};
};
function getQuerystringByName(sQueryStringName)
{
	try {
		return (__aQueryStrings[sQueryStringName]);
	} catch(e){
		/* alert('Error in getQuerystringByName:\n'+e.description+'\nParams:'+sQueryStringName); */
	};
};
function getDecodedQuerystringByName(sQueryStringName)
{
	try {
		var aResult	= new Array();
		for(var i=0; i<__aQueryStrings[sQueryStringName].length; i++)
		{
			aResult[aResult.length]	= unescape(__aQueryStrings[sQueryStringName][i]);
		};
		return (aResult);
	} catch(e){
		/* alert('Error in getQuerystringByName:\n'+e.description+'\nParams:'+sQueryStringName); */
	};
};

/* sætter fokus på første input element*/
if(window.addEventListener){
	window.addEventListener('load', setFocusOnFirstInputElement, false)
}else{
	window.attachEvent('onload', setFocusOnFirstInputElement)
}


function setFocusOnFirstInputElement() {
if(typeof disableFocus=="undefined"||disableFocus!="true")
{ 
  try {
  	docContents = document.getElementsByTagName("*");
	for (var i=0; i < docContents.length; i++) 
	{
		if (docContents[i].type == 'text' ||
			docContents[i].type == 'textarea' ||
			docContents[i].type == 'radio' ||
			docContents[i].type == 'checkbox' ||
			docContents[i].type == 'select-one' ||
			docContents[i].type == 'select') 
			{
				//alert(docContents[i].type);
				docContents[i].focus();
				break;
			}
	}
  } 
  catch(e) 
  {
  }
 }
}

/* Hjælp til layout - Ctrl+Alt og DobbeltClick => visning af
   CSS relaterede info i status bar
   HERFRA --------------->

	var oDesignMonitor;
	try
	{
	  var a = oDesignTrigger;
	} catch(e) {
	  oDesignTrigger = document.attachEvent("ondblclick", debugMode)
	}
	function debugMode()
	{
	  
	  var sURL = document.location.href;
	  var oDesignMode = new RegExp("design=1", "g");
	  var bCtrl = window.event.ctrlKey;
	  var bAlt = window.event.altKey;
	  if ((bCtrl) && (bAlt))
	  {
	  if ((sURL.search(oDesignMode)>-1) || (oDesignMonitor))
	  {
	    document.detachEvent("onmousemove", showInfo);
	    oDesignMonitor = null;
	    window.status = new Date();
	  }
	  else
	  {
	    oDesignMonitor = document.attachEvent("onmousemove", showInfo);
	  }
	  }
	}
	
	function designMode()
	{
	  var sURL = ""+document.location.href;
	  var oRegExp = new RegExp("design=1", "g");
	  if (sURL.search(oRegExp)>-1)
	  {
	    oDesignMonitor = document.attachEvent("onmousemove", showInfo);
	  }
	}
	function getId(oElement)
	{
	  var sID = oElement.id;
	  if (sID=="")
	  {
	  try {
	    sID = (oElement.attributes["id"]) ? oElement.attributes["id"].value : "";
	    sID = (sID=="") ? ((oElement.attributes["ID"]) ? (oElement.attributes["ID"].value) : "") : "";
	  } catch(e) {
	  }
	  }
	  return sID;
	}
	function showInfo()
	{  
	   var sInfo = "";
	   var oSrc = window.event.srcElement;
	   var oParent = oSrc.parentNode;
	
	   if (oParent)
	   {
	     var sId = getId(oParent);
	     sId = (sId!="") ? " #"+sId : sId;
	     sInfo+="("+oParent.tagName+" "+oParent.className+sId+") > ";
	   }
	     sId = getId(oSrc);
	     sId = (sId) ? " #"+sId : sId;
	     sInfo+=oSrc.tagName+" "+oSrc.className+sId;
	   window.status = sInfo;
	}

   Hjælp til layout - Ctrl+Alt og DobbeltClick => visning af
   CSS relaterede info i status bar
   <!------------------ HERTIL 
*/
