<!--

/**
*
* This code is the property of Järpås Datalager. 
* You may not copy or use any code on this site as your own or 
* in any other situation without written permission by Järpås datalager.
* 
* The code is copyright by Järpås Datalager and Petrus Åström.
*
* Contact information: Ph: +46 510 91940
* 
* 
*/

/*
* Utility functions for general object detection, object serialization and more...
*/


var DHTML = (document.getElementById || document.all || document.layers);
var OS,browser,version,total,thestring,place,detect;


function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}


try {
detect = navigator.userAgent.toLowerCase();

if (checkIt('konqueror'))
{
	browser = "Konqueror";
	OS = "Linux";
}
else if (checkIt('safari')) browser = "Safari"
else if (checkIt('omniweb')) browser = "OmniWeb"
else if (checkIt('firefox')) browser = "Firefox"
else if (checkIt('opera')) browser = "Opera"
else if (checkIt('webtv')) browser = "WebTV";
else if (checkIt('icab')) browser = "iCab"
else if (checkIt('msie')) browser = "Internet Explorer"
else if (!checkIt('compatible'))
{
	browser = "Netscape Navigator"
//	version = detect.charAt(8);
}
else browser = "An unknown browser";

//if (!version) version = detect.charAt(place + thestring.length);

if (!OS)
{
	if (checkIt('linux')) OS = "Linux";
	else if (checkIt('x11')) OS = "Unix";
	else if (checkIt('mac')) OS = "Mac"
	else if (checkIt('win')) OS = "Windows"
	else OS = "an unknown operating system";
}

} catch(e) {
}


function brws() {

// Not a very nice solution - but will have to do for now.
if (browser == 'Opera') {
	var menu = getDivP('articleswrapper');
	var prdview = getDivP('productview');
	
	menu.style.overflow='scroll';
	prdview.style.overflow='scroll';
}
}


function isenter(e) {
	var evt = (window.event)?window.event.keyCode:((e.which)?e.which:null);
	if(evt && evt == '13') {
		return true;
	} else {
		return false;
	}
}

// Unescaper without +
function unesc(txt) {
	if(txt)
	return unescape(txt).replace(/\+/g,' ');
}


// Universal elementID grabber...
function getDivP(divID) {
    var oDoc = document;
    if( document.layers ) {
        if( oDoc.layers[divID] ) { return oDoc.layers[divID]; } else {
            for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
                y = getRefToDiv(divID,oDoc.layers[x].document); }
            return y; } 
	    }
    if( document.getElementById ) {
        return document.getElementById(divID); 
    }
    
    if( document.all ) {
        return document.all[divID]; 
    }
    return false;
}



/*
* Escape result before sending or setting and unescape when reading.
*/


// Function to serialize arrays for store in cookie...
function serialize(list) {
if (list.length < 1) return "";
var serialized  = "new Function(\'";
serialized+="var a = new Array();";
for(var i=0;i<list.length;i++) {
 serialized+= "a["+i+"]=\""+list[i]+"\";";
}
serialized+= "return a\');";
return serialized;
}

// Function to deserialize serialized PHP or JS arrays...
function deserialize(val) {

if((val == '') ||
   (val == 'null') ||
   (val == 'undefined')) {
    return new Array();
   }

unserializedDataFunc = eval(val);
unserializedData = unserializedDataFunc();
return unserializedData;
}

function isArray(a) {
    return isObject(a) && a.constructor == Array;
}

function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}

function isFunction(a) {
    return typeof a == 'function';
}

function jsa2phpa(key)
{
    var a_php = "";
    var total = 0;
    
    for (var i=0;i<key.length;i++)
    {
    
	if(isArray(key[i])) {
	var a = key[i];
	a_php += "i:" + i + ";" + jsa2phpa(a);
	} else {
        a_php += "i:" + i + ";" + "s:" +
                String(key[i]).length + ":\"" + String(key[i]) + "\";";
	}
	total++;
    }
    a_php = "a:" + total + ":{" + a_php + "}";
    return a_php;
}



// Sort select options items on text attribute...
function sortSelect(obj) {
var o = new Array();
for (var i=0; i<obj.options.length; i++) {
o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
}
o = o.sort( 
function(a,b) { 
	if ((a.text+"") < (b.text+"")) { return -1; }
	if ((a.text+"") > (b.text+"")) { return 1; }
	return 0;
	} 
);

for (var i=0; i<o.length; i++) {
	obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	}
}


// Prototype for conversion of åäö to HTML codes
String.prototype.toHTML=function(qt) {
   var s = this
//   s=s.replace(/& /g, "&amp; ")
   s=s.replace(/å/g, "&aring;")
   s=s.replace(/ä/g, "&auml;")
   s=s.replace(/ö/g, "&ouml;")
   s=s.replace(/Å/g, "&Aring;")
   s=s.replace(/Ä/g, "&Auml;")
   s=s.replace(/Ö/g, "&Ouml;")
   s=s.replace(/é/g, "&eacute;")
   s=s.replace(/á/g, "&#225;");
   if(qt) {
   s=s.replace(/\"/g, "&quot;")
   }
   return s;
}


function checkEnv() {

if(!md5_vm_test()) alert("Javascript är avslaget i din läsare. Denna sida använder javascript för kontroll av dataflödet samt kryptering.");

}

function issetCookie(name) {
var start = document.cookie.indexOf( name + "=" );
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return false;
}
if ( start == -1 ) return false;
return true;
}

// Cookies create function
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=/";
}

// Cookies read function
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;
}

// Cookies erase function
function eraseCookie(name)
{
        createCookie(name,"",-1);
}


function flashThis(id, times, delay, startvis) {

if (getDivP(id)) {
 (startvis)?getDivP(id).style.visibility='visible':getDivP(id).style.visibility='hidden';
	
	if(times > 0) {
	times--;
		setTimeout("flashThis('"+id+"',"+times+","+delay+","+(!startvis)+")",delay);
	}
	
}
}


function fadeThis(o, start, end, delay) {
var timer=0;
var speed = Math.round(delay/100);

    while(start != end) {
    
    if(start > end) { 
     end++; 
    } else if (start < end) {
     end--;
    }
    var opacity = end/100;
    
    if(start != end) {
          setTimeout("fade(getDivP('"+o.id+"'), "+opacity+")", (speed*timer));
	  timer++;  
    }
    }
}


function fade(o, opacity){
    o.style.opacity = opacity;
    o.style.MozOpacity = opacity;
    o.style.KhtmlOpacity = opacity; 
    o.style.filter = "alpha(opacity=" + (opacity*100) + ")";
}

var opacity=0; //opacity of image
var increase=1; //increase opacity indicator
var decrease=0; //decrease opacity indicator


function fadesimple(id){
if (opacity<80&&increase) {
opacity+=5;
} else {
increase=0;
decrease=1;
}

if (opacity>30&&decrease) {
opacity-=5;
} else {
increase=1;
decrease=0;
}

var o = getDivP(id).style;

    o.opacity = opacity/100;
    o.MozOpacity = opacity/100;
    o.KhtmlOpacity = opacity/100; 
    o.filter = "alpha(opacity=" + (opacity) + ")";
}


var g_savedid;
function refresh_menu(id) {
var d = getDivP(id);
	for (var i = 1; i<=6; i++) {
		var mn = getDivP('sub'+i);
		if (mn) {
			mn.style.display='none';
			mn.blur();
		}
	}

if (d) {
	if(id==g_savedid) {
		if(d.style.display == 'none') {
			d.style.display='block';
		} else if (d.style.display == 'block') {
			d.style.display='none';
		}
	} else {
		d.style.display='block';
	}
d.blur();
g_savedid = id;
}
}


function pop_info(id,inp) {
var d = getDivP(id);
var inp = getDivP(inp);
 
	for (var i = 10; i<=12; i++) {
		if (getDivP('inp'+i)) {
			getDivP('inp'+i).innerHTML='&lt;'+getDivP('inp'+i).innerHTML.substring(4,getDivP('inp'+i).innerHTML.length-4)+'&gt;';
		}
		if (getDivP('sub'+i)) {
		getDivP('sub'+i).style.display='none';
		}
	}
	
if (d) {
	if(id == g_savedid) {
	inp.innerHTML='&lt;'+inp.innerHTML.substring(4,inp.innerHTML.length-4)+'&gt;';
		d.style.display='none';
	} else {
	inp.innerHTML='&gt;'+inp.innerHTML.substring(4,inp.innerHTML.length-4)+'&lt;';
		d.style.display='block';
	}
g_savedid = id;
}
}


var int_handle;

function scroll_layer(id, amt, timer) {
//var o = getDivP(id);

int_handle = setInterval("scrolld('"+id+"',"+amt+")",timer);
}

function scrolld(id, amt) {
var o = getDivP(id);
var scrlPosX=0,scrlPosY=0, scrlHeight=0;
var a = (amt)?amt:0;
 
if (!o) {
 scroll_stop();
 return;
}
 
 if (o.scrollTop) {
   scrlPosY = o.scrollTop;
   scrlHeight = o.scrollHeight;
 }
 if(scrlPosY+a > (o.scrollHeight-o.offsetHeight)) {
   scrlPosY = 0;
   a=0;
 }
 o.scrollTop=scrlPosY+a;
}

function scroll_stop() {
clearInterval(int_handle)
}

var saved_h;

function toggNode(op) {
var o = op.getElementsByTagName('DIV');
var h = op.getElementsByTagName('H5');
var elmnt = o[0];
if (elmnt.style.display == 'none') {
	saved_h = h[0].style.background;
	elmnt.style.display='block';
	h[0].style.background='#ffeeaa';
} else {
	elmnt.style.display='none';
	h[0].style.background=saved_h;
}

}


//-->
