// --------------------------------------------------------------------------
// Copyright © 1999-2011 KB Group (UK) Ltd.  All Rights Reserved.
// www.kbgroupuk.com
// --------------------------------------------------------------------------
// Amendments:
//
// Date			By	Description
// ---------	--	---------------------------------------------------------
// 07/04/10		AK	Upgraded isValidText function
// 24/12/06		SK	Upgraded keypress detection routines
// 20/09/05		AK	Rewrote form validation routines
// --------------------------------------------------------------------------

// --------------------------------------------------------------------------
function NumericOnly(e) {

	if (!e)
		e = window.event;

	var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	// backspace = 8, delete = 46,<- = 37, -> = 39, 9 = tab
	if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46 && keyCode != 37 && keyCode != 39 && keyCode != 9) {
		if (document.all)
			keyCode = 0;
		return false;
	}
	return true;
}

// --------------------------------------------------------------------------
function NumericSpOnly(e) {

	if (!e)
		e = window.event;

	var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;

	if ((keyCode < 48 || keyCode > 57) && keyCode != 32 && keyCode != 8 && keyCode != 46 && keyCode != 37 && keyCode != 39 && keyCode != 9) {
		if (document.all)
			keyCode = 0;
		return false;
	}
	return true;
}

// --------------------------------------------------------------------------
function CreditCardDate(e) {

	if (!e)
		e = window.event;

	var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	// backspace = 8, delete = 46,<- = 37, -> = 39, 47 = /
	if ((keyCode < 48 || keyCode > 57) && keyCode != 47 && keyCode != 8 && keyCode != 46 && keyCode != 37 && keyCode != 39 && keyCode != 9) {
		if(document.all)
			keyCode = 0;
		return false;
	}
	return true;
}

// -------------------------------------------------------------------------
function isValidText(field, iMinLen, iMaxLen, regexp) {

	var strCheck, len;
	field.value = strCheck = field.value.trim();
	len = strCheck.length;
	if ((len >= iMinLen && len <= iMaxLen) && (!len || regexp.test(strCheck)))
		return true;
	return false;
}

// --------------------------------------------------------------------------
function isEmail(email) {

	var regExp = /^\w[\.\-_'\w]*@\w(\.?[-\w])*\.([a-z]{3,4}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2,4})?)$/i;
	if (regExp.test(email))
		return true;
	return false;
}

// -------------------------------------------------------------------------
String.prototype.trim = function () {

	return this.replace(/^\s+|\s+$/g, '');
}

// --------------------------------------------------------------------------
function launchCenter(url, name, height, width, vscroll) {

	var str = "height=" + height + ",innerHeight=" + height;
	str += ",width=" + width + ",innerWidth=" + width;

	if (window.screen) {
		var ah = screen.availHeight - 30;
		var aw = screen.availWidth - 10;

		var xc = (aw - width) / 2;
		var yc = (ah - height) / 2;

		str += ",left=" + xc + ",screenX=" + xc;
		str += ",top=" + yc + ",screenY=" + yc;

		str += ",scrollbars=" + vscroll;
		str += ",resizable=yes";
	}
	return window.open(url, name, str);
}

// --------------------------------------------------------------------------
function clickBack() {

	// Detect the browser because the back command is different for the different browsers
	var bName = navigator.appName;
	var bVer = parseInt(navigator.appVersion);
	var NS4 = (bName == "Netscape" && bVer >= 4);
	var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4);

	if (NS4) {
		// load browser specific code to go back
		history.go(-1);
	}
	else {
		// Internet Explorer 4.0+
		history.back();
	}
}

// --------------------------------------------------------------------------
function changeImages() {

	// Change the mouseover image
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = eval(changeImages.arguments[i+1] + ".src");
		}
	}
}
