String.prototype.trim = function() {
    a = this.replace(/^\s+/, '');
    return a.replace(/\s+$/, '');
};

function addImgSwapLinks()
{
	if (div = document.getElementById('contactpics'))
	{
		var imgs = div.getElementsByTagName('img');
		var i = 0;
		while (img = imgs[i])
		{
			if (img.id != 'big')
			{
				img.style.cursor = 'pointer';
			}
			img.onclick = contactImgClick;
			i++;
			img.order = i;
		}
	}
}

var contactImgClick = function()
{
	if (this.id != 'big')
	{
		this.style.cursor = 'default';
		var big = document.getElementById('big');
		big.id = '';
		big.style.cursor = 'pointer';
		this.id = 'big';
	}
}

$(function() {
	addImgSwapLinks();
	$("a.aboutimglink").click(function(event) {
		event.preventDefault();
		window.open(this.href, "boffinsphotos", "scrollbars=yes,menubar=yes,toolbar=yes,location=yes,width=800,height=600,resizable=yes").focus();
	});

	$('#mainsearch input.text').focus(function() {
		if (this.value == 'title, keyword, author or ISBN') {
			$(this).css('color', '#000').val('');
		}
	}).blur(function() {
		if (this.value == '') {
			$(this).css('color', '#aaa').val('title, keyword, author or ISBN');
		}
	}).blur();
	
	function backToColour() {
		$('img.cclogo').attr('src', function() {
			return $(this).data('colour_img');
		});
	}
	$('img.cclogo').each(function() {
		$(this).data('bw_img', this.src.substring(0, this.src.indexOf('_colour.jpg')) + '_bw.jpg');
		$(this).data('colour_img', this.src);
		
	});

	$('#checkout input[name=CCNO]').keyup(function() {
		if (this.value.length >= 4) {
			var cc = checkCC(this.value);
			if (cc != false) {
				var that = $('#' + (cc + '_logo'));
				that.attr('src', '/images/' + cc + '_colour.jpg');
				that.siblings().each(function() {
					this.src = $(this).data('bw_img');
				});
			} else {
				backToColour();
			}
		} else {
			backToColour();
		}
	});

	$('#shippingselect').change(function() {
		$('#shippingupdate').click();
	});
	
	$('#hmas-perth-vertical-banner a').hover(function() {
		var src = this.firstChild.src;
		this.firstChild.src = src.substring(0, src.length - 4) + '_hover' + '.jpg';
	}, function() {
		var src = this.firstChild.src;
		this.firstChild.src = src.substring(0, src.length - 10) + '.jpg';
	});
});

function checkCC(number) {
	       if (number.match(/^3(4|7)/)) {
		return 'amex';
	} else if (number.match(/^3(6|0[0-5])/)) {
		return 'diners';
	} else if (number.match(/^(3|2131|1800)/)) {
		return 'jcb';
	} else if (number.match(/^5[1-5]/)) {
		return 'mc';
	} else if (number.match(/^4/)) {
		return 'visa';
	} else {
		return false;
	}
}