var dom			= (document.getElementByPublicID) ? true : false;
var ns5			= ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5			= ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4			= (document.layers && !dom) ? true : false;
var AgntUsr		= navigator.userAgent.toLowerCase();
var DomYes		= (document.getElementById) ? true : false;
var NavYes		= (AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1) ? true : false;
var ns6			= (DomYes && NavYes) ? true : false;
var ie4			= (document.all && !dom) ? true : false;
var op6			= (AgntUsr.indexOf('opera')!=-1&&AgntUsr.indexOf('6.')!=-1) ? true : false;
var op7			= (AgntUsr.indexOf('opera')!=-1&&AgntUsr.indexOf('7.')!=-1) ? true : false;
var opx			= (AgntUsr.indexOf('opera')!=-1) ? true : false;
var ie6			= ((navigator.userAgent.indexOf("MSIE")>-1)&&AgntUsr.indexOf('6.')!=-1) ? true : false;
var ie7			= ((navigator.userAgent.indexOf("MSIE")>-1)&&AgntUsr.indexOf('7.')!=-1) ? true : false;

if (op6) ie4	= false;
if (op7) {
	ie4			= false;
	ie5			= false;
	ns6			= true;
}
if (ie6) ie5	= true;
if (ie7) ie5	= true;
if (opx) ns6	= true;

function browser() {
	var browser	= navigator.userAgent;
	
	if (browser.indexOf('Gecko')>-1) return "FF"; //Mozilla og Netscape
	else if (browser.indexOf('Opera')>-1) return "Opera"; //Opera
	else if (browser.indexOf('MSIE')>-1) return "IE"; //Internet Explorer
	else return false;
}

function str_replace(ch,nch,str){
    var chl = ch.length;
    var nchl = nch.length;
    var i = str.indexOf(ch);
    while(i>-1){
        str = str.substring(0,i)+nch+str.substring(i+chl);
        i = str.indexOf(ch,i+nchl);
    }
    return str;
}

function dansketegn(str) {
	str	= str_replace('&aelig;','æ',str);
	str	= str_replace('&oslash;','ø',str);
	str	= str_replace('&aring;','å',str);
	str	= str_replace('&AElig;','Æ',str);
	str	= str_replace('&Oslash;','Ø',str);
	str	= str_replace('&Aring;','Å',str);
	
	return str;
}

function getBody() {
	return (document.compatMode && document.compatMode == 'CSS1Compat')? document.documentElement : document.body || null;
}

function getPos(id) {
	var x		= 0;
	var y		= 0;
	var objX	= document.getElementById(id);
	var objY	= document.getElementById(id);
	
	if (objX) {
		width	= objX.offsetWidth;
		height	= objY.offsetHeight;
		
		while (objX.offsetParent != null) {
			x	 += objX.offsetLeft;
			objX  = objX.offsetParent;
		}
		while (objY.offsetParent != null) {
			y	 += objY.offsetTop;
			objY  = objY.offsetParent;
		}
		
		x += objX.offsetLeft + 1;
		y += objY.offsetTop + 1;
	}
	
	return [x,y,width,height];
}

function urldecode(encodedString) {
  var output = encodedString;
  var binVal, thisString;
  var myregexp = /(%[^%]{2})/;
  while ((match = myregexp.exec(output)) != null
             && match.length > 1
             && match[1] != '') {
    binVal = parseInt(match[1].substr(1),16);
    thisString = String.fromCharCode(binVal);
    output = output.replace(match[1], thisString);
  }
  return output;
}

function html_entity_decode( string, quote_style ) {   
    var histogram = {}, symbol = '', tmp_str = '', i = 0;   
    tmp_str = string.toString();   
       
    if (false === (histogram = get_html_translation_table('HTML_ENTITIES', quote_style))) {   
        return false;   
    }   
       
    for (symbol in histogram) {   
        entity = histogram[symbol];   
        tmp_str = tmp_str.split(entity).join(symbol);   
    }   
       
    return tmp_str;   
} 

function hent(variable) {
	var query	= window.location.href.split('?');
	
	if (query.length == 1) return false;
	
	query		= str_replace('+',' ',query[1]);
	query		= urldecode(query);
	
	var vars	= query.split("&");
	
	for(i=0;i<vars.length;i++) {
		var pair= vars[i].split("=");
		if (pair[0] == variable) return pair[1];
	}
	
	return false;
}

function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "." : dec_point;
    var t = thousands_sep == undefined ? "," : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

function function_exists( function_name ) {
    if (typeof function_name == 'string'){
        return (typeof window[function_name] == 'function');
    } else{
        return (function_name instanceof Function);
    }
}