//---------------------------------------------------------------------||
// FUNCTION:    UpdateToCartOnBasket                                              ||
// PARAMETERS:  Form Object                                            ||
// RETURNS:     Cookie to user's browser, with prompt                  ||
// PURPOSE:     Adds a product to the user's shopping cart             ||
//---------------------------------------------------------------------||

function UpdateToCartOnBasket(saveIndex) {
	//------- check if product already exists --------------------

	NumberOrdered = 0;
	var exists=0;
	var TOquantity = " ";
	var TOprice = " ";
	var TOid_num = " ";
	var TOname = " ";
	var qtt  = document.getElementById('qtt'+saveIndex);	
	NewOrder = "Order." + saveIndex;
	database = "";
	database = GetCookie(NewOrder);

	Token0 = database.indexOf("|", 0);
	Token1 = database.indexOf("|", Token0+1);
	Token2 = database.indexOf("|", Token1+1);
	Token3 = database.indexOf("|", Token2+1);
	Token4 = database.indexOf("|", Token3+1);
	Token5 = database.indexOf("|", Token4+1);

	fields = new Array;
	fields[0] = database.substring( 0, Token0 );
	fields[1] = database.substring( Token0+1, Token1 );
	fields[2] = database.substring( Token1+1, Token2 );	
	fields[3] = database.substring( Token2+1, Token3 );	
	fields[4] = database.substring( Token3+1, Token4 );	
	fields[5] = database.substring( Token4+1, Token5 );	
	fields[6] = database.substring( Token5+1, database.length );
	
	dbUpdatedOrder = qtt.value + "|"
											+ fields[1]  + "|"
											+ fields[2] + "|"								 
											+ fields[3] + "|"
											+ fields[4] + "|"
											+ fields[5] + "|"
											+ fields[6];									

	SetCookie (NewOrder, dbUpdatedOrder, null, "/");
}
function UpdateCheckout(shippingop) {
	var NumberOrdered = GetCookie("NumberOrdered");
  for (i = 1; i <= NumberOrdered; i++) {
		UpdateToCartOnBasket(i);
	}
	window.top.document.getElementById('iframe_cart').src='cart_checkout.php?op='+shippingop;
	GetFromCartMiniTop();
}

//---------------------------------------------------------------------||
// FUNCTION:    CKquantity                                             ||
// PARAMETERS:  Quantity to                                            ||
// RETURNS:     Quantity as a number, and possible alert               ||
// PURPOSE:     Make sure quantity is represented as a number          ||
//---------------------------------------------------------------------||

function CKquantity(checkString) {
	strNewQuantity = "";    // String Adjusted Item Quantity
	count     = 0;          // Generic Loop Counter

	for (i = 0; i < checkString.length; i++) {
		ch = checkString.substring(i, i+1);
		if ((ch >= "0" && ch <= "9") || (ch == '.')) {
			strNewQuantity += ch;
		}
	}

	if (strNewQuantity.length < 1)
		strNewQuantity = "1";

	return strNewQuantity;
}

//---------------------------------------------------------------------||
// FUNCTION:    AddToCart                                              ||
// PARAMETERS:  Form Object                                            ||
// RETURNS:     Cookie to user's browser, with prompt                  ||
// PURPOSE:     Adds a product to the user's shopping cart             ||
//---------------------------------------------------------------------||

function AddToCart(id_select, type) {
	//------- check if product already exists --------------------

	NumberOrdered = 0;
	var qtt = document.getElementById('qtty'+id_select);
	var name = document.getElementById('name'+id_select);
	var price = document.getElementById('price'+id_select);	
	var id_product = document.getElementById('ref'+id_select);	
	var imageurl  = document.getElementById('image_thumb'+id_select);	
	var size = document.getElementById('size'+id_select);
	var sizeType = document.getElementById('size_type').value;
	if (sizeType == 'select') {
		if (size.value != null) {
			var myselect=document.getElementById("size"+id_select)
			for (var i=0; i<myselect.options.length; i++){
			 if (myselect.options[i].selected==true){
				addSize = myselect.options[i].id;
				break
			 }
			}
		} else {
			addSize = size.value;
		}
	} else {
		addSize = '';
	}

	var exists=0;
	var TOquantity = " ";
	var TOprice = " ";
	var TOid_num = " ";
	var TOname = " ";
	var NumberOrdered = GetCookie("NumberOrdered");
	var saveIndex = -1;

  for (i = 1; i <= NumberOrdered; i++) {
		NewOrder = "Order." + i;
		database = "";
		database = GetCookie(NewOrder);

		Token0 = database.indexOf("|", 0);
		Token1 = database.indexOf("|", Token0+1);
		Token2 = database.indexOf("|", Token1+1);
		Token3 = database.indexOf("|", Token2+1);
		Token4 = database.indexOf("|", Token3+1);
		Token5 = database.indexOf("|", Token4+1);
		Token6 = database.indexOf("|", Token5+1);

		fields = new Array;
		fields[0] = database.substring( 0, Token0 );
		fields[1] = database.substring( Token0+1, Token1 );
		fields[2] = database.substring( Token1+1, Token2 );	
		fields[3] = database.substring( Token2+1, Token3 );	
		fields[4] = database.substring( Token3+1, Token4 );	
		fields[5] = database.substring( Token4+1, Token5 );	
		fields[6] = database.substring( Token5+1, Token6 );
		fields[7] = database.substring( Token6+1, database.length );
				
		// save index to update later
		if ( (id_product.value == fields[2]) && (addSize == fields[7]) ) {
			saveIndex = i;
			exists=1;
		}
  }
	if(qtt.value==0){
		RemoveFromCartToUpdate(i);
	}else{
		if (saveIndex > -1) {	
			NewOrder = "Order." + saveIndex;
			iNumberOrdered = GetCookie("NumberOrdered");
		} else {
			iNumberOrdered = 0;  //Integer number of products already ordered
			iNumberOrdered = GetCookie("NumberOrdered");
			iNumberOrdered++;
			NewOrder = "Order." + iNumberOrdered;
		}
		
		dbUpdatedOrder = qtt.value + "|"
											+ price.value  + "|"
											+ id_product.value + "|"								 
											+ name.value + "|"
											+ imageurl.value + "|"
											+ id_select + "|"
											+ type + "|"
											+ addSize;

		SetCookie (NewOrder, dbUpdatedOrder, null, "/");
		SetCookie ("NumberOrdered", iNumberOrdered, null, "/");

		if(qtt.value>1){
			notice ="You now have " + qtt.value + " '"
								+ name.value
								+ "' in your cart.";
		}
	}
	GetFromCartMiniTop();
}

//---------------------------------------------------------------------||
// FUNCTION:    getCookieVal                                           ||
// PARAMETERS:  offset                                                 ||
// RETURNS:     URL unescaped Cookie Value                             ||
// PURPOSE:     Get a specific value from a cookie                     ||
//---------------------------------------------------------------------||

function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

//---------------------------------------------------------------------||
// FUNCTION:    FixCookieDate                                          ||
// PARAMETERS:  date                                                   ||
// RETURNS:     date                                                   ||
// PURPOSE:     Fixes cookie date, stores back in date                 ||
//---------------------------------------------------------------------||

function FixCookieDate (date) {
	var base = new Date(0);
	var skew = base.getTime();
	date.setTime (date.getTime() - skew);
}

//---------------------------------------------------------------------||
// FUNCTION:    GetCookie                                              ||
// PARAMETERS:  Name                                                   ||
// RETURNS:     Value in Cookie                                        ||
// PURPOSE:     Retrieves cookie from users browser                    ||
//---------------------------------------------------------------------||

function GetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

//---------------------------------------------------------------------||
// FUNCTION:    SetCookie                                              ||
// PARAMETERS:  name, value, expiration date, path, domain, security   ||
// RETURNS:     Null                                                   ||
// PURPOSE:     Stores a cookie in the users browser                   ||
//---------------------------------------------------------------------||

function SetCookie (name,value,expires,path,domain,secure) {
	document.cookie = name + "=" + escape (value) +
										((expires) ? "; expires=" + expires.toGMTString() : "") +
										((path) ? "; path=" + path : "") +
										((domain) ? "; domain=" + domain : "") +
										((secure) ? "; secure" : "");
}

//---------------------------------------------------------------------||
// FUNCTION:    DeleteCookie                                           ||
// PARAMETERS:  Cookie name, path, domain                              ||
// RETURNS:     null                                                   ||
// PURPOSE:     Removes a cookie from users browser.                   ||
//---------------------------------------------------------------------||

function DeleteCookie (name,path,domain) {
	if (GetCookie(name)) {
		document.cookie = name + "=" +
											((path) ? "; path=" + path : "") +
											((domain) ? "; domain=" + domain : "") +
											"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

//---------------------------------------------------------------------||
// FUNCTION:    MoneyFormat                                            ||
// PARAMETERS:  Number to be formatted                                 ||
// RETURNS:     Formatted Number                                       ||
// PURPOSE:     Reformats Dollar Amount to #.## format                 ||
//---------------------------------------------------------------------||

function moneyFormat(input) {
	var dollars = Math.floor(input)
	var tmp = new String(input)
	for (var decimalAt = 0; decimalAt < tmp.length; decimalAt++) {
					if (tmp.charAt(decimalAt)==".")
									break;
	}

	var cents  = "" + Math.round(input * 100)
	cents = cents.substring(cents.length-2, cents.length)
	dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;
	return dollars + "." + cents
}

//---------------------------------------------------------------------||
// FUNCTION:    DeleteCookie                                           ||
// PARAMETERS:  Cookie name, path, domain                              ||
// RETURNS:     null                                                   ||
// PURPOSE:     Removes a cookie from users browser.                   ||
//---------------------------------------------------------------------||

function DeleteCookie (name,path,domain) {
	if (GetCookie(name)) {
		document.cookie = name + "=" +
											((path) ? "; path=" + path : "") +
											((domain) ? "; domain=" + domain : "") +
											"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

//---------------------------------------------------------------------||
// FUNCTION:    MoneyFormat                                            ||
// PARAMETERS:  Number to be formatted                                 ||
// RETURNS:     Formatted Number                                       ||
// PURPOSE:     Reformats Dollar Amount to #.## format                 ||
//---------------------------------------------------------------------||

function moneyFormat(input) {
	var dollars = Math.floor(input)
	var tmp = new String(input)
	for (var decimalAt = 0; decimalAt < tmp.length; decimalAt++) {
					if (tmp.charAt(decimalAt)==".")
									break;
	}
	var cents  = "";
	if(Math.round(input * 100)>0){		
   	cents  = cents+Math.round(input * 100);
	}else{
		cents  = cents + "00";
	}
	cents = cents.substring(cents.length-2, cents.length);
  dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;
  return dollars + "." + cents
}

//---------------------------------------------------------------------||
// FUNCTION:    RemoveFromCart                                         ||
// PARAMETERS:  Order Number to Remove                                 ||
// RETURNS:     Null                                                   ||
// PURPOSE:     Removes an item from a users shopping cart             ||
//---------------------------------------------------------------------||

function RemoveFromCart(RemOrder) {
	if (confirm("Click 'ok' to delete.")) {
		NumberOrdered = GetCookie("NumberOrdered");
		for(i=RemOrder; i <  NumberOrdered; i++) {
			NewOrder1 = "Order." + (i+1);
			NewOrder2 = "Order." + (i);
			database = GetCookie(NewOrder1);
			SetCookie (NewOrder2, database, null, "/");
		}
		NewOrder = "Order." + NumberOrdered;
		SetCookie ("NumberOrdered", NumberOrdered-1, null, "/");
		DeleteCookie(NewOrder, "/");
		location.href=location.href;
	}
}

function RemoveFromCartToUpdate(RemOrder) {
	NumberOrdered = GetCookie("NumberOrdered");
	for(i=RemOrder; i <  NumberOrdered; i++) {
		NewOrder1 = "Order." + (i+1);
		NewOrder2 = "Order." + (i);
		database = GetCookie(NewOrder1);
		SetCookie (NewOrder2, database, null, "/");
	}
	NewOrder = "Order." + NumberOrdered;
	SetCookie ("NumberOrdered", NumberOrdered-1, null, "/");
	DeleteCookie(NewOrder, "/");
	GetFromCartMiniTop();
}

//---------------------------------------------------------------------||
// FUNCTION:    GetFromCart                                            ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page          ||
//---------------------------------------------------------------------||

function GetFromCartMini() {
	var NumberOrdered = 0;
	var Total=0;
	var TOTotal=0;

	var items=0;
	var TOquantity = " ";
	var TOprice = " ";
	var TOid_num = " ";
	var TOname = " ";

	var NumberOrdered = GetCookie("NumberOrdered");
	var whattowrite = "";
	
	for (i = 1; i <= NumberOrdered; i++) {
		NewOrder = "Order." + i;
		database = "";
		database = GetCookie(NewOrder);

		Token0 = database.indexOf("|", 0);
		Token1 = database.indexOf("|", Token0+1);
		Token2 = database.indexOf("|", Token1+1);
		Token3 = database.indexOf("|", Token2+1);
		Token4 = database.indexOf("|", Token3+1);
		Token5 = database.indexOf("|", Token4+1);

		fields = new Array;
		fields[0] = database.substring( 0, Token0 );
		fields[1] = database.substring( Token0+1, Token1 );
		fields[2] = database.substring( Token1+1, Token2 );	
		fields[3] = database.substring( Token2+1, Token3 );	
		fields[4] = database.substring( Token3+1, Token4 );	
		fields[5] = database.substring( Token4+1, Token5 );	
		fields[6] = database.substring( Token5+1, database.length );
		
		Total = Total + (fields[1] * fields[0]);
		TOTotal = TOTotal+Total;
	}

	if(!NumberOrdered){
		NumberOrdered=0;
	}
	
	if(NumberOrdered==0){
		NumberOrdered=0;
		document.getElementById('checkoutbt').style.visibility="hidden";
		document.getElementById('checkoutbtlink').style.visibility="hidden";
	}else{
		document.getElementById('checkoutbt').style.visibility="visible";
		document.getElementById('checkoutbtlink').style.visibility="visible";
	}
	
	items=NumberOrdered;
	TOTotal = moneyFormat(TOTotal);
	Total = moneyFormat(Total);
	document.getElementById('items').value=items+" items";
	document.getElementById('itemsvalue').value="€ "+Total;
}

//---------------------------------------------------------------------------
function GetFromCartMiniTop() {
	var NumberOrdered = 0;
	var Total=0;
	var TOTotal=0;

	var items=0;
	var TOquantity = " ";
	var TOprice = " ";
	var TOid_num = " ";
	var TOname = " ";

	var NumberOrdered = GetCookie("NumberOrdered");
	var whattowrite = "";
	
	for (i = 1; i <= NumberOrdered; i++) {
		NewOrder = "Order." + i;
		database = "";
		database = GetCookie(NewOrder);

		Token0 = database.indexOf("|", 0);
		Token1 = database.indexOf("|", Token0+1);
		Token2 = database.indexOf("|", Token1+1);
		Token3 = database.indexOf("|", Token2+1);
		Token4 = database.indexOf("|", Token3+1);
		Token5 = database.indexOf("|", Token4+1);

		fields = new Array;
		fields[0] = database.substring( 0, Token0 );
		fields[1] = database.substring( Token0+1, Token1 );
		fields[2] = database.substring( Token1+1, Token2 );	
		fields[3] = database.substring( Token2+1, Token3 );	
		fields[4] = database.substring( Token3+1, Token4 );	
		fields[5] = database.substring( Token4+1, Token5 );	
		fields[6] = database.substring( Token5+1, database.length );
		
		Total = Total + (fields[1] * fields[0]);
		TOTotal = TOTotal+Total;
	}

	if(!NumberOrdered){
		NumberOrdered=0;
	}
	
	if(NumberOrdered==0){
		NumberOrdered=0;
		window.top.document.getElementById('checkoutbt').style.visibility="hidden";
		window.top.document.getElementById('checkoutbtlink').style.visibility="hidden";
	}else{
		window.top.document.getElementById('checkoutbt').style.visibility="visible";
		window.top.document.getElementById('checkoutbtlink').style.visibility="visible";
	}
	
	items=NumberOrdered;
	TOTotal = moneyFormat(TOTotal);
	Total = moneyFormat(Total);
	window.top.document.getElementById('items').value=items+" items";
	window.top.document.getElementById('itemsvalue').value="€ "+Total;
	window.top.document.getElementById('iframe_cart').src=window.top.document.getElementById('iframe_cart').src;
}

//---------------------------------------------------------------------||
// FUNCTION:    GetFromCart                                            ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page          ||
//---------------------------------------------------------------------||

function GetFromCartFooter() {
	NumberOrdered = 0;
	Total=0;
	TOtotal=0;
	TOquantity = " ";
	TOprice = " ";
	TOid_num = " ";
	TOname = " ";
	NumberOrdered = GetCookie("NumberOrdered");
	whattowrite = "";
	whattowritetop ="";
	whattowriteend="";
	
	if (NumberOrdered>0){
		for (i = 1; i <= NumberOrdered; i++) {
			NewOrder = "Order." + i;
			database = "";
			database = GetCookie(NewOrder);

			Token0 = database.indexOf("|", 0);
			Token1 = database.indexOf("|", Token0+1);
			Token2 = database.indexOf("|", Token1+1);
			Token3 = database.indexOf("|", Token2+1);
			Token4 = database.indexOf("|", Token3+1);
			Token5 = database.indexOf("|", Token4+1);
			Token6 = database.indexOf("|", Token5+1);
	
			fields = new Array;
			fields[0] = database.substring( 0, Token0 );
			fields[1] = database.substring( Token0+1, Token1 );
			fields[2] = database.substring( Token1+1, Token2 );	
			fields[3] = database.substring( Token2+1, Token3 );	
			fields[4] = database.substring( Token3+1, Token4 );	
			fields[5] = database.substring( Token4+1, Token5 );	
			fields[6] = database.substring( Token5+1, Token6 );
			fields[7] = database.substring( Token6+1, database.length );

			Total = (parseFloat(fields[1]) * fields[0]);
			
			TOtotal = TOtotal + Total;
			
			Total = format_number(Total, 2);
			
			pricetemp = format_number(fields[1], 2);
					
			whattowrite += '<td width="180"><table width="180" height="155" border="0" cellpadding="0" cellspacing="0">'+
												'<tr height="23">'+
													'<td width="92" align="center" class="dots_bottom"><strong>PRODUCT</strong></td>'+
													'<td width="92" align="center" class="dots_bottom"><strong>DETAILS</strong></td>'+
												'</tr>'+
												'<tr height="5">'+
													'<td></td>'+
													'<td ></td>'+
												'</tr>'+
												'<tr height="98">'+
													'<td class="dots_right">'+
													//internal info
													'<table width="92" height="98" border="0" cellpadding="0" cellspacing="0">'+
														'<tr height="83">'+
															'<td align="center" valign="middle"><img src="backoffice/gallery/'+fields[4]+'" width="80" height="80" /></td>'+
														'</tr>'+
														'<tr height="15">'+
															'<td align="center" valign="bottom" class="textbox_items"><a href="javascript: window.top.viewdetails('+fields[5]+', \'' + fields[7] + '\')">View Details</a></td>'+
														'</tr>'+
													'</table>'+
													'</td>'+
													'<td class="dots_right">'+
													'<table width="92" height="98" border="0" cellpadding="0" cellspacing="0">'+
														'<tr height="25">'+
															'<td align="center" valign="middle">'+
															'<input id="qtt'+i+'" name="qtt'+i+'" value="'+fields[0]+'" type="text" size="2" /></td>'+
														'</tr>'+
														'<tr>'+
															'<td align="center" valign="middle"><a href="javascript: RemoveFromCartToUpdate('+i+'); window.top.document.getElementById(\'iframe_cart\').src=window.top.document.getElementById(\'iframe_cart\').src; "><img src="img/cart_minus.png" width="73" height="26" border="0" /></a></td>'+
														'</tr>'+
														'<tr>'+
															'<td align="center" valign="middle"><a href="javascript: UpdateToCartOnBasket(\''+i+'\', \''+fields[1]+'\', \''+fields[2]+'\', \''+fields[3]+'\', \''+fields[4]+'\', \''+fields[5]+'\'); GetFromCartMiniTop(); window.top.document.getElementById(\'iframe_cart\').src=window.top.document.getElementById(\'iframe_cart\').src;"><img src="img/update_cart.png" width="73" height="24" border="0" /></a></td>'+
														'</tr>'+
														'<tr height="15">'+
															'<td align="center" valign="middle" class="textbox_itemsvalue">&euro; '+Total+' </td>'+
														'</tr>'+
													'</table>'+
													//internal info
													'</td>'+
												'</tr>'+
												'<tr height="5">'+
													'<td class="dots_bottom"></td>'+
													'<td class="dots_bottom"></td>'+
												'</tr>'+
												'<tr height="24">'+
													'<td class="dots_top">&nbsp;</td>'+
													'<td class="dots_top">&nbsp;</td>'+
												'</tr>'+
											'</table></td>';
			
		}
	}
	if (NumberOrdered<4){
		// write extra empty cells
		for (i = 1; i <= 4-NumberOrdered; i++) {
			whattowrite += '<td width="180"><table width="180" height="155" border="0" cellpadding="0" cellspacing="0">'+
				'<tr height="23">'+
					'<td width="92" align="center" class="dots_bottom"><strong>&nbsp;</strong></td>'+
					'<td width="92" align="center" class="dots_bottom"><strong>&nbsp;</strong></td>'+
				'</tr>'+
				'<tr height="5">'+
					'<td></td>'+
					'<td></td>'+
				'</tr>'+
				'<tr height="98" >'+
					'<td>'+
						'<table width="92" height="98" border="0" cellpadding="0" cellspacing="0">'+
								'<tr height="83">'+
									'<td align="center" valign="middle"></td>'+
								'</tr>'+
								'<tr height="15">'+
									'<td align="center" valign="bottom" class="textbox_items"></td>'+
								'</tr>'+
							'</table>'+
							'</td>';
				
				if (i == 4-NumberOrdered) {
					whattowrite += '<td class="dots_right">';
				} else {
					whattowrite += '<td>';
				}
				whattowrite += '<table width="92" height="98" border="0" cellpadding="0" cellspacing="0">'+
								'<tr height="25">'+
									'<td align="center" valign="middle">'+
									'</td>'+
								'</tr>'+
								'<tr>'+
									'<td align="center" valign="middle"></td>'+
								'</tr>'+
								'<tr>'+
									'<td align="center" valign="middle"></td>'+
								'</tr>'+
								'<tr height="15">'+
									'<td align="center" valign="middle" class="textbox_itemsvalue"></td>'+
								'</tr>'+
							'</table>'+
						//internal info
						'</td>'+
				'</tr>'+
				'<tr height="5">'+
					'<td class="dots_bottom"></td>'+
					'<td class="dots_bottom"></td>'+
				'</tr>'+
				'<tr height="24">'+
					'<td class="dots_top">&nbsp;</td>'+
					'<td class="dots_top">&nbsp;</td>'+
				'</tr>'+
			'</table></td>';
		}
	}

	Gtotal = TOtotal;
	TOtotal = format_number(TOtotal, 2);
	Gtotal = format_number(Gtotal, 2);
	if(NumberOrdered>4){
		whattowritetop = '<div id="wn" >'+
    		'<div id="lyr1">';
	}else{
		whattowritetop = '<div id="wn" >';
	}

	whattowritetop += '<table id="t1" width="880" height="155" border="0" cellpadding="0" cellspacing="0">'+
											'<tr>'+
												'<td width="8">'+
												'<table width="8" height="155" border="0" cellpadding="0" cellspacing="0">'+
													'<tr>'+
														'<td width="8" height="23" align="center">&nbsp;</td>'+
													'</tr>'+
													'<tr>'+
														'<td height="5"></td>'+
													'</tr>'+
													'<tr>'+
														'<td height="98">&nbsp;</td>'+
													'</tr>'+
													'<tr>'+
														'<td height="5"></td>'+
												'</tr>'+
													'<tr>'+
														'<td height="24"></td>'+
													'</tr>'+
												'</table>'+
												'</td>';
						
	whattowriteend = '<td><table width="108" border="0" cellpadding="0" cellspacing="0">'+
										'<tr height="23">'+
											'<td align="center" class="dots_bottom"><strong>SUBTOTAL</strong></td>'+
										'</tr>'+
										'<tr>'+
											'<td height="5"></td>'+
										'</tr>'+
										'<tr height="98">'+
											'<td align="right" valign="bottom" >'+
											'<table width="105" height="90" border="0" cellpadding="0" cellspacing="0">'+
											'<tr>'+
													'<td height="15" align="left" valign="middle" class="textbox_itemsvalue">&euro; '+TOtotal+'</td>'+
												'</tr>'+
												'<tr>'+
													'<td height="40" align="left" valign="bottom"><img src="img/truck.png" width="34" height="25" /></td>'+
												'</tr>'+
												'<tr>'+
													'<td height="10" align="left" valign="middle"><span class="textbox_viewshipping"><a href="cart_shipping.php" >View Shipping Charges</a></span></td>'+
												'</tr>'+
												'<tr>'+
													'<td height="25" align="left" valign="middle">';
	if(NumberOrdered>0){												
		whattowriteend += 	'<a href="javascript: window.top.showCheckout();"><img src="img/checkout_cart.png" width="89" height="28"  border="0" /></a>';
	}else{
		whattowriteend += 	'&nbsp;';	
	}
	whattowriteend += '</td>'+
									'</tr>'+
								'</table>'+
							'</td>'+
							'</tr>'+
							'<tr height="5" >'+
								'<td class="dots_bottom"></td>'+
							'</tr>'+
							'<tr  height="24" >'+
								'<td class="dots_top">&nbsp;</td>'+
							'</tr>'+
						'</table>'+	
						'</td>'+
					'</table>';
								
	if(NumberOrdered>4){
		whattowriteend +='</div>'+
					'</div>  <!-- end wn div -->'+
					'<!-- border attribute added to reduce support questions on the subject. '+
							'If you like valid strict markup, remove and place a img {border:none;} spec in style sheet -->'+
				'<div id="scrollbar">'+
							'<div id="left"><a class="mouseover_left" href="#"><img src="img/btn-lft.gif" width="11" height="11" alt="" border="0" /></a></div>'+
							'<div id="track">'+
									 '<div id="dragBar"></div>'+
							'</div>'+
							'<div id="right"><a class="mouseover_right" href="#"><img src="img/btn-rt.gif" width="11" height="11" alt="" border="0" /></a></div>'+
					'</div>';
	}else{
		whattowriteend +='<div id="lyr1">'+	
				'</div>'+
									'</div>  <!-- end wn div -->'+
									'<!-- border attribute added to reduce support questions on the subject. '+
											'If you like valid strict markup, remove and place a img {border:none;} spec in style sheet -->'+
									'<br /><br /><br /><br /><div id="scrollbar">'+
											'<div id="left"><a class="mouseover_left" href="#"><img src="img/btn-lft.gif" width="11" height="11" alt="" border="0" /></a></div>'+
											'<div id="track">'+
													 '<div id="dragBar"></div>'+
											'</div>'+
											'<div id="right"><a class="mouseover_right" href="#"><img src="img/btn-rt.gif" width="11" height="11" alt="" border="0" /></a></div>'+
									'</div>';
	}
		
	// only write if cart has items
	if(NumberOrdered > 0){
		document.write('<div style="padding-left: 10px;">' + whattowritetop);
		document.write(whattowrite);
		document.write(whattowriteend + '</div>');
	} else {
		parent.document.getElementById ('table_footer').style.backgroundImage="url('img/products_a_02.png')";
		parent.document.getElementById('iframe_cart').style.visibility="hidden";
		parent.hideShow=0;
	}
}

//------------------------------------------------------------------------
function changeShipping(sop) {
	window.top.document.getElementById('iframe_cart').src='cart_checkout.php?op='+sop;
}

function GetFromCart(creditcardfee, grupos, shippingop) {
	NumberOrdered = 0;
	Total=0;
	TOtotal=0;
	TOquantity = " ";
	TOprice = " ";
	TOid_num = " ";
	TOname = " ";
	NumberOrdered = GetCookie("NumberOrdered");
	whattowrite = "";
	whattowritetop ="";
	whattowriteend="";
	shippingcost=0;

	if (NumberOrdered>0){
		// write how many items are in cart
		whattowrite += '<input type="hidden" id="n_cart_items" name="n_cart_items" value="' + NumberOrdered + ' ">';
		
		for (i = 1; i <= NumberOrdered; i++) {
			NewOrder = "Order." + i;
			database = "";
			database = GetCookie(NewOrder);

			Token0 = database.indexOf("|", 0);
			Token1 = database.indexOf("|", Token0+1);
			Token2 = database.indexOf("|", Token1+1);
			Token3 = database.indexOf("|", Token2+1);
			Token4 = database.indexOf("|", Token3+1);
			Token5 = database.indexOf("|", Token4+1);
			Token6 = database.indexOf("|", Token5+1);
	
			fields = new Array;
			fields[0] = database.substring( 0, Token0 );
			fields[1] = database.substring( Token0+1, Token1 );
			fields[2] = database.substring( Token1+1, Token2 );	
			fields[3] = database.substring( Token2+1, Token3 );	
			fields[4] = database.substring( Token3+1, Token4 );	
			fields[5] = database.substring( Token4+1, Token5 );	
			fields[6] = database.substring( Token5+1, Token6 );
			fields[7] = database.substring( Token6+1, database.length );
			
			Total = (parseFloat(fields[1]) * fields[0]);
			
			TOtotal = TOtotal + Total;
			
			Total = format_number(Total, 2);
			
			pricetemp = format_number(fields[1], 2);
			
			checkedbox1="";
			checkedbox2="";
			checkedbox3="";
			checkedbox4="";

			if(shippingop==0){
				if(parseFloat(shippingcost) < parseFloat(grupos[fields[6]].sc_national)){
					shippingcost = grupos[fields[6]].sc_national;
				}
				checkedbox1=' checked="checked" ';
			}else if(shippingop==1){
				if(parseFloat(shippingcost) < parseFloat(grupos[fields[6]].sc_canary)){
					shippingcost = grupos[fields[6]].sc_canary;
				}
				checkedbox2=' checked="checked" ';
			}else if(shippingop==2){
				if(parseFloat(shippingcost) < parseFloat(grupos[fields[6]].sc_europe)){
					shippingcost = grupos[fields[6]].sc_europe;
				}
				checkedbox3=' checked="checked" ';
			}else{
				if(parseFloat(shippingcost) < parseFloat(grupos[fields[6]].sc_world)){
					shippingcost = grupos[fields[6]].sc_world;
				}
				checkedbox4=' checked="checked" ';
			}
			if(i==1){
				// format all important info in one line
				cart_item_line = grupos[fields[6]].description + '|' + fields[3] + '|' + fields[2] + '|n/a|' + fields[1] + '|' + Total + '|' + trim(fields[7]);
				if (trim(fields[7]) == '') {
					sizeText = 'n/a';
				} else {
					sizeText = trim(fields[7]);
				}
				// write data
				whattowrite += '<table width="900" height="66" border="0" cellpadding="0" cellspacing="0" background="img/products_b_03_iframe_top.png">'+
						'<tr>'+
							'<td width="32" height="31">&nbsp;</td>'+
							'<td width="112">&nbsp;</td>'+
							'<td width="171">&nbsp;</td>'+
							'<td width="87">&nbsp;</td>'+
							'<td width="82">&nbsp;</td>'+
							'<td width="70">&nbsp;</td>'+
							'<td width="96">&nbsp;</td>'+
							'<td width="90">&nbsp;</td>'+
							'<td width="101">&nbsp;</td>'+
							'<td width="59">&nbsp;</td>'+
						'</tr>'+
						'<tr>'+
					'<td height="19" >&nbsp;</td>'+
					'<td class="textbox_checkout_line" >'+grupos[fields[6]].description+'</td>'+
					'<td class="textbox_checkout_line" >'+fields[3]+'</td>'+
					'<td class="textbox_checkout_line" >'+fields[2]+'</td>'+
					'<td class="textbox_checkout_line" align="center" >'+sizeText+'</td>'+
					'<td class="textbox_checkout_line" align="right" style="padding-right: 15px;">&euro; '+fields[1]+'</td>'+
					'<td align="left" style="padding-bottom: 4px;"><input name="qtt'+i+'" id="qtt'+i+'" type="text" size="3" value="'+fields[0]+'" /></td>'+
					'<td align="center" class="textbox_checkout_line" ><a href="javascript: RemoveFromCartToUpdate('+i+'); window.top.document.getElementById(\'iframe_cart\').src=window.top.document.getElementById(\'iframe_cart\').src; "><img src="img/impact_area.gif" alt="" width="50" height="23" border="0" /></a></td>'+
					'<td class="textbox_checkout_line" align="right" >&euro; '+Total+'</td>'+
					'<td class="textbox_checkout_line" >&nbsp;</td>'+
				'</tr>'+
				'</table>' + 
				'<input type="hidden" id="cart_item_line_' + i + '" name="cart_item_line_' + i + '" value="' + cart_item_line + '">';
			}else{		
				// format all important info in one line
				cart_item_line = grupos[fields[6]].description + '|' + fields[3] + '|' + fields[2] + '|n/a|' + fields[1] + '|' + Total + '|' + trim(fields[7]);
				if (trim(fields[7]) == '') {
					sizeText = 'n/a';
				} else {
					sizeText = trim(fields[7]);
				}
				// write data
				whattowrite += '<table width="900" height="32" border="0" cellpadding="0" cellspacing="0" background="img/products_b_03_iframe_line.png">'+
						'<tr>'+
							'<td width="35" height="19" >&nbsp;</td>'+
							'<td width="115" class="textbox_checkout_line" >'+grupos[fields[6]].description+'</td>'+
							'<td width="176" class="textbox_checkout_line" >'+fields[3]+'</td>'+
							'<td width="88" class="textbox_checkout_line" >'+fields[2]+'</td>'+
							'<td width="79" class="textbox_checkout_line" align="center" >'+sizeText+'</td>'+
							'<td width="56" class="textbox_checkout_line" align="right" style="padding-right: 15px; ">&euro; '+fields[1]+'</td>'+
							'<td width="97" align="left" style="padding-bottom: 4px; "><input name="qtt'+i+'" id="qtt'+i+'" type="text" size="3" value="'+fields[0]+'" /></td>'+
							'<td width="91" align="center" class="textbox_checkout_line" ><a href="javascript: RemoveFromCartToUpdate('+i+'); window.top.document.getElementById(\'iframe_cart\').src=window.top.document.getElementById(\'iframe_cart\').src; "><img src="img/impact_area.gif" alt="" width="50" height="23" border="0" /></a></td>'+
							'<td width="103" class="textbox_checkout_line" align="right" >&euro; '+Total+'</td>'+
							'<td width="61" class="textbox_checkout_line" >&nbsp;</td>'+
						'</tr>'+
					'</table>'+ 
					'<input type="hidden" id="cart_item_line_' + i + '" name="cart_item_line_' + i + '" value="' + cart_item_line + '">';
			}
		}
		h_temp=205+70+66+((NumberOrdered-1)*34);
		window.top.document.getElementById('iframe_cart').style.height=h_temp+"px";
		h_temp=h_temp+5;
		window.top.document.getElementById('footer').style.height=h_temp+"px";
		
		h_temp_dif=-685-(70+66+((NumberOrdered-1)*34));
		
	}else{
		window.top.hideShow=0;
		window.top.hideShowCart();
	}
	Gtotal = TOtotal;
	TOtotal = format_number(TOtotal, 2);
	Gtotal=Gtotal + parseFloat(shippingcost)+parseFloat(creditcardfee);
	Gtotal = format_number(Gtotal, 2);
	shippingcost = format_number(shippingcost, 2);
	whattowritetop = '';
						
	whattowriteend = '<table width="900" height="242" border="0" cellpadding="0" cellspacing="0" background="img/products_b_03_iframe_end.png" style="background-repeat:no-repeat">'+
  '<tr>'+
    '<td width="542" height="33">&nbsp;</td>'+
    '<td width="147"><a href="javascript: UpdateCheckout('+shippingop+');"><img src="img/impact_area.gif" width="73" height="18" border="0" /></a></td>'+
    '<td width="151" align="right"><span class="textbox_checkout_line"><strong>&nbsp;</strong></span></td>'+
    '<td width="30" align="right">&nbsp;</td>'+
    '<td width="30">&nbsp;</td>'+
 '</tr>'+
 '<tr>'+
    '<td height="34">&nbsp;</td>'+
    '<td align="right">&nbsp;</td>'+
    '<td align="right" valign="middle"><input name="radiobutton" type="radio" value="radiobutton" '+checkedbox1+' onclick="changeShipping(0);" /></td>'+
    '<td align="right">&nbsp;</td>'+
    '<td>&nbsp;</td>'+
  '</tr>'+
  '<tr>'+
    '<td height="27">&nbsp;</td>'+
    '<td align="right">&nbsp;</td>'+
    '<td align="right" valign="middle"><input name="radiobutton" type="radio" value="radiobutton" '+checkedbox2+' onclick="changeShipping(1);"/></td>'+
    '<td align="right">&nbsp;</td>'+
    '<td>&nbsp;</td>'+
  '</tr>'+
  '<tr>'+
    '<td height="34">&nbsp;</td>'+
    '<td align="right">&nbsp;</td>'+
    '<td align="right" valign="middle"><input name="radiobutton" type="radio" value="radiobutton" '+checkedbox3+' onclick="changeShipping(2);"/></td>'+
    '<td align="right">&nbsp;</td>'+
    '<td>&nbsp;</td>'+
  '</tr>'+
  '<tr>'+
    '<td height="27">&nbsp;</td>'+
    '<td align="right">&nbsp;</td>'+
    '<td align="right" valign="middle"><input name="radiobutton" type="radio" value="radiobutton" '+checkedbox4+' onclick="changeShipping(3);"/></td>'+
    '<td align="right">&nbsp;</td>'+
    '<td>&nbsp;</td>'+
  '</tr>'+
  '<tr>'+
    '<td height="36">&nbsp;</td>'+
    '<td>&nbsp;</td>'+
    '<td align="right" class="textbox_checkout_line"><strong>&euro; '+shippingcost+'<input type="hidden" id="shipcost_value" name="shipcost_value" value="'+shippingcost+'"></strong></td>'+
    '<td align="right">&nbsp;</td>'+
    '<td>&nbsp;</td>'+
  '</tr>'+
  '<tr>'+
    '<td height="28">&nbsp;</td>'+
    '<td>&nbsp;</td>'+
    '<td height="28" align="right"><span class="textbox_checkout_line"><strong>&euro; '+Gtotal+'<input type="hidden" id="total_value" name="total_value" value="'+Gtotal+'"></strong></span></td>'+
    '<td height="28" align="right">&nbsp;</td>'+
    '<td rowspan="2">&nbsp;</td>'+
  '</tr>'+
  '<tr>'+
   '<td height="46">&nbsp;</td>'+
   '<td>&nbsp;</td>'+
   '<td colspan="2" align="right"><input type="image" src="img/impact_area.gif" height="30" width="150" name="submit" alt="Make payments with payPal - it\'s fast, free and secure!" /></td>'+
  '</tr>'+
'</table>';
	whattowritetop = '<div style="padding-left: 9px">';
	document.write(whattowritetop);	
	document.write(whattowrite);
	document.write(whattowriteend + '</div>');
}

//-------------------------------------------------------------------------------

function format_number(pnumber,decimals){
	if (isNaN(pnumber)) { return 0};
	if (pnumber=='') { return 0};
	
	var snum = new String(pnumber);
	var sec = snum.split('.');
	var whole = parseFloat(sec[0]);
	var result = '';
	
	if(sec.length > 1){
		var dec = new String(sec[1]);
		dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));
		dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));
		var dot = dec.indexOf('.');
		if(dot == -1){
			dec += '.'; 
			dot = dec.indexOf('.');
		}
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	} else{
		var dot;
		var dec = new String(whole);
		dec += '.';
		dot = dec.indexOf('.');		
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	}	
	return result;
}


//---------------------------------------------------------------------||
// FUNCTION:    trim, ltrim and rtrim                                  ||
// PARAMETERS:  string to trim, char to trim                           ||
// RETURNS:     trimmed string												                 ||
// PURPOSE:     Allow to trim a string										             ||
//---------------------------------------------------------------------||

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}