function confirmPasswords(pass1,pass2) {
	
	var match = document.getElementById('match');
	var pass1 = document.getElementById(pass1);
	var pass2 = document.getElementById(pass2);
	var savebutton = document.getElementById("Save");
	
	if (pass1.value != pass2.value) {
		match.innerHTML = '<span style="color:red">No match</span>';
		savebutton.className = "button";
		savebutton.disabled = "true";
		return false;
	} else {
		match.innerHTML = '<span style="color:green">Confirmed</span>';
		savebutton.className = "button";
		savebutton.disabled = "";
		return true;
	}
}

function passwordChanged(pwd) {
	var strength = document.getElementById('strength');
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	var pwd = document.getElementById(pwd);
	
	if (pwd.value.length==0) {
		strength.innerHTML = '<span style="color:red">6 characters min</span>';
	} else if (false == enoughRegex.test(pwd.value)) {
		strength.innerHTML = '<span style="color:blue">more characters</span>';
	} else if (strongRegex.test(pwd.value)) {
		strength.innerHTML = '<span style="color:green">Strong</span>';
	} else if (mediumRegex.test(pwd.value)) {
		strength.innerHTML = '<span style="color:orange">Medium</span>';
	} else {
		strength.innerHTML = '<span style="color:red">Weak</span>';
	}
}

function cleanText(fld) {
	 var fld = document.getElementById(fld);
     fld.value=filterNum(fld.value);
     function filterNum(str) {
          re = /\$|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\?|\||\\|\!|\$/g;
          // remove special characters like "$" and "," etc...
          return str.replace(re, "");
     }
}

function checkUsername(username,userid) {  
  userid = typeof(userid) != 'undefined' ? userid : '';
  cleanText(username);
  var savebutton = document.getElementById("Save");
  var username = document.getElementById(username);
  var userConflict = document.getElementById('userConflict');
  var submitLink = '/ajax/checkUsername.cfm?Username=' + username.value + '&UserID=' + userid + '&u_id=' + getUniqueId();

  http.open("GET", submitLink, false);  
  http.send(null);	  
  var status = http.responseText;  
  
  if (status == 'taken') {
  	alert('Username "' + username.value + '" already in use.');
	username.value='';
	username.focus;
  }
}

function checkCaptcha(key,encryted) {  

  var keyField = document.getElementById(key);
  
  var encrytedField = document.getElementById(encryted);
 
  var submitLink = '/ajax/checkCaptcha.cfm?key=' + keyField.value + '&encryted=' + encrytedField.value + '&u_id=' + getUniqueId();

  http.open("GET", submitLink, false);  
  http.send(null);	  
  var status = http.responseText;  
  
  if (status == 'nomatch') {
  	alert('Security key does not match.');
	keyField.value='';
	keyField.focus;
	return false;
  }
}

function validateRegion(form) {
	var form = document.getElementById(form);
	if (form.RegionID.value == '') {
		alert('Please select a region');
		form.RegionID.focus();
		return false;
	}
	return true;
}

function validateInfoType(form) {
	var form = document.getElementById(form);
	if (form.InformationTypeID.value == '') {
		alert('Please select a type');
		form.InformationTypeID.focus();
		return false;
	}
	return true;
}

function getUniqueId()
{
     var dateObject = new Date();
     var uniqueId =
          dateObject.getFullYear() + '' +
          dateObject.getMonth() + '' +
          dateObject.getDate() + '' +
          dateObject.getTime();
     return uniqueId;
}

function validateEmailList(form_id,emailList) {
   var arrEmails = document.forms[form_id].elements[emailList].value.split( "," );
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;   
   for (i=0;i<arrEmails.length;i++) {
      if (reg.test(arrEmails[i]) == false) {
		  alert(arrEmails[i] + 'is not a valid email address');
		  return false;
		  break;
	  }
   }
   return true;
}


function getHttpRes() {
  if (http.readyState == 4) { 
    res = http.responseText;  // These following lines get the response and update the page
	alert(http.responseText);
  }
}

function getXHTTP() {
  var xhttp;
   try {   // The following "try" blocks get the XMLHTTP object for various browsers…
      xhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {
 		 // This block handles Mozilla/Firefox browsers...
	    try {
	      xhttp = new XMLHttpRequest();
	    } catch (e3) {
	      xhttp = false;
	    }
      }
    }
  return xhttp; // Return the XMLHTTP object
}
var http = getXHTTP(); // This executes when the page first loads.
