// JavaScript functions for JRC

// Get object by id
function get(id) {
	return (document.getElementById) ? document.getElementById(id) : document.all[id];
}

// generic image preload 
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

// Preload images
function preloadImages() {

	if (document.images) {
		totalImages = preloadImages.arguments.length;
		pic = new Array(totalImages);
		for(var i=0; i<totalImages; i++) {
			pic[i] = newImage(preloadImages.arguments[i]);
		}

	}
}

// **************************************************************************************************************************************
// Scripts for Registration Page Starts Here
// **************************************************************************************************************************************

// *** Adds instructions
function instruc(mydiv,myinstruct) {
document.getElementById(mydiv).innerHTML = "<font size='-2'>" + myinstruct + "</font>";
} // end function

function instruc1(mydiv,myinstruct) {
var Mydivs = new Array("usercell","passcell","pass2cell","frstcell","lastcell","emailcell","phonecell","compcell");
	for (var i=0; i<8; i++) {
	instruc(Mydivs[i]," ");
	}
document.getElementById(mydiv).innerHTML = "<br><br><font size='-2'>" + myinstruct + "</font>";
} // end function


// *** Form Validation
function MatchingFormats(str,myformat) {
var userformat = myformat;
	if (userformat.test(str)) {
	return false
	} else {
	 return true
	}
} // end function

function ValidateIt() {
registerform.accesstype.value = "passed";
registerform.phone.value = "";
	if (registerform.areacode.value > "" | registerform.phone1.value > "" | registerform.phone2.value > "") {
	registerform.phone.value = "(" + registerform.areacode.value + ") " + registerform.phone1.value + "-" + registerform.phone2.value + "";
	}

var Myelems = new Array(registerform.username,registerform.pass,registerform.pass2,registerform.firstname,registerform.lastname,registerform.email,registerform.company,registerform.areacode,registerform.phone1,registerform.phone2);
	for (var i=0; i<10; i++) {
	Myelems[i].style.backgroundColor = "#FFFFFF"
	}

var Mydivs = new Array("usercell","passcell","pass2cell","frstcell","lastcell","emailcell","phonecell","compcell");
	for (var i=0; i<8; i++) {
	instruc(Mydivs[i]," ");
	}

var myformat1 = /[a-z0-9]{6}/ ;
var myformat2 = /[A-z]/;
var myformat3 = /[0-9]/;
var myformat4 = /[A-z0-9-]{6}/ ;
var myformat5 = /[A-z]{3}/ ;
var myformat6 = /[a-z0-9-.]{1,30}@[a-z0-9-.]{1,30}.(com|us|net|org)/ ;
var myformat7 = /\([0-9]{3}\) [0-9]{3}-[0-9]{4}/ ;

if (MatchingFormats("" + registerform.username.value + "", myformat1)) {
	registerform.username.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
	instruc('usercell','That is not a valid username')
	} if (MatchingFormats("" + registerform.pass.value + "", myformat2) | MatchingFormats("" + registerform.pass.value + "", myformat3) | MatchingFormats("" + registerform.pass.value + "", myformat4)) {
	registerform.pass.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
    registerform.pass2.value="";
	registerform.pass2.style.backgroundColor = "#FFCCCC";
	instruc('passcell','That is not a valid password')
	} if (registerform.pass2.value != registerform.pass.value) {
	registerform.pass2.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
    registerform.pass2.value="";
	instruc('pass2cell','This does not match the previous password');
	} if (MatchingFormats("" + registerform.firstname.value + "", myformat5)) {
	registerform.firstname.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
	instruc('frstcell','A first name must be provided');
	} if (MatchingFormats("" + registerform.lastname.value + "", myformat5)) {
	registerform.lastname.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
	instruc('lastcell','A last name must be provided');
	} if (MatchingFormats("" + registerform.email.value + "", myformat6)) {
	registerform.email.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
	instruc('emailcell','This is not a valid email format');
	} if (MatchingFormats("" + registerform.phone.value + "", myformat7)) {
	registerform.areacode.style.backgroundColor = "#FFCCCC";
	registerform.phone1.style.backgroundColor = "#FFCCCC";
	registerform.phone2.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
	instruc('phonecell','Please use this format (999) 999-9999');
	} if (MatchingFormats("" + registerform.company.value + "", myformat5)) {
	registerform.company.style.backgroundColor = "#FFCCCC";
	registerform.accesstype.value = "failed";
	registerform.MM_insert.value = "";
	instruc('compcell','A company name must be provided');
}

SubmitIt()
} // end function

// ** Form submittal
function SubmitIt() {
	if (registerform.elements["accesstype"].value == "passed") {
    	registerform.MM_insert.value = "registerform";
		registerform.submit();
	} else {
//	registerform.elements["username"].select()
	}
}// end function

// **************************************************************************************************************************************
// End Registration Scripts
// **************************************************************************************************************************************