function kundkorg_out(korg) {
    korg.over=false;
    //dump("out\n");
    kundkorg_dolj(korg,1000)
}

function kundkorg_dolj(korg,t) {
    var hide=function() { 
	var k=element("kundkorg");
	//dump("hiding\n");
	if(k) {
	    k.innerHTML="";
	    if(window.opera) {
		// Force Opera <9.5 to redo the table layout
		korg.innerHTML=korg.innerHTML;
	    }
	}
	korg.visas=false;
    }
    if(korg.timer) clearTimeout(korg.timer);
    korg.timer=setTimeout(hide,t)
}

function kundkorg_over(korg) {
    korg.over=true;
    //dump("over\n");
    kundkorg_visa(korg);
}

function kundkorg_visa(korg) {
    var k=element("kundkorg");
    if(k) {
	if(korg.timer) { clearTimeout(korg.timer); korg.timer=null; }
	if(!korg.visas) {
	    k.updatecheck=function() {
		korg.visas=true;
		//dump("replaced\n");
		if(!korg.over) kundkorg_dolj(korg,5000)
	    }
	    //dump("replacing\n");
	    replace('kundkorg','butiken.cgi?cmd=Kundkorg');
	}
    }
}

/*
var kundkorg_visible=false;
function kundkorg_toggle(korg) {
    if(pid=="") {
	if(kundkorg_visible) kundkorg_out(korg);
	else kundkorg_over(korg);
	kundkorg_visible= !kundkorg_visible;
    }
}
*/

function kundkorg_click(korg) {
}

function kundkorg_update() {
    var korg=element("kundkorgdiv");
    if(korg) {
	//dump("update\n");
	var visa=function() { kundkorg_visa(korg); }
	setTimeout(visa,500);
    }
}

function justera_kundkorg(rad,delta) {
    var inp=element("ANTAL_"+rad);
    if(inp) {
	inp.value=(inp.value*1)+delta;
	redigera_kundkorg(inp,rad);
    }
}

function redigera_kundkorg(inp,rad) {
    var antal=inp.value;
    post_replace('kundkorg','butiken.cgi','cmd=Justera+'+rad+'+('+antal+')');
}

function kontrollera_val(form)
{
  var es=form.elements;
  for(i=0,saknas=0;i<es.length;i++)
      if(es[i].value=="inget_val") saknas++;
  if(saknas>0) alert("Alla val är inte gjorda.");
  return saknas==0;
}

function handla(elem)
{
    var form=elem.form;
    if(form) {
	if(kontrollera_val(form)) {
	    var korg=element("kundkorgdiv");
	    var k=element("kundkorg");
	    if(korg && k) {
		k.updatecheck=function() {
		    korg.visas=true;
		    if(!korg.over) kundkorg_dolj(korg,5000);
		    var fel=element("kundkorgfel");
		    if(fel) alert(fel.textContent);
		}
		submit_replace_element(k,form);
	    }
	}
    }
    else alert("Bug! Handla: no form");
}

function fraktinfo() {
    MM_openBrWindow('fraktinfo.hsml','fraktinfo','toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=450,height=400');
}

function samportinfo() {
    MM_openBrWindow('samportinfo.html','samportinfo','toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500');
}

function dibsinfo() {
    MM_openBrWindow('dibsinfo.hsml','dibsinfo','toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500');
}

function fakturainfo(avgift) {
    MM_openBrWindow('http://www.kreditor.se/villkor.yaws?eid=2461&charge='+avgift,'fakturainfo','toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=320,height=350');
}


// Share a link on Facebook
function fbs_click() {
    u=location.href;
    t=document.title;
    window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
    return false;
}

function write_img(n,v,src) {
    document.write('<img '+n+'="'+v+'" src="'+src+'" alt="">');
}

/*
function slideshow(options,images) {
    if(images.length>0) {
	document.write('<div class=slideshow>');
	write_img("onload","start_slideshow(this)",images[0]);
	for(var i=1;i<images.length;i++)
	    write_img("class","hidden",images[i]);
	document.write('</div>');
    }
}
*/

function text(s) { return document.createTextNode(s); }

function start_slideshow(img,options) {
    var p=img.parentNode;
    var is=p.getElementsByTagName("img");
    if(is.length>1) {
	var images=[];
	for(var i=0;i<is.length;i++) images[i]=is[i];
	var cur=0;
	var w=img.width;
	var h=img.height;
	//p.style.position="relative";
	p.style.minWidth=w+"px";
	p.style.minHeight=h+"px";
	var timeout=1000*(options.delay || 5);
	var ft=1000*(options.fade==null ? 1 : options.fade);
	var tick=function() {
	    var c=images[cur];
	    cur= (cur+1) % images.length;
	    var n=images[cur];
	    n.style.opacity="0";
	    //n.style.position="static";
	    n.style.zIndex=1;
	    n.className="";
	    if(c.width>w) { w=c.width; p.style.minWidth=w+"px"; }
	    if(c.height>h) { h=c.height; p.style.minHeight=h+"px"; }
	    c.style.position="absolute";
	    c.style.zIndex=0;
	    fade(n,0,1,ft,function() {
		if(c.width>n.width || c.height>n.height) fade(c,1,0,ft,null);
		else c.style.opacity="0"; });
	    //debug.innerHTML=w+"x"+h;
	    //for(var i=0;i<images.length;i++)
		//debug.appendChild(text(" "+images[i].style.position));
	}
	//var debug=document.createElement("div");
	//p.parentNode.insertBefore(debug,p);
	//debug.innerHTML=w+"x"+h;
	setInterval(tick,timeout);
    }
    else alert("No slideshow!");
}

function fade(el,start,stop,t,after) {
  var dt=40; // Animation granularity, 1/40ms = 25fps
  el.step=(stop-start)*dt/t;
  el.stop=stop;
  var done=function() {
      clearInterval(el.timer);
      el.timer=null;
      if(after) after();
  }
  var f=function() {
     var next=el.current+el.step;
     if(next>=1) { next=1; done(); }
     if(next<=0) { next=0; done(); }
     el.style.opacity=next
     el.current=next
  }
  if(!el.timer) {
      el.current=start;
      el.timer=setInterval(f,dt);
  }
}
