var opacity;
var currentMsg;
var pdfK = '';

function toggleMenu(id)
{
   var el = document.getElementById('sub_'+ id);
   var sec = document.getElementById('section_'+ id);
   
   if(el.style.display == 'none')
   {
	el.style.display = '';
	//sec.style.backgroundColor = '#cdcdcd';
	
   } 
       else
   {
 	el.style.display = 'none';
	//sec.style.backgroundColor = '#dadada';
   }
}
function updateCategory(list,category)
{
  var sel = list.options[list.selectedIndex].value;
  sel = sel.split('|');
  var url = sel[0];
  var id = sel[1];
  if(category=='products')
  {
	document.location.href='/produkter.aspx?section='+ id;
	return;
  }

  if(category=='constructions')
  {
	document.location.href='/konstruktioner.aspx?section='+ id;
	return;
  }
  if(category=='tools')
  {
     document.location.href= url;
      return;

  }
  document.location.href= url;
}
function pushPageHistory(id)
{
    var page_string = readCookie('pageHistory');

    pages = (page_string)? page_string.split(','):[];
    
    //check if the id is allready there
    new_pages = [];
    for(i=0;i<pages.length;i++)
    {
        if(pages[i] != id) new_pages[new_pages.length] = pages[i];
    }
    pages = new_pages;
    pages.reverse(); 
    pages[pages.length] = id;
    if(pages.length > 20) x = pages.shift();
    pages.reverse();

    createCookie('pageHistory',pages.join(','),360);
}
function toggleList(list_name,visible_n)
{
    var el = document.getElementById(list_name);
    if(!el) return;
    if (!el.hasChildNodes()) return;
    
    var hidding = false;
    var children = el.childNodes;
    for (var i = 0; i < (children.length - 2); i++) 
    {
        var list_item = children[i];
        
        if(list_item.style.display=='none')
        {
            list_item.style.display='';
            hidding = true;
        }
        else
        {
            if(i > visible_n) list_item.style.display='none';
        }
    }
    document.getElementById('toggle_show').style.display = (hidding)?'none':'';
    document.getElementById('toggle_hide').style.display = (hidding)?'':'none';
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
function loadVisitedPages(list_name)
{
   var el = document.getElementById(list_name);
   if(!el) return;
   if (!el.hasChildNodes()) return;
   if(el.childNodes.length == 1) return; 
   document.getElementById(list_name+'_head').style.display='';

   var children = el.childNodes;
   for (var i = 0; i < (children.length -1); i++) 
   {
       if(i==5) 
       {
           document.getElementById('toggle_show').style.display='';
           return;
       }
       var list_item = children[i];
       list_item.style.display='';
   }
}


// Turn on or off help text depending on content of INPUT field.
function UpdateHelpText(el,default_text)
{
  if(!el) return;
  
  if(el.value == default_text) 
  {
    el.value = '';
    el.style.color = '#333333';
  }
}
function querySt(ji) 
{
    var hu = window.location.search.substring(1);
    var gy = hu.split("&");
    for (i=0;i<gy.length;i++) 
    {
        ft = gy[i].split("=");
        if (ft[0] == ji) return ft[1];
    }
    return '';
}
function printurl(section)
{
     var u = document.location.href;
     if(u.indexOf('#') > 0)
     {
        u = u.split('#');
        u = u[0];
     }
     u += (u.indexOf('?') >0)? '&':'?';
     u +='print=1';
     if(typeof(section)!="undefined") u +='&section='+ section;
     return u;
}
function printing(section, title, w)
{
	if (title != undefined)
		title = title.replace(/ +/g, "-");
	else
		title = "RockwoolPrint";
	if (typeof w  != "undefined" && w == 'psheet') title += "_data";

    var u = printurl(section);
	if (pdfK != '') u += '&k=' + pdfK;
    var p = '/umbraco/plugins/pdf/export.aspx';
    p+='?title='+ escape(title);
    p+='&url='+ escape(u);
    if(typeof w  != "undefined") p+='&w='+w;
    document.location.href=p;
/*
     var u = printurl(section);
     w = window.open(u,'print','width=850,height=880,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no');
     w.focus(); 
*/
}

function gprinting(section, title, w)
{
	if (title != undefined)
		title = title.replace(/ +/g, "-");
	else
		title = "RockwoolPrint";

    var u = printurl(section);
	if (pdfK != '') u += '&k=' + pdfK;
    var p = '/umbraco/plugins/pdf/export.aspx';
    p+='?title='+ escape(title);
    p+='&url='+ escape(u);
    if(typeof w  != "undefined") p+='&w='+w;
	log("4: " + p);
    document.location.href=p;
/*
     var u = printurl(section);
     w = window.open(u,'print','width=850,height=880,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no');
     w.focus(); 
*/
}


function pdf(title,w)
{
	if (title != undefined)
		title = title.replace(/ +/g, "-");
	else
		title = "RockwoolPrint";
	if (typeof w  != "undefined" && w == 'psheet') title += "_data";
//    title = title.replace(' ','-');

    var u = printurl();
	if (pdfK != '') u += '&k=' + pdfK;
	if (typeof w  != "undefined" && w == 'psheet') u+='&w='+w;

    var p = '/umbraco/plugins/pdf/export.aspx';
    p+='?title='+ escape(title);
    p+='&url='+ escape(u);
//    if(typeof w  != "undefined" && w != 'psheet') p+='&w='+w;

	if (pdfK != '' && w != 'psheet')
	{
		var ok = confirm("Bemærk:\nSiden du ønsker at printe indeholder priser.");
		if (ok) document.location.href=p;
	}
	else
	{
    	document.location.href=p;
	}
}
function faxnumber()
{
    alert('faxing...');
    document.getElementById('fax_number').value ='';
    var el = document.getElementById('fax_prompt');
    el.style.display='';
}
function closeFax()
{
    var el = document.getElementById('fax_prompt');
    el.style.display='none';
}
function faxing()
{
    var fax = document.getElementById('fax_number').value;
    if(fax == null || !fax || fax =='') return;
    
    var u = document.location.href;
	if (pdfK != '') u += '&k=' + pdfK;
    var title = u.split('/');
    title = title[title.length - 1];
    title = title.split('?');
    title = title[0];
    title = title.replace('.aspx','');

    u += (u.indexOf('?') >0)? '&':'?';
    u +='print=1';
    var p = '/umbraco/plugins/fax/export.aspx';
    p+='?title='+ escape(title);
    p+='&url='+ escape(u);
    p+='&faxnr='+ fax;

    var d = doSimpleXMLHttpRequest(p);
    //d.addCallbacks(faxResult);
    closeFax();
    setTimeout("msg('','fax_sendt','250','65')",1500);
    
}

function msg(m,id,w,h)
{
    opacity= 100;
    currentMsg = document.getElementById(id);
    if(m!='') currentMsg.innerHTML = m;
    currentMsg.style.width = w;
    currentMsg.style.height = h;
    currentMsg.style.display = '';
    setTimeout('fading()',1000);
}
function fading()
{
    opacity = opacity - 5;
    if(opacity <= 0)
    {
        currentMsg.style.display = 'none';
        return;
    }
    setOpacity(currentMsg,opacity / 100);
    setTimeout('fading()',50);
}
function setOpacity( el, opacity)
{
    if(el.style.opacity != undefined){
        el.style.opacity = opacity;
    }else if( el.style.MozOpacity != undefined){
        el.style.MozOpacity = opacity;
    }else if ( el.style.filter != undefined){
        el.style.filter="alpha(opacity=" + Math.round(opacity * 100) + ")";
    }
}
function markExternalLinks (domain) 
{
    domain = document.domain;
    var u = document.location.href;
    if(u.indexOf('brochurer') != -1) return;

    // Get a list of all links in the page
    var allLinks = document.getElementsByTagName('a');
    // Walk through the list
    for (var i=0;i<allLinks.length;i++) 
    {
      var lnk = allLinks[i];
      if(!lnk.href) continue;
      if(lnk.href.indexOf('http://') == -1) continue;
      if(lnk.href.indexOf(domain) != -1) continue;
      lnk.style.backgroundImage ='url(/media/73200/external.gif)';   
      lnk.style.paddingRight = '13px';
      lnk.style.backgroundRepeat='no-repeat';
      lnk.style.backgroundPosition='right';
     }
}
function toggleLeftMenu(e)
{
    if (window.event) {
      target = window.event.srcElement;
    } else if (e) {
      target = e.target;
    } else return;

    var id = target.id.replace('section_','');
    toggleMenu(id);

    // And stop the actual click happening
    if (window.event) {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
    if (e && e.preventDefault && e.stopPropagation) {
      e.preventDefault();
      e.stopPropagation();
    }
}
function leftmenutoggleSetup()
{
    var allLinks = document.getElementsByTagName('a');
    for (var i=0;i<allLinks.length;i++) 
    {
      var lnk = allLinks[i];

      if(lnk.id.indexOf('section_') == -1) continue;
      addingEvent(lnk,'click',toggleLeftMenu);
    }

}
function addingEvent(elm, evType, fn, useCapture) 
{
    // addEvent and removeEvent
    // cross-browser event handling for IE5+,  NS6 and Mozilla
    // By Scott Andrew
    if (elm.addEventListener){
      elm.addEventListener(evType, fn, useCapture);
      return true;
    } else if (elm.attachEvent){
      var r = elm.attachEvent("on"+evType, fn);
      return r;
    } else {
      alert("Handler could not be removed");
    }
} 

function log(s)
{
	if (self.console) console.log(s);
}
