// JavaScript Document

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function popWinClear(url,ht) {
	strFeatures = "location=0,menubar=0,resizable=0,scrollbars=0,height=" + ht + ",width=380";
	window.open(url, "popWinClr", strFeatures);
}

function redirectMainWin(url) {
	strFeatures = "location=1,menubar=1,resizable=1,scrollbars=1,height=600,width=800";
	window.open(url, 'newCustodianWin', strFeatures);
	window.close();	
}


function popWin(url) {
	strFeatures = "location=0,menubar=0,resizable=1,scrollbars=1,height=400,width=380";
	window.open(url, "popWin", strFeatures);
}

function changeFullSizeImg(imgpath) {
	document.getElementById('fsImage').src=imgpath;	
}

function emailValidate (emailStr) {
	var emailPattern=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPattern=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + "+"
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPattern)
	var msg='';
	if (emailStr == ''){
		return true;
	} else {
		if (matchArray==null) {
			//email address is not in a valid format.
			return false;
		}
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		//The username does not seem to be valid.
		return false;
	}
	var IPArray=domain.match(ipDomainPattern)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//Destination IP address is invalid.
				return false;
			}
		}
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//The domain name does not seem to be valid.
		return false;
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2) {
		//The E-mail address must end in a three-letter domain, or two letter country.
		return false;
	}
	if (len<2) {
 		//This E-mail address is missing a hostname.
		return false;
	}
	// else return true;
	return true;
		
}


// RANDOM TEXT GENERATOR
function rand(n) {
  return (Math.floor(Math.random()*n+1));
}

function randomTextGenerator(formName) {
	var frm = formName;
	var consts = new Array ();
		consts[0]='b'; consts[1]='c'; consts[2]='d'; consts[3]='g'; consts[4]='k'; consts[5]='m'; consts[6]='n';
		consts[7]='p'; consts[8]='r'; consts[9]='s'; consts[10]='B'; consts[11]='C'; consts[12]='D'; consts[13]='G';
		consts[14]='K'; consts[15]='M'; consts[16]='N'; consts[17]='P'; consts[18]='R'; consts[19]='S';
	var vowels = new Array ();
	  	vowels[0]='a'; vowels[1]='e'; vowels[2]='i'; vowels[3]='o'; vowels[4]='u'; vowels[5]='A'; vowels[6]='E'; vowels[7]='U';
	var randtext = '';
  	for (x=0; x < 3; x++) {
		randtext += consts[rand(20)-1];
		randtext += vowels[rand(8)-1];
  	}
	frm.randomText.value = randtext;
	document.getElementById("rText").innerHTML = '<B>' + randtext + '</B>';
}

function chkRand(formName) {
	var frm = formName;
	if(!frm.randomText2.value.length) {
		alert("You must enter the random security text exactly as it appears on the screen.");
		frm.randomText2.focus();
		return false;
	} else if(frm.randomText2.value != frm.randomText.value) {
		alert("You must enter the random security text exactly as it appears on the screen.");
		frm.randomText2.focus();
		return false;
	} else {
		return true;
	}
}
// end random text generator

function validateBlogComments() {
	var emailStr=document.frmBlogComments.postedByEmail.value;
	var commentsStr=document.frmBlogComments.content.value;
	var errmsg='';
	if(!emailValidate(emailStr)) {
		errmsg += 'Please enter a valid email address.\n';
	}
	if(!commentsStr.length) {
		errmsg += 'Please enter your comments.\n';
	}
	if(errmsg.length) {
		alert(errmsg);
		return false;
	} else {
		return true;
	}
}

function validateSubscriptions() {
	var emailStr=document.frmMLSubscriptions.subscrierEmail.value;
	var errMsg = '';
	if(!emailValidate(emailStr)) {
		errmsg += 'Please enter a valid email address.\n';
	}
	if(errmsg.length) {
		alert(errmsg);
		return false;
	} else {
		return true;
	}
}


function registerForm() {
	var emailStr=document.frmRegisterForums.username.value;
	var fname=document.frmRegisterForums.firstName.value;
	var lname=document.frmRegisterForums.lastName.value;
	var pword=document.frmRegisterForums.password.value;
	var pword2=document.frmRegisterForums.password2.value;
	var errmsg='';
	if(!fname.length) {
		errmsg += 'Please enter your first name.\n';
	}
	if(!emailValidate(emailStr)) {
		errmsg += 'Please enter a valid email address.\n';
	}
	if(pword.length < 6) {
		errmsg += 'Please enter a password at least six characters long.\n';
	}
	if(pword.value != pword2.value) {
		errmsg += 'Your password and password confirmation must match exactly.  Fields ARE case sensitive.\n';
	}
	if(errmsg.length) {
		alert(errmsg);
		return false;
	} else {
		return true;
	}
}

function addressSame() {
	var form=document.frmRegister;
	var box=form.sameAsBilling;
	if(box.checked) {
		form.ship_address1.value=form.bill_address1.value;
		form.ship_address2.value=form.bill_address2.value;
		form.ship_city.value=form.bill_city.value;
		form.ship_stateID.value=form.bill_stateID.value;
		form.ship_zip.value=form.bill_zip.value;
		form.ship_countryID.value=form.bill_countryID.value;
	} else {
		form.ship_address1.value='';
		form.ship_address2.value='';
		form.ship_city.value='';
		form.ship_stateID.options[form.ship_stateID.selectedIndex].value = form.bill_stateID.options[form.bill_stateID.selectedIndex].value;
		form.ship_zip.value='';
		form.ship_countryID.options[form.ship_countryID.selectedIndex].value = form.bill_countryID.options[form.bill_countryID.selectedIndex].value;
	}
}

function validateRegisterCart() {
	var form=document.frmRegister;
	var errmsg='';
	if(!form.firstName.value.length) {
		errmsg += 'Please enter your first name.\n';
	}
	if(!form.lastName.value.length) {
		errmsg += 'Please enter your last name.\n';
	}
	if(!form.username.value.length || !emailValidate(form.username.value)) {
		errmsg += 'Please enter a valid email address.\n';
	}
	if(form.pword.value.length < 6) {
		errmsg += 'Please enter a password at least six characters long.\n';
	}
	if(form.pword.value != form.pword2.value) {
		errmsg += 'Your password and password confirmation must match exactly.  Fields ARE case sensitive.\n';
	}
	if(!form.bill_address1.value.length) {
		errmsg += 'Please enter your billing street address.\n';
	}
	if(!form.bill_city.value.length) {
		errmsg += 'Please enter your billing city.\n';
	}
	if(form.bill_stateID.value == 0 && form.bill_countryID.value == 1) {
		errmsg += 'Please select your billing state, if you live in the United States.\n';
	}
	if(!form.bill_zip.value.length) {
		errmsg += 'Please enter your billing zip/postal code.\n';
	}
	if(form.bill_countryID.value == 0) {
		errmsg += 'Please select your billing country.\n';
	}
	if(!form.ship_address1.value.length) {
		errmsg += 'Please enter your shipping street address.\n';
	}
	if(!form.ship_city.value.length) {
		errmsg += 'Please enter your shipping city.\n';
	}
	if(form.ship_stateID.value == 0 && form.ship_countryID.value == 1) {
		errmsg += 'Please select your shipping state, if you live in the United States.\n';
	}
	if(!form.ship_zip.value.length) {
		errmsg += 'Please enter your shipping zip/postal code.\n';
	}
	if(form.ship_countryID.value == 0) {
		errmsg += 'Please select your shipping country.\n';
	}
	if(errmsg.length) {
		alert(errmsg);
		return false;
	} else {
		return true;
	}
}

function validateShipAddr() {
	var form=document.frmShipAddr;
	var errmsg='';
	if(!form.firstName.value.length) {
		errmsg += 'Please enter your first name.\n';
	}
	if(!form.lastName.value.length) {
		errmsg += 'Please enter your last name.\n';
	}
	if(!form.ship_address1.value.length) {
		errmsg += 'Please enter your shipping street address.\n';
	}
	if(!form.ship_city.value.length) {
		errmsg += 'Please enter your shipping city.\n';
	}
	if(form.ship_stateID.value == 0 && form.ship_countryID.value == 1) {
		errmsg += 'Please select your shipping state, if you live in the United States.\n';
	}
	if(!form.ship_zip.value.length) {
		errmsg += 'Please enter your shipping zip/postal code.\n';
	}
	if(form.ship_countryID.value == 0) {
		errmsg += 'Please select your shipping country.\n';
	}
	if(errmsg.length) {
		alert(errmsg);
		return false;
	} else {
		return true;
	}
}

function loginForm() {
	var emailStr=document.frmForumLogin.username.value;
	var errmsg='';
	if(!emailValidate(emailStr)) {
		errmsg += 'Please enter a valid email address.\n';
	}
	if(errmsg.length) {
		alert(errmsg);
		return false;
	} else {
		return true;
	}
}

function lostPwordForm() {
	var emailStr=document.frmForumLostPword.username.value;
	var errmsg='';
	if(!emailValidate(emailStr)) {
		errmsg += 'Please enter a valid email address.\n';
	}
	if(errmsg.length) {
		alert(errmsg);
		return false;
	} else {
		return true;
	}
}