// JScript File

bMSIE55 = (window.navigator.userAgent.toUpperCase().indexOf("MSIE 5.5") != -1) ? true : false;

function ShowException(FunctionName, Exception){
	alert ("Exception in MetaFunctions.js:" 
	+ FunctionName + "\nDescription:\n" + Exception.description
	//+ "\nToString:\n" + Exception.toString()
	);
}

//--------------------------------------------------------------------------------
function Dummy() {
	return null;
}

//--------------------------------------------------------------------------------
function AlertTester(param1, param2) {
	try {
		alert(param1);
		alert(param2);
	}catch(e){ShowException("AlertTester", e);}
}

function GetNetControl(Name){
	try{
		//var o = openerWindow.document.getElementById("DocAutomation");
		var o = null;

		try {
			o = openerWindow.document.getElementById(Name);
		} catch (ex) {
			try {
				o = window.document.getElementById(Name);
			} catch (ex2) {}
		}
		
		return o;

	} catch(e){ShowException("GetNetControl", e);}
}

//--------------------------------------------------------------------------------
function GetDataSelector(){
	try{
		var o = openerWindow.document.getElementById("GeckoDataSelector");
	/*
	try{
		alert("ID of DocAutomation: " + o.id);
		alert("Name property of DocAutomation:\n" + o.GetName());
	}catch(e){
		ShowException("GetDocAutomation", e);
		return null;
	}
	*/
		return o;
	} catch(e){ShowException("GetDataSelector", e);}
}

function ShowDataSelectorForm(OwnerInfo, DataQueryFormName){
	//alert("SessionID: " + GetDataSelector().SessionID)
	try{
		var o = GetDataSelector();
		o.ShowDataSelectorForm(OwnerInfo, DataQueryFormName);
		if(o.OkWasSelected)
			RefreshOpener(window);
	}catch(e){ShowException("ShowDataSelectorForm", e);}
	//alert("ShowDataSelectorForm done..")
}

function NewMultiAMEM(OwnerInfo, DataQueryFormName){
	try{
		ShowDataSelectorForm(OwnerInfo, DataQueryFormName);
	}catch(e){}
}
//--------------------------------------------------------------------------------
function NewMNW(objid, objtype, ekspeder, dokJPID, dokType) {
	try{
		var arr = objid.split('=');
		if (arr.length != 2) {alert("JP_ID parameter er feil. Skal være på formen: JP_ID=<...>. " + p1); return;}
		//openerWindow.document.body.style.cursor = "wait";
		document.body.style.cursor = "wait";
		var sDokType = '';
		if(dokType != ''){	
			var arrDokType = dokType.split('=');
			sDokType = arrDokType[1];
		}

		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.SendMessage(arr[1], objtype, ekspeder, dokJPID, sDokType);	//openerWindow er definert i menuContainer.aspx

		document.body.style.cursor='default'
		//openerWindow.document.body.style.cursor='default'
		
	} catch(e){ShowException("NewMNW", e);}
}

//--------------------------------------------------------------------------------
function CheckInUtvMoteDok(p1, p2) {
	try{
		var arr = p1.split('=');
		if (arr.length != 2) {alert("MD_ID parameter er feil. Skal være på formen: MD_ID=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("MD_DOKTYPE_DU parameter er feil. Skal være på formen: MD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckInUtvMoteDok(arr[1], arr2[1]);
		
	} catch(e){ShowException("CheckInUtvMoteDok", e);}
}

function CheckOutUtvMoteDok(p1, p2) {
	try{
		var arr = p1.split('=');
		if (arr.length != 2) {alert("MD_ID parameter er feil. Skal være på formen: MD_ID=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("MD_DOKTYPE_DU parameter er feil. Skal være på formen: MD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckOutUtvMoteDok(arr[1], arr2[1]);
		
	} catch(e){ShowException("CheckOutUtvMoteDok", e);}
}

function MergeUtvMoteDok(p1, p2, p3, p4) {
	try{
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("MD_UTVID_UT parameter er feil. Skal være på formen: MD_UTVID_UT=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("MD_MOID_MO parameter er feil. Skal være på formen: MD_MOID_MO=<...>. " + p2); return;}
		var arr3 = p3.split('=');
		if (arr3.length != 2) {alert("MD_ID parameter er feil. Skal være på formen: MD_ID=<...>. " + p3); return;}
		var arr4 = p4.split('=');
		if (arr4.length != 2) {alert("MD_DOKTYPE_DU parameter er feil. Skal være på formen: MD_DOKTYPE_DU=<...>. " + p4); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.MergeUtvMoteDok(arr1[1], arr2[1], arr3[1], arr4[1]);
		
	} catch(e){ShowException("MergeUtvMoteDok", e);}
}

function NewUtvMoteDok(p1, p2, p3, p4) {
	try{
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("MD_UTVID_UT parameter er feil. Skal være på formen: MD_UTVID_UT=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("MD_MOID_MO parameter er feil. Skal være på formen: MD_MOID_MO=<...>. " + p2); return;}
		var arr3 = p3.split('=');
		if (arr3.length != 2) {alert("MD_ID parameter er feil. Skal være på formen: MD_ID=<...>. " + p3); return;}
		var arr4 = p4.split('=');
		if (arr4.length != 2) {alert("MD_DOKTYPE_DU parameter er feil. Skal være på formen: MD_DOKTYPE_DU=<...>. " + p4); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.NewUtvMoteDok(arr1[1], arr2[1], arr3[1], arr4[1]);

	} catch(e){ShowException("NewUtvMoteDok", e);}
}

function EditUtvMoteDok(p1, p2) {
	try{
		var arr = p1.split('=');
		if (arr.length != 2) {alert("MD_ID parameter er feil. Skal være på formen: MD_ID=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("MD_DOKTYPE_DU parameter er feil. Skal være på formen: MD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.EditUtvMoteDok(arr[1], arr2[1]);
		
	} catch(e){ShowException("EditUtvMoteDok", e);}
}

function CheckInUtvBehDok(p1, p2) {
	try {
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("BD_BEHID_US parameter er feil. Skal være på formen: BD_BEHID_US=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("BD_DOKTYPE_DU parameter er feil. Skal være på formen: BD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckInUtvBehDok(arr1[1], arr2[1]);
		
	} catch(e){ShowException("CheckInUtvBehDok", e);}
}

function CheckOutUtvBehDok(p1, p2) {
	try {
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("BD_BEHID_US parameter er feil. Skal være på formen: BD_BEHID_US=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("BD_DOKTYPE_DU parameter er feil. Skal være på formen: BD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckOutUtvBehDok(arr1[1], arr2[1]);
		
	} catch(e){ShowException("CheckOutUtvBehDok", e);}
}

function EditUtvBehDok(p1, p2) {
	try {
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("BD_BEHID_US parameter er feil. Skal være på formen: BD_BEHID_US=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("BD_DOKTYPE_DU parameter er feil. Skal være på formen: BD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.EditUtvBehDok(arr1[1], arr2[1]);
		
	} catch(e){ShowException("EditUtvBehDok", e);}
}

function MergeUtvBehDok(p1, p2) {
	try {
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("BD_BEHID_US parameter er feil. Skal være på formen: BD_BEHID_US=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("BD_DOKTYPE_DU parameter er feil. Skal være på formen: BD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.MergeUtvBehDok(arr1[1], arr2[1]);
		
	} catch(e){ShowException("MergeUtvBehDok", e);}
}

function NewUtvBehDok(p1, p2) {
	try {
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("BD_BEHID_US parameter er feil. Skal være på formen: BD_BEHID_US=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("BD_DOKTYPE_DU parameter er feil. Skal være på formen: BD_DOKTYPE_DU=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.NewUtvBehDok(arr1[1], arr2[1]);
		
	} catch(e){ShowException("NewUtvBehDok", e);}
}

//--------------------------------------------------------------------------------
function EditDoc_JP(p1, NewVersion) {
	try{
		var arr = p1.split('=');
		if (arr.length != 2) {alert("JP_ID parameter er feil. Skal være på formen: JP_ID=<...>. " + p1); return;}
		//openerWindow.document.body.style.cursor = "wait";
		document.body.style.cursor = "wait";
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.EditDoc(arr[1], 0, 0, "", false, NewVersion);	//openerWindow er definert i menuContainer.aspx

		document.body.style.cursor='default'
		//openerWindow.document.body.style.cursor='default'
		
	} catch(e){ShowException("EditDoc_JP", e);}
}
function EditDoc_DB(p1, p2, NewVersion) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		if (arr1.length != 2) {alert("DL_JPID_JP parameter er feil. Skal være på formen: DL_JPID_JP=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("DL_DOKID_DB parameter er feil. Skal være på formen: DL_DOKID_DB=<...>. " + p2); return;}
		document.body.style.cursor='wait'
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.EditDoc(arr1[1], arr2[1], 0, "", false, NewVersion);	//openerWindow er definert i menuContainer.aspx
		
		document.body.style.cursor='default'
	} catch(e){ShowException("EditDoc_DB", e);}
}
function EditDoc_VE(p1, p2, p3, NewVersion) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("VE_DOKID_DB parameter er feil. Skal være på formen: VE_DOKID_DB=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("VE_VERSJON parameter er feil. Skal være på formen: VE_VERSJON=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("VE_VARIANT_VF parameter er feil. Skal være på formen: VE_VARIANT_VF=<...>. " + p3); return;}
		document.body.style.cursor='wait'
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else {
			netDoc.EditDoc(0, arr1[1], arr2[1], arr3[1], false, NewVersion);	//openerWindow er definert i menuContainer.aspx
			if (!bMSIE55 && NewVersion) RefreshOpener(window);
		}
				
		document.body.style.cursor='default'
	} catch(e){ShowException("EditDoc_VE", e);}
}

//--------------------------------------------------------------------------------
function CheckInDoc_JP(p1) {
	try{
		var arr = p1.split('=');
		if (arr.length != 2) {alert("JP_ID parameter er feil. Skal være på formen: JP_ID=<...>. " + p1); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckInDoc(arr[1], 0, 0, "", true, true);
		
	} catch(e){ShowException("CheckInDoc_JP", e);}
}
function CheckInDoc_DB(p1, p2) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		if (arr1.length != 2) {alert("DL_JPID_JP parameter er feil. Skal være på formen: DL_JPID_JP=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("DL_DOKID_DB parameter er feil. Skal være på formen: DL_DOKID_DB=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckInDoc(arr1[1], arr2[1], 0, "", true, true);
		
	} catch(e){ShowException("CheckInDoc_DB", e);}
}
function CheckInDoc_VE(p1, p2, p3, p4) {
	try{
		//alert("p1: " + p1 + "\np2: " + p2 + "\np3: " + p3 + "\np4: " + p4);
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		var arr4 = p4.split('=');
		if (arr1.length != 2) {alert("VE_DOKID_DB parameter er feil. Skal være på formen: VE_DOKID_DB=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("VE_VERSJON parameter er feil. Skal være på formen: VE_VERSJON=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("VE_VARIANT_VF parameter er feil. Skal være på formen: VE_VARIANT_VF=<...>. " + p3); return;}
		if (arr4.length != 2) {alert("Forced parameter er feil. Skal være på formen: Forced=<...>. " + p4); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else {
			var bForced = (arr4[1].toUpperCase() == "TRUE") ? true : false;
			//alert("bForced=" + bForced + "\narr4[1]=" + arr4[1] + "\ntypeof(arr4[1])=" + typeof(arr4[1]));
			netDoc.CheckInDocForced(0, arr1[1], arr2[1], arr3[1], true, true, bForced);
			if (!bMSIE55) RefreshOpener(window);
		}
		
	} catch(e){ShowException("CheckInDoc_VE", e);}
}

//--------------------------------------------------------------------------------
function CheckOutDoc_JP(p1) {
	try{
		var arr = p1.split('=');
		if (arr.length != 2) {alert("JP_ID parameter er feil. Skal være på formen: JP_ID=<...>. " + p1); return;}
		
		var sMsgNo, sMsgDesc;
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckOutDoc(arr[1], 0, 0, "", false, true, sMsgNo, sMsgDesc);	//openerWindow er definert i menuContainer.aspx
		
	} catch(e){ShowException("CheckOutDoc_JP", e);}
}
function CheckOutDoc_DB(p1, p2) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		if (arr1.length != 2) {alert("DL_JPID_JP parameter er feil. Skal være på formen: DL_JPID_JP=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("DL_DOKID_DB parameter er feil. Skal være på formen: DL_DOKID_DB=<...>. " + p2); return;}
		
		var sMsgNo, sMsgDesc;
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.CheckOutDoc(arr1[1], arr2[1], 0, "", false, true, sMsgNo, sMsgDesc);	//openerWindow er definert i menuContainer.aspx
		
	} catch(e){ShowException("CheckOutDoc_DB", e);}
}
function CheckOutDoc_VE(p1, p2, p3) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("VE_DOKID_DB parameter er feil. Skal være på formen: VE_DOKID_DB=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("VE_VERSJON parameter er feil. Skal være på formen: VE_VERSJON=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("VE_VARIANT_VF parameter er feil. Skal være på formen: VE_VARIANT_VF=<...>. " + p3); return;}
		
		var sMsgNo, sMsgDesc;
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else {
			netDoc.CheckOutDoc(0, arr1[1], arr2[1], arr3[1], false, true, sMsgNo, sMsgDesc);	//openerWindow er definert i menuContainer.aspx
			if (!bMSIE55) RefreshOpener(window);
		}
		
	} catch(e){ShowException("CheckOutDoc_VE", e);}
}

//--------------------------------------------------------------------------------
function MergeDoc_JP(p1, p2, p3) {
	try{
		//Trengs JP_NDDOKTYPE????
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("JP_NDDOKTYPE parameter er feil. Skal være på formen: JP_NDDOKTYPE=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("JP_ID parameter er feil. Skal være på formen: JP_ID=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("JP_SAID parameter er feil. Skal være på formen: JP_SAID=<...>. " + p3); return;}
		document.body.style.cursor = "wait";
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.MergeDoc(arr1[1], "", arr3[1], arr2[1],  0, 0, "");	//openerWindow er definert i menuContainer.aspx
			
		document.body.style.cursor = "default";
	} catch(e){ShowException("MergeDoc_JP", e);}
}
function MergeDoc_DB(p1, p2, p3) {
	try{
		//Trengs DL_NDOKTYPE_XX????
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("JP_NDOKTYPE_ND parameter er feil. Skal være på formen: DL_NDOKTYPE_XX=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("DL_JPID_JP parameter er feil. Skal være på formen: DL_JPID_JP=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("DL_DOKID_DB parameter er feil. Skal være på formen: DL_DOKID_DB=<...>. " + p3); return;}
		document.body.style.cursor = "wait";
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.MergeDoc(arr1[1], "", 0, arr2[1], arr3[1], 0, "");	//openerWindow er definert i menuContainer.aspx
		
		document.body.style.cursor = "default";
	} catch(e){ShowException("MergeDoc_DB", e);}
}
function MergeDoc_VE(p1, p2, p3) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("VE_DOKID_DB parameter er feil. Skal være på formen: VE_DOKID_DB=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("VE_VERSJON parameter er feil. Skal være på formen: VE_VERSJON=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("VE_VARIANT_VF parameter er feil. Skal være på formen: VE_VARIANT_VF=<...>. " + p3); return;}
		document.body.style.cursor = "wait";
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.MergeDoc("", "", 0, 0, arr1[1], arr2[1], arr3[1]);	//openerWindow er definert i menuContainer.aspx
		
		document.body.style.cursor = "default";
	} catch(e){ShowException("MergeDoc_VE", e);}
}

//--------------------------------------------------------------------------------
function NewDoc_JP(p1, p2, p3, RefreshWindow) {
	try{
		//alert("NewDoc_JP\n\tp1=" + p1 + "\n\tp2=" + p2 + "\n\tp3=" + p3 + "\n\tRefreshWindow=" + RefreshWindow);		
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("JP_NDDOKTYPE parameter er feil. Skal være på formen: JP_NDDOKTYPE=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("JP_ID parameter er feil. Skal være på formen: JP_ID=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("JP_SAID parameter er feil. Skal være på formen: JP_SAID=<...>. " + p3); return;}
		//if (isNaN(arr2[1])) alert("Feil parameter: JP_ID kan ikke være blank");
		//if (isNaN(arr3[1])) alert("Feil parameter: SA_ID kan ikke være blank");

		document.body.style.cursor = "wait";
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else {
			var TemplateID = 0;
			var BesvarerJPID = 0;
			//if (arguments.length == 4) {
				
				//alert("arguments.length=" + arguments.length + "\narguments[0]=" + arguments[0] + "\narguments[1]=" + arguments[1] + "\narguments[2]=" + arguments[2] + "\narguments[3]=" + arguments[3]+ "\narguments[4]=" + arguments[4]+ "\narguments[5]=" + arguments[5])
				//if (netDoc.NewDocEx(arr1[1], "", arr3[1], arr2[1], 0, 0, "",0)) { //openerWindow er definert i menuContainer.aspx
				//	if (!bMSIE55 && RefreshWindow) {
				//		//alert("bMSIE55=false og RefreshWindow=true");
				//		RefreshOpener(window);
				//	}
				//}
			//} else 
			if (arguments.length == 5) {
				TemplateID = arguments[4];
			}
			if (arguments.length == 6) {
				BesvarerJPID = arguments[5];
			}
				//alert("arguments.length=" + arguments.length + "\narguments[0]=" + arguments[0] + "\narguments[1]=" + arguments[1] + "\narguments[2]=" + arguments[2] + "\narguments[3]=" + arguments[3] + "\narguments[4]=" + arguments[4])
			if (netDoc.NewDocEx2(arr1[1], "", arr3[1], arr2[1], 0, 0, "", TemplateID, BesvarerJPID)) { //openerWindow er definert i menuContainer.aspx
				if (!bMSIE55 && RefreshWindow) {
					//alert("bMSIE55=false og RefreshWindow=true");
					RefreshOpener(window);
				}
			}
		}
		document.body.style.cursor = "default";
	}catch(e){ShowException("NewDoc_JP", e);}
}

function NewDoc_DB(p1, p2, p3, RefreshWindow) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("JP_NDOKTYPE_ND parameter er feil. Skal være på formen: DL_NDOKTYPE_XX=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("DL_JPID_JP parameter er feil. Skal være på formen: DL_JPID_JP=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("DL_DOKID_DB parameter er feil. Skal være på formen: DL_DOKID_DB=<...>. " + p3); return;}
		document.body.style.cursor = "wait";

		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else
			if (netDoc.NewDoc(arr1[1], "", 0, arr2[1], arr3[1], 0, ""))	//openerWindow er definert i menuContainer.aspx
				if (!bMSIE55 && RefreshWindow) RefreshOpener(window);

		document.body.style.cursor = "default";
	} catch(e){ShowException("NewDoc_DB", e);}
}
function NewDoc_VE(p1, p2, p3, RefreshWindow) {
	try{
		var arr1 = p1.split('=');
		var arr2 = p2.split('=');
		var arr3 = p3.split('=');
		if (arr1.length != 2) {alert("VE_DOKID_DB parameter er feil. Skal være på formen: VE_DOKID_DB=<...>. " + p1); return;}
		if (arr2.length != 2) {alert("VE_VERSJON parameter er feil. Skal være på formen: VE_VERSJON=<...>. " + p2); return;}
		if (arr3.length != 2) {alert("VE_VARIANT_VF parameter er feil. Skal være på formen: VE_VARIANT_VF=<...>. " + p3); return;}
		document.body.style.cursor = "wait";
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else
			if (netDoc.NewDoc("", "", 0, 0, arr1[1], arr3[1], arr2[1]))	//openerWindow er definert i menuContainer.aspx
				if (!bMSIE55 && RefreshWindow) RefreshOpener(window);
		
		document.body.style.cursor = "default";
	} catch(e){ShowException("NewDoc_VE", e);}
}

//--------------------------------------------------------------------------------
function ViewSamletSaksfremstilling(p1) {
	try{
		var arr = p1.split('=');
		if (arr.length != 2) {alert("JP_ID parameter er feil. Skal være på formen: JP_ID=<...>. " + p1); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.ViewSamletSaksfremstilling(arr[1]);
		
	} catch(e){ShowException("ViewSamletSaksfremstilling", e);}
}

function NewTotalSaksFremstilling(p1, p2) {
	try{
		var arr1 = p1.split('=');
		if (arr1.length != 2) {alert("MO_ID parameter er feil. Skal være på formen: MO_ID=<...>. " + p1); return;}
		var arr2 = p2.split('=');
		if (arr2.length != 2) {alert("MO_UTVID_UT parameter er feil. Skal være på formen: MO_UTVID_UT=<...>. " + p2); return;}
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.NewTotalSaksFremstilling(arr1[1], arr2[1]);
		
	} catch(e){ShowException("NewTotalSaksFremstilling", e);}
}

//--------------------------------------------------------------------------------
function EditTemplate(BdmId, filename, DbField) {
	try{
		var aBdmId = BdmId.split('=');
		if (aBdmId.length != 2) {alert("BDM_ID parameter er feil. Skal være på formen: BDM_ID=<...>. " + BdmId); return;}
		var arr = filename.split('=');
		if (arr.length != 2) {alert("BDM_FILNAVN parameter er feil. Skal være på formen: BDM_FILNAVN=<...>. " + filename); return;}
		var sFilename = arr[1];
		var aDbField = DbField.split('=');
		if (aDbField.length != 2) {alert("DbField parameter er feil. Skal være på formen: feltnavn=<...>. " + DbField); return;}
		//alert("EditTemplate: " + decodeURI(sFilename));	//Greier ikke oversette $ i f.eks. \\sverre\c$\temp
		//alert("EditTemplate:\nsFilename=" + sFilename + "\nunescape(sFilename)=" + unescape(sFilename) + "\naBdmId[1]=" + aBdmId[1] + "\naDbField[1]=" + aDbField[1]);
		
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else netDoc.OpenDokMal(aBdmId[1], sFilename, aDbField[1]);
		
	} catch(e){ShowException("EditTemplate", e);}
}

//--------------------------------------------------------------------------------
function OpenFileOnDisc(bdmid, fieldname) {
	try{
		var abdmid = bdmid.split('=');
		if (abdmid.length != 2) {alert("BDM_ID parameter er feil. Skal være på formen: BDM_ID=<...>. " + bdmid); return;}
		var afieldname = fieldname.split('=');		
		if (afieldname.length != 2) {alert("Feltnavn parameter er feil. Skal være på formen: Feltnavn=<...>. " + fieldname); return;}
		var sBdmId = abdmid[1];
		var sFieldname = afieldname[1];

		//alert("OpenFileOnDisk:" + sBdmId + " - " + sFieldname);

		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else {
			var sFileName = netDoc.GetFileFromDisk(sBdmId, sFieldname);
			if (sFileName == null || sFileName == "") return;
			if (window.name == "rbottom") RefreshOpener(window);
			else alert("Dokument mal med ID=" + sBdmId + " er oppdatert med filen " + sFileName);
		}
		
	} catch(e){ShowException("OpenFileOnDisc", e);}
}

//--------------------------------------------------------------------------------
function ViewUtvDok(MoId, DokType){
	try {
		//alert("MoId=" + MoId + "\nDokType=" + DokType);
		var aMoId = MoId.split('=');
		if (aMoId.length != 2) {alert("Kan ikke vise dokument. MøteId(MO_ID) mangler"); return;}
		var aDokType = DokType.split('=');
		var sDokType = "";
		if (aDokType.length == 1) sDokType = DokType;
		else if (aDokType.length == 2) sDokType = aDokType[1];
		else {alert("DokType er gitt på et ugyldig format"); return;}
		
		var sURLParams = "MO_ID=" + aMoId[1] + "&MD_DOKTYPE_DU=" + sDokType;
		//alert(sURLParams);
		sURLParams = "db=EPHORTE&" + sURLParams;
		window.open("/getfile.aspx/ephdoc/?" + escape(sURLParams),'ephorte','scrollbars=yes,location=no,menubar=yes,copyhistory=no,resizable=yes');
	
	} catch(e){ShowException("ViewUtvDok", e);}
}

//--------------------------------------------------------------------------------
function ViewUtvSakDok(UbId, SakType){
	try {
		//alert("UbId=" + UbId + "\nSakType=" + SakType);
		var aUbId = UbId.split('=');
		if (aUbId.length != 2) {alert("Kan ikke vise dokument. UtvSakBeh_G(UB_ID) mangler"); return;}
		var sURLParams = "UB_ID=" + aUbId[1] + "&SakType=" + SakType;
		//alert(sURLParams);
		//alert(escape(sURLParams));
		sURLParams = "db=EPHORTE&" + sURLParams;
		window.open("/getfile.aspx/ephdoc/?" + escape(sURLParams),'ephorte','scrollbars=yes,location=no,menubar=yes,copyhistory=no,resizable=yes');
	
	} catch(e){ShowException("ViewUtvSakDok", e);}
}
//--------------------------------------------------------------------------------
function ViewGAKDoc(GAK_OBJTYPE, GAK_OBJID){
	try{
		//alert("GLI_TYPE=" +GetParam(GLI_TYPE).value +", GLI_LINK="+GetParam(GLI_LINK).value);
		var sURLParams = "";
		switch (GetParam(GAK_OBJTYPE).value) {
		case '0':
			return false;
			break;
		case '1':
			sURLParams = "JP_ID=" + GetParam(GAK_OBJID).value;		
			break;
		default:
			return false;
			break;
		}
		if(sURLParams != "") {
			sURLParams = "db=EPHORTE&" + sURLParams;
			conwin = window.open("/getfile.aspx/ephdoc/?" + escape(sURLParams),'ephorte','scrollbars=yes,location=no,menubar=yes,copyhistory=no,resizable=yes');	
		}
	}catch(e){ShowException("ViewGAKDoc", e);}
}
//--------------------------------------------------------------------------------
function ViewLinkDoc(GLI_TYPE, GLI_LINK){
	try{
		//alert("GLI_TYPE=" +GetParam(GLI_TYPE).value +", GLI_LINK="+GetParam(GLI_LINK).value);
		var sURLParams = "";
		switch (GetParam(GLI_TYPE).value) {
		case 'EPD':
				sURLParams = "DL_DOKID_DB=" + GetParam(GLI_LINK).value;		
			break;
		case 'EPJ':
				sURLParams = "JP_ID=" + GetParam(GLI_LINK).value;		
			break;
		default:
			return;
			break;
		}
		sURLParams = "db=EPHORTE&" + sURLParams;
		conwin = window.open("/getfile.aspx/ephdoc/?" + escape(sURLParams),'ephorte','scrollbars=yes,location=no,menubar=yes,copyhistory=no,resizable=yes');	
	}catch(e){ShowException("ViewLinkDoc", e);}
}
function SendObjectAsLink(){
	try{
		var sUrl = this.top.frames.rbottom.location.toString();
		if(sUrl != 'about:blank'){
			var arr = sUrl.split('?');
			//alert(arr);
			if (arr.length != 2) {return;}
			var sParams = arr[1];
		
			var arguments = sParams.split('&');
			for(var i=0 ; i < arguments.length; i++ ) {
				var p = GetParam(arguments[i])
				var sJP_ID = "";
				var sDB_DOKID = "";
				switch(p.name){
					case "SA_ID":
							DialogWindow('FunctionHandler.aspx?f=NewMNWLink%20(SA)&MNW_OBJTYPE=0&MNW_OBJID='+p.value);
							break;
					case "JP_ID":
							DialogWindow('FunctionHandler.aspx?f=NewMNWLink%20(JP)&MNW_OBJTYPE=1&MNW_OBJID='+p.value);
							break;
					/*case "DB_DOKID":
							sDB_DOKID = p.value;
							if(sJP_ID != "")
								DialogWindow('details.aspx?f=NewMNWLink%20(DOK)&MNW_OBJID='+sDB_DOKID+'&MNW_JPID='+sJP_ID);						
							break;
					case "DL_JPID_JP":
							sJP_ID = p.value;
							if(sDB_DOKID != "")
								DialogWindow('details.aspx?f=NewMNWLink%20(DOK)&MNW_OBJID='+sDB_DOKID+'&MNW_JPID='+sJP_ID);						
							break;
					case "ME_ID":
							DialogWindow('details.aspx?f=NewMNWLink%20(ME)&MNW_OBJID='+p.value);						
							break;*/
				}
			}
		}
	}catch(e){ShowException("SendObjectAsLink", e);}
}

//--------------------------------------------------------------------------------
function ViewElDoc(o){
	//alert(o.getAttribute("AttributeData"));
	var sAttData = o.getAttribute("AttributeData");
	if (sAttData == null) {
		alert("Error in MetaFunctions.js.ViewElDoc. Ingen attributter definert");
		return;
	}
	
	var sParam1 = "";
	var sParam2 = "";
	var sParam3 = "";
	var sURLParams = "";
	var aAttData = sAttData.split(";");
	switch (aAttData.length) {
	case 1:	//Står på Journal post nivå. Kun JP_ID er gitt
		//alert("JP_ID");
		sParam1 = sAttData;
		if (sParam1 == "") {
			alert("Ingen verdi gitt for JP_ID");
			return;
		} else
			sURLParams = "ParamCount=1&" + sParam1;		
		break;
		
	case 2:	//Står på DokBeskriv nivå. DL_DOKID_DB og DL_JPID_JP er gitt
		//alert("DL_DOKID_DB og DL_JPID_JP");
		for (var i=0; i<aAttData.length; i++) {
			if (aAttData[i].indexOf("DL_DOKID_DB") != -1) {
				//var aParam = aAttData[i].split("=");
				//sParam1 = "DL_DOKID_DB=" + aParam[1];
				sParam1 = aAttData[i];
				continue;
			}
			
			if (aAttData[i].indexOf("DL_JPID_JP") != -1) {
				//var aParam = aAttData[i].split("=");
				//sParam2 = "DL_JPID_JP=" + aParam[1];
				sParam2 = aAttData[i];
				continue;
			}
			
			break;
		}
		if (sParam1 == "" || sParam2 == "") {
			alert("Ingen verdi gitt for DL_DOKID_DB og/eller DL_JPID_JP");
			return;
		} else
			sURLParams = "ParamCount=2&" + sParam1 + "&" + sParam2;
		break;
		
	case 3:	// Står på DokVerson nivå. VE_DOKID_DB, VE_VERSJON og VE_VARIANT_VF er gitt
		//alert("VE_DOKID_DB, VE_VERSJON og VE_VARIANT_VF");
		for (var i=0; i<aAttData.length; i++) {
			if (aAttData[i].indexOf("VE_DOKID_DB") != -1) {
				sParam1 = aAttData[i];
				continue;
			}			
			if
			 (aAttData[i].indexOf("VE_VERSJON") != -1) {
				sParam2 = aAttData[i];
				continue;
			}
			if (aAttData[i].indexOf("VE_VARIANT_VF") != -1) {
				sParam3 = aAttData[i];
				continue;
			}
			
			break;
		}
		if (sParam1 == "" || sParam2 == "" || sParam2 == "") {
			alert("Ingen verdi gitt for VE_DOKID_DB, VE_VERSJON og/eller VE_VARIANT_VF");
			return;
		} else
			sURLParams = "ParamCount=3&" + sParam1 + "&" + sParam2 + "&" + sParam3;
		break;
		
	default:
		alert("Feil antall parametere i oppgitt for AttributeData");
		return;
		break;
	}
	
	//alert(sURLParams);
	//DialogWindow("../GetDoc.aspx" + sURLParams, "GetDoc");
	sURLParams = "db=EPHORTE&" + sURLParams;
	conwin = window.open("/getfile.aspx/ephdoc/?" + escape(sURLParams),'ephorte','scrollbars=yes,location=no,menubar=yes,copyhistory=no,resizable=yes');
}

function ViewElDocJP(param){
	sURLParams = "db=EPHORTE&ParamCount=1&" + param;
	conwin = window.open("/getfile.aspx/ephdoc/?" + escape(sURLParams),'ephorte','scrollbars=yes,location=no,menubar=yes,copyhistory=no,resizable=yes');
}

function ViewElDocDB(param1, param2){
	sURLParams = "db=EPHORTE&ParamCount=2&" + param1 + "&" + param2;
	conwin = window.open("/getfile.aspx/ephdoc/?" + escape(sURLParams),'ephorte','scrollbars=yes,location=no,menubar=yes,copyhistory=no,resizable=yes');
}

//--------------------------------------------------------------------------------
function ViewElDoc2(Url, Confirm){
	try{
/*
		var GlobalFrameWindow = GetEphorteGlobalFrame(window);
		var sWorkFolder = "";
		try {
			if (GlobalFrameWindow != null) sWorkFolder = GlobalFrameWindow.document.getElementById("UncInfo").WorkFolder;
			if (sWorkFolder != "") Url = Url.replace("WorkFolder=", "WorkFolder=" + sWorkFolder);
		}catch (ex) {}
		//alert("sWorkFolder=" + sWorkFolder + "\nUrl=" + Url);
		window.open(Url);
*/
		//IE browser henger når UncInfo er i GlobalFrame. Flytter UncInfo til vindu der funksjonen ViewElDoc benyttes
		if (Confirm)
			if (!window.confirm("Dokumentet \345pnes for lesing.\nHvis du \370nsker \345 endre innholdet av tekstdokumentet,\nb\370r du velge 'Rediger tekstdokument' fra hurtigmenyen")) return;
		
		var el = document.getElementById("UncInfo");
		el.GetWorkFolder();
		var sWorkFolder = "";
		try {
			sWorkFolder = el.WorkFolder;
			if (sWorkFolder != "") Url = Url.replace("WorkFolder=", "WorkFolder=" + sWorkFolder);
		}catch (ex) {}
		//alert("sWorkFolder=" + sWorkFolder + "\nUrl=" + Url);
		window.open(Url);
	}catch(e){
		//alert("Error in MetaFunctions.js:ViewElDoc2\n" + e.description);
		//window.status = "ViewElDoc2: Open document without setting workfolder";
		window.open(Url);
	}
}

//--------------------------------------------------------------------------------
function SetRtopFrame(href){
	try{
		top.frames.rtop.location = href;
		//alert(parent.frames['rtop'].href);
		//alert(parent.parent.frames.frames);
		//parent.frames['rtop'].href=href//'Theme.aspx';
		//parent.frames['rtop']=href//'Theme.aspx';
		//alert(href);
	}catch(e){ShowException("SetRtopFrame", e);}
}

//--------------------------------------------------------------------------------
function CopyGeneralTGGruppe(PARAM1, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=CopyGeneralTGGruppe&' + PARAM1 + "&" + PARAM2,'CopyGeneralTGGruppe');
	}catch(e){ShowException("CopyGeneralTGGrupp", e);}
}

//--------------------------------------------------------------------------------
function DeleteDocVersion(PARAM1, PARAM2, PARAM3){
	try{
		DialogWindow('FunctionHandler.aspx?f=DeleteDocVersion&' + PARAM1 + "&" + PARAM2 + "&" + PARAM3,'DeleteDocVersion');
	}catch(e){ShowException("DeleteDocVersion", e);}
}

//--------------------------------------------------------------------------------
function ChangeIMSPassword(PARAM1){
	try{
		DialogWindow('FunctionHandler.aspx?f=ChangeIMSPassword&IMS_ID=' + PARAM1,'ChangeIMSPassword');
	}catch(e){ShowException("ChangeIMSPassword", e);}
}
//--------------------------------------------------------------------------------
function ClearIMSPassword(PARAM1,PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=ClearIMSPassword&IMS_ID=' + PARAM1 +'&IMS_PEID_PE=' +PARAM2,'ClearIMSPassword');
	}catch(e){ShowException("ClearIMSPassword", e);}
}
//--------------------------------------------------------------------------------
function RunPredefSeekReport(PARAM, PARAM2){
	try{
		var sPARAM = PARAM2;
		var BPSID = PARAM;
		switch (BPSID) {
			case -190:
			case -191:
				try{if(GetParam(sPARAM).name == "SA_ID") sPARAM = "MEF_SAID="+GetParam(sPARAM).value;}catch(e){}
				try{if(GetParam(sPARAM).name == "JP_ID") sPARAM = "MEF_JPID="+GetParam(sPARAM).value;}catch(e){}
				break;
			case -114:
					//try{if(GetParam(sPARAM).name == "SA_ID") sPARAM = "JP_SAID="+GetParam(sPARAM).value;}catch(e){}
					break;	
			case -116:
					try{if(GetParam(sPARAM).name == "FAK_ID") sPARAM = "FAL_FAKTURAID_FAK="+GetParam(sPARAM).value;}catch(e){}
					break;	
							
		}
		DialogWindow('Search.aspx?BPS_ID='+PARAM+'&'+sPARAM,'RunPredefSeekReport');
	}catch(e){ShowException("RunPredefSeekReport", e);}
}
//--------------------------------------------------------------------------------
function DoActivity(PARAM, PARAM2, PARAM3, PARAM4){
	try{
		//alert("PARAM=" + PARAM + "\nPARAM2=" + PARAM2 + "\nPARAM3=" + PARAM3 + "\nPARAM4=" + PARAM4 + "\narguments.length=" + arguments.length);
		var nGacId, sGacType, sGacObjType;
		var sGacUrl = "";
		try {
			if (GetParam(PARAM).name == "GAC_ID") nGacId = GetParam(PARAM).value;
			else if (GetParam(PARAM).name == "GAK_ID") nGacId = GetParam(PARAM).value;
		}catch(e){}
		try {
			if (GetParam(PARAM2).name == "GAC_TYPE") sGacType = GetParam(PARAM2).value;
			else if (GetParam(PARAM2).name == "GAK_TYPE") sGacType = GetParam(PARAM2).value;
		}catch(e){}
		try {
			if (GetParam(PARAM3).name == "GAC_OBJTYPE") sGacObjType = GetParam(PARAM3).value;
			else if (GetParam(PARAM3).name == "GAK_OBJTYPE") sGacObjType = GetParam(PARAM3).value;
		}catch(e){}
		try {
			if (GetParam(arguments[3]).name == "GAC_URL") sGacUrl = GetParam(PARAM4).value;
			else if (GetParam(arguments[3]).name == "GAK_URL") sGacUrl = GetParam(PARAM4).value;
		}catch(e){}
		//alert("nGacId=" + nGacId + "\nsGacType=" + sGacType + "\nsGacObjType=" + sGacObjType + "\nsGacUrl=" + sGacUrl);
		
		switch (sGacType.toUpperCase()) {
			case "SP":
			case "BP":
				//DialogWindow('details.aspx?f=EditGAC (UTF)&' + PARAM,'DoActivity');	//Funker ikke PARAM er: GAC_ID=...
				DialogWindow('details.aspx?f=EditGAC (UTF)&GAK_ID=' + nGacId,'DoActivity');
				break;
			case "OD":
				DialogWindow('FunctionHandler.aspx?f=EditGAC (UTF)&GAK_ID=' + nGacId + '&GAK_OBJTYPE=' + sGacObjType,'DoActivity');
				break;
			case "ODS":
				DialogWindow('FunctionHandler.aspx?f=EditGAC (UTF)&GAK_ID=' + nGacId + '&GAK_OBJTYPE=' + sGacObjType + '&GAK_TYPE=' + sGacType,'DoActivity');
				break;
			case "URL":
				if (sGacUrl == "") 
					alert("Du fors\370ker \345 \345pne en URL oppgavetype. URL som skal \345pnes er tom. Kan ikke \345pne nytt vindu");
				else
					window.open(sGacUrl, "DoActivity");
				break;
		}
	}catch(e){ShowException("DoActivity", e);}
}

//--------------------------------------------------------------------------------
function OpphevAvskriving(PARAM, PARAM2){
	try{
		var sPARAM = GetParam(PARAM).value;
		if (PARAM2.toUpperCase() == "TRUE")
			DialogWindow('FunctionHandler.aspx?f=OpphevAvskrivingJP&Id=' + sPARAM + '&FromJp=True', 'OpphevAvskriving');
		else
			DialogWindow('FunctionHandler.aspx?f=OpphevAvskrivingAM&Id=' + sPARAM + '&FromJp=False', 'OpphevAvskriving');
	}catch(e){ShowException("OpphevAvskriving", e);}
}

function RenummererJournalPost(PARAM){
	try{
		DialogWindow('FunctionHandler.aspx?f=RenummererJournalPost&' + PARAM, 'RenummererJournalPost');
	}catch(e){ShowException("RenummererJournalPost", e);}
}

function AnswerToJP(PARAMS){
	try{
		//var sFunctionName = escape("NewSA (GetParams)");
		DialogWindow('FunctionHandler.aspx?f=AnswerToJP&' + PARAMS ,'SvarPaaJP');
	}catch(e){ShowException("AnswerToJP", e);}
}

function NewPartsbrev(PARAM){
	try{
		var sPARAM = PARAM;
		try{if(GetParam(PARAM).name == "JP_ID") sPARAM = "JP_ID=" + GetParam(PARAM).value;}catch(e){}
		DialogWindow('FunctionHandler.aspx?f=NewPartsbrev&' + sPARAM, 'NewPartsbrev');
	}catch(e){ShowException("NewPartsbrev", e);}
}
function AvskrivDirekteJPFraAM(PARAM, PARAM2){
	try{
		var sPARAM = PARAM;
		var sPARAM2 = PARAM2;
		DialogWindow('FunctionHandler.aspx?f=AvskrivDirekteJPFraAM&' + sPARAM+'&'+sPARAM2 ,'AvskrivDirekteJPFraAM');
	}catch(e){ShowException("AvskrivDirekteJPFraAM", e);}
}
function AvskrivDirekteJP(PARAM){
	try{
		var sPARAM = PARAM;
		try{if(GetParam(PARAM).name == "AM_JPID") sPARAM = "JP_ID="+GetParam(PARAM).value;}catch(e){}
		DialogWindow('FunctionHandler.aspx?f=AvskrivDirekteJP&' + sPARAM ,'AvskrivDirekteJP');
	}catch(e){ShowException("AvskrivDirekteJP", e);}
}
function AvskrivDirekteJP2(PARAM, AvskrivnMaate){
	try{
		var sPARAM = PARAM;
		try{if(GetParam(PARAM).name == "AM_JPID") sPARAM = "JP_ID="+GetParam(PARAM).value;}catch(e){}
		DialogWindow('FunctionHandler.aspx?f=AvskrivDirekteJP&' + sPARAM + '&AvskrivnMaate=' + AvskrivnMaate,'AvskrivDirekteJP');
	}catch(e){ShowException("AvskrivDirekteJP2", e);}
}
function ActivateDeletedMappe(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=ActivateDeletedMappe&' + PARAM1,'ActivateDeletedMappe');
			return false;
	}catch(e){ShowException("ActivateDeletedMappe", e);}
}
function ActivateDeletedJP(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=ActivateDeletedJP&' + PARAM1,'ActivateDeletedJP');
			return false;
	}catch(e){ShowException("ActivateDeletedJP", e);}
}
function SetJPStatusJ(PARAM, Status){
	try{
		DialogWindow('FunctionHandler.aspx?f=SetJPStatusJ&' + PARAM + '&STATUS=' +Status,'SetJPStatusJ');
		return false;
	}catch(e){ShowException("SetJPStatusJ", e);}
}
function SetJPStatusA(PARAM, Status){
	try{
		DialogWindow('FunctionHandler.aspx?f=SetJPStatusA&' + PARAM + '&STATUS=' +Status,'SetJPStatusA');
		return false;
	}catch(e){ShowException("SetJPStatusA", e);}
}
function SetSAStatus(PARAM1, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=SetSAStatus&' + PARAM1 + '&' + PARAM2 ,'SetSAStatus');
	}catch(e){ShowException("SetSAStatus", e);}
}

function CustomFunctionSA(PARAM1, PARAM2, PARAM3){
	try{
		var sPARAM = PARAM1;
		try{sPARAM = "ID="+GetParam(PARAM1).value;}catch(e){}
		DialogWindow('FunctionHandler.aspx?f=CustomFunctionSA&' + sPARAM + '&' + PARAM2 + '&' + PARAM3 ,'CustomFunctionSA');
	}catch(e){ShowException("CustomFunctionSA", e);}
}

function CustomFunctionJP(PARAM1, PARAM2, PARAM3){
	try{
		var sPARAM = PARAM1;
		try{sPARAM = "ID="+GetParam(PARAM1).value;}catch(e){}
		DialogWindow('FunctionHandler.aspx?f=CustomFunctionJP&' + sPARAM + '&' + PARAM2  + '&' + PARAM3,'CustomFunctionJP');
	}catch(e){ShowException("CustomFunctionJP", e);}
}

function MarkGAKasDone(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=MarkGAKasDone&' + PARAM1,'MarkGAKasDone');
			return false;
	}catch(e){ShowException("MarkGAKasDone", e);}
}
function AvskrivOgAvsluttSak(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=AvskrivOgAvsluttSak&' + PARAM1,'AvskrivOgAvsluttSak');
			return false;
	}catch(e){ShowException("AvskrivOgAvsluttSak", e);}
}
function CopyGnrToBS(PARAM1,PARAM2){
	try{
			DialogWindow('FunctionHandler.aspx?f=CopyGnrToBS&KL_SAID_SA=' + PARAM1+'&'+PARAM2,'CopyGnrToBS');
			return false;
	}catch(e){ShowException("CopyGnrToBS", e);}
}
function CopyAMToSP(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=CopyAMToSP&' + PARAM1,'CopyAMToSP');
			return false;
	}catch(e){ShowException("CopyAMToSP", e);}
}
function CopyAMToAK(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=CopyAMToAK&' + PARAM1,'CopyAMToAK');
			return false;
	}catch(e){ShowException("CopyAMToAK", e);}
}
function FlagJPAsUtgatt(PARAM1, PARAM2){
	try{
			DialogWindow('FunctionHandler.aspx?f=FlagJPAsUtgatt&' + PARAM1+'&'+PARAM2,'FlagJPAsUtgatt');
			return false;
	}catch(e){ShowException("FlagJPAsUtgatt", e);}
}

function MarkAsMainEmployer(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=MarkAsMainEmployer&' + PARAM1,'MarkAsMainEmployer');
			return false;
	}catch(e){ShowException("MarkAsMainEmployer", e);}
}

function CopyJP(PARAM1){
	try{
			DialogWindow('FunctionHandler.aspx?f=CopyJP&' + PARAM1,'CopyJP');
			return false;
	}catch(e){ShowException("CopyJP", e);}
}
function NewActivitiesFromTemplate(PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6){
	//alert("PARAM1=" + PARAM1 + "\nPARAM2=" + PARAM2 + "\nPARAM3=" + PARAM3 + "\nPARAM4=" + "\nPARAM5=" + PARAM5 + "\nPARAM6=" + PARAM6);
	try{
		if (PARAM3.toString().indexOf("=") != -1) {
			var aParam = PARAM3.toString().split("=");
			if (aParam.length == 2) PARAM3 = aParam[1];
		}
		//alert("PARAM3=" + PARAM3);
		if(PARAM3.toString() == '-10')
			DialogWindow('FunctionHandler.aspx?f=NewGAK%20(HR)&	' + PARAM1 + '&GAK_OBJTYPE=' +PARAM2 + 
																'&GAK_ID=' +PARAM3 +'&PositionGAK_ID=' +PARAM4 +
																'&SameLevel=' +PARAM5 +'&Duplicate=' +PARAM6
																,'NewGAK_HR');
		else if(PARAM3.toString() == '-1')
			DialogWindow('FunctionHandler.aspx?f=NewGAK%20(GK)&	' + PARAM1 + '&GAK_OBJTYPE=' +PARAM2 + 
																'&GAK_ID=' +PARAM3 +'&PositionGAK_ID=' +PARAM4 +
																'&SameLevel=' +PARAM5 +'&Duplicate=' +PARAM6
																,'NewGAK_GK');
		else
			DialogWindow('FunctionHandler.aspx?f=NewGAK&	' + PARAM1 + '&GAK_OBJTYPE=' +PARAM2 + 
																'&GAK_ID=' +PARAM3 +'&PositionGAK_ID=' +PARAM4 +
																'&SameLevel=' +PARAM5 +'&Duplicate=' +PARAM6
																,'NewGAK');
		//return false;
	}catch(e){
		ShowException("NewActivitiesFromTemplate", e);
		return false;
	}
}
function FlagMessageRead_JP(PARAM, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=FlagMessageRead&AM_ID=' + PARAM + '&' + PARAM2,'FlagMessageRead');
	}catch(e){ShowException("FlagMessageRead", e);}
}
function FlagMessageRead(PARAM, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=FlagMessageRead&' + PARAM + '&AM_JPID_JP'+PARAM2,'FlagMessageRead');
	}catch(e){ShowException("FlagMessageRead", e);}
}
function MsgRead(PARAM, Provider, Current, Read){
	try{
		//alert("Test: " + PARAM + ", "+ Provider +", "+ Read);
		var Unread = false;
		if(Read)
			UnRead = false;
		else
			UnRead = true;
		DialogWindow('FunctionHandler.aspx?f=MsgRead&' + PARAM + '&' +Provider + '&MME_UNREAD=' +UnRead,'MessageRead');
	}catch(e){ShowException("MessageRead", e);}
}
function MoveActivity(PARAM, Direction){
	try{
		if(Direction.toString() == 'UP')
			DialogWindow('FunctionHandler.aspx?f=MoveActivityUp&' + PARAM + '&DIRECTION=' +Direction,'MoveActivityUp');
		else if(Direction.toString() == 'DOWN')
			DialogWindow('FunctionHandler.aspx?f=MoveActivityDown&' + PARAM + '&DIRECTION=' +Direction,'MoveActivityDown');
		else if(Direction.toString() == 'TOP')
			DialogWindow('FunctionHandler.aspx?f=MoveActivityTop&' + PARAM + '&DIRECTION=' +Direction,'MoveActivityTop');
		else if(Direction.toString() == 'BOTTOM')
			DialogWindow('FunctionHandler.aspx?f=MoveActivityBottom&' + PARAM + '&DIRECTION=' +Direction,'MoveActivityBottom');
	}catch(e){ShowException("MoveActivity", e);}
}
function MoveLink(PARAM, PARAM2, PARAM3, Direction){
	try{
		if(Direction.toString() == 'UP')
			DialogWindow('FunctionHandler.aspx?f=MoveLinkUp&' + PARAM + '&' + PARAM2 + '&' + PARAM3 + '&DIRECTION=' +Direction,'MoveLinkUp');
		else if(Direction.toString() == 'DOWN')
			DialogWindow('FunctionHandler.aspx?f=MoveLinkDown&' + PARAM + '&' + PARAM2 + '&' + PARAM3 + '&DIRECTION=' +Direction,'MoveActivityDown');
		else if(Direction.toString() == 'TOP')
			DialogWindow('FunctionHandler.aspx?f=MoveLinkTop&' + PARAM + '&' + PARAM2 + '&' + PARAM3 + '&DIRECTION=' +Direction,'MoveLinkTop');
		else if(Direction.toString() == 'BOTTOM')
			DialogWindow('FunctionHandler.aspx?f=MoveLinkBottom&' + PARAM + '&' + PARAM2 + '&' + PARAM3 + '&DIRECTION=' +Direction,'MoveLinkBottom');
	}catch(e){ShowException("MoveLink", e);}
}
function MsgDelete(PARAM, Provider){
	try{
		DialogWindow('FunctionHandler.aspx?f=MsgDelete&' + PARAM + '&' +Provider,'MessageDelete');
	}catch(e){ShowException("MessageDelete", e);}
}
function ViewGAKObject(PARAM1, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=ViewGAKObject&' + PARAM1 + '&' +PARAM2,'ViewGAKObject');
		return false;
	}catch(e){
		ShowException("ViewGAKObject", e);
		return false;
	}
}
function ViewVEUObject(PARAM1, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=ViewVEUObject&' + PARAM1 + '&' +PARAM2,'ViewVEUObject');
		return false;
	}catch(e){
		ShowException("ViewVEUObject", e);
		return false;
	}
}
function NewXIP_ALTINN(PARAM1, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=NewXIP_ALTINN&' + PARAM1 + '&' +PARAM2,'NewXIP_ALTINN');
		return false;
	}catch(e){
		ShowException("NewXIP_ALTINN", e);
		return false;
	}
}
//--------------------------------------------------------------------------------
function NewXIP_RECRUITER(PARAM1, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=NewXIP_RECRUITER&' + PARAM1 + '&' +PARAM2,'NewXIP_RECRUITER');
		return false;
	}catch(e){
		ShowException("NewXIP_RECRUITER", e);
		return false;
	}
}
//--------------------------------------------------------------------------------
function ViewJFFObject(PARAM1, PARAM2, PARAM3, PARAM4){
	try{
		DialogWindow('FunctionHandler.aspx?f=ViewJFFObject&' + PARAM1 + '&' +PARAM2 + '&' +PARAM3 + '&' +PARAM4,'ViewJFFObject');
		return false;
	}catch(e){
		ShowException("ViewJFFObject", e);
		return false;
	}
}
//--------------------------------------------------------------------------------
function ViewMEFObject(PARAM1, PARAM2, PARAM3, PARAM4){
	try{
		DialogWindow('FunctionHandler.aspx?f=ViewMEFObject&' + PARAM1 + '&' +PARAM2 + '&' +PARAM3 + '&' +PARAM4,'ViewMEFObject');
		return false;
	}catch(e){
		ShowException("ViewMEFObject", e);
		return false;
	}
}
//--------------------------------------------------------------------------------
function ExportJP(PARAM){
	try{
		DialogWindow('FunctionHandler.aspx?f=ExportJP&' + PARAM,'ExportJP');
		return false;
	}catch(e){
		ShowException("ExportJP", e);
		return false;
	}
}
//--------------------------------------------------------------------------------
function ViewGLI(PARAM1, PARAM2, PARAM3){
	try{
		var Params = PARAM1 + PARAM2 + PARAM3 ;
		if(Params.toLowerCase().indexOf("_new") > -1){
			iPosEqual = PARAM1.indexOf("=",0);	
			sUrl = PARAM1.substr(iPosEqual+1, PARAM1.length-(iPosEqual+1));
			//sUrl = PARAM1.split('=')[1];
			sTypeUrl = PARAM2.split('=')[1].toString();
			//alert("Url="+sUrl);
			//alert("TypeUrl="+sTypeUrl);
			//alert("PARAM1="+PARAM1);
			//alert("PARAM2="+PARAM2);
			if(sTypeUrl.length > 0) sUrl = sTypeUrl + sUrl;
			sUrl = sUrl.replace('%3D','=');
			sUrl = sUrl.replace('%26','&');
			window.open(sUrl,'','');
			window.close();
		}
		else
			DialogWindow('FunctionHandler.aspx?f=ViewGLI&' + PARAM1 + '&' +PARAM2 + '&' +PARAM3,'ViewGLI');
		return false;
	}catch(e){
		ShowException("ViewGLI", e);
		return false;
	}
}
function ViewURL(PARAM1){
	try{
			iPosEqual = PARAM1.indexOf("=",0);	
			sUrl = PARAM1.substr(iPosEqual+1, PARAM1.length-(iPosEqual+1));
			window.open(sUrl,'','');
	}catch(e){
		ShowException("ViewGLI", e);
		return false;
	}
}


function ShowNyDialog(sFunctionName){
	DialogWindow('details.aspx?f=' + sFunctionName,'ShowNyDialog');
}

function NySak(){
	try{ShowNyDialog(escape("NewSA (GetParams)"));}
	catch(e){ShowException("NySak", e);}
}


function NewMappe(MappeType){
	try{
		/* NOTE: SH 2002.05.06 This switch can be changed to
		* ShowNyDialog(escape("NewMappe_" + MappeType)); */
		switch(MappeType){
		case 'PM':
			ShowNyDialog(escape("NewMappe_PM"));
			break;
		case 'AM':
			ShowNyDialog(escape("NewMappe_AM"));
			break;
		case 'FM':
			ShowNyDialog(escape("NewMappe_FM"));
			break;
		
		}
	}catch(e){ShowException("NewMappe", e);}
}
function NewGKA(KatalogType){
	try{
		/* NOTE: SH 2002.05.06 This switch can be changed to
		* ShowNyDialog(escape("NewMappe_" + MappeType)); */
		switch(KatalogType){
		case 'A':
			DialogWindow('details.aspx?f=NewGKA_A&GKA_ADMID_AI=|AI_ID|');
			break;
		case 'F':
			ShowNyDialog(escape("NewGKA_F"));
			break;
		case 'P':
			DialogWindow('details.aspx?f=NewGKA_P&GKA_SBHID_PN=|PN_ID|');
			break;
		case 'U':
			ShowNyDialog(escape("NewGKA_U"));
			break;	
		}
	}catch(e){ShowException("NewGKA", e);}
}

function ShowImaging(){
	try{
		//alert("ShowImaging function")
		DialogWindow('details.aspx?f=ShowImaging');
	}catch(e){ShowException("ShowImaging", e);}
}

function GetGabAdresser(SAID){
	try{
		
		//var aSAID = SAID.split("=");
		//if (aSAID.length != 2) {alert("Feil i MetaFunctions.js:GetGabAdresser: SAID skal ha formatet: SAID=verdi"); return;}
		//if (aSAID[1] == "") {alert("Feil i MetaFunctions.js:GetGabAdresser: Saksnummer har ikke verdi"); return;}
		
		var el = GetNetControl("Geolok");		
		el.SeekNaboer();
		
		//DialogWindow('details.aspx?f=ViewEstateInGis&SAID=' + aSAID[1] + '&GBNR=' + aGBNR[1] + "&ViewNeig=" + ViewNeig);
	}catch(e){ShowException("GetGabAdresser", e);}
	//}catch(e){}


}

function ViewEstateInGis(SAID, GBNR, ViewNeig){
	try{
		//alert("ViewEstateInGis function:\nSAID=" + SAID + "\nGBNR=" + GBNR + "\nViewNeig=" + ViewNeig);
		var aSAID = SAID.split("=");
		if (aSAID.length != 2) {alert("Feil i MetaFunctions.js:ViewEstateInGis: SAID skal ha formatet: SAID=verdi"); return;}
		if (aSAID[1] == "") {alert("Feil i MetaFunctions.js:ViewEstateInGis: Saksnummer har ikke verdi"); return;}
		var aGBNR = GBNR.split("=");
		if (aGBNR.length != 2) {alert("Feil i MetaFunctions.js:ViewEstateInGis. GBNR skal ha formatet: GBNR=verdi"); return;}
		if (aGBNR[1] == "") {alert("Feil i MetaFunctions.js:ViewEstateInGis: Gards/bruks nr. har ikke verdi"); return;}
		//alert("aSAID[1]=" + aSAID[1] + "\naGBNR[1]=" + aGBNR[1]);
		
		var el = GetNetControl("Geolok");
		//alert(el.outerHTML);
		if (ViewNeig) el.ShowNaboer();
		else el.ShowEiendom();
		//DialogWindow('details.aspx?f=ViewEstateInGis&SAID=' + aSAID[1] + '&GBNR=' + aGBNR[1] + "&ViewNeig=" + ViewNeig);
	//}catch(e){ShowException("ViewEstateInGis", e);}
	}catch(e){}
}

//--------------------------------------------------------------------------------
function FindDBFields(LookupGroup, win) {
	var x = 0;
	try {
		//alert("LookupGroup=" + LookupGroup + "\nwin.name=" + win.name);
		var all = win.document.all;
		var sLOColumn = null;
		var j = 0;
		var aCtrls = new Array();
		
		for (i = 0; i < all.length; i++) {
			//window.status = i;
			try {
				sLOColumn = all[i].getAttribute("LOColumn");
				if (sLOColumn == null) continue;
				if (sLOColumn == "") continue;
				sLOColumn = sLOColumn.toString();
			} catch (ex) {continue;}	//Når .Net lookup kontroll behandles i try setningen, oppstår det en feil. Underlig?????

			var aLOColumn = sLOColumn.split(";");
			
			for (k=0; k<aLOColumn.length; k++) {
				if (aLOColumn[k] == "") continue;
				var aLOColumnRow = aLOColumn[k].split(":");
				if (aLOColumnRow.length != 4) continue;
				var iLookupGroup = aLOColumnRow[0];
				var sDBField = aLOColumnRow[1].toUpperCase();
				var iParamType = aLOColumnRow[2];
				var sReadOnly = aLOColumnRow[3];

				//alert("sDBField=" + sDBField + "\niLookupGroup=" + iLookupGroup + "\niParamType=" + iParamType + "\nsReadOnly=" + sReadOnly);
				if (iLookupGroup != LookupGroup) continue;				//Kun aktuell lookup gruppe skal oppdateres
				if (iParamType != 1 && iParamType != 3) continue;	//Kun ut parametere er gyldige her
				if (sReadOnly == "true") continue;								//ReadOnly felt skal ikke oppdateres
				//alert("sDBField=" + sDBField + "\niLookupGroup=" + iLookupGroup + "\niParamType=" + iParamType + "\nsReadOnly=" + sReadOnly);

				oEl = all[i];
				oEl.setAttribute("DBField", sDBField);
				aCtrls[j] = oEl;
				j++;
			}
		}
		return aCtrls;
	}catch(e){alert ("Exception in MetaFunctions.js:FindDBFields: " + e.description);}
}

//--------------------------------------------------------------------------------
function SetDBFields(aDBFieldsToUpd, FieldValues) {
	try {
		for (var k = 0; k < aDBFieldsToUpd.length; k++) {
			for (var i = 0; i < FieldValues.length; i++) {
				var aArg = FieldValues[i].split("=");
				var sField = aArg[0].split(";")[0];
				var sValue = aArg[1];
				var oCtrl = aDBFieldsToUpd[k];
				//alert("oCtrl.DBField=" + oCtrl.DBField + "\nsField=" + sField + "\nsValue=" + sValue);
	
				if (oCtrl.DBField == sField) {
					switch (oCtrl.tagName.toUpperCase()) {
					case "SELECT":
						for (var n=0; n<oCtrl.options.length; n++)
							if (oCtrl.options[n].value == sValue) {
								//alert(oCtrl.selectedIndex + "\n" + oCtrl.options.index + "\n" + n);
								oCtrl.selectedIndex = n;
								break;
							}
						break;
					case "INPUT":
					case "TEXTAREA":
						oCtrl.value = sValue;
						break;
					case "SPAN":
						//alert(oCtrl.outerHTML);
						//oCtrl.innerHTML = sValue;
						var sControlType = oCtrl.getAttribute("ControlType");
						if (sControlType == null || sControlType == "") break;
						if (sControlType == "CheckBox") {
							if (!oCtrl.hasChildNodes()) break;
							try {
								var CheckBoxEl = oCtrl.childNodes[0];
								//alert(CheckBoxEl.outerHTML);
								if (CheckBoxEl.type.toLowerCase() != "checkbox") break;
								switch (sValue) {
								case "0":
									CheckBoxEl.checked = false;
									break;
								case "1":
								case "-1":
									CheckBoxEl.checked = true;
									break;
								}
							} catch (ex) {break;}
						}
						break;
					}
					
					break;
				}
			}
		}

	}catch(e){ShowException("SetDBFields", e);}
}
//--------------------------------------------------------------------------------
function SetObjectColumnValues() {
	try {
  var argc = SetObjectColumnValues.arguments.length;
  var argv = SetObjectColumnValues.arguments;
	var sSeekCritColl = "";
	var sNewCritColl = "";
	var bFoundObjectType = false;
		for (i = 0; i < argc; i++) {
				if(bFoundObjectType)
					sNewCritColl = sNewCritColl +argv[i]+";";
				else
					sSeekCritColl = sSeekCritColl +argv[i]+";";
				if(argv[i].indexOf("OBJECT") > -1)
					bFoundObjectType = true;
		}
		DialogWindow('FunctionHandler.aspx?f=SetObjectColumnValues&SeekCrit='+escape(sSeekCritColl)+'&NewCrit='+escape(sNewCritColl));
	}catch(e){ShowException("SetObjectColumnValues", e);}
} 
//--------------------------------------------------------------------------------
function SetDBLookupValues() {	//P.g.a. variabelt antall parametere benyttes arguments array
	try {
		if (m_oCallingPopup == null) return;

		var hidLookupGroup = window.document.getElementById("hidLookupGroup");
		if (hidLookupGroup == null) return;
		var sLookupGroup = hidLookupGroup.value;

		// Finner kontroller som skal ha retur verdi
		window.status="Oppdaterer kallende form. Vennligst vent...";	//Denne funksjonen tar lang tid når kallende form har mange elementer. F.eks. JP
		var aDBFieldsToUpd = FindDBFields(sLookupGroup, m_oCallingPopup.Window);
		if (aDBFieldsToUpd == null) {
			//alert("Finner ingen lokkup kontroller å oppdatere");
			return;
		}
		
		//Setter verdi for kontroller skal populeres fra lookup form
		window.status="";
		try {SetDBFields(aDBFieldsToUpd, arguments);} catch (ex) {}

		var PopupTextBox = GetElementByUniqueID(m_oCallingPopup.Window, m_oCallingPopup.ID, "_TextBox");
		if (PopupTextBox != null)
		try{
			//alert("m_oCallingPopup.ID=" + m_oCallingPopup.ID + "\nPopupTextBox.getAttribute('RunWebServiceFlag')=" + PopupTextBox.getAttribute('RunWebServiceFlag'));
			PopupTextBox.setAttribute("RunWebServiceFlag", 0, 0);
			PopupTextBox.setAttribute("OldValue", PopupTextBox.value, 0);
			PopupTextBox.className = "DBLookupTextBox";
		} catch (ex) {ShowException("Nullstill WebService lookup felt", e);}

		m_oCallingPopup.Window.HidePopup();

	}catch(e){ShowException("SetDBLookupValues", e);}
} 

//--------------------------------------------------------------------------------
function ClearDBLookupFields() {
	try {
		var colInput = document.getElementsByTagName("INPUT");
		for (i = 0; i < colInput.length; i++)
			if (colInput[i].type.toUpperCase() == "TEXT") {
				colInput[i].value = ""
				//alert(colInput[i].id);
			}
		return;
	}catch(e){ShowException("ClearDBLookupFields", e);}
}

//--------------------------------------------------------------------------------
function RunDBLookup() {
	try {
		var iCode = window.event.keyCode;
		var all = window.document.all;
		var sOnAction = null;
		
		if (iCode == 13) {
			//window.status = "<CR>";
			
			for (i = 0; i < all.length; i++) {
				sOnAction = all[i].getAttribute("onaction");
				if (sOnAction == null || sOnAction == "") continue;
				else sOnAction = sOnAction.toString();

				if (sOnAction.indexOf("SeekDBLookup") != -1) {
					eval(sOnAction);
					//alert(sOnAction);
				}
			}
			
			return false;
			
		} else {
			//window.status = iCode.toString();
			return true;
		}
	}catch(e){ShowException("RunDBLookup", e);}
}

//--------------------------------------------------------------------------------
function GetParam(p){
	var arr = p.split('=');
	if (arr.length != 2)
		return {name: "", value: ""};
	return {name: arr[0], value: arr[1]};
}

function SetDetailFrameURL(opener, window, URL){
	try{
		if(opener != null){
			try{opener.top.frames.rbottom.location = URL;}
			catch(e){opener.top.location = URL;}
		}
		if(window != null)
			window.close();
	}catch(e){
		alert ("Exception in MetaFunctions.js:SetDetailFrameURL: " + e.description);
	}
}

//Example:
//ViewOVKL('OOK_TYPE=O','OOK_ORDNVER=X','OOK_ORDNPRI=NKFAG','OOK_SAID=0');
function ViewOVKL(p1, p2, p3, p4){
//function ViewOVKL(){
	var sType = "", sOrdnVer = "", sOrdnPri = "", sSaID = "";
	for(var i=0 ; i < arguments.length; i++ ) {
		var p = GetParam(arguments[i])
		switch(p.name){
		case "OOK_TYPE":    sType    = "" + p.value; break;
		case "OOK_ORDNVER": sOrdnVer = "" + p.value; break;
		case "OOK_ORDNPRI": sOrdnPri = "" + p.value; break;
		case "OOK_SAID":    sSaID    = "" + p.value; break;
		}
	}
	if(sType == "K"){
		SetDetailFrameURL(this, null, "details.aspx?f=ViewSA&SA_ID="+sSaID);
	}else{
		window.location = "details.aspx?f=ViewOVKL (OOK)&OOK_ORDNPRI=" + sOrdnPri +"&OOK_SOEK=" + sOrdnVer;
	}
	//alert("Verdier2: " + sType + "-" + sOrdnVer + "-" + sOrdnPri + "-" + sSaID);
}

//--------------------------------------------------------------------------------
function RunDropDownListItem(el) {
	try{
		//alert("el.tagName=" + el.tagName);
		var TableCell = GetParentElementOfTagname(el, IsCell);
		//alert(TableCell.tagName);
		var colChildNodes = TableCell.childNodes;
		for (i=0; i<colChildNodes.length; i++) {
			//alert(colChildNodes(i).tagName);

			try {
				if (colChildNodes(i).tagName.toUpperCase() == "SELECT") {
					var ddl = colChildNodes(i);
					var SelectedValue = ddl.options[ddl.selectedIndex].value;
					//alert(SelectedValue);
					eval(SelectedValue);
					break;
				}
			} catch (e2) {continue;}	//Enkelte elementer i childNodes kolleksjonen er av type undefined. colChildNodes(i).tagName.toUpperCase() feiler da.
		}
	}catch(e){
		alert ("Exception in MetaFunctions.js:RunDropDownListItem: " + e.description);
	}
}

//--------------------------------------------------------------------------------
function GetParentElementOfTagname(el, f) {
	try {
		if (el == null) return null;
		else if (f(el)) return el;
		else return getParent(el.parentElement, f);

	}	catch (e) {
		alert ("Exception in MetaFunctions.js:GetParentElementOfTagname: " + e.description);
	}
}

//--------------------------------------------------------------------------------
function IsCell(el) {
	return (el.tagName.toUpperCase() == "TD");
}

//--------------------------------------------------------------------------------
function FastSearch() {
	DialogWindow('details.aspx?f=FastSearch');
}
//--------------------------------------------------------------------------------
function OnEnterFastSearch() {
	try {
		var iCode = window.event.keyCode;
		var all = window.document.all;
		var sOnAction = null;
		
		if (iCode == 13) {
			//window.status = "<CR>";
			
			for (i = 0; i < all.length; i++) {
				sOnAction = all[i].getAttribute("onaction");
				if (sOnAction == null || sOnAction == "") continue;
				else sOnAction = sOnAction.toString();

				if (sOnAction.indexOf("RunFastSearch") != -1) {
					eval(sOnAction);
					//alert(sOnAction);
				}
			}
			
			return false;
			
		} else {
			//window.status = iCode.toString();
			return true;
		}
	}catch(e){ShowException("OnEnterFastSearch", e);}
}
//--------------------------------------------------------------------------------
function LogOutAndClose(){
	try {
		setCookie(".ASPXAUTH", "", -1);
		try{window.top.document.body.innerHTML = "";}catch(e2){}
		window.top.close();
	}	catch (e) {
		alert ("Exception in MetaFunctions.js:LogOutAndClose: " + e.description);
	}
}

//--------------------------------------------------------------------------------
function LogOutAndRefresh(){
	try {
		setCookie(".ASPXAUTH", "", -1);
		window.top.location.reload();
	}	catch (e) {
		alert ("Exception in MetaFunctions.js:LogOutAndRefresh: " + e.description);
	}
}

function EditPredefSearch(){
	try{
		if(this.top.Internal_EditPredefSearch != null){
			this.top.Internal_EditPredefSearch();
		} else {
			if (this.top.frames.rtop == null)	alert("Ikke implementert");
			else this.top.frames.rtop.Internal_EditPredefSearch();
		}
	}	catch (e) {
		try{
			alert ("Exception in MetaFunctions.js:EditPredefSearch: Unable to call function in " + this.top.frames.rtop.location + ": " + e.description);
		}	catch (e2) {
		}
		alert ("Exception in MetaFunctions.js:EditPredefSearch: " + e.description);
	}
}

function MoveUtvBeh(PARAM1, PARAM2, PARAM3){
	try{
		DialogWindow('FunctionHandler.aspx?f=MoveUtvBeh&' + PARAM1 + '&' + PARAM2 + '&' + PARAM3 ,'MoveUtvBeh');
	}catch(e){ShowException("MoveUtvBeh", e.description);}
}

function ChangeUtvBehStaus(PARAM1, PARAM2, PARAM3){
	try{
		DialogWindow('FunctionHandler.aspx?f=ChangeUtvBehStaus&' + PARAM1 + '&' + PARAM2 + '&' + PARAM3 ,'ChangeUtvBehStaus');
	}catch(e){ShowException("ChangeUtvBehStaus", e.description);}
}

function NewFrammote(PARAM1, PARAM2, PARAM3, PARAM4){
	try{
		DialogWindow('FunctionHandler.aspx?f=NewFrammote&' + PARAM1 + '&' + PARAM2 + '&' + PARAM3 + '&' + PARAM4,'NewFrammote');
	}catch(e){ShowException("NewFrammote", e.description);}
}

function NewFrammotePersVara(PARAM1, PARAM2, PARAM3){
	try{
		DialogWindow('FunctionHandler.aspx?f=NewFrammotePersVara&' + PARAM1 + '&' + PARAM2 + '&' + PARAM3,'NewFrammotePersVara');
	}catch(e){ShowException("NewFrammotePersVara", e.description);}
}

function DeleteFrammote(PARAM1, PARAM2, PARAM3){
	try{
		DialogWindow('FunctionHandler.aspx?f=DeleteFrammote&' + PARAM1 + '&' + PARAM2 + '&' + PARAM3 ,'DeleteFrammote');
	}catch(e){ShowException("DeleteFrammote", e.description);}
}

function PrepareMoteDok(PARAM1, PARAM2, PARAM3, PARAM4){
	//PARAM1 = MO_ID, PARAM2 = MO_UTVID_UT, PARAM3 = DOKTYYPE (MI eler MP), PARAM4 = OFFENTLIG (true eller false)
	try{
		//alert("PARAM1=" + PARAM1 + "\nPARAM2=" + PARAM2 + "\nPARAM3=" + PARAM3 + "\nPARAM4=" + PARAM4);
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else {
			var bOffentlig = (PARAM4.split('=')[1].toLowerCase() == "false") ? false : true;
			netDoc.PrepareMoteDok(PARAM1.split('=')[1], PARAM2.split('=')[1], PARAM3.split('=')[1], bOffentlig);
		}

	}catch(e){ShowException("PrepareMoteDok", e.description);}
}

function GenerateMoteDok(PARAM1, PARAM2, PARAM3, PARAM4){
	//PARAM1 = MO_ID, PARAM2 = MO_UTVID_UT, PARAM3 = DOKTYYPE (MI eler MP), PARAM4 = OFFENTLIG (true eller false)
	try{
		//alert("PARAM1=" + PARAM1 + "\nPARAM2=" + PARAM2 + "\nPARAM3=" + PARAM3 + "\nPARAM4=" + PARAM4);
		var netDoc = GetNetControl("DocAutomation");
		if (netDoc == null) alert(".NET kontroll for dokument handtering finnes ikke i Web siden. Avbryter operasjonen.");
		else {
			var bOffentlig = (PARAM4.split('=')[1].toLowerCase() == "false") ? false : true;
			netDoc.GenerateMoteDok(PARAM1.split('=')[1], PARAM2.split('=')[1], PARAM3.split('=')[1], bOffentlig);
		}

	}catch(e){ShowException("GenerateMoteDok", e.description);}
}

function LockProtokoll(PARAM){
	try{
		DialogWindow('FunctionHandler.aspx?f=LockProtokoll&' + PARAM ,'LockProtokoll');
	}catch(e){ShowException("LockProtokoll", e.description);}
}

function NumbSakskart(PARAM1, PARAM2){
	try{
		DialogWindow('FunctionHandler.aspx?f=NumbSakskart&' + PARAM1 + '&' + PARAM2 ,'NumbSakskart');
	}catch(e){ShowException("NumbSakskart", e.description);}
}

function MarkVersionAsActive(PARAM1, PARAM2, PARAM3){
	try{
		DialogWindow('FunctionHandler.aspx?f=MarkVersionAsActive&' + PARAM1 + '&' + PARAM2 + '&' + PARAM3 ,'MarkVersionAsActive');
	}catch(e){ShowException("MarkVersionAsActive", e.description);}
}



function CopySA_TITTEL(ReturnField, TimeOut, ObjectTypeId, CritField, CritValue) {
	try{
		//alert("ReturnField= " + ReturnField + "\nTimeOut= " + TimeOut + "\nObjectTypeId= " + ObjectTypeId + "\nCritField= " + CritField + "\nCritValue= " + CritValue);
		var UniqueID = openerWindow.m_CurrentShortCutMenu.id;
		UniqueID = UniqueID.replace("_EditBox", "");
		UniqueID = "UniqueId=" + UniqueID;
		//alert("UniqueID= " + UniqueID);
		openerWindow.GetDbFieldValueFromWebService(ReturnField, TimeOut, ObjectTypeId, CritField, CritValue, UniqueID);
	}catch(e){ShowException("CopySA_TITTEL", e.description);}
}