function topSearch(defaultVal) {
    var inputObj = $('#SearchString');
    if (inputObj.val() == '' || inputObj.val() == defaultVal) {
        inputObj.focus();
        return false;
    }
    $('#form-search').submit();
}

function bottomNewsletter(defaultVal) {
    var inputObj = $('#NewsletterEmail');
    if (inputObj.val() == '' || inputObj.val() == defaultVal) {
        inputObj.focus();
        return false;
    }
    else if (!checkEmail(inputObj.val())) {
        alert('Invalid email address.');
        return false;
    }
    return true;
}

function checkEmail(email) {
    return email.match(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/);
}

function countryTrigger(countryValue, stateValue, stateFieldName, isCode, callback) {
	var argNum = arguments.length;
	$.post(sitePath+'/ajax/GetStates.asp', {CountryID: countryValue, IsCode: isCode}, function(data){
        if (data.length <= 0) {
            result = '<input type="text" name="' + stateFieldName + '" id="' + stateFieldName + '" value="" maxlength="50" class="required" />';
        }
        else {
            result = '<select name="' + stateFieldName + '" id="' + stateFieldName + '" class="required">' + 
                '<option value="">Select One</option>';

            $.each(data, function(i, val){
                result += '<option value="' + val.StateCode + '"' + (val.StateCode == stateValue ? ' selected="selected"' : '') + '>' + val.StateName + '</option>';
            });
            result += '</select>';
        }
        var oldControl = $('#' + stateFieldName);
        oldControl.hide().after(result);
        oldControl.remove();

		if (argNum == 5 && typeof callback == 'function') {
			callback();
		}
    }, 'json');
}

function addToBasket(linkObj, id) {
	var lObj = $(linkObj);
	var wProductID = 0;

	switch (lObj.attr('class')) {
		case 'in-list':
			lObj.hide();
			lObj.after('<img src="'+sitePath+'/images/loading-list.gif" alt="" id="loading'+id+'" style="padding-top: 5px" />');
			break;

		default:
			$(linkObj).after('<img src="'+sitePath+'/images/loading.gif" alt="" id="loading'+id+'" style="margin: 6px 0 0 15px" align="top" />');

			var wObj = $('input[name="Warranty"]:checked');
			if (wObj.length > 0) {
				wProductID = wObj.val();
			}
			break;
	}

	var pData = {
		ProductID: id,
		WarrantyID: wProductID,
		Attributes: getSelectedAttributes()
	};
	$.post(sitePath+'/ajax/AddToBasket.asp', pData, function(data){
		if (data.success) {
			$('.cart-ticker .count').text(data.count);
			$('.cart-ticker .amount').text(data.amount);

			var basketData = new Array;
			basketData.push(data.product);
			if (data.warranty) {
				basketData.push(data.warranty);
			}
			showMiniBasket(basketData);
		}
		else {
			alert(data.message);
		}
		$('#loading'+id).fadeOut(function(){
			switch (lObj.attr('class')) {
				case 'in-list':
					lObj.fadeIn();
					break;

				default:
					break;
			}
			$(this).remove();
		});
	}, 'json');
	return false;
}

function getSelectedAttributes() {
	var attrIds = [];
	$('.p_attr').each(function(){
		attrIds.push($(this).val());
	});
	return attrIds.join(',');
}

function _addToWishlist(linkObj, ProductID, CustomerID) {
	if (CustomerID == 0) {
		document.location.href = sitePath+'/Login.asp';
		return false;
	}

	var lObj = $(linkObj);
	switch (lObj.attr('class')) {
		case 'in-list':
			lObj.hide();
			lObj.after('<img src="'+sitePath+'/images/loading-list.gif" alt="" id="wloading'+ProductID+'" style="padding-top: 1px" />');
			break;

		default:
			break;
	}

	$.post(sitePath+'/ajax/WishList.asp', {ProductID: ProductID}, function(data){
		if (data.success) {
			//console.log(data);
		}
		else {
			alert(data.message);
		}
		$('#wloading'+ProductID).fadeOut(function(){
			switch (lObj.attr('class')) {
				case 'in-list':
					
					break;

				default:
					break;
			}
			lObj.after('Added to your <a href="'+sitePath+'/WishList.asp">Wishlist</a>');
			lObj.remove();
			$(this).remove();
		});
	}, 'json');

	return false;
}

var showTimeout = null;
function showMiniBasket(products) {
	var bObj = $('#mini-basket');
    if (bObj.is(':visible')) {
        hideMiniBasket(function(){
            showMiniBasket(products);
        });
        return;
    }

	var htm = '';
	$.each(products, function(i, p){
		htm +='<table cellpadding="3" cellspacing="0">'
			+	'<tr valign="top">'
			+		'<td><img src="'+p.imgsrc+'" alt=""/></td>'
			+		'<td><a href="'+p.link+'">'+p.name+'</a>'
			+			'<div style="padding-top: 5px">'
			+				'#<span>'+p.sku+'</span><br/>'
			+				'Price: <strong class="price-18">'+p.price+'</strong>'
			+			'</div>'
			+		'</td>'
			+	'</tr>'
			+ '</table>';
	});
    $('#mini-basket-product').html(htm);

	var wObj = $(window);
	bObj.css({
		'top': (wObj.height() - bObj.height()) / 2 + wObj.scrollTop() + 'px',
		'left': (wObj.width() - bObj.width()) / 2 + wObj.scrollLeft() + 'px'
	}).slideDown(function(){
		if (showTimeout) clearTimeout(showTimeout);
		showTimeout = setTimeout(hideMiniBasket, 5000);
	});
}
function hideMiniBasket(callback) {
	var bObj = $('#mini-basket');
    if (bObj.is(':hidden')) {
		if (typeof (callback) == 'function') {
			callback();
		}
        return false;
    }

	if (typeof (callback) == 'function') {
		bObj.slideUp(callback);
	}
	else {
		bObj.slideUp();
	}
	return false;
}

function getAnchor() {
	var parts = window.location.href.split("#");
	if (parts.length < 2) {
		return '';
	}
	return parts[1];
}

function submitF(id) {
	$('#'+id).submit();
	return false;
}

$(function(){
	$('.free-shipping img').mouseover(function(){
		var tObj = $(this).parent().find('div.free-shipping-content');
		tObj
			.css({
				left: '-'+(tObj.width() + 5)+'px',
				top: '-'+(tObj.height()/2 - $(this).height()/2)+'px'
			})
			.show();
	}).mouseout(function(){
		$(this).parent().find('div.free-shipping-content').fadeOut();
	});

	$('.warranty-link').mouseover(function(){
		var tObj = $('.warranty-content');
		tObj
			.css({
				left: '-'+(tObj.width() + 5)+'px',
				top: '-'+(tObj.height()/2 - $(this).height()/2)+'px'
			})
			.show();
	}).mouseout(function(){
		$('.warranty-content').fadeOut();
	});

	$('.p_attr-help')
		.mouseover(function(){
			$(this).parent().find('.p_attr-helptext').fadeIn();
		})
		.mouseout(function(){
			$(this).parent().find('.p_attr-helptext').hide();
		});
});

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if (isNaN(num)) num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num * 100 + 0.50000000001);
	cents = num % 100;
	num = Math.floor(num / 100).toString();
	if (cents < 10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
		num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
	return ((sign) ? '' : '-') + '$' + num + '.' + cents;
}

