//GLOBALS
var loader = '<div class="ajax-loader"><img src="'+SITE_HOME_URL+'/images/icons/ajax-loader.gif" /></div>';;

function pager(type, page, sortby, where_id, pager_id) {
	var type_id = jQuery.trim($("#type_id").val());
	var searchType = jQuery.trim($("#searchType").val());
	var searchstring = jQuery.trim($("#searchstring").val());
	var limit = jQuery.trim($("#p_limit").val());
	var view = jQuery.trim($("#view").val());
	$('#pager'+pager_id).html(loader);
	if (type_id != '') {
		type_id = "&type_id="+type_id;	
	}
	if (searchType != '') {
		searchType = "&searchType="+searchType;	
	}
	if (searchstring != '') {
		searchstring = "&searchstring="+searchstring;	
	}
	if (limit != '') {
		limit = "&limit="+limit;	
	}
	var pgr_id='';
	if (pager_id != '') {
		pgr_id = "&pager_id="+pager_id;	
	}
	if (view!='') {
		view = "&view="+view;	
	}
	$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/pager.php?type="+type+"&page="+page+"&sortby="+sortby+"&where_id="+where_id+type_id+searchType+searchstring+limit+pgr_id+view,
			 success: function (data) {
			 	$("#pager"+pager_id).html(data);
			 }
	});
}

/***********************************************
***********************************************/

function check_login() {
	return_value = true;
	var email = jQuery.trim($("#login_email").val());
	var password = jQuery.trim($("#login_password").val());
	if (email == '') {
		$("#result").html("<div class='bad'>Please enter your email address.</div>"); 
		return_value = false;
	}
	else if (password == '') {
		$("#result").html("<div class='bad'>Please enter your password.</div>"); 
		return_value = false;
	}
	if (return_value) {
		$.ajax({
			type: "POST", 
			url: SITE_HOME_URL+"/templates/ajax/auth.php?action=login_do",
			data:  [{name: "password", value: password},
					{name: "email", value: email}],
			success: function(data) {
				if (data==1) {
					$("#result").html("<div class='bad'>Incorrect email and/or password combination.</div>");
					return_value = false;
				}
				else if (data) {
					window.location = data;
				}
			}
		});
	}
	$("#result").hide();
	$('#result').fadeIn(500);
	setTimeout("$('#result').fadeOut();",5000);
	return return_value;
}

function check_forgot_password() {
	var return_value = true;
	var email = jQuery.trim($("#forgot_email").val());
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	if (email == '') {
		$("#result").html("<div class='bad'>Please enter your email address.</div>"); 
		return_value = false;
	}
	else if (email.match(illegalChars)) { 
		$("#result").html("<div class='bad'>Email contains illegal characters.</div>"); 
		return_value = false; 
	}	
	else if (!(emailFilter.test(email))) { 
		$("#result").html("<div class='bad'>Email is invalid.</div>"); 
		return_value = false; 
	}
	if (return_value) {
		$.ajax({
			type: "POST", 
			url: SITE_HOME_URL+"/templates/ajax/auth.php?action=forgot_password_do",
			data:  [{name: "email", value: email}],
			success: function(data) {
				//alert(data);
				if (data==1) {
					$("#result").html("<div class='good'>We've just sent you an email with your login information. If the email has not arrived in a few minutes, please try again and verify your email carefully and look in your Junk/Spam email folder.</div>");
					$("#forgot_email").val('');
					return_value = true;
				}
				else if (data==0) {
					$("#result").html("<div class='bad'>There was an error with your submission please try again.</div>");
				} else {
					$("#result").html("<div class='bad'>Error: "+data+"</div>");
				}
			}
		});
	}
	$("#result").hide();
	$('#result').fadeIn(500);
	setTimeout("$('#result').fadeOut();",5000);
	return return_value;
}

function check_reset_password() {
	var return_value = true;
	var email = jQuery.trim($("#reset_email").val());
	var code = jQuery.trim($("#reset_code").val());
	var password = jQuery.trim($("#reset_password").val());
	var password_confirm = jQuery.trim($("#reset_password_confirm").val());
	var emailFilter=/^.+@.+\..{2,3}$/;
	var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	if (email == '') {
		$("#result").html("<div class='bad'>Please enter your email address.</div>"); 
		return_value = false;
	}
	else if (email.match(illegalChars)) { 
		$("#result").html("<div class='bad'>Email contains illegal characters.</div>"); 
		return_value = false; 
	}	
	else if (!(emailFilter.test(email))) { 
		$("#result").html("<div class='bad'>Email is invalid.</div>"); 
		return_value = false; 
	}
	else if (password == '') {
		$("#result").html("<div class='bad'>Please enter your password.</div>"); 
		return_value = false;
	}
	else if (password_confirm == '') {
		$("#result").html("<div class='bad'>Please re-enter your password.</div>"); 
		return_value = false;
	}
	else if (password != password_confirm) {
		$("#result").html("<div class='bad'>Passwords do not match.</div>"); 
		return_value = false;
	}
	else if (code == '') {
		$("#result").html("<div class='bad'>Please enter valid security code.</div>"); 
		return_value = false;
	}
	if (return_value) {
		$.ajax({
			type: "POST", 
			url: SITE_HOME_URL+"/templates/ajax/auth.php?action=reset_password_do",
			data:  [{name: "email", value: email},
					{name: "password", value: password},
					{name: "password_confirm", value: password_confirm},
					{name: "code", value: code}],
			success: function(data) {
				//alert(data);
				if (data==1) {
					$("#result").html("<div class='good'>Password was reset successfully. You will be re-directed to the login page in a few seconds.</div>");
					return_value = true;
					setTimeout(function() { window.location = '/auth?action=login'} , 5000);
				}
				else if (data==0) {
					$("#result").html("<div class='bad'>There was an error with your submission please try again.</div>");
				} else {
					$("#result").html("<div class='bad'>Error: "+data+"</div>");
				}
			}
		});
	}
	$("#result").hide();
	$('#result').fadeIn(500);
	setTimeout("$('#result').fadeOut();",5000);
	return return_value;
}

// LOAD SCHOOL DATA
function load_school(id) {
	$.ajax({
			type: "GET", 
			url: SITE_HOME_URL+"/templates/ajax/results.php?action=load_school&id="+id,
			success: function(data) {
				$("#school_data").html(data);
			}
		});
}

function registration_submit() {
	$('#result').html(loader);
	return_value = true;
	var dataArray = $("form").serializeArray();
	if (return_value) {
		$.ajax({
			type: "POST", 
			url: SITE_HOME_URL+"/templates/ajax/auth.php?action=register_do",
			data: dataArray,
			success: function(data) {
				 if (data == 1) {
				 	$("#result").html('<div class="good">You have successfully registered. You will be re-directed to the login page in a few seconds.</div>');
					setTimeout(function() { window.location = '/auth?action=login&email=1'} , 3000);
				 }
				 else
					$("#result").html(data);
			}
		});
	}
}


/***************************************************
****************************************************
Appointment System Functions */
function load_calendar(id) {
	$('#calendar').html(loader);
	$("#camera").html("");
	$("#schedule").html("");
	return_value = true;
	if (return_value) {
		$.ajax({
			type: "GET", 
			url: SITE_HOME_URL+"/templates/ajax/results.php?action=calendar&id="+id,
			success: function(data) {
				 $("#calendar").html(data);
			}
		});
	}
}
function change_month (id, month, year) {
	$('#calendar').html(loader);
	return_value = true;
	if (return_value) {
		$.ajax({
			type: "GET", 
			url: SITE_HOME_URL+"/templates/ajax/results.php?action=calendar&id="+id+"&month="+month+"&year="+year,
			success: function(data) {
				 $("#calendar").html(data);
			}
		});
	}
}

function select_camera(timestamp, id) {
	$('#camera').html(loader);
	$("#schedule").html("");
	return_value = true;
	if (return_value) {
		$.ajax({
			type: "GET", 
			url: SITE_HOME_URL+"/templates/ajax/results.php?action=camera&id="+id+"&timestamp="+timestamp,
			success: function(data) {
				 $("#camera").html(data);
				 goToByScroll("camera");
			}
		});
	}
}

function load_schedule(id, timestamp) {
	$('#schedule').html(loader);
	return_value = true;
	if (return_value) {
		$.ajax({
			type: "GET", 
			url: SITE_HOME_URL+"/templates/ajax/results.php?action=schedule&id="+id+"&timestamp="+timestamp,
			success: function(data) {
				 $("#schedule").html(data);
				 goToByScroll("schedule");
			}
		});
	}
}

function schedule_appointment() {
	$('#result').html(loader);
	var dataArray = $("#appointment").serializeArray();
	if (return_value) {
		$.ajax({
			type: "POST", 
			url: SITE_HOME_URL+"/templates/ajax/results.php?action=schedule_appointment",
			data:  dataArray,
			success: function(data) {
				if (data==1) {
					
					$("#result").html("<div class='good'>Thank you for scheduling your appointment. You will now be redirected to the main menu.</div>"+loader);
					setTimeout(function() { window.location = SITE_HOME_URL+'/store?action=appointment&email=1'} , 5000);
				} else {
					$("#result").html("<div class='bad'>"+data+"</div>");
				}
			}
		});
	}
}

function goToByScroll(id){
	$('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}

function change_appointment() {
	var return_value = false;
	if (confirm('Change Appointment?')) {
		return_value = true;	
	}	
	if (return_value) {
		$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=change_appointment",
			 success: function (data) {
					$("#appointment_result").html(data);
			 }
		});
	}
}

function cancel_appointment(id) {
	var return_value = false;
	if (confirm('Cancel Appointment?')) {
		return_value = true;	
	}
	if (return_value) {
		$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=cancel_appointment&id="+id,
			 success: function (data) {
				if (data==1) {
					location.href=SITE_HOME_URL+'/store?action=appointment';
				} else {
					alert('There was an error cancelling your appointment.');
				}
			 }
		});
	}
}

/***************************************************
****************************************************
Shopping Cart Functions */

function select_composite(section, id) {
	$('#composite_content').html(loader);
	$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=composite&section="+section+"&id="+id,
			 success: function (data) {
				$('#composite_content').html(data);
			 }
	});
	
	
}

function submit_composite(section) {
	var return_value = true;
	
	var dataArray = $("form#form_"+section).serializeArray();
	if (return_value) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=composite&section="+section,
				 data: dataArray,
				 success: function (data) {
					 if (data==1) {
						 $('#result').html("<div class='bad'>Error: Information supplied does not match or is missing.</div>");	
					 } else
						$('#composite_content').html(data);	
				 }
		});
	}	
}


function select_order(section, id) {
	$('#order_content').html(loader);
	$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=order&section="+section+"&id="+id,
			 success: function (data) {
				$('#order_content').html(data);
			 }
	});
	
	
}

function check_poses() {
	var max_poses = jQuery.trim($("#max_poses").val());
	var count = $(':checkbox:checked').length;
	if (max_poses<=count) {
		$('input[type=checkbox]:not(:checked)').attr('disabled','true');
	} 
	if (max_poses>count) {
		$('input[type=checkbox]').removeAttr('disabled');
	}
}

function select_poses(section_id,package_id) {
	$('#result').html(loader);
	var count = $(':checkbox:checked').length;
	var dataArray = $("input[type=checkbox]").serializeArray();
	if (count) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=order&section=photo&section_id="+section_id+"&package_id="+package_id,
				 data: dataArray,
				 success: function (data) {
					$('#order_content').html(data);
				 }
		});
	} else {
		$('#result').html('<div class="bad">Select a pose</div>');
	}
}

function show_pose(id) {
	var pose = jQuery.trim($("#cat"+id).val());
	$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=show_pose&pose="+pose,
			 success: function (data) {
				$('#pose'+id).html(data);
			 }
	});
}

function addToCart() {
	$('#result').html(loader);
	var fields = $("#order select").serializeArray();
	var return_value = true;
	var result = '';
	jQuery.each(fields, function(i, field){
		if (field.value == "") {
			result = '<div class="bad">Select all poses</div>';
			return_value = false;
		}
	});
	
	var dataArray = $("#order").serializeArray();
	if (return_value) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=addToCart",
				 data: dataArray,
				 success: function (data) {
					 if (data==1) {
						 window.location = SITE_HOME_URL+"/store?action=edit";
					 } else {
						$('#result').html('<div class="bad">'+data+'</div>');
					 }
				 }
		});
	} else {
		$('#result').html(result);
	}
}

function remove_item(bid) {
	if(confirm("Remove item from cart?")) {
		$.ajax({ type: "GET", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=remove_cart_item&bid="+bid,
				 success: function (data) {
					//alert(data);
					if (data==1) {
						$("#result").html('<div class="good" style="margin:5px 0 15px 0;">Item successfully removed.</div>');
						$('#tb_'+bid).remove();
						update_subtotal();
					} else {
						$("#result").html('<div class="bad" style="margin:5px 0 15px 0;">There was an error removing the item you requested. Please try again.</div>');	
					}
				 }
		});
	}
}

function update_subtotal() {
	$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=update_subtotal",
			 success: function (data) {
				//alert(data);
				if (data) {
					$("#cart_subtotal").html(data);
				}
			 }
	});
}

function apply_coupon() {
	var return_value = true;
	var coupon = jQuery.trim($("#coupon").val());
	$('#result').html('<center style="padding:10px;"><img src="'+SITE_HOME_URL+'/images/icons/ajax-loader.gif" /></center>');
	if (coupon == '') {
		$('#result').html('<div class="bad" style="text-align:right;">The coupon code was not found.</div>');
		return_value = false;
	}
	if (return_value) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=apply_coupon",
				 data: [{name: "code", value: coupon}],
				 success: function (data) {
					//alert(data);
					if (data) {
						$("#result").html(data);
					}
				 }
		});
	}
}

function remove_coupon() {
	var return_value = false;
	if(confirm('You are about to remove an applied coupon.')) {
		return_value = true;
		$('#result').html('<center style="padding:10px;"><img src="'+SITE_HOME_URL+'/images/icons/ajax-loader.gif" /></center>');
	}
	if (return_value) {
		$.ajax({ type: "GET", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=remove_coupon",
				 success: function (data) {
					//alert(data);
					if (data==1) {
						$("#result").html("<div class='good' style='text-align:right;'>Coupon was successfully removed.</div>");
						$("#coupon_result").html('');
					}
					else {
						$("#result").html("<div class='bad' style='text-align:right;'>There was an error removing your coupon. Please trying again.</div>");
					}
				 }
		});
	}
}

function addPromotionGift(promotion_gift_id, product_id) {
	$('#result'+promotion_gift_id).html('<center style="padding:10px;"><img src="'+SITE_HOME_URL+'/images/icons/ajax-loader.gif" /></center>');
	var return_value = true;
	if (return_value) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=add_promotion_gift",
				 data: [{name: "promotion_gift_id", value: promotion_gift_id},
				 		{name: "product_id", value: product_id}],
				 success: function (data) {
					 if (data==1) {
						 show_promotion_gift(promotion_gift_id)
						 $("#result"+promotion_gift_id).html('');
					 } else
						$("#result"+promotion_gift_id).html('<div style="padding:0 10px 10px 10px;">'+data+'</div>');
				 }
		});
	}
	$("#result"+promotion_gift_id).hide();
	$("#result"+promotion_gift_id).fadeIn(500);
	setTimeout("$('#result"+promotion_gift_id+"').fadeOut();",5000);
}

function show_promotion_gift(promotion_order_id) {
	$.ajax({ type: "GET", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=show_promotion_gift&promotion_order_id="+promotion_order_id,
			 success: function (data) {
					$("#cart").append(data);
			 }
	});
}

function remove_gift(promotion_gift_id) {
	if(confirm('Remove gift from order?')) {
		$.ajax({ type: "GET", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=remove_promotion_gift&promotion_gift_id="+promotion_gift_id,
				 success: function (data) {
						$("#cart #promo_"+promotion_gift_id).html('');
				 }
		});
	}
}

function show_discount(value, sub_total) {
	$.ajax({ type: "POST", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=display_coupon",
			 data: [{name: "value", value: value},
			 		{name: "sub_total", value: sub_total}],
			 success: function (data) {
				//alert(data);
				if (data) {
					$("#coupon_result").html(data);
					$("#coupon").val('')
				}
			 }
	});
}
/*
function check_out() {
	var billing_info = jQuery.trim($("#billing_info").val());
	if (billing_info==1) {
		
		var return_value = true;
		var firstname = jQuery.trim($("#firstname").val());
		var lastname = jQuery.trim($("#lastname").val());
		var location = jQuery.trim($("#location").val());
		var address = jQuery.trim($("#address").val());
		var address2 = jQuery.trim($("#address2").val());
		var city = jQuery.trim($("#city").val());
		var province = jQuery.trim($("#province").val());
		var postal_code = jQuery.trim($("#postal_code").val());
		var country = jQuery.trim($("#country").val());
		var phone = jQuery.trim($("#phone").val());
		var result = '';
		if (firstname == '') {
		result += '<div class="required">First name is required</div>';return_value = false;
		}
		if (lastname == '') {
			result += '<div class="required">Last name is required</div>';return_value = false;
		}
		if (location == '') {
			result += '<div class="required">No location was selected.</div>';return_value = false;
		}
		if (address == '') {
			result += '<div class="required">Address is required</div>';return_value = false;
		}
		if (city == '') {
			result += '<div class="required">City is required</div>';return_value = false;
		}
		if (province == '') {
			result += '<div class="required">No province was selected.</div>';return_value = false;
		}
		if (postal_code == '') {
			result += '<div class="required">Postal Code is required</div>';return_value = false;
		} else if (!isValidPostalcode(postal_code)) {
			result += '<div class="required">Postal Code is invalid</div>';return_value = false;
		}
		if (country == '') {
			result += '<div class="required">No country was selected</div>';return_value = false;
		}
		if (phone == '') {
			result += '<div class="required">Phone number is required</div>';return_value = false;
		}
		
		// print result
		if (result!='') {
			$('#billing_result').html("<div class='box'>"+result+"</div>");	
		}

		if (return_value) {
			$.ajax({ type: "POST", 
					 url: SITE_HOME_URL+"/templates/ajax/results.php?action=add_billing",
					 data: [{name: "firstname", value: firstname},
							{name: "lastname", value: lastname},
							{name: "location", value: location},
							{name: "address", value: address},
							{name: "address2", value: address2},
							{name: "city", value: city},
							{name: "province", value: province},
							{name: "postal_code", value: postal_code},
							{name: "country", value: country},
							{name: "phone", value: phone},],
					 success: function (data) {
						//alert(data);
						if (data==1) {
							window.location = SITE_HOME_URL+'/store?action=shipping';
						} else if (data==0) {
							$('#billing_result').html("<div class='box' style='color:red;'>There was an error with your submission. Please try again.</div>");
						} else {
							$('#billing_result').html("<div class='box' style='color:red;'>There was an error with your submission. Please try again.</div>");	
						}
					 }
			});
		}
	} else {
		window.location = SITE_HOME_URL+'/store?action=shipping';
	}
}

function check_shipping() {
	var return_value = true;
	var firstname = jQuery.trim($("#firstname").val());
	var lastname = jQuery.trim($("#lastname").val());
	var address = jQuery.trim($("#address").val());
	var address2 = jQuery.trim($("#address2").val());
	var city = jQuery.trim($("#city").val());
	var province = jQuery.trim($("#province").val());
	var postal_code = jQuery.trim($("#postal_code").val());
	var country = jQuery.trim($("#country").val());
	var phone = jQuery.trim($("#phone").val());
	var comment = jQuery.trim($("#comment").val());
	var result = '';
	if (firstname == '') {
		result += '<div class="required">First name is required</div>';return_value = false;
	}
	if (lastname == '') {
		result += '<div class="required">Last name is required</div>';return_value = false;
	}
	if (address == '') {
		result += '<div class="required">Address is required</div>';return_value = false;
	}
	if (city == '') {
		result += '<div class="required">City is required</div>';return_value = false;
	}
	if (province == '') {
		result += '<div class="required">No province was selected.</div>';return_value = false;
	}
	if (postal_code == '') {
		result += '<div class="required">Postal Code is required</div>';return_value = false;
	} else if (!isValidPostalcode(postal_code)) {
		result += '<div class="required">Postal Code is invalid</div>';return_value = false;
	}
	if (country == '') {
		result += '<div class="required">No country was selected</div>';return_value = false;
	}
	if (phone == '') {
		result += '<div class="required">Phone number is required</div>';return_value = false;
	}
	
	// print result
	if (result!='') {
		$('#result').html("<div class='box'>"+result+"</div>");	
	}
	if (return_value) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=add_shipping",
				 data: [{name: "firstname", value: firstname},
				 		{name: "lastname", value: lastname},
						{name: "address", value: address},
						{name: "address2", value: address2},
						{name: "city", value: city},
						{name: "province", value: province},
						{name: "postal_code", value: postal_code},
						{name: "country", value: country},
						{name: "phone", value: phone},
						{name: "comment", value: comment}],
				 success: function (data) {
					//alert(data);
					if (data==1) {
						window.location = SITE_HOME_URL+'/store?action=payment';
					} else if (data==-1) {
						window.location = SITE_HOME_URL+'/store?action=payment';
				 	} else {
						$('#result').html("<div class='box' style='color:red;'>There was an error with your submission. Please try again.</div>");	
					}
				 }
		});
	}
}
*/
function check_out() {
	var billing_info = jQuery.trim($("#billing_info").val());
	if (billing_info==1) {
		var dataArray = $("#billing").serializeArray();
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=add_billing",
				 data: dataArray,
				 success: function (data) {
					//alert(data);
					if (data==1) {
						window.location = SITE_HOME_URL+'/store?action=shipping';
					} else if (data==0) {
						$('#billing_result').html("<div class='bad' style='color:red;'>There was an error with your submission. Please try again.</div>");
					} else {
						$('#billing_result').html("<div class='bad'>"+data+"</div>");	
					}
				 }
		});
	} else {
		window.location = SITE_HOME_URL+'/store?action=shipping';
	}
}

function check_shipping() {
	var dataArray = $("#shipping").serializeArray();
	$.ajax({ type: "POST", 
			 url: SITE_HOME_URL+"/templates/ajax/results.php?action=add_shipping",
			 data: dataArray,
			 success: function (data) {
				//alert(data);
				if (data==1) {
					window.location = SITE_HOME_URL+'/store?action=payment';
				} else if (data==-1) {
					window.location = SITE_HOME_URL+'/store?action=payment';
				} else if (data==0) {
					$('#result').html("<div class='bad' style='color:red;'>There was an error with your submission. Please try again.</div>");
				} else {
					$('#result').html("<div class='bad'>"+data+"</div>");
				}
			 }
	});
}

function load_shipping_data() {
	$('#result').html(loader);
	var billing = jQuery.trim($("#billing").val());	
	if (billing == 1) {
		$("#billing").val(0)
		$.getJSON(SITE_HOME_URL+"/templates/ajax/results.php","action=fill_shipping", function(json){
			$("#firstname").val(json.firstname);
			$("#lastname").val(json.lastname);
			$("#location").val(json.location);
			$("#address").val(json.address);
			$("#address2").val(json.address2);
			$("#city").val(json.city);
			$("#province").val(json.state);
			$("#province_other").val(json.province_other);
			$("#postal_code").val(json.zip);
			$("#country").val(json.country);
			$("#country").val(json.country_other);
			$("#phone").val(json.phone);
		});
		//$('#result').html('');
	} else {
		$("#billing").val(1)
		$("#shipping")[0].reset();
	}
	setTimeout("$('#result').html('')",2000);
}

function isValidPostalcode(postalcode) {
	if (postalcode.length == 6 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1) return true;
	else if (postalcode.length == 7 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z](-|\s)\d[a-zA-Z]\d$/) != -1) return true;
	else return false;
}

function select_payment(x) {
	if (x == 1) {
		$("#payment_visa").attr('checked', true);
		$("#payment_mc").attr('checked', false);
		$("#payment_visa").val(1)
		$("#payment_mc").val('')
	} else if (x == 2) {
		$("#payment_visa").attr('checked', false);
		$("#payment_mc").attr('checked', true);
		$("#payment_visa").val('')
		$("#payment_mc").val(1)
	}
}

function payment_paypal() {
	if(confirm('You will not be re-directed to PayPal\'s payment site. Please do not refresh or close the browser until you have returned to Snap Studios\'s order confirmation page.\n\nTo continue to Paypal click OK:.')) {
		window.location = SITE_HOME_URL+'/store?action=paypal&process=process';
	} else
		return falase;
}

function process_cc_payment() {
	var return_value = true;
	var payment_visa = jQuery.trim($("#payment_visa").val());
	var payment_mc = jQuery.trim($("#payment_mc").val());
	var card_number = jQuery.trim($("#card_number").val());
	var card_name = jQuery.trim($("#card_name").val());
	var exp_month = jQuery.trim($("#exp_month").val());
	var exp_year = jQuery.trim($("#exp_year").val());
	var agree = $("#agree").is(":checked");
	var result = '';
	if (payment_visa == '' && payment_mc == '') {
		result += '<div class="required">Payment method not selected</div>';return_value = false;
	}
	if (card_number == '') {
		result += '<div class="required">Credit Card number is required.</div>';return_value = false;
	}
	if (card_name == '') {
		result += '<div class="required">Full Name is required</div>';return_value = false;
	}

	// print result
	if (result!='') {
		$('#result').html("<div class='box'>"+result+"</div>");	
	} else {
		if (!agree) {
			$('#result').html("");	
			alert('To place an order you must agree to the terms and conditions by selecting the check-box next to the Payment Terms.');return_value = false;
		}
	}
	if (return_value) {
		if (payment_visa)		var card_type = "Visa";
		else if (payment_mc)	card_type = "MasterCard";
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=process_cc_payment",
				 data: [{name: "card_name", value: card_name},
						{name: "card_type", value: card_type},
						{name: "card_number", value: card_number},
						{name: "exp_month", value: exp_month},
						{name: "exp_year", value: exp_year}],
				 success: function (data) {
					//alert(data);
					if (data==1) {
						window.location = SITE_HOME_URL+'/store?action=thankyou';
					} else if (data==0) {
						$('#result').html("<div class='box' style='color:red;font-weight:bold;'>There was an error with you submission. Please try again, or contact us for assistance.</div>");
					} else {
						$('#result').html("<div class='box' style='color:red;font-weight:bold;'>"+data+"</div>");
						for (i=0;i<4;i++) {
							$("#result").fadeOut("fast");
							$("#result").fadeIn("slow");
						}	
					}
				 }
		});
	}
}

/*************************************
*************************************/
function submit_form(section) {
	var return_value = true;
	var dataArray = $("form#form_"+section).serializeArray();
	if (return_value) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action="+section,
				 data: dataArray,
				 success: function (data) {
					$('#result').html(data);	
				 }
		});
	}	
}

/***************************************************************
****************************************************************
SURVEY FUNCTIONS ***********************************************
***************************************************************/
function submit_survey() {
	var dataArray = $("form#survey_form").serializeArray();
	$('#result').html('<div class="result"><img src="'+SITE_HOME_URL+'/images/icons/ajax-loader.gif" /></div>');
	var return_value = true;
	if (dataArray == '') {
		$('#result').html('<div class="result">Data Empty</div>');
		return_value=false;
	}
	if (return_value) {
		$.ajax({ type: "POST", 
				 url: SITE_HOME_URL+"/templates/ajax/results.php?action=add_survey",
				 data: dataArray,
				 success: function (data) {
					 if (data==1) {
						 $('#main_body').html("<div class='result'><h3>Thank you we appreciate your participation in this survey.</h3></div>"); 
					 } else {
						$('#result').html('<div class="bad">'+data+'</div>');				 
					 }
					
				 }
		});
	}
}

/***************************************************************
****************************************************************
BROSWER COMPATIBILITY FUNCTIONS ********************************
***************************************************************/

function checkBrowser() {
	var userAgent = navigator.userAgent.toLowerCase();	
	// Check for Microsoft Internet Explorer 8.0
/*	if ($.browser.msie && parseInt($.browser.version, 10) < 8) {
		return true;
	}*/
	// Check for Opera 9.5
	if ($.browser.opera && ($.browser.version *10) <= 95) {
		return true;
	}
	// Check for Mozilla Firefox 3.0
	if (/firefox[\/\s](\d+\.\d+)/.test(userAgent)) {
		var ffversion = Number(RegExp.$1);
		if (ffversion < 3) {
			return true;
		}
	}
	// Check for Safari < Version 4.0
	if (/safari[\/\s](\d+\.\d+)/.test(userAgent) && !/chrome[\/\s](\d+\.\d+)/.test(userAgent)) {
		var safari = userAgent.indexOf('version');
		if (safari > -1) {
			var snip1 = safari+8;
			var version = userAgent.substring(snip1, (snip1+1));
			if (version < 4) {
				return true;
			}
		}
	}
	// Check for Chrome < Version 3.0
	var chrome = userAgent.indexOf('chrome');
	if (chrome > -1) {
		var snip1 = chrome+6;
		var version = userAgent.substring(snip1, (snip1+1));
		if (version < 3) {
			return true;
			}
	}
    return false;
}

function setCheckBrowser(c_name,value,expiredays) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" + escape(value) + ((expiredays === null) ? "" : ";expires=" + exdate.toGMTString());
}
$(document).ready(function() {
	if(checkBrowser()) {
		$('#browser_compatibality').html('<div class="browser_compatibality">You\'re using an outdated browser, which SnapStudios.ca no longer supports. Some features may not work. <a href='+SITE_HOME_URL+'/browser-compatibality">Learn More</a></div>')
	}
});
