/* function AddAll(ret_pos) {
  ids = ""
  i = 0;
  query = "";
  
  for(var id in AllProducts) {
    var qty=ById('qty'+id);
    if(parseFloat(qty.value) > 0) {
      
      var qty=ById('qty'+id);
      var units=ById('units'+id);
      if (!qty || !units) {
        alert('Error in cart');
        return false;
      }
      qty=qty.value;
      units=units.options[units.options.selectedIndex].value;
      var units_price=units.substr(1,units.indexOf('/')-1);
      var units_per=units.substr(units.indexOf('/')+1);
      
      var uri = document.location.href;
      if(uri.indexOf('#')>0) {
        uri = uri.substr(0,uri.indexOf('#'));
      }
  
       query += "&name_"+id+"="+name+"&price_"+id+"="+units_price+"&options_"+id+"="+units+"&quantity_"+id+"="+qty     
       ids+= id+",";
    }
  }
  
  document.location.href="cart.addx?ids="+ids+query+"&ref="+escape(uri);

  
} */

var msg_pickup_morn = "Orders placed by 6am are available for Morning pickup.";
var msg_pickup_arv = "Orders placed by 10am are available for Afternoon pickup.";
var msg_delivery_morn = "Orders placed by 6am are available for Morning delivery Next business day.";
var msg_delivery_arv = "Order placed by 10am are available for Afternoon delivery Next business day.";
var msg_delivery_today_arv = "Orders placed by 10am are available for Afternoon delivery today.";
var msg_delivery_today_morn = "Orders placed by 6am are available for Morning delivery today.";

products_ids = new Object();

function UpdateCart(details) {
  ID('CartItems').innerHTML = details.items;
  ID('CartTotal').innerHTML = '$'+details.total;
  if(ID('CheckoutTotal')) ID('CheckoutTotal').innerHTML = '$'+details.total;
  
  for(var i in products_ids) {
    //alert(details.qtys[i]);
    if(!details.qtys[i] || details.qtys[i]=='undefined') {
      //alert("Here");
      if(ID('tr_'+i))
        ID('tr_'+i).style.backgroundColor = '#ffffff';
      if(ID('add_button_'+i))
        ID('add_button_'+i).value = 'Add';
      if(ID('co_tr_'+i)) {
        ID('co_tr_'+i).style.display = 'none';
      }
      if(ID('qty'+i))  
        ID('qty'+i).value=0;
    }
  }
  //alert(details.qtys);
  for(var i in details.qtys) {
    if(ID('tr_'+i)) {
      ID('tr_'+i).style.backgroundColor = '#fffbab';
      /*
      // Place Grey/Transparent box over image
      ndiv = document.createElement('div'); 
      ndiv.innerHTML = '<div style="position:absolute; top:10px; left:32px; width:104px; height:105px; background:transparent url(images/grey-out.png)">&nbsp;</div>';
      ID('tr_'+i).appendChild(ndiv);*/ 
    }
    if(ID('add_button_'+i))
      ID('add_button_'+i).innerHTML = 'Update';
    if(ID('qty'+i))  
      ID('qty'+i).value = details.qtys[i].qty;   
    if(ID('td_subtotal_'+i))  
      ID('td_subtotal_'+i).innerHTML = '$'+details.qtys[i].sub_total;   
  }
  
}

function cartCallBack() {}
cartCallBack.prototype.vars = null;

function Add(id) {
  var qty=ID('qty'+id).value;
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
  CartObj.add_item(id,qty);
}

cartCallBack.prototype.add_item = function(result) {
  UpdateCart(result);
}

function Clear() {
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
  CartObj.clear_items();
}
cartCallBack.prototype.clear_items = function(result) {
  if(!result) {
    alert('Unable to clear Cart');
    return false;
  }
  UpdateCart(result);
}
function Load() {
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
	if( currentController() == "purchase" ) { 
		return 
	}
	else {CartObj.cart_details();}
}
cartCallBack.prototype.cart_details = function(result) {
  if(!result) {
    alert('Unable get cart details');
    return false;
  }
  UpdateCart(result);
}
function Remove(key) {
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
  CartObj.remove_item(key);
}
cartCallBack.prototype.remove_item = function(result) {
  if(!result) {
    alert('Unable to remove item');
    return false;
  }
  UpdateCart(result);
}

function UpdatePostage(result) {
	var checkout_total = ById('CheckoutTotal');
	var cart_total = ById('CartTotal');
	checkout_total.innerHTML = result;
	cart_total.innerHTML = result;
}

function UpdateDeliveryCharge(result) {
	var delivery_charge = ById('delivery_charge_value');
	delivery_charge.innerHTML = result;
}

function addDeliveryChargeToTotal() {
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
  CartObj.add_delivery_charge();
}

cartCallBack.prototype.add_delivery_charge = function(result) {
	  UpdatePostage(result);
}


function dropDeliveryChargeToTotal() {
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
  CartObj.drop_delivery_charge();
}

cartCallBack.prototype.drop_delivery_charge = function(result) {
	  UpdatePostage(result);
}

function getDeliveryCharge(delivery_method){
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
  CartObj.get_delivery_charge(delivery_method);	
}
cartCallBack.prototype.get_delivery_charge = function(result) {
	  UpdateDeliveryCharge(result);
}

function setPostage(delivery_method){
  var cartCB = new cartCallBack();
  var CartObj = new cartjpspan(cartCB);
  CartObj.timeout = 10000;
  CartObj.set_postage(delivery_method);
}
cartCallBack.prototype.set_postage = function(result) {
	  UpdateCart(result);
}


function ById(id) {
  return (document.getElementById) ? document.getElementById(id) : false;
}

function currentController(){
	re1 = /cart/;
	re2 = /purchase/;
	loc = new String(document.location);
	if( loc.match(re1) ) { return "cart"; }
	else if(loc.match(re2) ){ return "purchase"; }
}


var last_delivery_method = null;
function PickupOrDelivery(init) {
	//get required elements
	var delivery_block = ById('delivery_block');
	var pickup_block = ById('pickup_block');
	var id = ById('delivery_method');
	var delivery_time = ById('delivery_time');
	var pickup_time = ById('pickup_time');
	
	//change interface according to user selection
	if (id.options[id.selectedIndex].text == "Pickup") {
		//show pickup row and deduct 7.70 from cart total
		pickup_block.style.display = "";		
		delivery_block.style.display = "none";			
		if( last_delivery_method == "Delivery" ) {
			last_delivery_method = "Pickup";		
			getDeliveryCharge("Pickup");
			setPostage("Pickup");			
		}
		if (!init) {
			delivery_time.selectedIndex = 0;						
		}
	}
	else if (id.options[id.selectedIndex].text == "Delivery") {
		//show delivery row
		delivery_block.style.display = "";		
		pickup_block.style.display = "none";
		if( last_delivery_method == null || last_delivery_method == "Pickup" ) {
			last_delivery_method = "Delivery";
			getDeliveryCharge("Delivery");
			setPostage("Delivery");		
		}
		
		if (!init) {
			pickup_time.selectedIndex = 0;
		}
	}	
	else{
		delivery_block.style.display = "none";
 		pickup_block.style.display = "none";
		if( last_delivery_method == "Delivery" ) {
			getDeliveryCharge("Pickup");
		}
		setPostage("default");			
		last_delivery_method = null;
		
		if (!init) {
			pickup_time.selectedIndex = 0;
			delivery_time.selectedIndex = 0;
		}

		ById('notice_cell').style.backgroundColor = "#fff";
		ById('delivery_notice').innerHTML = "";				
	}

}

function Morn_or_Arv( type, time) {
	var pickup_notice = ById('pickup_notice');
	var delivery_notice = ById('delivery_notice');	
	var hidden_delivery_notice = ById('hidden_delivery_notice');
	var notice_cell = ById('notice_cell');
	//handle today
	if( time.options[time.selectedIndex].text == 'Afternoon (Today)' )
	{ var today = "pm"; } 
	else if( time.options[time.selectedIndex].text == 'Morning (Today)' )
	{ var today = "am"; } 

	var type = type.options[type.selectedIndex].text;
  var time = time.options[time.selectedIndex].value;

  // Initially hide both message blocks
  pickup_notice.style.display = "none";	
  delivery_notice.style.display = "none";		

	if( time == "morning" )
	{
		if( type == "Pickup" )
		{
			pickup_notice.innerHTML = msg_pickup_morn;
			hidden_delivery_notice.value = msg_pickup_morn;			
			pickup_notice.style.display = "";
			notice_cell.style.backgroundColor = "#ffffcc";										
		}
		else if( type == "Delivery" )
		{
			if( today == "am" )
			{
				msg = msg_delivery_today_morn;				
			}else{
				msg = msg_delivery_morn;
			}	
			delivery_notice.innerHTML = msg;
			hidden_delivery_notice.value = msg;			
			delivery_notice.style.display = "";
			notice_cell.style.backgroundColor = "#ffffcc";										
		}
	}
	else if( time == "afternoon" )
	{
		if( type == "Delivery" )
		{	
			if( today == "pm" )
			{
				msg = msg_delivery_today_arv;			
			}else{
				msg = msg_delivery_arv;
			}	
			delivery_notice.innerHTML = msg;
			hidden_delivery_notice.value = msg;			
			delivery_notice.style.display = "";
			notice_cell.style.backgroundColor = "#ffffcc";			
		}
		else if( type == "Pickup" )
		{
			pickup_notice.innerHTML = msg_pickup_arv;
			hidden_delivery_notice.value = msg_pickup_arv;
			pickup_notice.style.display = "";
			notice_cell.style.backgroundColor = "#ffffcc";								
		}
	}else
	{
			notice_cell.style.backgroundColor = "#fff";
			pickup_notice.style.display = "none";	
			delivery_notice.style.display = "none";					
	}
}

