
var isns6=document.getElementById&&!document.all;

var digits = "0123456789";
var allLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
var whitespace = " \t\n\r";
var numberDelimiters = ",.";
var phoneNumberDelimiters = "+()- ";
var emailCharacters = "@._-";
var zipCharacters = "-";
var dateCharacters = "/- ";
var validPhoneNumber = digits + phoneNumberDelimiters;
var validString = allLetters + digits;
var validEmail = allLetters + digits + emailCharacters;
var validNumbers = digits + numberDelimiters;
var validZip = digits + zipCharacters;
var validDate = digits + dateCharacters;
var validIssue = allLetters + digits + dateCharacters;

var mCNum = "\nThe Customer Number";
var mUName = "\nThe Username";
var mPassw = "\nThe Password";
var mEmail = "\nThe E-mail address";
var mIncorrect = " is incorrect.";
var mThis = "\nThis field";
var mForced = " has to be filled.";
var mCount = " has to be at least 6 characters long (Letters and/or Numbers only).";

function rnd() {
	rnd.seed = (rnd.seed * 9301 + 49297) % 233280;
	return rnd.seed/(233280.0);
}
				
function rand(n) {
	return Math.ceil(rnd()*n);
}
				
function encrypt(s) {
	var sResult = "";
	var nNumb;
		
	rnd.today = new Date();
	rnd.seed = rnd.today.getTime();
		
	var nIni = rand(26);
	rnd.seed = nIni;
	sResult = String.fromCharCode(nIni+64);
		
	for (var i=0;i<s.length;i++) {
		nIni = rand(26)+97;
		nNumb = s.charCodeAt(i);
		nNumb = (nNumb ^ nIni) + 64;
		sResult += String.fromCharCode(nNumb);
	}
	return sResult;
}
				
function decrypt(s) {
	var sResult = "";
	var nNumb, nIni;
		
	rnd.today = new Date();
	rnd.seed = s.charCodeAt(0);
		
	for (var i = 1; i < s.length; i++) {
		nIni = rand(26)+97;
		nNumb = s.charCodeAt(i)-64;
		nNumb = nNumb ^ nIni;
		sResult += String.fromCharCode(nNumb);
	}
	return sResult;
}

function chkInput(vElement,vLimit,vValid,e) {
  if ( window.event && event.srcElement.value.length >= vLimit ) {
		vElement.value = vElement.value.substring(0,vLimit);
		return false;
  }
  if ( vValid.length > 0) {
		if ( vValid.indexOf(String.fromCharCode(e.keyCode),0) == -1 ) return false;
	}
}
			
function setLimiter(vElement,vLimit, vValid) {
  if (document.all) {
    eval(vElement).onkeypress=function(){ return chkInput(vElement,vLimit,vValid,event) };
  } else if (isns6) {
    document.body.addEventListener('keypress', function(event) { chkInput(vElement,vLimit,vValid,event) }, true);
  }
}

function isEmailOk(what)	{
  if ( what.value.indexOf('@',0)==-1 || what.value.indexOf('@',0)== 0 || what.value.indexOf('.',0)==-1 ) return false;
	return true;
}

function isEmpty(s) {
	return ((s == null) || (s.length == 0))
}

function isWhitespace(s) {
	var i;
	if ( isEmpty(s) ) return true;
  for (i = 0; i < s.length; i++)	{
		var c = s.charAt(i);
		if ( whitespace.indexOf(c) == -1 ) return false;
  }
  return true;
}

function isStringOk(s, sValid)	{
	var i;
	if ( isWhitespace(s) ) return false;
  for (i = 0; i < s.length; i++)	{
    var c = s.charAt(i);
    if ( sValid.indexOf(c) == -1 ) return false;
  }
	return true;
}

function isValueOk(s, sValid)	{
	var i;
	if ( isWhitespace(s) ) return true;
  for (i = 0; i < s.length; i++)	{
    var c = s.charAt(i);
    if ( sValid.indexOf(c) == -1 ) return false;
  }
	return true;
}

function countDigits(s)	{
	var i, count;
	count=0;
	if ( isWhitespace(s) ) return count;
  for (i = 0; i < s.length; i++)	{
    var c = s.charAt(i);
    if ( digits.indexOf(c) >= 0 ) count++;
  }
	return count;
}

function isZipOk(s) {
	var i;
	if ( isWhitespace(s) ) return false;
  if ( s.indexOf('-',0) != 4 ) return false;
	if (s.length < 8) return false;
	return true;
}

function isCustLogOk(what) {
	if ( what.username.value.length < 6 ) {
		alert(mUName+mForced+mThis+mCount);
		what.username.focus();
		return false;
	}
	if ( what.password.value.length < 6) {
		alert(mPassw+mForced+mThis+mCount);
		what.password.value="";
		what.password.focus();
		return false;
	}
	return true;
}

function isCustRegOk(what) {


	if ( isWhitespace(what.custnum.value) ) {
		alert(mCNum+mForced);
		what.custnum.focus();
		return false;
	}
	if ( what.username.value.length < 6 ) {
		alert(mUName+mForced+mThis+mCount);
		what.username.focus();
		return false;
	}
	if ( what.password.value.length < 6) {
		alert(mPassw+mForced+mThis+mCount);
		what.password.value="";
		what.password.focus();
		return false;
	}
	else
	{
		what.passwrd.value = encrypt(what.password.value)
	}
	if ( !isEmailOk(what.email) ) {
		alert(mEmail+mIncorrect+mThis+mForced);
		what.email.focus();
		return false;
	}
	
	return true;
}

function submitCustLog() {
//	var what = document.forms("custlog");
	var what = document.custlog;
	if ( isCustLogOk(what) ) {
		what.password.value = encrypt(what.password.value);
		what.submit();
	}
}

function submitCustReg() {
//	var what = document.forms("custreg");
	var what = document.custreg;
	if ( isCustRegOk(what) ) what.submit();
}

function sendPassword() {
//	var what = document.forms("custlog");
	var what = document.custlog;
	if ( what.username.value.length < 6 ) {
		alert(mUName+mForced+mThis+mCount);
		what.username.focus();
	} else {
		what.action = "../scripts/custspw.asp";
		what.submit();
	}
}
