//rahmen beim drüberfahren und so schwarz machen
function blackborder(element) {
  element.style.border = "1px solid #000000";
}

//rahmen beim verlassen wieder grün machen
function greenborder(element) {
  element.style.border = "1px solid #4D5A12";
}

//startbild beim drüberfahren dunkler machen/auswechseln
function rollover(element) {
  var newimage = new Image();
  newimage.src = "gifs/"+element.name+"_darker.gif";
  element.src = newimage.src;
}

//beim verlassen wieder heller machen/auswechseln
function rollout(element){
  var newimage = new Image();
  newimage.src = "gifs/"+element.name+".gif";
  element.src = newimage.src;
}

//galeriefenster mit angegebener quelle öffnen
function gallery(source) {
  var target = "../gallery/"+source+".htm";
  var name = "gallery";
  var option = "width=550,height=480,dependent=no,location=no,menubar=no,resizable=no,scrollbars=yes,status=no,toolbar=no";
  var gallery = window.open(target, name, option);
  gallery.focus();
}

//fenster mit gästebuch öffnen
function guestbook() {
  var target = "http://www.gaffa-music.com/cgi-bin/guestbook.php.cgi";
  var name = "guestbook";
  var option = "width=550,height=480,dependent=no,location=no,menubar=no,resizable=no,scrollbars=yes,status=no,toolbar=no";
  var guestbook = window.open(target, name, option);
  guestbook.focus();
}

//fenster mit shop öffnen
function shop() {
  var target = "shop/shop.htm";
  var name = "shop";
  var option = "width=550,height=480,dependent=no,location=no,menubar=no,resizable=no,scrollbars=yes,status=no,toolbar=no";
  var shop = window.open(target, name, option);
  shop.focus();
}
//fenster mit dem shop von der newsseite aus öffnen
function newshop() {
  var target = "../shop/shop.htm";
  var name = "shop";
  var option = "width=550,height=480,dependent=no,location=no,menubar=no,resizable=no,scrollbars=yes,status=no,toolbar=no";
  var shop = window.open(target, name, option);
  shop.focus();
}

//cookies testen
function checkcookies() {
  setcookie("gaffa-order",""); //neue bestellung schreiben bzw. alte löschen
  if (navigator.cookieEnabled == true) {
    parent.mainFrame.location.href="intro.htm"; 
  }
  else {
    document.write("<span class='head'>sorry<\/span><br>");
    document.write("&nbsp;<br>");
    document.write("your browser must have cookies enabled.");
  }
}

//cookie einlesen
function getcookie(name) {
  name = name + "=";
  var cookie = "";
  var completecookie = parent.document.cookie;
  var completelength = completecookie.length;
  var completebegin = 0;
  while (completebegin < completelength) {
    var begin = completebegin + name.length;
    if (completecookie.substring(completebegin, begin) == name) { 
      var end = completecookie.indexOf (";", begin);
      if (end == -1) {
	    end = completelength;
	    }
      cookie = unescape(completecookie.substring(begin, end));
    }
    completebegin = completecookie.indexOf(" ", completebegin) + 1;
    if (completebegin == 0) {
	    break;
	  }
  }
  return cookie;
}

//cookie schreiben
function setcookie(name, value) {
  expires = new Date();
  expires.setTime(expires.getTime()+(1000*60*60*24*2));
  parent.document.cookie = name + "=" + escape(value)
                         + "; expires=" + expires.toGMTString()
					             	 + "; path=/";
}

//cookie löschen oder leeren --- brauch ich doch gar nicht!? ---
function deletecookie(name) {
  setcookie(name,"");
}

//item in gaffa-order schreiben
function additem(name, quantity) {
  var order = new String(getcookie("gaffa-order"));
  if (order.indexOf(name)<0) {
    order = order + name+":"+quantity+";";
  	setcookie("gaffa-order",order);
  }
  else if (quantity == 0) {
    deleteitem(name);
  }
  else {
    var begin = order.indexOf(":", order.indexOf(name)) + 1;
  	var end = order.indexOf(";", order.indexOf(name));
	  var preorder = order.substring(0, begin);
  	var postorder = order.substring(end, order.length);
  	order = preorder + quantity + postorder;
    setcookie("gaffa-order",order);
  }
  updatesum(); //bestellsumme aktualisieren
}

//item aus dem gaffa-order löschen
function deleteitem(name) {
  var order = new String(getcookie("gaffa-order"));
  var begin = order.indexOf(name);
  var end = order.indexOf(";", begin) + 1;
  var preorder = order.substring(0, begin);
  var postorder = order.substring(end, order.length);
  order = preorder + postorder;
  setcookie("gaffa-order", order);
}

//shoppingcart anzeigen
function showshoppingcart() {
  var order = new String(getcookie("gaffa-order"));
  var nameend;
  var itemname;
  var itemend;
  if (order.length<=0) {
    document.write("your shopping cart is empty<br>");
  }
  while (order.length>0) {
    nameend = order.indexOf(":");
    itemname = order.substring(0,nameend);
  	itemquantity = getquantity(itemname);
	  itemend = order.indexOf(";")+1;
  	order = order.substring(itemend,order.length);
  	document.write("<input type=\"text\" name=\""+ itemname +"\" size=\"1\" "+
	                 "value=\""+ itemquantity +"\" class=\"shop\" "+
			        	   "onBlur=\"greenborder(this)\" onFocus=\"blackborder(this)\" "+
			        	   "onChange=\"additem(this.name,this.value)\"> ");
    document.write(itemtostring(itemname)+" - ");
  	document.write("sum: &euro; "+sumtostring(itemname)+"<br>");
  }
  document.write("&nbsp;<br>");
  document.write("total sum: &euro; "+totalsumtostring());
}

//gibt vollständigen namen für den artikel
function itemtostring(name) {
  switch (name) {
    case "hundred_cd": return "CD hundred reasons to kiss the ground"; break;
    case "amusement_lp": return "LP amusement park"; break;
    case "amusement_cd": return "CD amusement park"; break;
    case "wilful_lp": return "LP wilful things"; break;
    case "wilful_cd": return "CD wilful things"; break;
    case "telaviv_ep": return "EP tel a viv"; break;
    case "badge_ship_light": return "badge ship light letters"; break;
    case "badge_ship_dark": return "badge ship dark letters"; break;
    case "badge_anchor": return "badge anchor"; break;
    case "badge_green": return "badge green"; break;
    case "badge_red": return "badge red"; break;
		case "shirt_red_boy_m": return "t-shirt sterio red boys M"; break;
		case "shirt_red_boy_l": return "t-shirt sterio red boys L"; break;
		case "shirt_red_boy_xl": return "t-shirt sterio red boys XL"; break;
		case "shirt_orange_boy_m": return "t-shirt burnt orange boys M"; break;
		case "shirt_orange_boy_l": return "t-shirt burnt orange boys L"; break;
		case "shirt_orange_boy_xl": return "t-shirt burnt orange boys XL"; break;
		case "shirt_blue_boy_m": return "t-shirt ice blue boys M"; break;
		case "shirt_blue_boy_l": return "t-shirt ice blue boys L"; break;
		case "shirt_blue_boy_xl": return "t-shirt ice blue boys XL"; break;
		case "shirt_green_boy_m": return "t-shirt olive green boys M"; break;
		case "shirt_green_boy_l": return "t-shirt olive green boys L"; break;
		case "shirt_green_boy_xl": return "t-shirt olive green boys XL"; break;
		case "shirt_red_girl_m": return "t-shirt sterio red girls M"; break;
		case "shirt_red_girl_s": return "t-shirt sterio red girls S"; break;
		case "shirt_orange_girl_m": return "t-shirt burnt orange girls M"; break;
		case "shirt_orange_girl_s": return "t-shirt burnt orange girls S"; break;
		case "shirt_blue_girl_m": return "t-shirt ice blue girls M"; break;
		case "shirt_blue_girl_s": return "t-shirt ice blue girls S"; break;
		case "shirt_yellow_girl_m": return "t-shirt gold yellow girls M"; break;
		case "shirt_yellow_girl_s": return "t-shirt gold yellow girls S"; break;
    default: return "unknown item"; break;
  }
}

//gibt preis für den artikel
function getprice(name) {
  switch (name) {
    case "hundred_cd": return 10.00; break;
    case "amusement_lp": return 10.00; break;
    case "amusement_cd": return 10.00; break;
    case "wilful_lp": return 10.00; break;
    case "wilful_cd": return 10.00; break;
    case "telaviv_ep": return 6.00; break;
    case "badge_ship_light": return 1.00; break;
    case "badge_ship_dark": return 1.00; break;
    case "badge_anchor": return 1.00; break;
    case "badge_green": return 1.00; break;
    case "badge_red": return 1.00; break;	
    default: return 12.00; break; //alle shirts
  }
}

//preis als formatierter string
function pricetostring(name) {
	return inttostring(getprice(name));
}

//ermittelt die anzahl des artikels
function getquantity(name) {
  var order = new String(getcookie("gaffa-order"));
  var quantity = 0;
  if (order.indexOf(name)>=0) {
    var begin = order.indexOf(name)+name.length+1;
	var end = order.indexOf(";", begin);
    var quantity = order.substring(begin,end);
  }
  return quantity;
}

//ermittelt die summe eines eintrags
function getsum(name) {
  var sum = Math.round(getquantity(name) * getprice(name)*100)/100;
  return sum;
}

//summe als formatierter string
function sumtostring(name) {
	return inttostring(getsum(name));
}

//ermittelt bestellsumme
function gettotalsum() {
  var order = new String(getcookie("gaffa-order"));
  var itemname;
  var itemquantity = 0;
  var nameend;
  var itemend;
  var totalsum = 0.00;
  while (order.length>0) {
    nameend = order.indexOf(":");
    itemname = order.substring(0,nameend);
	itemend = order.indexOf(";")+1;
	itemquantity = getquantity(itemname);
	order = order.substring(itemend,order.length);
	totalsum = totalsum + getsum(itemname);
  }
  return totalsum;
}

//bestellsumme als formatierter string
function totalsumtostring() {
	return inttostring(gettotalsum());
}

//bestellsumme inklusive versandkosten
//function getordersum() {
//  var ordersum = gettotalsum()+2;
//	return ordersum;
//}

// bestellsumme als formatierter string
//function ordersumtostring() {
//  return inttostring(getordersum());
//}

//zahl als formatierter string
function inttostring(number) {
  number = Math.round(number*100)/100;//komische kommastellen wegrunden
	var string = number + "";
  //kommastellenbehandlung
  if (number != Math.floor(number)) { //kommastellen vorhanden
    if (number*10 != Math.floor(number*10)) { //zwei kommastellen 
		  //nischt
  	}
	  else {
	    string = number + "0"; //eine null anhängen
	  }
  }
  else {
    string = number + ".00"; // komma und zwei nullen anhängen
  }
  return string;
}

//aktualisiert die anzeige der summe
function updatesum() {
  parent.sumFrame.document.getElementById('sumfield').value = "€ " + totalsumtostring();
}

//formular für userdaten ausfüllen
function fillinuserdata() {
  var gaffauserdata = new String(getcookie("gaffa-user"));
  if (gaffauserdata.length > 5) {
    var begin = 0;
    var end = gaffauserdata.indexOf(";");
    document.gaffauserdata.name.value = gaffauserdata.substring(begin, end);
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
    document.gaffauserdata.address.value = gaffauserdata.substring(begin, end);
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
    document.gaffauserdata.place.value = gaffauserdata.substring(begin, end);
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
    document.gaffauserdata.country.value = gaffauserdata.substring(begin, end);
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
    document.gaffauserdata.email.value = gaffauserdata.substring(begin, end);
  }
}

//userdaten in gaffa-user speichern
function saveuserdata() {
  //formularfelder in den cookie schreiben
  var gaffauserdata = document.gaffauserdata.name.value + ";";
  gaffauserdata += document.gaffauserdata.address.value + ";";
  gaffauserdata += document.gaffauserdata.place.value + ";";
  gaffauserdata += document.gaffauserdata.country.value + ";";
  gaffauserdata += document.gaffauserdata.email.value + ";";
  setcookie("gaffa-user", String(gaffauserdata));
}

//bestellung komplett anzeigen
function showorder() {
  //userdaten
  var gaffauserdata = new String(getcookie("gaffa-user"));
  if (gaffauserdata.length > 5) {
    var begin = 0;
    var end = gaffauserdata.indexOf(";");
  	var value = gaffauserdata.substring(begin, end);
  	document.write("<input type='hidden' name='realname' value='"+value+"'>");
    document.write(value+"<br>");
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
  	value = gaffauserdata.substring(begin, end);
  	document.write("<input type='hidden' name='address' value='"+value+"'>");
    document.write(value+"<br>");
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
  	value = gaffauserdata.substring(begin, end);
  	document.write("<input type='hidden' name='place' value='"+value+"'>");
    document.write(value+" - ");
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
	  value = gaffauserdata.substring(begin, end);
  	document.write("<input type='hidden' name='country' value='"+value+"'>");	
    document.write(value+"<br>");
    begin = end + 1;
    end = gaffauserdata.indexOf (";", begin);
	  value = gaffauserdata.substring(begin, end);
	  document.write("<input type='hidden' name='email' value='"+value+"'>");
    document.write(value+"<br>");
  }
  else {
	  document.write("<input type='hidden' name='realname' value='nobody'>");
    document.write("nobody<br>");
  }
	//zwischenzeile
  document.write("<input type='hidden' name='has ordered' value=' '>");
  document.write("has ordered:<br>&nbsp;<br>");
	//bestellung
  var order = new String(getcookie("gaffa-order"));
  var nameend;
  var itemname;
  var itemend;
  if (order.length<=0) {
	  document.write("<input type='hidden' name='just' value='nothing'>");
    document.write("nothing<br>");
  }
  while (order.length>0) {
    nameend = order.indexOf(":");
    itemname = order.substring(0,nameend);
	  itemquantity = getquantity(itemname);
	  itemend = order.indexOf(";")+1;
	  order = order.substring(itemend,order.length);
	  document.write("<input type='hidden' name='"+itemtostring(itemname)+"' value='"+itemquantity+"'>");
	  document.write(itemquantity+" "+itemtostring(itemname)+"<br>");
  }
  document.write("&nbsp;<br>");
	//sume
  document.write("<input type='hidden' name='total sum' value='€ "+totalsumtostring()+"'>");
  document.write("total sum: &euro; "+totalsumtostring());
	//versandkosten
  /*document.write("<input type='hidden' name='porto' value='€ 2.00'>");
  document.write("shipping: &euro; 2.00<br>");
	//bestellsumme
  document.write("<input type='hidden' name='order sum' value='€ "+ordersumtostring()+"'>");
  document.write("order sum: &euro; "+ordersumtostring());*/
}