var sFoods = new Array();
var sValue = new Array();
var sIDs = new Array();
var arGTotal = new Array();

var CUTOFF = 1000;


var arItems = new Array();

function cartitem(var1,var2,var3,var4,var5){
	this.id=var1;
	this.food=var2;
	this.price=var3.replace('$','');
	this.count=var4;
	this.nodiscount=var5;
}

cartitem.prototype.itemTotal = function(){
	return parseFloat(this.count) * parseFloat(this.price);
}


/*BL - WE want to be able to check to see if the item is already in the cart. If it is we want to add to the total. 
We should create a cart item object and store information within the object.*/
function addToCart(x){
	var i = itemExists(x);
	if(i > -1){
		//IF i = -1 THEN IT ISNT THERE AND NEEDS TO BE ADDED
		arItems[i].count = parseInt(arItems[i].count) + parseInt( document.getElementById('value' + x).value);				
	}else{
		//IF ITS ANYTHING ELSE JUST ADD AN ITEM
		//FORMAT TO ADD IS id,food,price,count,nodiscount
		var obj = new cartitem(x,document.getElementById('Food' + x).innerHTML,document.getElementById('Price' + x).innerHTML,document.getElementById('value' + x).value,document.getElementById('NoDiscount' + x).value);
		arItems[arItems.length] = obj;
	}
	//NOW REPOPULATE THE CART
	populateCart();
}
//USE THIS FUNCTION TO DETERMINE IF THE ITEM EXISTS WITHIN THE OBJECT ARRAY
function itemExists(x){
	var b = -1;	
	for(var y=0; y<arItems.length; y++){
		if(x == arItems[y].id){
			b = y;
		}
	}
	return b;
}
function deleteItem(x){
	arItems.splice(x,1);
	populateCart();
}
function populateCart(){
	document.getElementById('shoppingCart').innerHTML = ""
	for(var x =0; x<arItems.length;x++){
		document.getElementById('shoppingCart').innerHTML += "<img src='images/delete.gif' alt='Remove this item from your cart' style='cursor:hand' onclick='deleteItem(" + x + ")'>&nbsp;";
		document.getElementById('shoppingCart').innerHTML +=  "<img src='images/small_cart.gif'> " + arItems[x].count + " " + arItems[x].food + "<br>";
	}
	document.getElementById('shoppingCart').innerHTML += "<br><a href='javascript:activate(1);'>Checkout</a> | <a href='javascript:Empty();'>Empty Cart</a>";
}





function activate(x){
	scroll(0,0);
	document.getElementById('checkout_container').style.display = "block";
	for(var y=1;y<=3;y++){
		document.getElementById("div" + y).className = "menuitem";
		document.getElementById("content" + y).style.display = "none";
	}
	document.getElementById("div" + x).className = "menuitemselected";
	document.getElementById("content" + x).style.display = "block";
}
function step1(){
	//MAKE SURE THE NECESSARY INFORMATION IS ENTERED
	if(document.getElementById('realname').value == ''){
		alert('You must enter a contact name.');
		document.getElementById('realname').focus();
	}else if(document.getElementById('email').value == ''){
		alert('You must enter a contact email. We use this to forward you a copy of your order.')
		document.getElementById('email').focus();
	}else{
		activate(2);
		Checkout();			
	}
}
function step2(){
	activate(3);
	document.getElementById('orderdetails').value = parseTable();					
	document.Form1.submit();
}

function parseTable(){
    var tbl = document.getElementById('Table1')
    var sOut = "";
    for(var i = 0; i<tbl.rows.length; i++){
     var tblrow = tbl.rows[i];
     for(var x=0; x<tblrow.cells.length; x++){
      sOut += tblrow.cells[x].innerHTML + ", ";
     }
     sOut += "\r";
    }
    return sOut;
}
   
function closeDiv(s){
	document.getElementById(s).style.display = "none";
}
function Empty(){
	arItems.length = 0;
	sFoods.length = 0;
	sValue.length = 0;
	sIDs.length = 0;
	document.getElementById('shoppingCart').innerHTML = "Your cart is currently empty";
}


function formatForCheckout(arArray,z){
	var s = "";
	for(var x=0; x< arArray.length;x++){
		arGTotal[z] = parseFloat(arGTotal[z]) + parseFloat(arArray[x].itemTotal());
		s += "<tr><td>" + arArray[x].count + "<td>" + arArray[x].food + "<td>" + formatCurrency(parseFloat(arArray[x].price)) + "<td align='right'>" + formatCurrency(arArray[x].itemTotal()) + "<td>";
	}
	return s;
}

function Checkout(){
	var grand = 0;
	var bDiscount = false;
	var bHead = false;
	
	arGTotal[0] = 0;
	arGTotal[1] = 0;
	//document.getElementById('Back').disabled = true;
	
	//LOAD THE TABLE 
	var s = "<table style='width:100%' id='Table1'><tr><td><b><u>Qty<td><b><u>Description<td><b><u>Price<td align=right><b><u>Sub-Total<td align=right><b><u>Total";

	//WE NEED TO CHECK EACH ITEM TO SEE IF IT CAN HAVE A DISCOUNT APPLIED OR NOT
	var arNo = new Array();
	var arYes = new Array()
	for(var x=0; x<arItems.length;x++){
		if(arItems[x].nodiscount == 1){
			arNo[arNo.length] = arItems[x];
		}else{
			arYes[arYes.length] = arItems[x];
		}
	}

	
	//ADD THE ITEMS ONTO THE PAGE - CHECK FIRST TO SEE IF THE 
	var sNo = formatForCheckout(arNo,0);
	var sYes = formatForCheckout(arYes,1);
	
	//CHECK TO SEE IF THE QUALIFY FOR A DISCOUNT
	if((parseFloat(arGTotal[0]) + parseFloat(arGTotal[1]) >= CUTOFF) || document.getElementById('EligibleForDiscount').checked == true){
		bDiscount = true;
	}	
	
	//IF THEY QUALIFY FOR A DISCOUNT AND THERE ARE ITEMS IN BOTH THE DISCOUNT AND NONDISCOUNT CATEGORIES THEN SETUP HEADERS
	var sTitle1 = "";
	var sTitle2 = "";
	if(sNo != "" && sYes != "" && bDiscount){ 
		sTitle1 = "<tr><td colspan=5><b>Discounted Items:</tr>";
		sTitle2 = "<tr><td colspan=5><b>Non-Discounted Items:</tr>";
		sFooter = ""
		bHead = true;
	}
	
	//THESE ARE THE ITEMS NOT ELIGIBLE FOR DISCOUNTS
	s += sTitle1;
	s += sYes;
	if(bHead){
		s += "<tr><td colspan='4' align='left'><b>Sub-Total:<td align='right'>" + formatCurrency(arGTotal[1]);
		var disc1 = parseFloat(arGTotal[1]) * .40; 
		s += "<tr><td colspan=4><b>Discount of 40%<td align=right>-" + formatCurrency(disc1);
		grand = parseFloat(arGTotal[1]) * .60;
	}else{
		grand = parseFloat(arGTotal[1]);
	}
	
	

	s += sTitle2;
	s += sNo;
	
	//THESE ITEMS ARE ELIGIBLE FOR DISCOUNTS
	if(bHead){
		s += "<tr><td colspan='4' align='left'><b>Sub-Total:<td align='right'>" + formatCurrency(arGTotal[0]);
	}	
	grand += parseFloat(arGTotal[0]);
	
	if((arYes.length > 0 && arNo.length == 0) & bDiscount){	
		s += "<tr><td colspan='4' align='left'><b>Sub-Total:<td align='right'>" + formatCurrency(arGTotal[1]);
		var disc1 = parseFloat(arGTotal[1]) * .40; 
		s += "<tr><td colspan=4><b>Discount of 40%<td align=right>-" + formatCurrency(disc1);
		grand = parseFloat(arGTotal[1]) * .60;
	}
	
	//SHOW THE GRAND TOTALS
	s += "<tr><td colspan='4'><b>Grand Total:<td align=right>" + formatCurrency(grand);			
	document.getElementById('checkout_container').style.display = "block";
	document.getElementById('contenttext2').innerHTML = s + "</table>"
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function Close(){
	document.getElementById('checkout').style.display = "none";
}

var cur_step = 0;
function PlaceOrder(n){
	cur_step = cur_step+n;
	if(cur_step == 1){
		//FORMAT THE ITEMS IN A TEXTBOX AND THEN SUBMIT A FORM TO THE EMAIL
		document.getElementById('checkouttitle').innerHTML = "Step 2 - Contact Information";
		document.getElementById('checkoutinstructions').innerHTML = "Dri-Harvest.com does not currently accept online payments. Please enter your contact information below and we will contact you to confirm your order, including your final price with shipping.";
		document.getElementById('checkoutdetails').style.display = "none";
		document.getElementById('checkoutcontacts').style.display = "block";
		document.getElementById('Back').disabled = false;
		document.getElementById('Continue').disabled = false;	
	}else if(cur_step == 0){
		document.getElementById('Back').disabled = true;	
		document.getElementById('checkoutdetails').style.display = "block";
		document.getElementById('checkoutcontacts').style.display = "none";	
		document.getElementById('Continue').disabled = false;	
	}else if(cur_step == -1){
		document.getElementById('checkout').style.display = "none";					
	}else{
		if(document.getElementById('realname').value == ''){
			alert('You must enter a contact name.');
			cur_step = cur_step+(n*-1);
			document.getElementById('realname').focus();
		}else if(document.getElementById('email').value == ''){
			alert('You must enter a contact email. We use this to forward you a copy of your order.')
			cur_step = cur_step+(n*-1);
			document.getElementById('email').focus();
		}else{
			document.getElementById('orderdetails').value = document.getElementById('checkoutdetails').innerHTML;
			Form1.submit();
//			CompleteOrder();
		}
	}
}
		
function CompleteOrder(){
	document.getElementById('checkouttitle').innerHTML = "Step 3 - Order Completed";
	document.getElementById('checkoutinstructions').innerHTML = "Your order has been placed and a representitive from Dri-Harvest.com will be contacting you shortly. For any further information please feel free to contact us at <a href='mailto:info@dri-harvest.com'>info@dri-harvest.com</a>.";
	document.getElementById('checkoutdetails').style.display = "none";
	document.getElementById('Continue').disabled = true;
	document.getElementById('checkoutcontacts').style.display = "none";
}