
function SetCookie(name, value)
{
	document.cookie = "@"+name+"="+value+"; expires=Wednesday, 09-Nov-50 23:12:40 GMT; path=/; "; //domain=.prostuff.se";
}

function FindCookie(name)
{
	var i = document.cookie.indexOf("@"+name);
	if (i==-1)
		return ("");
	var a = document.cookie.indexOf("@", i+1);
	i = document.cookie.indexOf("=", i)+1;
	if (i==-1)
		return ("");
	if (a!=-1 && a<i)
		return "";
	a = document.cookie.indexOf("@", i);
	var j = document.cookie.indexOf(";", i);
	if (j==-1)
		j=document.cookie.length;
	if (a!=-1 && a<j)
		return "";
	var s = document.cookie.substring(i, j);
	if (s == "undefined")
		s = "";
	return (s);
}

function noop()
{ 
}

function findMyTop()
{
  _TOP=parent;
  var i=0;
  while (_TOP.thisIsNetFieldTop==null)
  {
    _TOP=_TOP.parent;
    if (i++>3)
      break;
  }
  
  return _TOP;	
}




//-------------- basket things -----------------------------------------------

function searchForBasket(w)
{
	if (w==null)
		return false;
	var found = false;	
	if (w.frames!=null && w.frames.length>0)
	{
		for (var i=0; i<w.frames.length; i++)
		{
			found = searchForBasket(w.frames[i]) || found;
		}
	}
	else
	{
		if (w.document==null)
			return false;
		var ba = w.document.applets["basketApplet"];
		if (ba!=null)
  		{
    			ba.reDoIt();
    			return true;   
		}
	}
	return found;
}

function doUpdateDisplay()
{
	if( parent.blue!=null )
		parent.blue.location.reload(true);
	document.location.reload(true);
}

function item(id, count)
{
  this.id = id
  this.count = count;
}

function Basket()
{
	
  var is=FindCookie("os7_item_count");
	this.item_count = parseInt(is);
	if (this.count<0)
		this.item_count=0;
	var s=FindCookie("os7_basket");
	if (s=="" || this.item_count==0)
	{
		this.item_count = 0;
		this.items = null;
		return;
	}
	this.items = new Array(this.item_count);
	var start=0;
	var stop=0;
	for (var i=0; i<this.item_count; i++)
	{
		stop = s.indexOf("|", start);

		var item_id = s.substring(start, stop);
		start = stop+1;
		stop = s.indexOf("|", start);

		var item_count = s.substring(start, stop);
 		start = s.indexOf("#", stop);
    if (start>0)
      start++;

// x2x		this.items[i] = new item(item_id, parseInt(item_count));
		this.items[i] = new item(item_id, parseFloat(item_count));
	}
	this.items;
}

function GetBasketCount()
{
  var is=FindCookie("os7_item_count");
	return parseInt(is);
}

function GetBasketCountAll()
{
	var basket = new Basket();
	var total = 0;
	
	for (var i=0; i<basket.item_count; i++)
	{
		total += basket.items[i].count;
	}

	return parseInt(total);
}

function save_basket(basket)
{
	var s = "";
	for (var i=0; i<basket.item_count; i++)
	{
		s += basket.items[i].id + "|";
		s += basket.items[i].count + "|#";
	}
	SetCookie("os7_item_count", basket.item_count);
	SetCookie("os7_basket", s);
	//doUpdateDisplay();
}

function change_basket(id, item_count)
{
	var basket = new Basket();
	for (var i=0; i<basket.item_count; i++)
	{
		if (basket.items[i].id==id)
		{
			if (item_count>0)	
			  basket.items[i].count = item_count;
			else
			{
			  basket.item_count--;
			  for (var j=i; j<basket.item_count; j++)
 					basket.items[j]=basket.items[j+1];
			}
			save_basket(basket);
			return;
		}
	}
	if (basket.item_count==0)
	{
		basket.items = new Array(1);
	}
	else
	{
		var new_basket = new Array(basket.item_count+1);
		for (var i=0; i<basket.item_count; i++)
			new_basket[i] = basket.items[i];
		basket.items = new_basket;
	}
	basket.items[basket.item_count] = new item(id, item_count);
	basket.item_count+=1;
	save_basket(basket);
}

function change_basket_add(id, item_count)
{
	var basket = new Basket();
	for (var i=0; i<basket.item_count; i++)
	{
		if (basket.items[i].id==id)
		{
			if (item_count>0)	
			  basket.items[i].count = 1*basket.items[i].count + 1*item_count;
			else
			{
			  basket.item_count--;
			  for (var j=i; j<basket.item_count; j++)
 					basket.items[j]=basket.items[j+1];
			}
			save_basket(basket);
			return;
		}
	}
	if (basket.item_count==0)
	{
		basket.items = new Array(1);
	}
	else
	{
		var new_basket = new Array(basket.item_count+1);
		for (var i=0; i<basket.item_count; i++)
			new_basket[i] = basket.items[i];
		basket.items = new_basket;
	}
	basket.items[basket.item_count] = new item(id, item_count);
	basket.item_count+=1;
	save_basket(basket);
}

function change_basket_idx(idx, item_count)
{
	var basket = new Basket();
	if (idx<0 || idx>=basket.item_count)
	  return ;
	if (item_count>0)	
	  basket.items[idx].count = item_count;
	else
	{
	  basket.item_count--;
	  for (var j=idx; j<basket.item_count; j++)
			basket[j]=basket[j+1];
	}
	save_basket(basket);
	return;
}

function put_in_basket2(sender, uncountable)
{
	if (sender.type=="checkbox")
	  change_basket(sender.name, sender.checked?1:0);
	else
	{
		var x = 0;
		if (uncountable)
			x = parseFloat(sender.value.replace(',', '.'));
		else
			x = parseInt(sender.value);
  	change_basket(sender.name, x);
  	return x;
  }
  return sender.value;
}

function put_in_basket(sender)
{
	put_in_basket2(sender, false)
}


function amount(basket, id)
{
  for (var i=0; i<basket.item_count; i++)
  {
    if (basket.items[i].id==id)
	return basket.items[i].count;
  }
  return 0;
}

function setup()
{
	var basket = new Basket();
  var f = 0;
  for (var i=0; i<document.forms.length; i++)
  {
    if (document.forms[i].name=="order_sheet")
	{
		f = document.forms[i];
		break;
	}
  }
  if (f==0)
    return; 
  var count=0;
  for (var i=0; i<f.elements.length; i++)
  {
    if (f.elements[i].type=="text")
		{
		  var n=amount(basket, f.elements[i].name);
		  if (n)
		    f.elements[i].value=n;     
		  if (0) // count==0)
		  {
   	    f.elements[i].focus();
		    f.elements[i].select();	
	 	  }
		  count++;	
		}
    if (f.elements[i].type=="checkbox")
		{
		  var n=amount(basket, f.elements[i].name);
		  f.elements[i].checked=(n>0);     
		}  
  }
}


//-------------------------------------------------------------------------------



function doEmptyBasket()
{
	SetCookie("os7_item_count", 0);
	SetCookie("os7_basket", "");
	//doUpdateDisplay();	
}


function EmptyBasket()
{
  if (confirm("Är du säker på att du vill avbryta denna beställning och tömma kundvagnen?"))
  {
		doEmptyBasket();
		return true;
  }
  return false;
}

function SetPriceTranslation(n)
{
  SetCookie("os7_price_translation", n);
	doUpdateDisplay();
  location=location;
}


function SetPriceIndex(idx, name)
{
  SetCookie("os7_currency_idx", idx);
  SetCookie("os7_currency_name", name);
	doUpdateDisplay();
  location=location;
}




var img_off; 
var img_on; 
var img_count=0;

function _SetBut(img, state)
{
	
	/*
  if (img.src.indexOf('created/k')<0)
  {
    return;
  }
  */
  if( img==null || img.src==null )
  {  	
  	return;
  }
  	
  var name=img.src.replace('_hi.gif', '');
  name=name.replace('.gif', ''); // 30
  
  for (var idx=0; idx<img_count && (img_off[idx].src.indexOf(name)<0); idx++)
  {
  }

  if (idx==img_count)
  {
    return;
  }
  
  if (state==1)
  {
    if (img_on[idx].complete)	
		{
	      img.src = img_on[idx].src;
	      //for (var i=0; i<document.images.length; i++)
		  //{
	      //  if (document.images[i].src==img.src)
		  //{
		  //		document.images[i].src = img_on[idx].src;
		  //	}
		  //}  
		}
  }
  else
    img.src = img_off[idx].src;
}

function SetupPage()
{
  // Hitta basket...
  setup();
	
  // Ladda cachet...
  img_count=0;
  for (var i=0; i<document.images.length; i++)
    if (document.images[i].src.indexOf('created/')>0)
      img_count++;

  img_off = new Array(img_count);
  img_on = new Array(img_count);

  var n=0;
  for (var i=0; i<document.images.length; i++)
  {
    if (document.images[i].src.indexOf('created/')>=0)
    {
      img_off[n] = new Image();
      img_off[n].src = document.images[i].src;
      var src = document.images[i].src.replace('.gif', '_hi.gif');
      img_on[n] = new Image();
      img_on[n].src = src;
      n++;	
    }
  }  
}


function resolveAttr(n)
{
  var c = new Array(10);
  var cc=0;
  for (var i=0; i<10; i++)
  {
		c[i] = eval("document.order_sheet.A"+(i+1)+"_"+n);
		if (c[i]!=null)
			cc++;
	}
	var search="";
  for (var i=0; i<10; i++)
  {
		if (c[i]!=null)
		{
			search+="/";
			search+=c[i].options[c[i].selectedIndex].value;
		}
	}
	search+="=";
	var v="";
	var s = eval("document.order_sheet.res_"+n+".value");
	if (s!=null)
	{
		var i = s.indexOf(search);
		if (i>=0)
		{
		  i+=search.length;
			var j = s.indexOf(";", i);
			if (j>i)
			{
				v = s.substr(i, j-i);
			}
		}
	}
	var id = "";
	var pris= "finns ej i sortimentet";
	if (v!="")
	{
		var i=v.indexOf(":");
		if (i>0)
		{
			
			id = v.substr(0, i);
			pris = v.substr(i+1, v.length-i-1);
			pris += " kr";
		}
	}
	var p = eval("document.order_sheet.pris_"+n);
	var d = eval("document.order_sheet.id_"+n);
	if (p!=null)
	  p.value=pris;
	if (d!=null)
	  d.value=id;
}

function AddToBasket(id, item_count, info1, info2, info3)
{
	var basket = new Basket();
	if (basket.item_count==0)
	{
		basket.items = new Array(1);
	}
	else
	{
		var new_basket = new Array(basket.item_count+1);
		for (var i=0; i<basket.item_count; i++)
			new_basket[i] = basket.items[i];
		basket.items = new_basket;
	}
	basket.items[basket.item_count] = new item(id, item_count, info1, info2, info3);
	basket.item_count+=1;
	save_basket(basket);
}

function _buy(n)
{   
  var obj = eval("document.order_sheet.id_"+n);
  var obj2 = eval("document.order_sheet.antal_"+n);
  var  count = obj2.options[obj2.selectedIndex].value;
  var id="";  
  if (obj.type=="hidden")
    id = obj.value;
  else
    id = obj.options[obj.selectedIndex].value;
  if (id=="")
  	alert("Vald kombination ingår ej i sortimentet...");
  else  
  	change_basket_add(id, count);
}

function doInit()
{
  for (var i=0; i<document.order_sheet.elements.length; i++)
  {
    if (document.order_sheet.elements[i].type=="hidden")
    {
    	if (document.order_sheet.elements[i].name.substring(0, 3)=="id_")
    	{
							resolveAttr(document.order_sheet.elements[i].name.substring(3, 10)*1);
			}
		}
	}
}

function resolve(f, input, value)
{
	var n = input.name.indexOf("_");
	if (n<1)
	  return;
	var group=input.name.substr(0, n);
  var search="";
  for (var i=1; i<=10; i++)
  {
		var box = eval("document.f."+group+"_"+i);
		if (box!=null)
		{
			search+="/";
			search+=box.options[box.selectedIndex].value;
		}
	}
	search+="=";
	var v="";
	var s = eval("document.f."+group+".value");
	if (s!=null)
	{
		var i = s.indexOf(search);
		if (i>=0)
		{
		  i+=search.length;
			var j = s.indexOf(";", i);
			if (j>i)
			{
				v = s.substr(i, j-i);
			}
		}
	}
	var id = "";
	var pris= "finns ej i sortimentet";
	if (v!="")
	{
		var i=v.indexOf(":");
		if (i>0)
		{
			id = v.substr(0, i);
			pris = v.substr(i+1, v.length-i-1);
			pris += " kr";
		}
	}
	var p = eval("document.f."+group+"_pris");
	var d = eval("document.f."+group+"_id");
	if (p!=null)
	  p.value=pris;
	if (d!=null)
	  d.value=id;
	 
}

function __buy(ref)
{   
	var obj = eval("document.formBuy."+ref+"_id");
	var obj2 = eval("document.formBuy."+ref+"_count");

	if( obj2.value.length<=0 )
	{
		alert("Mata in önskat antal");
		return false;
	}
		
	if( isNaN(obj2.value) )
	{
		alert("Mata in önskat antal");
		return false;
	}
		
	var  count = obj2.value;

	var id="";  
	if (obj.type=="hidden")
		id = obj.value;
	else
		id = obj.options[obj.selectedIndex].value;
	//alert(count+' st nr '+id);
	if (id=="")
		alert("Vald kombination ingår ej i sortimentet...");
	else
	{
		change_basket_add(id, count);
	}	
}

