var today = new Date();
var month = today.getMonth() + 1;
var day = today.getDate();
var year = today.getFullYear();

var currentDate = day + "/" + month + "/" + year;



//SHOP. all pages must include JQuery
//add item to session
function buy(itm) {
//the select box is called the same as the item name
obj=document.getElementById(itm);
qty = obj.options[obj.selectedIndex].value ; 

if (qty==0)
return 1;

setLoader(itm,'show');
dataStr = "action=buy&item="+itm+"&qty="+qty;
 $.ajax({
   type: "POST",
   url: "/shop/shop_ajax_handler.php",
   data: dataStr,
   success: function(msg){
	setSelect(itm,qty);
   }
 });

}


//SHOP. all pages must include JQuery
//add item to session
function updateQty(itm) {


//clear up any error message
obj=document.getElementById("error_message");
obj.innerHTML = "";


//the select box is called the same as the item name
itmQty=itm+'_qty';
obj=document.getElementById(itmQty);
qty = obj.value ; 

//check for valid values
pattern = /^\d+$/;
if (!qty.match(pattern)) {
displayError("Invalid Quantity");
return;
}



setLoader(itm,'show');
dataStr = "action=update&item="+itm+"&qty="+qty;
 $.ajax({
   type: "POST",
   url: "/shop/shop_ajax_handler.php",
   data: dataStr,
   success: function(msg){
	setQty(itm,qty);
   }
 });

}


function displayError(msg) {
obj=document.getElementById('error_message');
obj.innerHTML = msg;

}



//SHOP. all pages must include JQuery
//add item to session
function deleteItem(itm) {
//the select box is called the same as the item name


//clear up any error message
obj=document.getElementById("error_message");
obj.innerHTML = "";


setLoader(itm,'show');
dataStr = "action=deleteitem&item="+itm;
 $.ajax({
   type: "POST",
   url: "/shop/shop_ajax_handler.php",
   data: dataStr,

   success: function(msg){
	removeItem(itm);
   }
 });

}


//safe way. hide the row
function removeItemOFF(itm) {
itemRow = itm+'_row';
obj=document.getElementById(itemRow);
obj.style.display='none';
setLoader(itm,'hide');
}


//requires dom safe browser
function removeItem(itm) {
obj = document.getElementById(itm+"_row");
p = obj.parentNode;
p.removeChild(obj);
//dev - only use dom manipulation if browser safe
//obj.innerHTML = '';

b = document.getElementById('basket');
rows = b.getElementsByTagName('tr');



        if (rows.length <= 1)
        {

	cap = document.getElementById('basket_caption');
	c = cap.parentNode;
	c.removeChild(cap); 



        h = document.getElementById("basket_head");
        p = h.parentNode;
        p.removeChild(h);
        m = document.getElementById('empty_basket');
        m.innerHTML = "Your basket is empty at the moment";
        }
}



















function setQty(itm,qty) {
itmQty=itm+'_qty';
obj=document.getElementById(itmQty);
obj.value=qty;
setLoader(itm,'hide');
}

function setSelect(itm,qty) {
obj = document.getElementById(itm);
obj.selectedIndex = (qty ); 
setLoader(itm,'hide');
}


function setLoader(el,action) {

	if (action=='hide') {
	loader="loader"+el;
	obj=document.getElementById(loader);
	obj.style.display='none';
	}
	else //assume show
	{
	loader="loader"+el;
	obj=document.getElementById(loader);
	obj.style.display='inline';
	}



}

function paypal_do() {
//check address and if fails put up message and stop else continue
//call AJAX function paypal.html with address:
	//populates order form
	//sets up order
	//inc. transfers from basket 
	//returns 0 for fail or an order number
	
//if ok call submit on paypal form
error = 0;


document.getElementById('first_name_label').style.color='black';
document.getElementById('last_name_label').style.color='black';
document.getElementById('address1_label').style.color='black';
document.getElementById('city_label').style.color='black';
document.getElementById('postcode_label').style.color='black';
document.getElementById('country_label').style.color='black';

document.getElementById('email_label').style.color='black';
document.getElementById('address_error').innerHTML='';

document.getElementById('address_error').style.display='none';



if ( document.getElementById('first_name').value == '') {
error=1;
document.getElementById('first_name_label').style.color='red';
}

if ( document.getElementById('last_name').value == '') {
error=1;
document.getElementById('last_name_label').style.color='red';
}

if ( document.getElementById('address1').value == '') {
error=1;
document.getElementById('address1_label').style.color='red';
}


if ( document.getElementById('city').value == '') {
error=1;
document.getElementById('city_label').style.color='red';
}


if ( document.getElementById('postcode').value == '') {
error=1;
document.getElementById('postcode_label').style.color='red';
}

if ( document.getElementById('country').selectedIndex == 0) {
error=1;
document.getElementById('country_label').style.color='red';
}

if ( document.getElementById('email').value == '' || document.getElementById('email').value.indexOf('@') < 0 )  {
error=1;
document.getElementById('email_label').style.color='red';
}

if (error) {
document.getElementById('address_error').innerHTML='Your order has not been completed. Please complete all the required fields and try again';
document.getElementById('address_error').style.display='block';
document.getElementById('address_error').style.color='#ff0000';
return;
}

//populate paypal form

str = '&title=' +  document.getElementById('title').value + '&first_name=' + document.getElementById('first_name').value + '&last_name=' + document.getElementById('last_name').value + '&address1=' + document.getElementById('address1').value + '&address2=' + document.getElementById('address2').value + '&city=' + document.getElementById('city').value + '&postcode=' + document.getElementById('postcode').value + '&country=' + document.getElementById('country').options[document.getElementById('country').selectedIndex].value + '&email=' + document.getElementById('email').value + '&tel=' + document.getElementById('tel').value;
order(str); 
}




//SHOP. all pages must include JQuery
//add item to session

var ajaxErrMsg="Sorry, an error occurred. Your order has not been taken and no payment details captured. Please try again later. ";

function order(str) {
//the select box is called the same as the item name


dataStr = "action=order"+str;
 $.ajax({
   type: "POST",
   url: "/shop/shop_ajax_handler.php",
   data: dataStr,
   success: function(msg){
		if (msg=='0') {
		showError(ajaxErrMsg);
		}
		else {
		showError('');
		setUpPayPal(msg);
		document.forms['paypal'].submit(); 
		}
   },
	error: function() { //eg 500
	showError(ajaxErrMsg);
	}	
	
 });

}

function showError(err) {
	obj = document.getElementById('error_message');
	obj.innerHTML = err;
}

function setUpPayPal(res) {

         order_details   = eval('(' + res + ')');
                        document.forms['paypal'].item_name.value = order_details.order_name;
                        document.forms['paypal'].item_number.value = order_details.order_number;
                        document.forms['paypal'].amount.value = order_details.goods_total;

			

                        document.forms['paypal'].email.value = document.forms['buyer'].email.value;
                        document.forms['paypal'].first_name.value = document.forms['buyer'].first_name.value;
                        document.forms['paypal'].last_name.value = document.forms['buyer'].last_name.value;
                        document.forms['paypal'].address1.value = document.forms['buyer'].address1.value;
                        document.forms['paypal'].address2.value = document.forms['buyer'].address2.value;
                        document.forms['paypal'].city.value = document.forms['buyer'].city.value;
                        document.forms['paypal'].country.value = document.forms['buyer'].country.value;
                        document.forms['paypal'].zip.value = document.forms['buyer'].postcode.value;


}
