function boot(){
  checkLoginStatus();
}


function serializeForm(p_formId) {
    var retVal = '';

    var els = document.getElementById(p_formId).getElementsByTagName('*');



    for( var idx = 0; idx < els.length; idx++   ) {
      var el = els[idx];

      if( !el.disabled && el.name && el.name.length > 0 ) {
        switch(el.tagName.toLowerCase()) {
          case 'input':
            switch( el.type ) {
              case 'checkbox':
              case 'radio':
                if( el.checked ) {
                  if( retVal.length > 0 ) {
                    retVal  += '&';
                  }
                  retVal  += el.name   +'='+   encodeURIComponent(el.value);
                }
                break;
              case 'hidden':
              case 'password':
              case 'text':
              		if(el.value!=''){
                if( retVal.length > 0 ) {
                  retVal  += '&';
                }
                retVal  += el.name   +'='+   encodeURIComponent(el.value);
                break;
            }
            }
            break;
          case 'select':
          case 'textarea':
		if(el.value!=''){
			if( retVal.length > 0 ) {
				retVal  += '&';
			}

			retVal  += el.name   +'='+   encodeURIComponent(el.value);
			break;
		}
        }
      }
    }
    return retVal;
  }


function toHTML(v_html){
	var tmp = v_html;
	tmp = tmp.replace("&lt;","<");
	tmp = tmp.replace("&gt;",">");
	tmp = tmp.replace("\\\"","\"");
	return tmp;
}

	function parseScript(_source) {
		var source = _source;
		var scripts = new Array();
		
		// Strip out tags
		while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) {
			var s = source.indexOf("<script");
			var s_e = source.indexOf(">", s);
			var e = source.indexOf("</script", s);
			var e_e = source.indexOf(">", e);
			
			// Add to scripts array
			scripts.push(source.substring(s_e+1, e));
			// Strip from source
			source = source.substring(0, s) + source.substring(e_e+1);
		}
		
		// Loop through every script collected and eval it
		for(var i=0; i<scripts.length; i++) {
			try {
				eval(scripts[i]);
			}
			catch(ex) {
				// do what you want here when a script fails
			}
		}
		
		// Return the cleaned source
		return source;
	}


function loadXMLDoc(p_url,p_dest)
{

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  var xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
	{
	document.getElementById(p_dest).innerHTML=parseScript(xmlhttp.responseText);
	}
  }
xmlhttp.open("GET",p_url,true);
xmlhttp.send();
}


function altUrlClicked(p_url){
  window.open (p_url,"Katalog");  

//	alert("altUrlClicked"+p_url);
}

function loadWEBGroup(pid,page){
	DB.getShopDataType("FAMILYGROUP", pid, 0,0, loadWEBGroupResult);	
	document.webGroupID=pid;
	hideMainview();
}

function loadWEBGroupResult(data){
	document.getElementById("content-front-submenu").innerHTML="<ul>"+data+"</ul>";
}

function loadWebGroupProducts(pid,page){
	var outputFormat='<input type="button" class="CLASS" onclick="loadWebGroupProducts('+pid+',PN)" value="Side PN">';	
//	DB.getShopDataTypePL("MENUVAREHGROUP", pid,outputFormat, page,5, function(data){document.getElementById("content-front").innerHTML='<div id="productinfo" class="productinfo"></div>'+data; $('.bestillingsform').accordion({active: false,collapsible: true,autoHeight: false});});	
	document.body.style.cursor = "wait"
	DB.getShopDataTypePL("MENUVAREHGROUP", pid,outputFormat, page, 100, function(data){document.getElementById("content-front").innerHTML='<div id="productinfo" class="productinfo"></div>'+data; document.body.style.cursor = "default"});
}

function showModelColors(pid,page){
	var outputFormat='<input type="button" class="CLASS" onclick="showModelColors('+pid+',PN)" value=\'Side PN\'>';
	DB.getShopDataTypePL("MODELCOLOR", pid,outputFormat, page, 5,function(data){document.getElementById("content-front").innerHTML=data;});	
}


function search(v_PN){
	hideSubMenu();
	var v_wp=serializeForm("searchFrm");
	if(v_wp.length>0){
		document.body.style.cursor = "wait"
		var outputFormat='<input type="button" class="CLASS" onclick="search(PN)" value=\'Side PN\'>';
		DB.getShopDataTypeSearchPL("SEARCH",v_wp,outputFormat,v_PN, 5,function(data){document.getElementById("content-front").innerHTML='<div id="productinfo" class="productinfo"></div>'+data; document.body.style.cursor = "default"});
	} else {
		alert("Vælg mindst et søgekriterie");
	}
	
}

function hideSubMenu(){
	document.getElementById("content-front-submenu").innerHTML="";
}

function hideMainview(){
	document.getElementById("content-front").innerHTML="";
}


function hideSearch(){
	document.getElementById("searchFrmId").innerHTML="";

}

function checkLoginStatusGoToURL(p_url){

	var o_cb = null;
	if(p_url!=null){
//		eval("o_cb = function(data){if(data==true)loadXMLDoc('"+p_url+"','content-front');else loadXMLDoc('login.jsp','searchFrmId')}");
		eval("o_cb = function(data){loadXMLDoc('"+p_url+"','content-front');}");
		SU.isLoggedIn(o_cb);
	}
	

}



function addToBasket(pid){
	SU.addToBasket(pid,document.getElementById("pl"+pid).value,getBasketContentSmall);
}

function clearBasket() {
  SU.clearBasket();
}

function getBasketContent(){
	hideSubMenu();
	loadXMLDoc("basket.jsp","content-front");
	SU.getBasketContent(function(data){document.getElementById("basketContentDIV").innerHTML=toHTML(data);});
}

function deleteBasketLine(pid){
  var v_ant = document.getElementById(pid);
  if (v_ant != null) {
    v_ant.value = '0';
    updateBasket();
  }
}

function getBasketContentSmall(){
	SU.getBasketContentCompressed(function(data){document.getElementById("HM8").innerHTML="Se kurv - "+toHTML(data);});
}

function updateBasket(){
//alert('HH');
	var res = "";
	v_arr = document.getElementsByName("basketLine");
	if(v_arr.length>0){
	for(i=0;i<v_arr.length;i++){
		var pid=parseInt(v_arr[i].id.substr(2));
		var val =parseInt(v_arr[i].value);
		res+=pid+":"+val+";";
	}
	res=res.substr(0,res.length-1);
	SU.updateBasket(res,updateBasketResult);
	}
}

function updateBasketResult(data){
	SU.getBasketContent(function(data){document.getElementById("basketContentDIV").innerHTML=toHTML(data);getBasketContentSmall();});
}


function logout(){
	SU.logout(showLoginButton);

	hideSubMenu();
	hideMainview();
	hideSearch();
	document.getElementById("HM8").innerHTML="Se kurv";
}



function loginFailed(){
	loadXMLDoc("login.jsp","searchFrmId");
}


function checkLoginStatus(){
  getBasketContentSmall();
  loadXMLDoc("search.jsp","searchFrmId");
  Maincontentnotlogin();
// 	SU.isLoggedIn(function(data){if(data==true)showLogoutButton();else showLoginButton();});
}

function showLoginButton(){
  v_obj=document.getElementById("HM9");
  v_obj.innerHTML="Kunde login";
  v_obj.onclick=showLogin;
  Maincontentnotlogin();
}

function showLogoutButton(){
//  v_obj=document.getElementById("HM9");
//  v_obj.innerHTML="Logout";
//  v_obj.onclick=logout;
  getBasketContentSmall();
  loadDoc("LOGINSIDEN", "content-front");
//  loadXMLDoc("welcome.jsp","content-front");
  loadXMLDoc("search.jsp","searchFrmId");
}



function showLogin(){
	loadXMLDoc("login.jsp","searchFrmId");
}


function gotoOrder(){
	checkLoginStatusGoToURL("order.jsp");
}


function loginSmart(p_username,p_password,success,failure,targetid){
	var cb = null;
	if(success!=null && failure!=null && targetid!=null){
		var f = "function(data){if(data==true){showLogoutButton();} else {showLoginButton();loadXMLDoc('"+failure+"','"+targetid+"');} }";
		eval("cb="+f);
	}
	SU.login(p_username,p_password,cb);
}

function ShowOrderDetail(vareid){
  DB.getShopDataType("VAREDETAIL", vareid, 0,0, function(data){document.getElementById("productinfo").innerHTML=data;});	
  var ele = document.getElementById('productinfo');
  var pdheight = document.getElementById('dataDiv').clientHeight;
//alert(document.getElementById('dataDiv').clientHeight);
  ele.style.minHeight = pdheight + 'px';
  document.SaveYScroll = document.documentElement.scrollTop;
  scroll(0,0);
  ele.style.visibility = 'visible';
}

function HideOrderDetail(){
  var ele = document.getElementById('productinfo');
  ele.style.visibility = 'hidden';
  scroll(0,document.SaveYScroll);
}

function createOrder(){
  var createok = 1;

  if (dwr.util.getValue("altemail") == '' && createok == 1) {
    alert('E-mail skal udfyldes.');
    createok = 0;
  }

  if (dwr.util.getValue("altemail") != dwr.util.getValue("altemail2") && createok == 1) {
    alert('E-mail adresser er ikke ens.');
    createok = 0;
  }

  if (dwr.util.getValue("altname") == '' && createok == 1) {
    alert('Navn skal udfyldes.');
    createok = 0;
  }

  if (dwr.util.getValue("altadress") == '' && createok == 1) {
    alert('Adresse skal udfyldes.');
    createok = 0;
  }

  if (dwr.util.getValue("altpostcode") == '' && createok == 1) {
    alert('Postnummer skal udfyldes.');
    createok = 0;
  }

  if (dwr.util.getValue("altcity") == '' && createok == 1) {
    alert('By skal udfyldes.');
    createok = 0;
  }

  if (dwr.util.getValue("altphone") == '' && createok == 1) {
    alert('Telefon skal udfyldes.');
    createok = 0;
  }

  if (createok == 1) {
    SU.createOrderNotLoggedIn(dwr.util.getValue("altemail"),dwr.util.getValue("altphone"),dwr.util.getValue("vatnumber"),dwr.util.getValue("altname"),dwr.util.getValue("altadress"),dwr.util.getValue("altadress2"),dwr.util.getValue("altpostcode"),dwr.util.getValue("altcity"),dwr.util.getValue("altcountry"),function(data){finishOrder()});
  }
}

function finishOrder() {
  clearBasket(); 
  alert('Tak for ordren'); 
  location.reload(true);
}

function resizeImage(v_obj){

}




/*PAN*/

function loadMenu(menuname, target) {
  var v_target = target;
  var v_object = null;
  var v_function = "function(data){document.getElementById('"+v_target+"').innerHTML='<ul>'+data+'</ul>';}";
  eval("v_object="+v_function);  
	DB.getShopDataType("WEBMENU", "NAME='"+menuname+"'", "0", 0, v_object);	
}

var gSlideStarted = 0;

function loadSlide(slidename, target, setclass) {
  var v_target = target;
  var v_class;
  if (setclass == null) {
    v_class = "slideshow";
  } else {
    v_class = setclass;
  }
  var v_object = null;
  var v_function;
  if (gSlideStarted == 0) {
    v_function = "function(data){document.getElementById('"+v_target+"').innerHTML=\"<ul class='"+v_class+"'>\"+data+\"</ul>\"; slideShow(10000);}";
  } else {
    v_function = "function(data){document.getElementById('"+v_target+"').innerHTML=\"<ul class='"+v_class+"'>\"+data+\"</ul>\"; slideShow2(10000);}";
  }
  eval("v_object="+v_function);  
  DB.getShopDataType("WEBSLIDE", "NAME='"+slidename+"'", "0", 0, v_object);
  gSlideStarted = 1;
}

function loadBlock(blockname, target) {
  var v_target = target;
  var v_object = null;
  var v_function = "function(data){if (document.getElementById('"+v_target+"') != null) {data.replace('[CROPPING]', 'WebBlock'); document.getElementById('"+v_target+"').innerHTML='<ul>'+data+'</ul>';}}";
  eval("v_object="+v_function);  
  	DB.getShopDataType("WEBBLOCK", "NAME='"+blockname+"'", "0", 0, v_object);	
}

function loadDoc(docname, target) {
  var v_target = target;
  var v_object = null;
  var v_function = "function(data){hideSubMenu(); data.replace('[CROPPING]', 'WebBlock'); document.getElementById('"+v_target+"').innerHTML='<ul>'+data+'</ul>';}";
  eval("v_object="+v_function);  
	DB.getShopDataType("WEBDOC", "NAME='"+docname+"'", "0", 0, v_object);	
}

function Maincontent(subfunction, target) {
  var v_target = target;
  var v_object = null;
  var v_func2 = subfunction+"();";
  var v_function = "function(data){document.getElementById('"+v_target+"').innerHTML='<div id=\"frontpage-content\"><div id=\"banner\" class=\"frontpage-banner\"></div></div><div id=\"bottom-content\"><div id=\"Block1\"></div><div id=\"Block2\"></div><div id=\"Block3\"></div>'; "+v_func2+"}";
//alert(v_function);
  eval("v_object="+v_function);  
	DB.getShopDataType("WEBMENU", "", "0", 0, v_object);	
}

function Maincontentnotlogin(subfunction, target) {
  var v_target = target;
  var v_object = null;
  var v_func2 = "loadSlide(\"Slide1\", \"banner\", \"slideshow\");";
  v_func2 = v_func2 + "loadBlock(\"BLOCK1\", \"Block1\");";
  v_func2 = v_func2 + "loadBlock(\"BLOCK2\", \"Block2\");";
  v_func2 = v_func2 + "loadBlock(\"BLOCK3\", \"Block3\");";
  v_func2 = v_func2 + "loadBlock(\"BLOCK4\", \"Block4\");";

  var v_function = "function(data){document.getElementById('content-front').innerHTML='<div id=\"frontpage-content\"><div id=\"banner\" class=\"frontpage-banner\"></div></div><div id=\"bottom-content\"><div id=\"Block1\" class=\"box box-teaser box-first\"></div><div id=\"Block2\" class=\"box box-teaser\"></div><div id=\"Block3\" class=\"box box-teaser\"></div><div id=\"Block4\" class=\"box box-teaser box-image box-last\"></div></div>'; "+v_func2+"}";
  eval("v_object="+v_function);  
	DB.getShopDataType("WEBMENU", "", "0", 0, v_object);	
}

function Subcontent(subfunction, target) {
  var v_target = target;
  var v_object = null;
  var v_func2 = subfunction+"();";
  var v_function = "function(data){document.getElementById('"+v_target+"').innerHTML='<div id=\"main\"></div><div id=\"sidebar-left\"><div id=\"Block1\"></div><div id=\"Block2\"></div><div id=\"Block3\"></div></div>'; "+v_func2+"}";
//alert(v_function);
  eval("v_object="+v_function);  
	DB.getShopDataType("WEBMENU", "", "0", 0, v_object);	
}


function HM1(menuname, target) {
	loadDoc("frosalget", "content-front");
}

function HM2(menuname, target) {
	loadDoc("Bestyrelse og ledelse", "content-front");
}

function HM3(menuname, target) {
	loadDoc("Formal historie og visioner", "content-front");
}

function HM4(menuname, target) {
	loadDoc("Salgs- og leveringsbetingelser", "content-front");
}

function HM5(menuname, target) {
	loadDoc("kontakt", "content-front");
}

function BLOCK1(menuname, target) {
	loadDoc("BLOCK1", "content-front");
}

function BLOCK2(menuname, target) {
	loadDoc("BLOCK2", "content-front");
}

function BLOCK3(menuname, target) {
	loadDoc("BLOCK3", "content-front");
}

function BLOCK4(menuname, target) {
	loadDoc("BLOCK4", "content-front");
}

function HM8(menuname, target) {
	getBasketContent();
}


