// --------------------------------------------------------------------------
// Copyright © 1999-2010 KB Group (UK) Ltd.  All Rights Reserved.
// www.kbgroupuk.com
// --------------------------------------------------------------------------
// Amendments:
//
// Date			By	Description
// --------		--	----------------------------------------------------------
//  02/06/08	SK	Created common.js
// --------------------------------------------------------------------------

// --------------------------------------------------------------------------
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 cardDate(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(strCheck, iMinLen, iMaxLen, strRegExp, strCheckRangeChars, strCheckChars) {

var len = strCheck.length;
if (len < iMinLen || len > iMaxLen)
	return false;

if (len) {
	if (window.RegExp) {
		var regExp = new RegExp(strRegExp, "i");
		if(!regExp.test(strCheck))
			return false;
	}
	else {
		var rangeLen = strCheckRangeChars.length;
		var checkLen = strCheckChars.length;

		var checkChar, numRangeCharsLeft, testCh1, testCh2, boolValidChar;
		for (var i = 0; i < len; i++) {
			checkChar = strCheck.charAt(i);
			numRangeCharsLeft = rangeLen;
			boolValidChar = false;

			while (numRangeCharsLeft) {
				testCh1 = strCheckRangeChars.charAt(numRangeCharsLeft - 2);
				testCh2 = strCheckRangeChars.charAt(numRangeCharsLeft - 1);
				if (testCh1 <= checkChar && testCh2 >= checkChar) {
					boolValidChar = true;
					break;
				}
				numRangeCharsLeft -= 2;
			}
			if (!boolValidChar && checkLen && (strCheckChars.indexOf(checkChar) != -1))
					boolValidChar = true;

			if (!boolValidChar)
				return false;
		}
	}
}
return true;
}

// -------------------------------------------------------------------------
String.prototype.trim = function () {
	return this.replace(/^\s+|\s+$/g, '');
}

// -------------------------------------------------------------------------
function isEmail(email) {

if (window.RegExp) {
	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 false;
}
else {
	var invalidChars = " /;,:#!$^&*()+";
	var len = invalidChars.length;
	var badChar;
	for (var i = 0; i < len; i++) {
		badChar = invalidChars.charAt(i);
		if (email.indexOf(badChar,0) > -1)
			return false;
	}

	var atPos = email.indexOf("@",1)

	if (atPos == -1 || email.indexOf("@", atPos+1) != -1)
		return false;

	var periodPos = email.indexOf(".",atPos)
	if (periodPos == -1 || (atPos + 2) > periodPos || (periodPos + 3) > email.length)
		return false;
}
return true;
}

// --------------------------------------------------------------------------
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;
}

return window.open(url, name, str);
}

// --------------------------------------------------------------------------
function clickBack() {

history.go(-1);
}

// --------------------------------------------------------------------------
function showHideDiv(div, visibility) {

if (document.all)
	document.all[div].style.visibility = visibility;
else if (document.getElementById)
	document.getElementById(div).style.visibility = visibility;
}

// --------------------------------------------------------------------------
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");
	}
}
}