var brand;
var headline_count;
var headline_interval;
var old_headline = 0;
var current_headline=0;
var headlines = new Array(); // an array of jQuery objects

var returnFalse = 0;

ua = navigator.userAgent;
isMSIE = (navigator.appName == "Microsoft Internet Explorer");
isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1);
isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1);
isMSIE7 = this.isMSIE && (ua.indexOf('MSIE 7') != -1);
isGecko = ua.indexOf('Gecko') != -1;
isSafari = ua.indexOf('Safari') != -1;

function parseFloatX( obj ) {
	try
	{
		return parseFloat( obj.replace( /[^0-9\.]/g, '' ) );
	}
	catch (ex)
	{
	}
}

function null_promotions() {
	$('#checkout-promotional-code h4').hide();
	$('.shipping-discount').hide();
	$('#promotion_discount').val("0");
	$('#promotion_id').val("");
}

$(document).ready( function(){
	null_promotions();
});

$(document).ready(function(){
	$('#search_used input').focus ( function() {
		$(this).attr('value', '');
	});
	$('#search_used input.s').hover( function() {
		$('#search_used input.s').css('background-position', 'bottom left');
	}, function() {
		$('#search_used input.s').css('background-position', 'top left');
	});
	var sub_cat = 0;
	var cat_date = 0;
	$('.blog_latest_post_archive a.blog').click( function() {
		if ( sub_cat == 0 ) {
			$(this).siblings('.blog_latest_post_archive .links:first').show();
			sub_cat = 1;
		} else {
			$(this).siblings('.blog_latest_post_archive .links:first').hide();
			sub_cat = 0;		
		}
		return false;
	});
	$('.blog_latest_post_archive a.date').click( function() {
		if ( cat_date == 0 ) {
			$(this).siblings('.blog_latest_post_archive .box:first').show();
			cat_date = 1;
		} else {
			$(this).siblings('.blog_latest_post_archive .box:first').hide();
			cat_date = 0;		
		}
		return false;
	});
	$('#testimonials .show').click( function() {
		$(this).hide();
		$('#testimonials .hide').show();
		return false;
	});
	$('#testimonials .hide').click( function() {
		$(this).hide();
		$('#testimonials .show').show();
		return false;
	});
});

$(document).ready(function(){
	$('a.lightbox').lightBox();
	
	headline_count = $("dd.headline").size();

	if(headline_count > 0) {
		for (var i = 0; i < headline_count; i++) {
			headlines[i] = $("dd.headline:eq("+i+")");
		}

		headlines[current_headline].show().animate({top: 5},"slow");

		headline_interval = setInterval(headline_rotate,7000);

		$('#scrollup').hover(function() {
			clearInterval(headline_interval);
		}, function() {
			headline_interval = setInterval(headline_rotate,7000);
		//headline_rotate();
		});
	}

	$('.add-to-cart').click( function() {
		var packageID = $(this).get(0).name;
		var partID = $(this).get(0).title;
		var sizeID = $('.d_' + partID + ' option:selected').text();
		var quantity = 1;
		$.post(document.location.toString() , { 
				action: 'add_to_basket', 
				pack_id: packageID, 
				part_id: partID,
				size_id: sizeID,
				quantity: quantity  
			}, function(data) {
			document.location = '/checkout';
		});
		return false;
	});

		$('#add-to-cart a').click( function() {
			var packageID = $(this).get(0).name;
			var quantity = $('#quantity').val();

			$.post(document.location.toString() , { action: 'add_to_basket', pack_id: packageID, quantity: quantity }, function(data) {
				document.location = '/' + brand + '/checkout';
			});

			return false;
		});

	
	var basketProducts = $('.checkout-box').size();
	if(basketProducts > 0) {
		Calculate.updateBasket();

		$('.location').html($('#billing_country').val());

		$('#billing_country').change( function() {
			$('.location').html($('#billing_country').val());

			Calculate.updateBasket();
		});

		$('.update').click( function() {
			var packageID = $(this).attr('name');
			var quantity = $('.quantity-' + $(this).attr('name')).val();

			$.post(document.location.toString() , { action: 'update_basket', pack_id: packageID, quantity: quantity }, function(data) { 
				Calculate.updateBasket();
			});

			return false;
		});

		$('.remove').click( function() {
			var packageID = $(this).attr('alt');

			$.post(document.location.toString() , { action: 'remove_from_basket', pack_id: packageID }, function(data) { 
				$('.box-'+packageID).remove();
				$('.hr-'+packageID).remove();

				Calculate.updateBasket();
			});
		});

		$('.place-order').click( function() {
			if(returnFalse > 0) {
				alert('Checkout - error');

				return false;
			}

			$.post(document.location.toString(), { 
					action: 'set_country',
					billing_country: $('#billing_country').val() //,
					//promotion_discount : $('#promotion_discount').val(),
					//promotion_gift : $('#promotion_gift').val(),
					//promotion_id : $('#promotion_id').val()
				}, function(data) { 
					document.location = '/checkout/step:1';
			} );

			return false;
		});
	}

	$('.place-final-order').click( function() {
		if(returnFalse > 0) {
			$('#global-error-box').fadeOut('fast', function() {
				alert('Place order - error');
			});

			return false;
		}

		document.location = '/checkout/do:payment';
		
		return false;
	});

	$('.phone-order').click( function() {
		if(returnFalse > 0) {
			$('#global-error-box').fadeOut('fast', function() {
				alert('Phone order - error');
			});

			return false;
		}

		document.location = '/checkout/telephone-order';
	});
	
	$('#do-register').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-register .text').each( function() {
			if($(this).val().trim() == '') {
				$('.info-console span').html('<font style="color: #b82f1d;">Please complete all required fields</font>');

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#email').get(0).value.search(regEmail) == -1) {
			$('.info-console span').html('<font style="color: #b82f1d;">Please enter correct email address</font>');

			$('#email').select();
			return false;
		}

		if ($('#password').val() != $('#password_confirm').val()) {
			$('.info-console span').html('<font style="color: #b82f1d;">Password you typed do not match</font>');

			$('#password_confirm').select();
			return false;
		}

		if($('#do-you-agree').size() > 0 && $('#do-you-agree').get(0).checked == false) {
			$('.info-console span').html('<font style="color: #b82f1d;">Please confirm you have read and understand out terms and condtions</font>');

			error = 1;
			return false;
		}

		$('.info-console span').fadeOut();

		$('#form-register').submit();

		return false;
	});	
	
	$('#do-login').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-login .text').each( function() {
			if($(this).val().trim() == '') {
				alert('Please complete all required fields');

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#_email').get(0).value.search(regEmail) == -1) {
			alert('Please enter correct email address');

			$('#_email').select();
			return false;
		}

		$('#form-login').submit();
		
		return false;
	});
	
	$('#do-return').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-return .text').each( function() {
			if($(this).val().trim() == '') {
				alert('Please complete all required fields');

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#__email').get(0).value.search(regEmail) == -1) {
			alert('Please enter correct email address');

			$('#__email').select();
			return false;
		}

		$('#form-return').submit();
		
		return false;
	});


	$('#do-step-2').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-step-2 .text').each( function() {
			if($(this).val().trim() == '' && $(this).get(0).id != 'county') {
				$('.info-console span').html('<font style="color: #b82f1d;">Please complete all required fields</font>');

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#email').get(0).value.search(regEmail) == -1) {
			$('.info-console span').html('<font style="color: #b82f1d;">Please enter correct email address</font>');

			$('#email').select();
			return false;
		}

		$('.info-console span').fadeOut();

		$('#form-step-2').submit();
		
		return false;
	});

	$('#do-delivery').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-step-2 .text').each( function() {
			if($(this).val().trim() == '' && $(this).get(0).id != 'county') {
				$('.info-console span').html('<font style="color: #b82f1d;">Please complete all required fields</font>');

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#email').get(0).value.search(regEmail) == -1) {
			$('.info-console span').html('<font style="color: #b82f1d;">Please enter correct email address</font>');

			$('#email').select();
			return false;
		}

		$('.info-console span').fadeOut();

		$.post(document.location.toString() , { 
			action: 'step_2_delivery', 
			email: $('#email').val(),
			comments: $('#comments').val(),
			billing_title: $('#title').val(),
			billing_forename: $('#forename').val(),
			billing_surname: $('#surname').val(),
			billing_house_no: $('#house_no').val(),
			billing_street: $('#street').val(),
			billing_town: $('#town').val(),
			billing_county: $('#county').val(),
			billing_post: $('#post').val(),
			billing_country: $('#country').val(),
			billing_phone: $('#phone').val()
		}, function() { 

			document.location = '/checkout/step:2.1';
			return false;
		});

		return false;
	});
	
	$('#do-step-2-1').click( function() {
		var error = 0;

		$('#form-step-2-1 .text').each( function() {
			if($(this).val().trim() == '' && $(this).get(0).id != 'email' && $(this).get(0).id != 'county') {
				$('.info-console span').html('<font style="color: #b82f1d;">Please complete all required fields</font>');

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		$('.info-console span').fadeOut();

		$('#form-step-2-1').submit();
		
		return false;
	});

	$('#do-forgotten').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-forgotten .text').each( function() {
			if($(this).val().trim() == '') {
				$('.error').html('<font style="color: #b82f1d;">Please complete all required fields</font>');
				$('.error').show();

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#email').get(0).value.search(regEmail) == -1) {
			$('.error').html('<font style="color: #b82f1d;">Please enter correct email address</font>');
			$('.error').show();

			$('#email').select();
			return false;
		}

		$('.error').fadeOut();

		$('#form-forgotten').submit();
		
		return false;
	});
	
	$('#do-newsletter').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-newsletter .text').each( function() {
			if($(this).val().trim() == '') {
				$('.error').html('<font style="color: #b82f1d;">Please complete all required fields</font>');
				$('.error').show();

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#email').get(0).value.search(regEmail) == -1) {
			$('.error').html('<font style="color: #b82f1d;">Please enter correct email address</font>');
			$('.error').show();

			$('#email').select();
			return false;
		}

		$('.error').fadeOut();

		$('#form-newsletter').submit();
		
		return false;
	});

	$('#do-reset').click( function() {
		var error = 0;
		var regEmail = /^[A-Za-z0-9\-_]+(\.[A-Za-z0-9\-_]+)*@([A-Za-z0-9\-_\.]+\.)+[A-Za-z]{2,8}$/i;

		$('#form-reset .text').each( function() {
			if($(this).val().trim() == '') {
				$('.error').html('<font style="color: #b82f1d;">Please complete all required fields</font>');
				$('.error').show();

				$(this).select();
				error = 1;

				return false;
			}
		});

		if(error > 0)
			return false;

		if ($('#email').get(0).value.search(regEmail) == -1) {
			$('.error').html('<font style="color: #b82f1d;">Please enter correct email address</font>');
			$('.error').show();

			$('#email').select();
			return false;
		}

		if ($('#password').val() != $('#password_confirm').val()) {
			$('.error').html('<font style="color: #b82f1d;">Password you typed do not match</font>');
			$('.error').show();

			$('#password_confirm').select();
			return false;
		}

		$('.error').fadeOut();

		$('#form-reset').submit();
		
		return false;
	});
	
	$('.quantity').click( function() {
		$(this).select();
	});

	$('.quantity').keypress( function(int) {
		return Transform.numbers(int, false);
	});
	
	$('#input-search').focus( function() {
		if($(this).val() == 'Search')
			$(this).val('');
	});
	
	$('#input-search').blur( function() {
		if($(this).val() == '')
			$(this).val('Search');
	});
	
	$('#your-email-address').focus( function() {
		if($(this).val() == 'Your email address')
			$(this).val('');
	});

	$('#your-email-address').blur( function() {
		if($(this).val() == '')
			$(this).val('Your email address');
	});

	var autoplay = 'true';
	var is_autoplay = readCookie('music');
	if(is_autoplay == 0)
		autoplay = "false";
});

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function headline_rotate() {
	current_headline = (old_headline + 1) % headline_count;
	if(current_headline == 0) {}
	
	headlines[current_headline].hide();
	headlines[old_headline].fadeOut( function() { 
		headlines[old_headline].css('top', '200px');
	
		headlines[current_headline].fadeIn().show().animate({top: 5},"slow");
		old_headline = current_headline;
	});

}

Transform = {
	fixNum: function(amount, int) {
		return Number(amount).toFixed(2);
	},
	numbers: function(evt, negative) {
		evt = (evt) ? evt : window.event;
		var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
	
		if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46 && charCode != 44 && charCode != 63234 && charCode != 63235 && !(negative && charCode == 45)) {
			return false
		}
		return true
	},
	weightToMoney: function(zone, weight) {
		$('#global-error-box').fadeOut();
		returnFalse = 0;

		if(zone == 'United Kingdom' || zone == 'UK Mainland' || zone == 'Channel Islands' || zone == 'Isle of Man' || zone == 'N Ireland') {
			return 4.95;
			
			if(weight >= 0 && weight < 600) return 2;
			if(weight >= 600 && weight < 1250) return 3.5;
			if(weight >= 1250 && weight <= 17500) return 5;

			//$('#global-error-box span').html('You can\'t order products with a total weight of over 17.50 kg');
			//$('#global-error-box').fadeIn();

			returnFalse = 0;

			return 5;
		} else {
			return 7.95;

			if(weight >= 0 && weight < 500) return 2.5;
			if(weight >= 500 && weight < 1250) return 5;
			if(weight >= 1250 && weight <= 1750) return 7;

			$('#global-error-box span').html('You can\'t order products with a total weight of over 1.75 kg');
			$('#global-error-box').fadeIn();

			returnFalse = 1;

			return 7;
		}
	}
};

Calculate = {
	updateBasket: function() {
		this.pID = 0;
		var subTotal = 0;
		var VAT = 0;
		var postage = 0;
		var postageWeight = 0;

		$('.h-id').each( function() {
			this.pID = $(this).val();
			this.pVAT = parseFloat($('.vat-' + this.pID).val());
			this.price = parseFloat($('.price-' + this.pID).val());
			this.weight = parseFloat($('.weight-' + this.pID).val());
			this.quantity = parseFloat($('.quantity-' + this.pID).val());
			
			subTotal = subTotal + this.price * this.quantity;
			VAT = VAT + this.quantity * this.price * this.pVAT / 100;
			postageWeight = postageWeight + this.quantity * this.weight;

			$('.box-' + this.pID + ' .total-box').html('<div>&pound;' + Transform.fixNum(this.price * this.quantity + this.price * this.quantity * this.pVAT / 100, 2) + '</div>');
		});
		
		if(subTotal == 0.00)
			document.location = '/' + brand + '/checkout';

		postage = Transform.weightToMoney($('#billing_country').val(), postageWeight);

		$('.shipping-subtotal').html('&pound;' + Transform.fixNum(subTotal, 2));
		$('.shipping-vat').html((VAT > 0) ? '&pound;' + Transform.fixNum(VAT, 2) : 'N\\A');
		//$('.shipping-discount').html('');
		//$('h4.discount').hide();
		$('.shipping-postage').html('&pound;' + Transform.fixNum(postage));
		$('.shipping-total').html('&pound;' + Transform.fixNum(subTotal + ((VAT > 0) ? VAT : 0) + postage, 2));
		$('.shipping-pretotal').html('&pound;' + Transform.fixNum(subTotal + ((VAT > 0) ? VAT : 0), 2));

		//Promotions.checkForGiftPromotion(subTotal);
	}
};

jQuery.easing.easeOutQuart = function (x, t, b, c, d) {
	return -c * ((t=t/d-1)*t*t*t - 1) + b;
};

String.prototype.trim = function () {
	return this.replace(/^\s*|\s*$/g,"");
};
