function mouseOverHitArea(BtnID){
	ImgID = document.getElementById('menuItemImage' + BtnID);
	
	ImgID.style.display = '';
}
function mouseOutHitArea(BtnID){
	ImgID = document.getElementById('menuItemImage' + BtnID);
	ImgID.style.display = 'none';
}
function insertHTMLText(fldName, txt){
	alert((document.getElementById(fldName + '___Frame').contentWindow.document.getElementById('eEditorArea')));
	(document.getElementById(fldName + '___Frame').contentWindow.document.getElementById('eEditorArea')).contentWindow.document.body.innerHTML += txt;
}
function RunFlash(flashInitParam){
    document.write(flashInitParam);
}
function RunVideoFlash(CatID, url,sHeaderTitle,sText){
	var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
	if(hasRightVersion){
		document.getElementById('videoBox').innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="640" height="562" id="film" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="film.swf?surl=' + url + '" /><param name="allowFullScreen" value="true" /><param name="quality" value="high" /><param name="wmode" value="window" /><param name="bgcolor" value="white" /><embed allowFullScreen="true" src="film.swf?surl=' + url + '" quality="high" wmode="window" bgcolor="white" width="640" height="562" name="film" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
	}else{
		document.getElementById('videoBox').innerHTML = '<br /><br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Du må ha <a target="_blank" href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BIOW">Adobe Flash Player</a> installert for å kunne spille filmene!</b>';
	}
	SetFlashVideoText(sHeaderTitle,sText);
}
function SetFlashVideoText(sHeaderTitle,sText){
	var TargetObject = document.getElementById('FlashVideoText');
	TargetObject.innerHTML = '<span class="MellomTittel">' + unescape(sHeaderTitle) + '</span>';
	if(sText != ""){
		TargetObject.innerHTML += "<br />" + unescape(sText);
	}
	TargetObject.style.display = '';
}
function HideFlashVideoText(){
	var TargetObject = document.getElementById('FlashVideoText');
	TargetObject.style.display = 'none';
}

// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// -----------------------------------------------------------------------------
// -->
<!-- // Detect Client Browser type
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Can't detect in all other cases
	else {
		
		flashVer = -1;
	}
	return flashVer;
} 
// If called with no parameters this function returns a floating point value 
// which should be the version of the Flash Player or 0.0 
// ex: Flash Player 7r14 returns 7.14
// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// loop backwards through the versions until we find the newest version	
	for (i=25;i>0;i--) {	
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);		
		}
		if (versionStr == -1 ) { 
			return false;
		} else if (versionStr != 0) {
			if(isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			} else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
	return (reqVer ? false : 0.0);
}


var clipTop = 0;
var clipWidth = 640;
var clipBottom = 430;
var topper = 0;
var lyrheight = 0;
var time,amount,theTime,theHeight,DHTML;

function init()
{
	DHTML = (document.getElementById || document.all || document.layers)
	if (!DHTML) return;
	try{
		var x = new getObj('textbox');
		if (document.layers)
		{
			lyrheight = x.style.clip.bottom;
			lyrheight += 20;
			x.style.clip.top = clipTop;
			x.style.clip.left = 0;
			x.style.clip.right = clipWidth;
			x.style.clip.bottom = clipBottom;
		}
		else if (document.getElementById || document.all)
		{
			lyrheight = x.obj.offsetHeight;
			lyrheight += 10;
			x.style.clip = 'rect('+clipTop+'px,'+clipWidth+'px,'+clipBottom+'px,0)';
		}
	}catch(e){
	}
}

function scrollayer(layername,amt,tim)
{
	if (!DHTML) return;
	thelayer = new getObj(layername);
	if (!thelayer) return;
	amount = amt;
	theTime = tim;
	realscroll();
}

function realscroll()
{
	if (!DHTML) return;
	clipTop += amount;
	clipBottom += amount;
	topper -= amount;
	if (clipTop < 0 || clipBottom > lyrheight)
	{
		clipTop -= amount;
		clipBottom -= amount;
		topper += amount;
		return;
	}
	if (document.getElementById || document.all)
	{
		clipstring = 'rect('+clipTop+'px,'+clipWidth+'px,'+clipBottom+'px,0)';
		thelayer.style.clip = clipstring;
		thelayer.style.top = topper + 'px';
	}
	else if (document.layers)
	{
		thelayer.style.clip.top = clipTop;
		thelayer.style.clip.bottom = clipBottom;
		thelayer.style.top = topper;
	}
	time = setTimeout('realscroll()',theTime);
}

function stopScroll()
{
	if (time) clearTimeout(time);
}
function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}
/*KALENDER: */
Date.prototype.add = function (sInterval, iNum){
  var dTemp = this;
  if (!sInterval || iNum == 0) return dTemp;
  switch (sInterval.toLowerCase()){
    case "ms":
      dTemp.setMilliseconds(dTemp.getMilliseconds() + iNum);
      break;
    case "s":
      dTemp.setSeconds(dTemp.getSeconds() + iNum);
      break;
    case "mi":
      dTemp.setMinutes(dTemp.getMinutes() + iNum);
      break;
    case "h":
      dTemp.setHours(dTemp.getHours() + iNum);
      break;
    case "d":
      dTemp.setDate(dTemp.getDate() + iNum);
      break;
    case "mo":
      dTemp.setMonth(dTemp.getMonth() + iNum);
      break;
    case "y":
      dTemp.setFullYear(dTemp.getFullYear() + iNum);
      break;
  }
  return dTemp;
}
var ns4;
var op5;
var op6
var agt;
var mac;
var ie;
var mac_ie;

function sniffBrowsers() {
	ns4 = document.layers;
	op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) 
		||(navigator.userAgent.indexOf("Opera/5")!=-1);
	op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) 
		||(navigator.userAgent.indexOf("Opera/6")!=-1);
	agt=navigator.userAgent.toLowerCase();
	mac = (agt.indexOf("mac")!=-1);
	ie = (agt.indexOf("msie") != -1); 
	mac_ie = mac && ie;
}
sniffBrowsers();
function getElementHeight(Elem) {
	if (ns4) {
		return Elem.clip.height;
	} else {
		if (op5) { 
			xPos = Elem.style.pixelHeight;
		} else {
			xPos = Elem.offsetHeight;
			
		}
		return xPos;
	}
}
function getElementWidth(Elem) {
	if (ns4) {
		return Elem.clip.width;
	} else {
		if (op5) {
			xPos = Elem.style.pixelWidth;
		} else {
			xPos = Elem.offsetWidth;
		}
		return xPos;
	}
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return [curleft,curtop];
}
function VisKalender(InputName){
	var Kalender = document.getElementById('KalenderHolder_' + InputName);
	var KalenderInput = document.getElementById(InputName + "_Text");
	var KalenderInputHiddden = document.getElementById(InputName);
	if(Kalender.style.display == 'none'){
		
		Kalender.style.display = '';
		var newLeft = findPos(KalenderInput)[0];
/*		if((newLeft + getElementWidth(NyOppgaveMeny)) > getElementWidth(document.body)){
			newLeft -= (NyOppgaveMeny.offsetWidth-obj.offsetWidth);
		}*/
		Kalender.style.left = newLeft + 'px';
		Kalender.style.top = findPos(KalenderInput)[1]+getElementHeight(KalenderInput) + 'px';
		if(KalenderInputHiddden.value != ""){
			ValgtDato = new Date();
			ValgtDato.setFullYear(KalenderInputHiddden.value.split(".")[2],KalenderInputHiddden.value.split(".")[1]-1,KalenderInputHiddden.value.split(".")[0]);
			VisDato = ValgtDato;
			ValgtDato = ValgtDato.getTime();
		}else{
			ValgtDato = "";
			VisDato = new Date();
		}
		HentDato(InputName, VisDato.getTime(), ValgtDato);
	}else{
		SkjulKalender(InputName);
	}
}
function SkjulKalender(InputName){
	var Kalender = document.getElementById('KalenderHolder_' + InputName);
	Kalender.style.display = 'none';
}
function HentDato(InputName, VisDatoMill, ValgtDato){
	var KalenderTable;
	var KalenderRow;
	var KalenderCell;
	var DayString;
	var VisDato = new Date();
	VisDato.setTime(VisDatoMill);
	var Today = new Date();
	var KalenderHeader = new Array("&nbsp;","M","T","O","T","F","L","<span class='KalenderHelligDag'>S</span>");
	KalenderInnhold = document.getElementById('KalenderInnhold_' + InputName);
	KalenderPrevMonth = document.getElementById('KalenderPrevMonth_' + InputName);
	KalenderNextMonth = document.getElementById('KalenderNextMonth_' + InputName);
	KalenderMonthTitle = document.getElementById('KalenderMonthTitle_' + InputName);
	
	KalenderInnhold.innerHTML = "";
	var StartDag = new Date();
	StartDag.setFullYear(VisDato.getFullYear(),VisDato.getMonth(),1);
	var SluttDag = new Date();
	SluttDag.setFullYear(StartDag.getFullYear(),StartDag.getMonth(),1);
	SluttDag = SluttDag.add("mo",1).add("d",-1);
	var CurrentDay = new Date();
	CurrentDay.setFullYear(StartDag.getFullYear(),StartDag.getMonth(),1);
	KalenderTable = document.createElement("table");
	KalenderTable.className = "KalenderTable";
	KalenderTable.cellSpacing = 0;
	KalenderTable.cellPadding = 0;
	KalenderRow = KalenderTable.insertRow(0);
	for(var i = 0;i<KalenderHeader.length;i++){
		KalenderCell = KalenderRow.insertCell(KalenderRow.cells.length);
		KalenderCell.innerHTML = KalenderHeader[i];
		KalenderCell.className = "KalenderTableHeader";
	}
	var CurrentWeek = "";
	while(CurrentDay <= SluttDag){
		if(CurrentWeek != getWeekNumber(CurrentDay.getFullYear(),CurrentDay.getMonth(),CurrentDay.getDate())){
			CurrentWeek = getWeekNumber(CurrentDay.getFullYear(),CurrentDay.getMonth(),CurrentDay.getDate());
			KalenderRow = KalenderTable.insertRow(KalenderTable.rows.length);
			KalenderCell = KalenderRow.insertCell(0);
			KalenderCell.innerHTML = CurrentWeek;
			KalenderCell.className = "KalenderTableWeekNumber";
		}
		
		if(CurrentDay.getDate() == 1){
			for(i = 0;i<getCorrectWeekDayNumber(CurrentDay.getDay());i++){
				KalenderCell = KalenderRow.insertCell(i+1);
				KalenderCell.innerHTML = "&nbsp;";
				KalenderCell.className = "KalenderTableSpacer";
			}
		}
		
		KalenderCell = KalenderRow.insertCell(getCorrectWeekDayNumber(CurrentDay.getDay())+1);
		DayString = CurrentDay.getDate();
		
		if(DatoLik(CurrentDay,Today)){
			DayString = "<span class='KalenderIdag'>" + DayString + "</span>";
		}else if(getCorrectWeekDayNumber(CurrentDay.getDay()) == 6){
			DayString = "<span class='KalenderHelligDag'>" + DayString + "</span>";
		}
		
		if(ValgtDato != ""){
			ValgtDatoObject = new Date();
			ValgtDatoObject.setTime(ValgtDato);
			if(DatoLik(CurrentDay,ValgtDatoObject)){
				KalenderCell.className = "KalenderTableValgt";
			}else{
				KalenderCell.className = "KalenderTableDay";
			}
		}else{
			KalenderCell.className = "KalenderTableDay";
		}
		DayString = '<a href="javascript:void(0);" onclick="SettValgtDato(\'' + InputName + '\',' + CurrentDay.getTime() + ');">' + DayString + '</a>';
		KalenderCell.innerHTML = DayString;
		
		CurrentDay = CurrentDay.add("d",1);
	}
	CurrentDay = CurrentDay.add("d",-1);
	for(i = getCorrectWeekDayNumber(CurrentDay.getDay())+1;i<7;i++){
		KalenderCell = KalenderRow.insertCell(i+1);
		KalenderCell.innerHTML = "&nbsp;";
		KalenderCell.className = "KalenderTableSpacer";
	}
	
	KalenderInnhold.appendChild(KalenderTable);
	KalenderMonthTitle.innerHTML = getMonthName(StartDag.getMonth()) + " " + StartDag.getFullYear();
	KalenderPrevMonth.innerHTML = '<a href="javascript:void(0);" onclick="HentDato(\'' + InputName + '\',\'' + StartDag.add("mo",-1).getTime() + '\',\'' + ValgtDato + '\');">&lt;</a>';
	KalenderNextMonth.innerHTML = '<a href="javascript:void(0);" onclick="HentDato(\'' + InputName + '\',\'' + StartDag.add("mo",2).getTime() + '\',\'' + ValgtDato + '\');">&gt;</a>';
}
function SettValgtDato(InputName, ValgtDato){
	var KalenderInput = document.getElementById(InputName + "_Text");
	var KalenderInputHidden = document.getElementById(InputName);
	if(ValgtDato > 0){
		var Valgt = new Date();
		Valgt.setTime(ValgtDato);
		KalenderInput.value = leggTilNull(Valgt.getDate()) + "." + leggTilNull(Valgt.getMonth()+1) + "." + leggTilNull(Valgt.getFullYear());
		KalenderInputHidden.value = KalenderInput.value;
	}else{
		KalenderInput.value = "";
		KalenderInputHidden.value = "";
	}
	SkjulKalender(InputName);
	switch(InputName){
		case "DateDone":
			OppdaterOppgaveStatus();
			break;
	}
	
}
function SettValgtDatoIdag(InputName){
	var ValgtDato = new Date();
	SettValgtDato(InputName, ValgtDato.getTime());
}
function SettValgtDatoIngen(InputName){
	SettValgtDato(InputName, 0);
}
function leggTilNull(Tall){
	if(Tall < 10){
		return "0" + Tall;
	}else{
		return Tall;
	}
}
function DatoLik(Date1,Date2){
	if(Date1.getDate() == Date2.getDate() && Date1.getMonth() == Date2.getMonth() && Date1.getFullYear() == Date2.getFullYear()){
		return true;
	}else{
		return false;
	}
}
function getCorrectWeekDayNumber(WeekDayNumber){
	return new Array(6,0,1,2,3,4,5)[WeekDayNumber];
}
function getWeekNumber(year,month,day){
    //lets calc weeknumber the cruel and hard way :D
    //Find JulianDay 
    month += 1; //use 1-12
    var a = Math.floor((14-(month))/12);
    var y = year+4800-a;
    var m = (month)+(12*a)-3;
    var jd = day + Math.floor(((153*m)+2)/5) + 
                 (365*y) + Math.floor(y/4) - Math.floor(y/100) + 
                 Math.floor(y/400) - 32045;      // (gregorian calendar)
    //var jd = (day+1)+Math.Round(((153*m)+2)/5)+(365+y) + 
    //                 Math.round(y/4)-32083;    // (julian calendar)
    
    //now calc weeknumber according to JD
    var d4 = (jd+31741-(jd%7))%146097%36524%1461;
    var L = Math.floor(d4/1460);
    var d1 = ((d4-L)%365)+L;
    NumberOfWeek = Math.floor(d1/7) + 1;
    return NumberOfWeek;        
}
function getMonthName(MonthNumber){
	returnStr = "";
	var MonthArray = new Array("Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember");
	if(!isNaN(MonthNumber)){
		if(MonthNumber >= 0 && MonthNumber < 12){
			returnStr = MonthArray[MonthNumber];
		}
	}
	return returnStr;
}

function ConfirmAndRedirect(sText,sUrl){
	if(confirm(sText)){
		window.location.href = sUrl;
	}
}



function GetXmlHttpObject(handler) {
	var objXmlHttp = null;
	if (navigator.userAgent.indexOf("MSIE")>=0 && navigator.userAgent.indexOf("Opera")<=0) {
		var strName = "Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
			strName = "Microsoft.XMLHTTP";
		}
		try {
			objXmlHttp = new ActiveXObject(strName);
			objXmlHttp.onreadystatechange = handler;
			return objXmlHttp;
		} catch (e) {
			alert("Det oppstod en feil. ActiveX er kanskje deaktivert.");
			return;
		}
	}
	if (navigator.userAgent.indexOf("Mozilla")>=0 || navigator.userAgent.indexOf("Opera")>=0) {
		objXmlHttp = new XMLHttpRequest();
		objXmlHttp.onload = handler;
		objXmlHttp.onerror = handler;
		return objXmlHttp;
	}
}
var xmlHttpReady = true;


function LoadCategoryTree(TargetObject,CatID, InputName, EditCategoryID){
	if(xmlHttpReady==true){
		xmlHttpReady = false;
		if(!isObject(TargetObject)){
			TargetObject = document.getElementById(TargetObject);
		}
		if(TargetObject){
			if(TargetObject.getAttribute("loaded") != "1"){
				var xmlHttp=GetXmlHttpObject(function(){
					OnLoadCategoryTree(xmlHttp,TargetObject, CatID, InputName);
				});
				xmlHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); 
				xmlHttp.open("GET", "LoadVideoCategoryTree.asp?InputName=" + InputName + "&CatID=" + CatID + "&EditCategoryID=" + EditCategoryID, true);
				xmlHttp.send(null);
				
			}else{
				OnBuildedCategoryTree(TargetObject, CatID, InputName);
			}
		}else{
			xmlHttpReady = true;
		}
	}else{
		setTimeout("LoadCategoryTree('" + TargetObject + "', '" + CatID + "', '" + InputName + "', '" + EditCategoryID + "');",50);
	}
}
function OnLoadCategoryTree(xmlHttp,TargetObject, CatID, InputName){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
		TargetObject.innerHTML += xmlHttp.responseText;
		OnBuildedCategoryTree(TargetObject, CatID, InputName);
	}
}
function OnBuildedCategoryTree(TargetObject, CatID, InputName){
	xmlHttpReady = true;
	TargetObject.style.display = '';
	TargetObject.setAttribute("loaded","1");
	var ImageObject = document.getElementById('CategoryTreeImage' + InputName + CatID);
	setCategoryImageMinus(ImageObject);
	if(CatID != 0){
		document.getElementById('EditCategoryLink' + CatID).style.display = '';
	}
}
function CategoryClick(TargetObject,CatID,InputName, EditCategoryID){
	if(TargetObject.style.display == 'none'){
		LoadCategoryTree(TargetObject,CatID,InputName, EditCategoryID);
	}else{
		TargetObject.style.display = 'none';
		var ImageObject = document.getElementById('CategoryTreeImage' + InputName + CatID);
		setCategoryImagePluss(ImageObject);
		document.getElementById('EditCategoryLink' + CatID).style.display = 'none';
	}
}

function setCategoryImagePluss(ImageObject){
	if(ImageObject != undefined){
		switch(ImageObject.getAttribute('LangID')){
			case "NO":
				ImageObject.src="/images/plussno.gif";
				break;
			case "EN":
				ImageObject.src="/images/plussuk.gif";
				break;
			default:
				ImageObject.src="/images/pluss.gif";
				break;
		}
	}
}
function setCategoryImageMinus(ImageObject){
	if(ImageObject != undefined){
		switch(ImageObject.getAttribute('LangID')){
			case "NO":
				ImageObject.src="/images/minusno.gif";
				break;
			case "EN":
				ImageObject.src="/images/minusuk.gif";
				break;
			default:
				ImageObject.src="/images/minus.gif";
				break;
		}
	}
}

