/*******************************
Author   Zeljko Peric <zeljko.peric@p3os.com>
Created  2009-11-13
Modified 2010-02-22
Purpose  Standard Script for kleila.de
********************************/
/**create p3os namespace*/
var p3os = {};
/** p3os get elements by attribute name and/or value*/
p3os.getElementsByAttribute = function(name, value)
{
  if(name == null)
  {
    return null;
  }
  var ret = new Array();
  var els = document.getElementsByTagName('*');
  if(value == '*' || value == null)
  {
    for (var i = 0; i < els.length; i++)
    {
      if (els[i].getAttribute(name) != null)
      {
        ret.push(els[i]);
      }
    }
    return ret;
  }
  var rex = new RegExp('\\b'+ String(value) +'\\b');
  for (i = 0; i < els.length; i++)
  {
    var att = els[i].getAttribute(name);
    if (els[i].getAttribute(name) != null)
    {
      if(rex.test(att))
      {
        ret.push(els[i]);
      }
    }
  }
  return ret;
};
/** define getElementsByClassName method */
p3os.getElementsByClassName = function(className)
{
  var tmp = navigator.appVersion.split(';');
  var ver = 0;
  for(var i = 0; i < tmp.length; ++i)
  {
	var li = tmp[i].lastIndexOf("MSIE");
	if(li > -1)
	{
		ver = parseInt(tmp[i].slice(5,tmp[i].length));
	}
  }  
  if(navigator.appName == 'Microsoft Internet Explorer' && ver < 8)
  {
    return p3os.getElementsByAttribute('className', className);
  }
  return p3os.getElementsByAttribute('class', className);
};
/** get coordinates of a element */
p3os.getElementCoordinates = function(element) 
{
  var coords = { x:0, y:0 };
  do 
  {
    coords.x += element.offsetLeft;
    coords.y += element.offsetTop;
  } while (element = element.offsetParent);
  return coords;
};
/** p3os request object */
p3os.Request = function()
{
  var xmlhttp = null;
  function create()
  {
    if (window.XMLHttpRequest)
    {
      // Mozilla
      if(xmlhttp == null) {xmlhttp = new XMLHttpRequest();}
    }
    else if (window.ActiveXObject)
    {
      // IE
      if(xmlhttp == null) {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
    }
  };
  create();
  function getResponse(type, method, uri, onFinish, params)
  {
    if(xmlhttp == null)
    {
      create();
    }
    var async = true;
    if(method == 'POST')
    {
      var typ = 'application/x-www-form-urlencoded';
      xmlhttp.onreadystatechange = function()
      {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
          if(typeof window[onFinish] == 'function')
          {
            if(type == 'TEXT')
            {window[onFinish](xmlhttp.responseText);}
            if(type == 'XML')
            {window[onFinish](xmlhttp.responseXML);}
          }
        }
      }
      xmlhttp.open(method, uri, async);
      xmlhttp.setRequestHeader("Content-type", typ);
      xmlhttp.setRequestHeader("Content-length", params.length);
      xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.send(params);
    }
    if(method == 'GET')
    {
      xmlhttp.onreadystatechange = function()
      {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
          if(typeof window[onFinish] == 'function')
          {
            if(type == 'TEXT')
            {window[onFinish](xmlhttp.responseText);}
            if(type == 'XML')
            {window[onFinish](xmlhttp.responseXML);}
          }
        }
      }
      xmlhttp.open(method, uri, async);
      xmlhttp.send(null);
    }
  };
  this.getText = function(method, uri, onFinish, params)
  {
    getResponse('TEXT', method, uri, onFinish, params);
  };
  this.getXml = function(method, uri, onFinish, params)
  {
    getResponse('XML', method, uri, onFinish, params);
  };
};
function imgView(e)
{
  var evt = e == null ? window.event : e;
  var t = e == null ? evt.srcElement : evt.target;
  if(t.alt == 'Kein Bild'){return;}
  var x = 100;
  var y = 100;
  var ofy = 0;
  if(e)
  {
    x = e.clientX + window.pageXOffset;
    y = e.clientY + window.pageYOffset;
    ofy = window.pageYOffset + 10;
  }
  else
  {
    if(document.body)
	{
	  x = window.event.x + document.body.scrollLeft;
      y = window.event.y + document.body.scrollTop;
      ofy = document.body.scrollTop + 10;
	}
	else
	{
	  x = window.event.x + document.documentElement.scrollLeft;
      y = window.event.y + document.documentElement.scrollTop;
      ofy = document.documentElement.scrollTop + 10;
	}
  }
  var iview = document.getElementById('imgView1');
  var img = iview.getElementsByTagName('IMG')[0];
  img.src = t.src;
  img.setAttribute('title', 'Klicken Sie auf das Bild zum schliessen');
  img.setAttribute('alt', 'Klicken Sie auf das Bild zum schliessen');
  img.style.cursor = 'pointer';
  iview.style.display = 'block';
  if(y < (img.height / 2))
  {
    iview.style.top = '10px';
  }
  else
  {
    iview.style.top = (y - (img.height / 2)) + 'px';
  }
  if(x < img.width)
  {
    iview.style.left = '100px';
  }
  else
  {
    iview.style.left = (x - img.width) + 'px';
  }
  //iview.style.left = '100px';
  return true;
};
function closeImgView()
{
  var iview = document.getElementById('imgView1');
  iview.style.display = 'none';
};
function initPreview()
{
  var pimg = p3os.getElementsByClassName('preview1');
  var i = 0;
  if(pimg != null)
  {
    for(i = 0; i < pimg.length; ++i)
    {
      pimg[i]["onclick"] = imgView;
    }
  }
};
function showProdClass(id)
{
	var pc = p3os.getElementsByAttribute('name', 'prodClass');
	for(var i = 0; i < pc.length; ++i)
	{
		pc[i].style.display ='none';
	}
	if(id != '')
	{
		var el = document.getElementById(id);
		el.style.display = 'block';
	}
	cookies["PRODCLASS"] = id;
	writeCookies();
};

var products = new Array();
products[0]=new Array('0904','2009 Dornfelder','rotweine','Rotweine','Rotwein TROCKEN','Deutscher Qualitätswein','','','Alk. 12,5 % vol; WS 4,9 g/l; RS 5,0 g/l','ab sofort',0.75,4.5,6);
products[1]=new Array('1004','2010 Dornfelder','rotweine','Rotweine','Rotwein TROCKEN','Deutscher Qualitätswein','','','Alk. 12,5 % vol; WS 4,9 g/l; RS 5,0 g/l','ab sofort',0.75,4.5,6);
products[2]=new Array('0812','2008 Regent','rotweine','Rotweine','Rotwein TROCKEN','Deutscher Qualitätswein','','','Alk. 13,0 % vol; WS 4,5 g/l; RS 4,5 g/l','ab sofort',0.75,4.6,6.13);
products[3]=new Array('1012','2010 Regent','rotweine','Rotweine','Rotwein TROCKEN','Deutscher Qualitätswein','','','Alk. 13,0 % vol; WS 4,5 g/l; RS 4,5 g/l','ab sofort',0.75,4.6,6.13);
products[4]=new Array('0914','2009 Saint Laurent','rotweine','Rotweine','Rotwein FEINHERB','Deutscher Qualitätswein','','','Alk. 11,5 % vol; WS 4,6 g/l; RS 14,6 g/l','ab sofort',0.75,4.6,6.13);
products[5]=new Array('1014','2010 Saint Laurent','rotweine','Rotweine','Rotwein FEINHERB','Deutscher Qualitätswein','','','Alk. 11,5 % vol; WS 4,6 g/l; RS 14,6 g/l','ab sofort',0.75,4.6,6.13);
products[6]=new Array('1006','2010 Dornfelder','rotweine','Rotweine','Rotwein FEINHERB','Deutscher Qualitätswein','','','Alk. 11,5 % vol; WS 4,5 g/l; RS 14,5 g/l','ab sofort',0.75,4.5,6);
products[7]=new Array('0810','2008 Dornfelder ','rotweine','Rotweine','Rotwein LIEBLICH','Deutscher Qualitätswein','','','Alk. 11,0 % vol; WS 5,0 g/l; RS 28,0 g/l','ab sofort',0.75,4.5,6);
products[8]=new Array('1010','2010 Dornfelder ','rotweine','Rotweine','Rotwein LIEBLICH','Deutscher Qualitätswein','','','Alk. 11,0 % vol; WS 5,0 g/l; RS 28,0 g/l','ab sofort',0.75,4.5,6);
products[9]=new Array('0905','2009 Blauer Portugieser','rotweine','Rotweine','Rotwein LIEBLICH','Deutscher Qualitätswein','','','Alk. 11,0 % vol; WS 5,0 g/l; RS 28,9 g/l','ab sofort',0.75,4.5,6);
products[10]=new Array('1005','2010 Blauer Portugieser','rotweine','Rotweine','Rotwein LIEBLICH','Deutscher Qualitätswein','','','Alk. 11,0 % vol; WS 5,0 g/l; RS 28,9 g/l','ab sofort',0.75,4.5,6);
products[11]=new Array('0940','2009 Spätburgunder Auslese','rotweine','Rotweine','Rotwein TROCKEN','Deutscher Prädikatswein','leichter Holzton','Der besondere Rotwein aus dem Jahrgang 2009','Alk. 14,0 % vol; WS 4,8 g/l; RS 4,2 g/l','ab sofort',0.75,7,9.33);
products[12]=new Array('0809','2008 Spätburgunder','weissherbsteundrose','Weißherbste und Rosé','Rosé TROCKEN','Deutscher Qualitätswein','','','Alk. 12,5 % vol; WS 6,7 g/l; RS 7,1 g/l','ab sofort',0.75,4.2,5.6);
products[13]=new Array('0908','2009 Blauer Portugieser','weissherbsteundrose','Weißherbste und Rosé','Weißherbst FEINHERB','Deutscher Qualitätswein','','','Alk. 11,5 % vol; WS 7,5 g/l; RS 13,8 g/l','ab sofort',0.75,4.2,5.6);
products[14]=new Array('1008','2010 Blauer Portugieser','weissherbsteundrose','Weißherbste und Rosé','Weißherbst FEINHERB','Deutscher Qualitätswein','','','Alk. 11,5 % vol; WS 7,5 g/l; RS 13,8 g/l','ab sofort',0.75,4.2,5.6);
products[15]=new Array('0807','2008 Blauer Portugieser','weissherbsteundrose','Weißherbste und Rosé','Weißherbst LIEBLICH','Deutscher Qualitätswein','','','Alk. 10,5 % vol; WS 5,2 g/l; RS 29,5 g/l','ab sofort',0.75,4.2,5.6);
products[16]=new Array('1007','2010 Blauer Portugieser','weissherbsteundrose','Weißherbste und Rosé','Weißherbst LIEBLICH','Deutscher Qualitätswein','','','Alk. 10,5 % vol; WS 5,2 g/l; RS 29,5 g/l','ab sofort',0.75,4.2,5.6);
products[17]=new Array('1041','2010 Blauer Portugieser','weissherbsteundrose','Weißherbste und Rosé','Blanc de Noir FEINHERB','Deutscher Qualitätswein','Blanc de Noir - weißgekeltert','Der Besondere aus dem Jahrgang 2010','Alk. 11,5 % vol; WS 7,9 g/l; RS 15,1 g/l','ab sofort',0.75,4.8,6.4);
products[18]=new Array('1001','2010 Silvaner','weissweinetrocken','Weißweine, trocken','','Deutscher Qualitätswein','','','Alk. 12,5 % vol; WS 5,5 g/l; RS 4,0 g/l','ab sofort',1,3.8,3.8);
products[19]=new Array('0911','2009 Riesling','weissweinetrocken','Weißweine, trocken','Kabinett','Deutscher Prädikatswein','','','Alk. 11,0 % vol; WS 6,2 g/l; RS 6,6 g/l','ab sofort',0.75,4.2,5.6);
products[20]=new Array('1011','2010 Riesling','weissweinetrocken','Weißweine, trocken','Kabinett','Deutscher Prädikatswein','','','Alk. 11,0 % vol; WS 6,2 g/l; RS 6,6 g/l','ab sofort',0.75,4.2,5.6);
products[21]=new Array('0913','2009 Weißer Burgunder','weissweinetrocken','Weißweine, trocken','','Deutscher Qualitätswein','','','Alk. 11,5 % vol; WS 6,3 g/l; RS 5,5 g/l','ab sofort',0.75,4.6,6.13);
products[22]=new Array('1018','2010 Chardonnay','weissweinetrocken','Weißweine, trocken','','Deutscher Qualitätswein','','','Alk. 12,5 % vol; WS 7,8 g/l; RS 5,2 g/l','ab sofort',0.75,4.6,6.13);
products[23]=new Array('1002','2010 Kerner','weissweinefeinherb','Weißweine, feinherb','','Deutscher Qualitätswein','','','Alk. 12,0 % vol; WS 6,5 g/l; RS 14,5 g/l','ab sofort',1,3.8,3.8);
products[24]=new Array('0919','2009 Riesling','weissweinefeinherb','Weißweine, feinherb','Spätlese','Deutscher Prädikatswein','','','Alk. 11,5 % vol; WS 7,3 g/l; RS 12,5 g/l','ab sofort',0.75,4.8,6.4);
products[25]=new Array('1033','2010 Grauer Burgunder','weissweinefeinherb','Weißweine, feinherb','','Deutscher Qualitätswein','','','Alk. 12,0 % vol; WS 7,5 g/l; RS 12,5 g/l','ab sofort',0.75,4.6,6.13);
products[26]=new Array('0942','2009 Scheurebe','weissweinefeinherb','Weißweine, feinherb','Auslese','Deutscher Prädikatswein','','Der Besondere aus dem Jahrgang 2009','Alk. 12,5 % vol; WS 6,7 g/l; RS 15,8 g/l','ab sofort',0.75,6.8,9.05);
products[27]=new Array('0903','2009 Bacchus und Müller-Thurgau','weissweinelieblichbisedelsuess','Weißweine, lieblich bis edelsüß','','Deutscher Qualitätswein','','','Alk. 10,0 % vol; WS 5,6 g/l; RS 30,0 g/l','ab sofort',1,3.8,3.8);
products[28]=new Array('0717','2007 Weißer Burgunder','weissweinelieblichbisedelsuess','Weißweine, lieblich bis edelsüß','Kabinett','Deutscher Prädikatswein','','','Alk. 11,0 % vol; WS 5,9 g/l; RS 31,0 g/l','ab sofort',0.75,4,5.33);
products[29]=new Array('0915','2009 Bacchus','weissweinelieblichbisedelsuess','Weißweine, lieblich bis edelsüß','Kabinett','Deutscher Prädikatswein','','','Alk. 10,5 % vol; WS 6,1 g/l; RS 29,0 g/l','ab sofort',0.75,4.2,5.6);
products[30]=new Array('0916','2009 Huxelrebe','weissweinelieblichbisedelsuess','Weißweine, lieblich bis edelsüß','Spätlese','Deutscher Prädikatswein','','','Alk. 11,0 % vol; WS 6,5 g/l; RS 40,5 g/l','ab sofort',0.75,4.6,6.13);
products[31]=new Array('2022','2000 Silvaner','weissweinelieblichbisedelsuess','Weißweine, lieblich bis edelsüß','Eiswein','Deutscher Prädikatswein','','','Alk. 8,0 % vol; WS 10,3 g/l; RS 132,0 g/l','ab sofort',0.5,11.6,23.2);
products[32]=new Array('0922','2009 Ortega','weissweinelieblichbisedelsuess','Weißweine, lieblich bis edelsüß','Trockenbeerenauslese','Deutscher Prädikatswein','','Der absolute Spitzenwein des Jahrgangs 2009','Alk. 9,0 % vol; WS 9,0 g/l; RS 212,0 g/l','ab sofort',0.375,14.5,38.65);
products[33]=new Array('0825','2008 Traubensaft – weiß','traubensaft','Traubensaft','','','','','','ab sofort',0.75,2.7,3.6);
products[34]=new Array('0824','2008 Traubensaft – rot','traubensaft','Traubensaft','','','','','','ab sofort',0.75,2.7,3.6);
products[35]=new Array('9920','Riesling','unseresektezukauf','Unsere Sekte, Zukauf','TROCKEN','Deutscher Sekt b. A. Rheinhessen','Natürlich in der Flasche vergoren.','','','ab sofort',0.75,8.5,11.33);
products[36]=new Array('9921','Morio-Muskat','unseresektezukauf','Unsere Sekte, Zukauf','HALBTROCKEN','Deutscher Sekt b. A. Rheinhessen','Natürlich in der Flasche vergoren.','','','ab sofort',0.75,8.5,11.33);
products[37]=new Array('9922','Spätburgunder Weißherbst','unseresektezukauf','Unsere Sekte, Zukauf','HALBTROCKEN','Deutscher Sekt b. A. Rheinhessen','Natürlich in der Flasche vergoren.','','','ab sofort',0.75,8.9,11.87);
products[38]=new Array('0001','Weintraubenlikör','brändeunddestillate','Brände und Destillate','','','mit Trauben in der Flasche','','25 % vol','ab sofort',0.5,12.9,25.8);
products[39]=new Array('0002','Rotweinlikör','brändeunddestillate','Brände und Destillate','','','etwas ganz besonderes aus Rotwein','','20 % vol','ab sofort',0.5,12.9,25.8);
products[40]=new Array('0003','Roter Weinbergspfirsich','brändeunddestillate','Brände und Destillate','','','ein Hochgenuss','','20 % vol','ab sofort',0.5,12.9,25.8);
products[41]=new Array('0004','Alter Trester','brändeunddestillate','Brände und Destillate','','','im Holzfass gelagert','','40 % vol ','ab sofort',0.5,12,24);

function inArray(arr, val)
{
	for(var i = 0; i < arr.length; ++i)
	{
		if(arr[i] == val)
		{return true}
	}
	return false;
};
function getColumnArray(marr, colIndex)
{
	var col = new Array();
	for (var i = 0; i < marr.length; ++i)
	{
		col.push(marr[i][colIndex]);
	}
	return col;
};
function arrUnique(arr)
{
	var uq = new Array();
	for (var i = 0; i < arr.length; ++i)
	{
		if(!inArray(uq, arr[i]))
		{
			uq.push(arr[i]);
		}
	}
	return uq;
};
function toMoney(str, dec)
{
	return str.toFixed(dec).replace(/\./g, ',');
};
function writeProducts()
{
	var cat = arrUnique(getColumnArray(products, 2));
	var catn = arrUnique(getColumnArray(products, 3));
	for(var i = 0; i < cat.length; ++i)
	{
		document.writeln('<div id="'+cat[i]+'" name="prodClass">');
		document.writeln('<h4>'+catn[i]+'</h4>');
		document.writeln('<table class="products">');
		document.writeln('<tbody>');
		for(var j = 0; j < products.length; ++j)
		{
			if(products[j][2] == cat[i])
			{
				document.writeln('<tr>');
				document.writeln('<td class="prodImg"></td>');
				document.writeln('<td class="prodData">');
				document.writeln('<p class="prodName">');
				document.write(products[j][1]);
				document.writeln('</p>');
				document.writeln('<p class="prodDescr">');
				if(products[j][4] != '') {document.write(products[j][4]+'<br/>');}
				if(products[j][5] != '') {document.write(products[j][5]+'<br/>');}
				if(products[j][6] != '') {document.write(products[j][6]+'<br/>');}
				if(products[j][7] != '') {document.write(products[j][7]+'<br/>');}
				if(products[j][11] != ''){document.writeln('Flasche '+toMoney(products[j][10],2)+' l<br/>');}
				if(products[j][8] != '') {document.write(products[j][8]+'<br/>');}
				document.writeln('</p>');
				document.writeln('</td>');
				document.writeln('<td class="prodOrder">');
				document.writeln('<p>');
				document.writeln('<span class="preis">'+toMoney(products[j][11],2)+' €</span><br/>');
				document.writeln('<span class="literpreis">Literpreis '+toMoney(products[j][12],2)+' €</span>');
				document.writeln('</p>');
				document.writeln('<p>');
				document.writeln('<input type="text" id="'+products[j][0]+
				'" maxlength="2" size="2" name="orderQty" value="1" title="Bestellmenge bitte eingeben"/>');
				document.writeln('<a href="#prodBasket" onclick="javascript:prodOrder(\''+
				products[j][0]+'\');" title="In den Warenkorb" class="orderLink">Warenkorb</a>');
				document.writeln('</p>');
				document.writeln('<p class="orderInfo">');
				document.writeln('Lieferbar ' + products[j][9] + '<br/>');
				document.writeln('<a href="agb.html" title="Unsere Versand- und Zahlungsbedinqunqen">Versandbedingungen</a><br/>');
				document.writeln('Bestell. Nr. '+products[j][0]);
				document.writeln('</p>');
				document.writeln('</td>');
				document.writeln('</tr>');
				document.writeln('<tr>');
				document.writeln('<td>&nbsp;</td>');
				document.writeln('<td></td>');
				document.writeln('<td></td>');
				document.writeln('</tr>');
			}
		}
		document.writeln('</tbody>');
        document.writeln('</table>');
		document.writeln('</div>');
	}
	if(cookies["PRODCLASS"])
	{
		showProdClass(cookies["PRODCLASS"]);
	}
};
function writeProdMenu()
{
	document.writeln('<ul>');
	var cat = arrUnique(getColumnArray(products, 2));
	var catn = arrUnique(getColumnArray(products, 3));
	for(var i = 0; i < cat.length; ++i)
	{
		document.writeln('<li>');
		document.writeln('<a href="#'+cat[i]+'" class="navLink" title="'+catn[i]+'" onclick=');
		document.writeln('"javascript:showProdClass(\''+cat[i]+'\');">'+catn[i]+'</a>');
		document.writeln('</li>');
	}
	document.writeln('</ul>');
};
var cookies = new Array();
var basket = new Array();
function getCookie(name)
{
	var tmp = null;
	var tmp1 = null;
	var tmp2 = '';
	var i = 0;
	tmp = document.cookie.split(';');
	for(i = 0; i < tmp.length; ++i)
	{
		tmp1 = tmp[i].split('=');
		tmp2 = tmp1[0].replace(/ /g, '');
		if(name == tmp2)
		{
			return decodeURI(tmp1[1]);
		}
	}
	return '';
};
function readBasket()
{
	if(cookies["PRODLIST"]) 
	{
		tmp = cookies["PRODLIST"].split('#');
		for(i = 0; i < tmp.length; ++i)
		{
			tmp1 = tmp[i].split(':');
			if(tmp1.length > 0)
			{
				basket[tmp1[0]] = parseInt(tmp1[1]);
			}
		}
	}
};
function readCookies()
{
	var expired = new Date();
	var fivedays = expired.getTime() + (5 * 24 * 60 * 60 * 1000);
	expired.setTime(fivedays);
	var tmp = null;
	var tmp1 = null;
	var tmp2 = '';
	var i = 0;
	if(!document.cookie)
	{
		document.cookie = "FIRSTNAME=; expires=" + expired.toGMTString();
		document.cookie = "LASTNAME=; expires=" + expired.toGMTString();
		document.cookie = "STREET=; expires=" + expired.toGMTString();
		document.cookie = "ZIP=; expires=" + expired.toGMTString();
		document.cookie = "CITY=; expires=" + expired.toGMTString();
		document.cookie = "PHONE=; expires=" + expired.toGMTString();
		document.cookie = "EMAIL=; expires=" + expired.toGMTString();
		document.cookie = "PRODLIST=; expires=" + expired.toGMTString();
		document.cookie = "PRODCLASS=; expires=" + expired.toGMTString();
	}
	tmp = document.cookie.split(';');
	for(i = 0; i < tmp.length; ++i)
	{
		tmp1 = tmp[i].split('=');
		if(tmp1.length > 0)
		{
			tmp2 = tmp1[0].replace(/ /g,'');
			if(tmp1[1])
			{cookies[tmp2] = decodeURI(tmp1[1]);}
			else
			{cookies[tmp2] = '';}
		}
	}
	readBasket();
};
function writeBasket()
{
	var tmp = '';
	var tmp1 = '';
	for (p in basket)
	{
		tmp1 = p + ':' + basket[p] + '#';
		tmp = tmp + tmp1;
	}
	cookies["PRODLIST"] = tmp.slice(0, tmp.length-1);
};
function writeCookies()
{
	writeBasket();
	var expired = new Date();
	var fivedays = expired.getTime() + (5 * 24 * 60 * 60 * 1000);
	expired.setTime(fivedays);
	for (c in cookies)
	{
		document.cookie = c + '=' + encodeURI(cookies[c]) + ";expires=" + expired.toGMTString();
	}
};
function getProdPrice(prodId)
{
	for(var j = 0; j < products.length; ++j)
	{
		if(products[j][0] == prodId)
		{
			return products[j][11];
		}
	}
	return null;
};
function getProdName(prodId)
{
	for(var j = 0; j < products.length; ++j)
	{
		if(products[j][0] == prodId)
		{
			return products[j][1];
		}
	}
	return null;
};
function getOrderCount()
{
	var cnt = 0;
	for (p in basket)
	{
		++cnt;
	}
	return cnt;
};
function getBasketTable()
{
	var tmp = '<table class="basket"><tbody>';
	var tmp1 = '';
	var prc = 0.0;
	var sum = 0.0;
	for (p in basket)
	{
		prc = getProdPrice(p) * basket[p];
		sum += prc;
		tmp1 = '<tr><td class="zahl">' + basket[p] + '<td>' + getProdName(p) + '</td>' + 
		'</td><td class="zahl">' + toMoney(prc,2) + 
		' €</td><td><img src="res/img/document_delete.png" widht="16" height="16" '+
		'class="unorder" alt="vom Warenkorb entfernen" title="vom Warenkorb entfernen" '+
		'onclick="javascript:removeOrder(\''+p+'\');"/></td></tr>';
		tmp = tmp + tmp1;
	}
	tmp = tmp + '<tr><td></td><td class="zahl"><p class="sum">Gesamt:</p></td><td class="zahl"><p class="sum">'+ 
	toMoney(sum,2) + ' €</p></td><td></td></tr></tbody></table>';
	return tmp;
};
function showBasket()
{
	var bs = document.getElementById('prodBasket');
	var t = document.getElementById('basketTitle');
	var l = document.getElementById('basketLink');
	if(!bs) {return;}
	if(getOrderCount() == 0)
	{
		bs.innerHTML = '';
		if(t)
		{t.innerHTML = '';}
		if(l)
		{l.innerHTML = '';}
		return;
	}
	if(t)
	{
		t.innerHTML = 'Ihr Warenkorb';
	}
	if(l)
	{
		l.innerHTML = '<a href="bestellung.html" title="Bestellung abgeben" class="orderLink">Bestellen</a>';
	}
	bs.innerHTML = getBasketTable();
};
function prodOrder(prodId)
{
	var p = document.getElementById(prodId);
	if(!p) {return;}
	var q = parseInt(p.value);
	if(q == 0) {return;}
	if(basket[prodId])
	{
		basket[prodId] = basket[prodId] + q;
	}
	else
	{
		basket[prodId] = q;
	}
	writeCookies();
	showBasket();
};
function removeOrder(prodId)
{
	if(basket[prodId])
	{
		delete(basket[prodId]);
		writeCookies();
		showBasket();
	}
};
function clearBasket()
{
	for (p in basket)
	{
		removeOrder(p);
	}
};
function checkOrder()
{
	var im = document.getElementById('invalidMessage');
	var ok = true;
	if(getOrderCount() == 0)
	{
		if(im) {im.innerHTML = 'Ihr Warenkorb ist leer.'};
		return false;
	}
	var el = null;
	var fn = document.forms[0].firstname.value.replace(/ /g, '');
	var ln = document.forms[0].lastname.value.replace(/ /g, '');
	var st = document.forms[0].street.value.replace(/ /g, '');
	var ct = document.forms[0].city.value.replace(/ /g, '');
	var zp = document.forms[0].zip.value.replace(/ /g, '');
	var ph = document.forms[0].phone.value.replace(/ /g, '');
	var em = document.forms[0].email.value.replace(/ /g, '');
	var kapa = document.forms[0].kapa.value.replace(/ /g, '');
	var pc = p3os.getElementsByClassName('invalidEntry');
	for(var i = 0; i < pc.length; ++i)
	{
		pc[i].innerHTML = '';
	}
	if(!kapa)
	{
		ok = false;
		el = document.getElementById('invalidSecure');
		el.innerHTML = '*';
	}
	if(!fn)
	{
		ok = false;
		el = document.getElementById('invalidFname');
		el.innerHTML = '*';
	}
	if(!ln)
	{
		el = document.getElementById('invalidLname');
		el.innerHTML = '*';
		ok = false;
	}
	if(!st)
	{
		el = document.getElementById('invalidStreet');
		el.innerHTML = '*';
		ok = false;
	}
	if(!ct || !zp)
	{
		el = document.getElementById('invalidZip');
		el.innerHTML = '*';
		ok = false;
	}
	if(!ph)
	{
		el = document.getElementById('invalidPhone');
		el.innerHTML = '*';
		ok = false;
	}
	if(!em)
	{
		el = document.getElementById('invalidEmail');
		el.innerHTML = '*';
		ok = false;
	}
	if(document.forms[0].agb.checked == false)
	{
		el = document.getElementById('invalidAgb');
		el.innerHTML = '*';
		ok = false;
	}
	if(!ok)
	{
		im.innerHTML = 'Ihre Angaben sind nicht vollständig.';
		return ok;
	}
	cookies["FIRSTNAME"] = document.forms[0].firstname.value;
	cookies["LASTNAME"] = document.forms[0].lastname.value;
	cookies["STREET"] = document.forms[0].street.value;
	cookies["ZIP"] = document.forms[0].zip.value;
	cookies["CITY"] = document.forms[0].city.value;
	cookies["PHONE"] = document.forms[0].phone.value;
	cookies["EMAIL"] = document.forms[0].email.value;
	//clearBasket();
	writeCookies();
	document.forms[0].orderChecked.value = 'Ja';
	var prc = 0.0;
	var sum = 0.0;
	var t1 = null;
	var plist = document.getElementById ('prodlist');
	if(plist) {document.forms[0].removeChild(plist);}
	plist = null;
	var nam = '';
	var c = 0;
	plist = document.createElement('p');
	plist.setAttribute('id', 'prodlist');
	for (p in basket)
	{
		prc = getProdPrice(p) * basket[p];
		sum += prc;
		nam = getProdName(p);
		t1 = document.createElement('input');
		t1.setAttribute('type', 'hidden');
		t1.setAttribute('name', 'prodlist['+c+'][0]');
		t1.value = basket[p];
		plist.appendChild(t1);
		t1 = document.createElement('input');
		t1.setAttribute('type', 'hidden');
		t1.setAttribute('name', 'prodlist['+c+'][1]');
		t1.value = p;
		plist.appendChild(t1);
		t1 = document.createElement('input');
		t1.setAttribute('type', 'hidden');
		t1.setAttribute('name', 'prodlist['+c+'][2]');
		t1.value = nam;
		plist.appendChild(t1);
		t1 = document.createElement('input');
		t1.setAttribute('type', 'hidden');
		t1.setAttribute('name', 'prodlist['+c+'][3]');
		t1.value = prc;
		plist.appendChild(t1);
		++c;
	}
	document.forms[0].appendChild(plist);
	document.forms[0].submit();
	return ok;
};
function initOrderForm()
{
	if (cookies["FIRSTNAME"]) {document.forms[0].firstname.value = cookies["FIRSTNAME"];}
	if (cookies["LASTNAME"]) {document.forms[0].lastname.value = cookies["LASTNAME"];}
	if (cookies["STREET"]) {document.forms[0].street.value = cookies["STREET"];}
	if (cookies["ZIP"]) {document.forms[0].zip.value = cookies["ZIP"];}
	if (cookies["CITY"]) {document.forms[0].city.value = cookies["CITY"];}
	if (cookies["PHONE"]) {document.forms[0].phone.value = cookies["PHONE"];}
	if (cookies["EMAIL"]) {document.forms[0].email.value = cookies["EMAIL"];}
	showBasket();
};
readCookies();
