$(window).bind("load", function(){
	showcart();								
});

function showcart(){
	$("#smallbasket").html("<center><br /><img src='images/cartload.gif' /></center");
	$.post("docart.php", {action: 'showsmall'}, function(data){
		$("#smallbasket").html(data);											  
	});
}

function addtocart(id){
	
	var quantity = $("#quantity").val();
	if (!isNaN(quantity) && quantity > 0){
		
		$.post("docart.php", {action: 'add', id: id, q: quantity}, function(data){
			$("#buybox").html("<h2 style='color: #4F6F19'>Item added to basket</h2>");
			showcart();											
			setTimeout('$("#buybox").html("<a href=\'javascript:addtocart('+id+')\'><img src=\'images/add.jpg\' /></a><br />")', 2000);
		});
	}
}


function confirmdetails(){
	var name = $("#name").val();
	var email = $("#email").val();
	var phone = $("#phone").val();
	var address = $("#address").val();
	var total = $("#total").html();
	var orderid = $("#orderid").val();
	
	if (!total > 0){
		alert ("Your basket is empty");
		return;	
	}
	
	if ((name == "") || (email == "") || (address == "") || (phone == "")){
		alert("Please fill out all fields");
		return;
	}
	address = address.replace("\n", "<br />");
	address = address.replace("\r", "<br />");
	$("#conname").html(name);
	$("#conemail").html(email);
	$("#conphone").html(phone);
	$("#conaddress").html(address);
	$("#amount").val(total);
	
	$.post("fetchhashes.php", {orderid: orderid, amount: total}, function(data){
		var details = data.split("~");
		$("#realexmd5hash").val(details[0]);
		$("#realextimestamp").val(details[1]);
		$("#realexamount").val(details[2]);
	});
	
	
	$("#deliverydetails").hide(200);
	$("#confirm").show(200);		
}	

function gopay(){
	var method=$("input[name=method]:checked").val();
	var name=$("#name").val();
	var contactnumber=$("#phone").val();
	var email=$("#email").val();
	var address=$("#address").val();

	var orderid=$("#orderid").val();
	
	var amount=parseFloat($("#total").html());
	
	var errors = new Array('There are problems:\n\nYou need to enter more information in the following field(s):\n');
	
	if (name == ""){
		errors.push('Name Field');	
	}
	if (email == ""){
		errors.push('Email Field');	
	}
	if (contactnumber == ""){
		errors.push('Contact Number Field');	
	}
	if (address == ""){
		errors.push('Address Field');	
	}

	
	if (errors.length > 1){
		errors.push('\n');
		errors=errors.join("\n");
		//$.fn.colorbox({href: '#messagetouser', inline: true, opacity: .25, width: 300});
		alert(errors);
		return;
	}
	
	
	if (amount == 0){
		$("#Method").hide();
		$("#ccdetails").hide();
		$("#paypalform").hide();
		$("#transferringtopaypal").hide();
		$("#contactingserver").show();
		$.post("saveorder.php", {method: 'Voucher', name: name, contactnumber: contactnumber, email: email, address: address, orderid: orderid, paymentamount: amount}, function(data){
			self.location = 'ordercomplete.php';																																																									   			
		});
	}
	else{
		if (method=="paypal"){
			$.post("saveorder.php", {method: method, name: name, contactnumber: contactnumber, email: email, address: address, orderid: orderid, paymentamount: amount}, function(data){
				$("input[name=amount]").val(amount);
				$("#Method").hide();
				$("#ccdetails").hide();
				$("#paypalform").hide();
				$("#transferringtopaypal").show();
				$("#contactingserver").hide();
				$("#paypal").submit();
			});
		}
		else {
			var ccnumber = $("input[name=card-number]").val();
			var valid = checkme(ccnumber);
			var expiry = $("select[name=expmonth]").val() + $("select[name=expyear]").val();
			var cardtype = $("select[name=cardtype]").val();
			var cardname = $("input[name=cardname]").val();
			var cvv = $("input[name=cvv]").val();
			var issueno = $("input[name=issueno]").val();
			if (!valid){
				alert("You have entered an incorrect Card Number");
				return false;
			}
			if (cardtype == "SWITCH" && issueno == ""){
				alert("You must enter an Issue Number for Switch Cards");
				return false;
			}
			if(cardname == ""){
				alert("You must enter Card Name");
				return false;
			}
			if (cvv == ""){
				alert("You must enter a CVV number");
				return false;
			}
			$("#Method").hide();
			$("#ccdetails").hide();
			$("#paypalform").hide();
			$("#transferringtopaypal").hide();
			$("#contactingserver").show();
			$.post("realexpay.php", {ccnumber: ccnumber, expiry: expiry, cardtype: cardtype, cardname: cardname, cvv: cvv, issueno: issueno, orderid: orderid, paymentamount: amount}, function(data){
				results = data.split('%%&%%');
				
				if (results[0] == "00"){
					$.post("saveorder.php", {method: method, name: name, contactnumber: contactnumber, email: email, address: address, orderid: orderid, result: results[0], status: 'Pending', paymentamount: amount}, function(data){
						self.location='ordercomplete.php?orderid='+orderid;
					});
				}
				else {
					alert("There has been a problem: "+results[1]);
					$.get("neworderid.php", {}, function(newid){
						$("#orderid").val(newid);													 
					});
					$("#Method").show();
					$("#ccdetails").show();
					$("#contactingserver").hide();
				}
			});
		}
	}
}


function checkme(number){
	var i, sum, weight;
	sum=0;
	for (i = 0; i < number.length - 1; i++) {
		weight = number.substr(number.length - (i + 2), 1) * (2 - (i % 2));
		sum += ((weight < 10) ? weight : (weight - 9));
	}
	if (parseInt(number.substr(number.length-1)) == ((10 - sum % 10) % 10)) {
		return true;
	} 
	else {
		return false;
	}
}

function selectmethod(){
	if ($("#ccdetails").is(":hidden")){
		$("#ccdetails").show();	
		$("#paypalform").hide();
	}
	else {
		$("#ccdetails").hide();	
		$("#paypalform").show();
	}
}

function backtoedit(){
	$("#deliverydetails").show(200);
	$("#confirm").hide(200);	
}

function paynow(method){
	var name = $("#name").val();
	var email = $("#email").val();
	var phone = $("#phone").val();
	var address = $("#address").val();
	var orderid = $("#orderid").val();
	var total = $("#amount").val();	
	
	$.post("saveorder.php", {name: name, email: email, phone: phone, address: address, orderid: orderid, total: total}, function(data){
		if(data == 1){
			if(method == 'paypal'){
				$("#paypal").attr("action", "https://www.paypal.com/cgi-bin/webscr");
				$("#confirm").hide(200);
				$("#transferring").html("<br /><br /><h1>Transferring to Paypal....</h1><br /><br /><br />");
				$("#transferring").show(200);
				$("#paypal").submit();																																 
			}
			else{
				$("#confirm").hide(200);
				$("#transferring").html("<br /><br /><h1>Transferring to Secure Payment Server....</h1><br /><br /><br />");
				$("#transferring").show(200);
				$("#Realexform").submit();	
			}
		}
		else if (data == "voucher"){
			$("#paypal").attr("action", "ordercomplete.php");
			$("#paypal").submit();	
		}
	});
}

function removefromcart(num){
	$.post("docart.php", {num: num, action: "remove"}, function(data){
		$.post("docart.php", {action: "showbig"}, function(data){
			$("#bigcart").html(data);
			backtoedit();
		});																
	});	
}

function update(num){
	q = $("#quantity"+num).val();
	if (isNaN(q)){
		q = 1;
	}
	q = parseInt(q);
	$.post("docart.php", {num: num, q: q, action: "update"}, function(data){
		$.post("docart.php", {action: "showbig"}, function(data){
			$("#bigcart").html(data);
			backtoedit();
		});																
	});	
}

function validate(){
	var error = new Array();
	error.push("There has been one or more problems!\n");
	if ($("input[name=name]").val() == ""){
		error.push("  No Name Entered"); 
	}
	if ($("input[name=email]").val() == ""){
		error.push("  No Email Entered"); 
	}
	if ($("textarea[name=query]").val() == ""){
		error.push("  No Query Entered"); 
	}
	if ($("input[name=kafka]").val() != "5"){
		error.push("  Incorrect Code Entered"); 
	}
	if (error.length > 1){
		alert (error.join("\n"));
		return false;
	}
	
	return true;
	
}

function changeimg(val, id){
	$.post("changeimage.php", {num: val, id: id}, function(data){
		$("#imagespace").html(data);
		tb_init('a.thickbox');
	});
}

function addpack(id){
	$("#smallbasket").html("<center><br /><br /><img src='images/ajax-loader.gif' /></center>");
	var quantity = $("#quantity").val();
	var ids = new Array();
	$("input[type=checkbox]:checked").each( function(){
		ids.push($(this).val());
	});
	ids = ids.join(",");
	if (!isNaN(quantity)){
		$.post("dopack.php", {id: id, q: quantity, ids: ids}, function(data){
			$("#buybox").html("<h2 style='color: #4F6F19'>Item added to basket</h2>");
			showcart();	
			setTimeout('$("#buybox").html("<a href=\'javascript:addtocart('+id+')\'><img src=\'images/add.jpg\' /></a><br />")', 2000);
		});
	}

}

function addvoucher(){
	$("#smallbasket").html("<center><br /><br /><img src='images/ajax-loader.gif' /></center>");
	var amount = $("#quantity").val();
	var buyername = $("input[name=buyername]").val();
	var buyeremail = $("input[name=buyeremail]").val();
	var receivername = $("input[name=receiver_name]").val();
	var receiveremail = $("input[name=receiver_email]").val();
	var error = false;
	if (amount < 10){
		alert("Minimum voucher amount is 10 Euro");	
		error = true;
	}
	
	if (buyeremail == "" || buyername == "" || receivername == "" || receiveremail == ""){
		error = true;
		alert("You must enter both your details and the recipients details");
	}
	if (!error){
		$.post("dovoucher.php", {amount:amount, buyername: buyername, buyeremail:buyeremail, receivername: receivername, receiveremail: receiveremail}, function(data){
			$("#buybox").html("<h2 style='color: #4F6F19'>Item added to basket</h2>");
			showcart();
			setTimeout('$("#buybox").html("<a href=\'javascript:addvoucher()\'><img src=\'images/add.jpg\' /></a><br />")', 2000);
		});
	}

}

function applyvoucher(){
	var ref = $("#vouchercode").val();
	
	if (ref != ""){
		$.post("applyvoucher.php", {ref: ref}, function(){
			$.post("docart.php", {action: "showbig"}, function(data){
				$("#bigcart").html(data);
				backtoedit();
			});		
		});
	}
	
}

function removevoucher(){
	$.post("removevoucher.php", {}, function(){
		$.post("docart.php", {action: "showbig"}, function(data){
			$("#bigcart").html(data);
			backtoedit();
		});		
	});
	
}

function changeorder(val){
	$.post("setorder.php", {val: val}, function(){
		self.location.reload(0);
	});
}