function lnk(it,search){
  if(it == "") return;
  var linkIt = it;
  if(linkIt.indexOf("ART") < 0) linkIt = escape("ART/"+it);
  else linkIt = escape(linkIt);
  url = '?doc=WWW1.ARTDETAILS&search='+escape(search)+'&it='+linkIt;
  if(GetQuery('nodelevel',null)) url = ReplaceQuery("nodelevel",GetQuery('nodelevel',null),url,"replace");
  if(GetQuery('docref',null)) url = ReplaceQuery("docref",GetQuery('docref',null),url,"replace");
  if(GetQuery('folderid',null)) url = ReplaceQuery("folderid",GetQuery('folderid',null),url,"replace");
  location.href=(url);
}


function pg(offset, handle){
  url = String(document.location.search);
  url = ReplaceQuery("handle",handle,url,"replace");
  url = ReplaceQuery("offset",offset,url,"replace");
  document.location.href=(url);
}

function largeImg(url){
  window.open(url,"pop","height=600,width=800,status=0,toolbar=0,menubar=0,scrollbars=1,location=no",true);
}



function go(node,folderid,docid,prog,url,type){
  if(!type){
    alert("Ingen presentasjons-visning valgt\nVelg en template fra rullegardinen i WebAdmin");
    return;
  }
  if(type && type.toUpperCase() != "URL" && prog == "?doc="){
    SubFolder(folderid, node);
    return;
  }
  if(String(folderid)=="") folderid = docid.substring(0,10);
  switch(type.toUpperCase()){
    case "URL" :
     window.open(url,"_blank","height=500,width=800,status=0,toolbar=1,menubar=0,scrollbars=1,location=no,resizable=1");
//   location.href=(url);
    break;
    default :
      var app = GetQuery('doc',prog);
      var code = GetQuery('code',prog);
      var mfr = GetQuery('mfr',prog);
      var url = document.location.search;
      if(!url || url == ""){
        url = '?folderid='+encodeURIComponent(folderid)+'&nodelevel='+node;
      }
      else{
      }
      url = ReplaceQuery("docid",null,url,"delete");
      url = ReplaceQuery("handle",null,url,"delete");
      url = ReplaceQuery("offset",null,url,"delete");
      url = ReplaceQuery("nodelevel",node,url,"replace");
      url = ReplaceQuery("folderid",encodeURIComponent(folderid),url,"replace");
      url = ReplaceQuery("docref",encodeURIComponent(docid),url,"replace");              
      if(code) url = ReplaceQuery("code",code,url,"replace");
      else url = ReplaceQuery("code",null,url,"delete");
      if(app != "") url = ReplaceQuery("doc",encodeURIComponent(app),url,"replace");
      else url = ReplaceQuery("doc",null,url,"delete"); 
      url = ReplaceQuery("search",null,url,"delete");     
      document.location.href=(url);
    break;
  }  
  return;
}

function SubFolder(docid, nodelevel){
    // 1.) open folder
    // 2.) close folder
    var chk = document.getElementById(docid);
    if(chk){
      chk.innerHTML = "";
      chk.removeNode();
      return;
    }
    else{
      var url = "default.aspx?doc=WWW1.SUBFOLDER&nodelevel="+nodelevel+"&docid="+docid;
      //Send to server
      var xmlHttp = XmlHttp();
      xmlHttp.open("GET", url, false);
      xmlHttp.send();
      var obj = event.srcElement;
      var container = obj.parentElement.parentElement;
      var subLevel = document.createElement("folder");
      container.insertBefore(subLevel,obj.parentElement.nextSibling);
      subLevel.id = docid;
      subLevel.innerHTML = xmlHttp.responseText;
    }
}

function post(obj){
 var frm = null;
 if(obj && obj.tagName.toUpperCase() == "FORM") frm = obj;
 if(!frm){
   var area = obj;
   while(area.parentNode){
     if(area.tagName.toUpperCase() == "FORM"){
       frm = area;
       break;
     }
     area = area.parentNode;
   }
 }
 else if(!frm) frm = window.event.srcElement;
 var x = buildPOST(frm);
 CancelEvent();    
}

// function to build POST requests 
function buildPOST(obj) {   
    var qs = "<envelope><post>";
    for(e=0;e<obj.elements.length;e++){ 
      if(!obj.elements[e].getAttribute("method")){
        var name = obj.elements[e].id;
        if(!name) continue;
        var value = encodeURIComponent(obj.elements[e].value);
        qs += "<"+name+">"+value+"</"+name+">";
      }
    }
    qs += "</post></envelope>";   
    //Build url
    var url = String(document.location.search);
    // Find app:import
    var doc = GetQuery("doc",null);
    var app = obj.getAttribute("app");
    if(app) doc = app;
    if(doc){
      url = ReplaceQuery("doc",doc,String(document.location.search),"replace");
    }      
    url = "default.aspx"+url;
    //Send to server
    var xmlHttp = XmlHttp();
    var xml = null;
    xmlHttp.open("POST", url, false);
    xmlHttp.send(qs);
    // After effects...
    var xml = xmlHttp.responseXML;
    var errmsg = xml.getElementsByTagName("message");
    if(errmsg.length){ // An error occured
      alert(FindInnerText(errmsg[0]));
      return false;
    }
    else{
      var url = String(document.location);
      location.replace(url);
    }
}

function ReplaceQuery(name,value,loc,mode){ // mode : replace(insert) or delete
  if(loc == "") loc = "?";
  var queryString = String(loc);
  var n = (queryString.indexOf("?") + 1);
  if (queryString != ""){
    var data,aData,aOut
    var insert = false
    var outValue = "?";
    data = queryString.slice(n,queryString.length);
    aData = data.split("&");
    for(i=0;i<aData.length;i++){
      aOut = aData[i].split("=");
      if(aOut[0].toUpperCase() == name.toUpperCase()){
        if(mode != "delete"){
          if(outValue != "?") outValue += "&";
  	  outValue += name + "=" + value; 
	}
	insert = true;
      }
      else{
        if(outValue != "?") outValue += "&";	
        outValue += aData[i]; 				
      }
    }
    if(insert != true && mode != "delete"){
      if(outValue != "?") outValue += "&";
      outValue += name + "=" + value;
    }			
    return outValue;
  }
  else{
    return null;
  }
}

function GetQuery(name,url){
  var data,aData,aOut;
  var outValue = null;
  if(!url){
    url = unescape(document.location.search);
    data = url.slice(1,url.length);
  }
  else{
    pos = url.indexOf("?");
    data = url.slice((pos+1),url.length);
  }
  if(data != ""){
    aData = data.split("&");
    for(i=0;i<aData.length;i++){
      if(!aData[i]) continue;
      aOut = aData[i].split("=");
      if(aOut[0].toUpperCase() == name.toUpperCase()){
        outValue = aData[i].substring( aData[i].indexOf("=")+1, aData[i].length );
        break;
      }
    }
    return outValue;
  }
  else{
    return null;
  }
}

function CancelEvent(){
  window.event.cancelBubble = true;
  window.event.returnValue = false;
  return false;
}

function ShowAllTxt(){
  var clickObj = event.srcElement;
  var obj = document.getElementById("descr");
  if(!obj || !clickObj) return;
  if(clickObj.clicked == "Y"){
    clickObj.setAttribute("clicked","")
    obj.style.height = "200px";   
    obj.style.overflow = "hidden";   
  }
  else{
    clickObj.setAttribute("clicked","Y")
    obj.style.height = null;   
    //obj.style.overflow = null;      
  }
}

/*************************************************/

function XmlHttp(){
  var xmlhttp=false;
  /*@cc_on @*/
  /*@if (@_jscript_version >= 5)
  // JScript gives us Conditional compilation, we can cope with old IE versions.
  // and security blocked creation of the objects.
   try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
    try {
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
     xmlhttp = false;
    }
   }
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}


function FindInnerText(objControl, innerText, nestingLevel)
{
	//maybe microsoft already done the job for us?
	if (typeof objControl.innerText != "undefined")
		return objControl.innerText;
	
	//standard browser. check recursion limit:
	if ((typeof nestingLevel != "undefined")&&(nestingLevel > 100))
		return innerText;
	
	//set defaults:
	if (typeof innerText == "undefined")
		innerText = "";
	if (typeof nestingLevel == "undefined")
		nestingLevel = 0;
	
	//stop condition:
	if (!objControl)
		return innerText;
	
	var text=objControl.nodeValue;
	if (!text)
		text = "";
	
	//take into consideration line breaks:
	if (objControl.nodeName.toLowerCase() == "br")
		return "\n";
	
	//iterate child elements:
	for (var i=0; i<objControl.childNodes.length; i++)
	{
		text += FindInnerText(objControl.childNodes[i], objControl.childNodes[i].nodeValue, nestingLevel+1);
	}
	
	//all done.
	return text;
}

//funksjon for C% kunne submitte en form ved hjelp av enter tasten og uten submitknapp
function submitenter(myform,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myform.form.submit();
   post(myform);
   return false;
   }
else
   return true;
}

//funksjon for C% laste mini handlekurv
function loadshopcartmini(objname){
   var chk = document.getElementById(objname);
//   alert(chk.outerHTML);
   var url = "default.aspx?doc=WWW1.SHOPCARTMINI";
   var xmlHttp = XmlHttp();
   xmlHttp.open("GET", url, false);
   xmlHttp.send();
   chk.innerHTML = xmlHttp.responseText;
}

//funksjon for aa poste forms uten C% laste location.href ettepaa
function post2(obj){
 var frm = null;
 if(obj && obj.tagName.toUpperCase() == "FORM") frm = obj;
 if(!frm){
   var area = obj;
   while(area.parentNode){
     if(area.tagName.toUpperCase() == "FORM"){
       frm = area;
       break;
     }
     area = area.parentNode;
   }
 }
 else if(!frm) frm = window.event.srcElement;
 var x = buildPOST2(frm);
 CancelEvent();    
}

// function to build POST requests 
function buildPOST2(obj) {   
    var qs = "<envelope><post>";
    for(e=0;e<obj.elements.length;e++){ 
      if(!obj.elements[e].getAttribute("method")){
        var name = obj.elements[e].id;
        if(!name) continue;
        var value = encodeURIComponent(obj.elements[e].value);
        qs += "<"+name+">"+value+"</"+name+">";
      }
    }
    qs += "</post></envelope>";   
    //Build url
    var url = String(document.location.search);
    // Find app:import
    var doc = GetQuery("doc",null);
    var app = obj.getAttribute("app");
    if(app) doc = app;
    if(doc){
      url = ReplaceQuery("doc",doc,String(document.location.search),"replace");
    }      
    url = "default.aspx"+url;
    //Send to server
    var xmlHttp = XmlHttp();
    var xml = null;
    xmlHttp.open("POST", url, false);
    xmlHttp.send(qs);
    // After effects...
    var xml = xmlHttp.responseXML;
    var errmsg = xml.getElementsByTagName("message");
    if(errmsg.length){ // An error occured
      alert(FindInnerText(errmsg[0]));
      return false;
    }
    else{
//      var url = String(document.location);
//      location.replace(url);
    }
}


function unescapeHtml(id){
 var p = document.getElementById(id);  
 var txtC = p.textContent; 
 p.innerHTML = p.innerText;   
 if( p.innerHTML == "undefined" ){
   p.innerHTML = txtC;
 }
} 


/* Andrew Urquhart : Client-Side Request Object for javascript : www.andrewu.co.uk/tools/request/
COPYRIGHT:You are free to use this script for any use you wish if this comment is left intact. Feel free to enhance the script and send me the updated version. Please don't redistribute. This script is provided as is,with no warranty of any kind. Use it at your own risk. Copyright Andrew R Urquhart; VERSION:#1.2 2004-02-18 18:48 UTC*/
function RObj(ea){var LS="";var QS=new Object();var un="undefined";var f="function";var n="number";var r="string";var e1="ERROR:Index out of range in\r\nRequest.QueryString";var e2="ERROR:Wrong number of arguments or invalid property assignment\r\nRequest.QueryString";var e3="ERROR:Object doesn't support this property or method\r\nRequest.QueryString.Key";function Err(arg){if(ea)alert("Request Object:\r\n"+arg)};function URID(t){var d="";if(t){for(var i=0;i<t.length;++i){var c=t.charAt(i);d+=(c=="+"?" ":c);};};return unescape(d);};function OL(o){var l=0;for(var i in o){if(typeof(o[i])!=f) l++;};return l;};function AK(key){var auk=true;for(var u in QS){if(typeof(QS[u])!=f&&u.toString().toLowerCase()==key.toLowerCase()){auk=false;return u;}};if(auk){QS[key]=new Object();QS[key].toString=function(){return TS(QS[key])};QS[key].Count=function(){return OL(QS[key])};QS[key].Count.toString=function(){return OL(QS[key]).toString()};QS[key].Item=function(e){if(typeof(e)==un) return QS[key];else {if(typeof(e)==n){var a=QS[key][Math.ceil(e)];if(typeof(a)==un) Err(e1+"(\""+key+"\").Item("+e+")");return a;}else Err("ERROR:Expecting numeric input in\r\nRequest.QueryString(\""+key+"\").Item(\""+e+"\")");}};QS[key].Item.toString=function(e){if(typeof(e)==un) return QS[key].toString();else {var a=QS[key][e];if(typeof(a)==un) Err(e1+"(\""+key+"\").Item("+e+")");return a.toString();};};QS[key].Key=function(e){var t=typeof(e);if(t==r){var a=QS[key][e];return(typeof(a)!=un&&a&&a.toString()?e:"");}else Err(e3+"("+(e?e:"")+")");};QS[key].Key.toString=function(){return un};};return key};function AVTK(key,val){if(key!=""){var key=AK(key);var l=OL(QS[key]);QS[key][l+1]=val;}};function TS(o){var s="";for(var i in o){var ty=typeof(o[i]);if(ty=="object") s+=TS(o[i]);else if(ty!=f) s+=o[i]+", ";};var l=s.length;if(l>1)return(s.substring(0,l-2));return(s==""?un:s);};function KM(k,o){var k=k.toLowerCase();for(var u in o){if(typeof(o[u])!=f&&u.toString().toLowerCase()==k) return u;};}if(window.location&&window.location.search){LS=window.location.search;var l=LS.length;if(l>0){LS=LS.substring(1,l);var preAmpAt=0;var ampAt=-1;var eqAt=-1;var k=0;var skip=false;for(var i=0;i<l;++i){var c=LS.charAt(i);if(LS.charAt(preAmpAt)=="="||(preAmpAt==0&&i==0&&c=="=")) skip=true;if(c=="="&&eqAt==-1&&!skip) eqAt=i;if(c=="&"&&ampAt==-1){if(eqAt!=-1) ampAt=i;if(skip) preAmpAt=i+1;skip=false;};if(ampAt>eqAt){AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,ampAt)));preAmpAt=ampAt+1;eqAt=ampAt=-1;++k;};};if(LS.charAt(preAmpAt)!="="&&(preAmpAt!=0||i!=0||c!="=")){if(preAmpAt!=l){if(eqAt!=-1) AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,l)));else if(preAmpAt!=l-1) AVTK(URID(LS.substring(preAmpAt,l)),"");};if(l==1) AVTK(LS.substring(0,1),"");};};};var TC=OL(QS);if(!TC) TC=0;QS.toString=function(){return LS.toString()};QS.Count=function(){return(TC?TC:0)};QS.Count.toString=function(){return(TC?TC.toString():"0")};QS.Item=function(e){if(typeof(e)==un) return LS;else {if(typeof(e)==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof(QS[i])!=f&&++c==e) return QS[i];};Err(e1+"().Item("+e+")");}else return QS[KM(e,QS)];};return un;};QS.Item.toString=function(){return LS.toString()};QS.Key=function(e){var t=typeof(e);if(t==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof(QS[i])!=f&&++c==e) return i;}}else if(t==r){var e=KM(e,QS);var a=QS[e];return(typeof(a)!=un&&a&&a.toString()?e:"");}else Err(e2+"().Key("+(e?e:"")+")");Err(e1+"().Item("+e+")");};QS.Key.toString=function(){Err(e2+"().Key");};this.QueryString=function(k){if(typeof(k)==un) return QS;else {var k=KM(k,QS);if(typeof(QS[k])==un){t=new Object();t.Count=function(){return 0};t.Count.toString=function(){return "0"};t.toString=function(){return un};t.Item=function(e){return un};t.Item.toString=function(){return un};t.Key=function(e){Err(e3+"("+(e?e:"")+")");};t.Key.toString=function(){return un};return t;}if(typeof(k)==n) return QS.Item(k);else return QS[k];}};this.QueryString.toString=function(){return LS.toString();};this.QueryString.Count=function(){return(TC?TC:0)};this.QueryString.Count.toString=function(){return(TC?TC.toString():"0")};this.QueryString.Item=function(e){if(typeof(e)==un) return LS.toString();else {if(typeof(e)==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof(QS[i])!=f&&++c==e) return QS[i];};Err(e1+".Item("+e+")");}else return QS[KM(e,QS)];}if(typeof(e)==(n)) Err(e1+".Item("+e+")");return un;};this.QueryString.Item.toString=function(){return LS.toString()};this.QueryString.Key=function(e){var t=typeof(e);if(t==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof(QS[i])=="object"&&(++c==e)){return i;}}}else if(t==r){var e=KM(e,QS);var a=QS[e];return(typeof(a)!=un&&a&&a.toString()?e:"");}else Err(e2+".Key("+(e?e:"")+")");Err(e1+".Item("+e+")");};this.QueryString.Key.toString=function(){Err(e2+".Key");};this.Version=1.2;this.Author="Andrew Urquhart (www.andrewu.co.uk)";};var Request=new RObj(false);

