/**
 * @author AugmentJ, LLC
 */
//new images to load

var cms_return_results_to = 'cms_view';







function urlEncodeCharacterReplace(value){
	value = value.replace(/#/g,'%23');
	value = value.replace(/&/g,'%26');
	value = value.replace(/[+]/g,'%2b');
	
	return value;
}


function changeHeight(id,h_02){
	if(document.getElementById(id).style.height=="auto"){
		document.getElementById(id).style.height=h_02;
		document.getElementById(id).style.visibility="hidden";
	}else{
		document.getElementById(id).style.visibility="visible";
		document.getElementById(id).style.height="auto";
	}
}


function createNewWindow(URL,target,myevent,width,height,sb,tb,rs,loc,dir,st,mb,ch){
	bname = navigator.appName;
	
	
	if(bname=="Microsoft Internet Explorer" || bname=="IE"){
		var x=(myevent.screenX+100);
		var y=(myevent.screenY-200);
	}else if(bname=="Netscape" || bname=="Mozilla Firefox"){
		var x=(myevent.clientX+100);
		var y=myevent.clientY;
	}else{
		alert('unknown browser');
		var x=(myevent.clientX+100);
		var y=myevent.clientY;
	}
	
	var extrasForWindow='screenX='+x+',screenY='+y+',left='+x+',top='+y+',width='+width+',height='+height+',scrollbars='+sb+',toolbars='+tb+',resizable='+rs+',location='+loc+',directories='+dir+',status='+st+',menubar='+mb+',copyhistory='+ch;
	window.open(URL,target,extrasForWindow);
}



function reloadSizes(pID,size_type_id,display_result_area,result_message,error_message){
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
    var url = "script/ajax.php";
    url = url + "?q=reloadSizes&pID=" + pID + "&size_type_id=" + size_type_id + "&rm=" + result_message + "&em=" + error_message;
    url = url + "&sid=" + Math.random();
    
	
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area);
	};
}



function swapImage(id,img1,img2){
	if(document.getElementById(id).src==img1){
		document.getElementById(id).src=img2;
	}else{
		document.getElementById(id).src=img1;
	}
}

function changeProductGC(loc){
	document.location=loc;
}

function changeValue(id,valueOne,valueTwo){
	var myItem=document.getElementById(id).value;
	
	if(valueOne==myItem){
		this.document.getElementById(id).value=valueTwo;
	}
}

function enableFieldOnly(id){
	document.getElementById(id).disabled=false;
}
function disableFieldOnly(id){
	document.getElementById(id).disabled=true;
}

function disableField(id){
	if(document.getElementById(id).disabled==false){
		document.getElementById(id).disabled=true;
	}
	if(document.getElementById(id).disabled==true){
		document.getElementById(id).disabled=false;
	}
}

function disableFiveFields(id,id1,id2,id3,id4,id5){
	if(document.getElementById(id).checked==true){
		document.getElementById(id1).disabled=true;
		document.getElementById(id2).disabled=true;
		document.getElementById(id3).disabled=true;
		document.getElementById(id4).disabled=true;
		document.getElementById(id5).disabled=true;
	}else if(document.getElementById(id).checked==false){
		document.getElementById(id1).disabled=false;
		document.getElementById(id2).disabled=false;
		document.getElementById(id3).disabled=false;
		document.getElementById(id4).disabled=false;
		document.getElementById(id5).disabled=false;
	}
}

function toggleDisableTwoFields(id,id1,id2){
	if(document.getElementById(id).checked==true){
		document.getElementById(id1).disabled=true;
		document.getElementById(id2).disabled=true;
	}else if(document.getElementById(id).checked==false){
		document.getElementById(id1).disabled=false;
		document.getElementById(id2).disabled=false;
	}
}

function toggleEnableTwoFields(id,id1,id2){
	if(document.getElementById(id).checked==true){
		document.getElementById(id1).disabled=false;
		document.getElementById(id2).disabled=false;
	}else if(document.getElementById(id).checked==false){
		document.getElementById(id1).disabled=true;
		document.getElementById(id2).disabled=true;
	}
}

function eraseValueUnCheckBox (checkbox,id){
	
	if(document.getElementById(checkbox) == bill_contact_as_cus_contact){
		var x = "--Same As Above--";
	}else{
		var x = document.getElementById(id).defaultValue;
	}
	
	if (document.getElementById(checkbox).checked == false) {
		document.getElementById(id).value = "";
	}else if(document.getElementById(checkbox).checked == true){
		document.getElementById(id).value = x;
	}
}


function passwordsMatch(value1,value2,id){
	
	var x = document.getElementById(value1).value;
	var y = document.getElementById(value2).value;
	var passwordsMatch = document.getElementById('passwordsMatch');
	
	if(x==y){
		passwordsMatch.innerHTML = "<img src='images/style_01/pwd_strength_04.gif' style='border-width:0px;'>&nbsp;&nbsp;Passwords Match";
	}else{
		passwordsMatch.innerHTML = "<img src='images/style_01/pwd_strength_invalid.gif' style='border-width:0px;'>&nbsp;&nbsp;Passwords Don't Match";
	}
}

function toggleVisibilityAddress(street_address_id,city_id,state_id,zip_id,country_id,icon_id){
	if(
	(document.getElementById(street_address_id).value==document.getElementById(street_address_id).defaultValue) &&
	(document.getElementById(city_id).value == document.getElementById(city_id).defaultValue) &&
	(document.getElementById(state_id).value == document.getElementById(state_id).options[0].value) &&
	(document.getElementById(zip_id).value == document.getElementById(zip_id).defaultValue) &&
	(document.getElementById(country_id).value == document.getElementById(country_id).defaultValue)
	){
		hideImage(icon_id);
	}else{
		showImage(icon_id);
	}
}

function toggleVisibilityAddress2(street_address_id,street_address2_id,city_id,state_id,zip_id,country_id,icon_id){
	if(
	(document.getElementById(street_address_id).value==document.getElementById(street_address_id).defaultValue) &&
	(document.getElementById(street_address2_id).value == document.getElementById(street_address2_id).defaultValue) &&
	(document.getElementById(city_id).value == document.getElementById(city_id).defaultValue) &&
	(document.getElementById(state_id).value == document.getElementById(state_id).options[0].value) &&
	(document.getElementById(zip_id).value == document.getElementById(zip_id).defaultValue) &&
	(document.getElementById(country_id).value == document.getElementById(country_id).defaultValue)
	){
		hideImage(icon_id);
	}else{
		showImage(icon_id);
	}
}

function showImage(icon_id){
	document.getElementById(icon_id).style.visibility='visible';
}

function hideImage(icon_id){
	document.getElementById(icon_id).style.visibility='hidden';
}

function toggleVisibility(value1,value2,id){
	if(value1==value2){
		hideImage(id);
	} else {
		showImage(id);
	}
}

function toggleVisibilityHideUnequalValues(value1,value2,id){
	if(value1!=value2){
		hideImage(id);
	} else {
		showImage(id);
	}
}



function showPassword(id,id1){
	if (document.getElementById(id).type == 'password'){
		document.getElementById(id).type = 'text';
	}else if(document.getElementById(id).type == 'text'){
		document.getElementById(id).type = 'password';
	}
	if (document.getElementById(id1).type == 'password'){
		document.getElementById(id1).type = 'text';
	}else if(document.getElementById(id1).type == 'text'){
		document.getElementById(id1).type = 'password';
	}
}



function writeSelectValue(id,id1){
	var x= document.getElementById(id1).selectedIndex;
	var y= document.getElementsByTagName('option');
	var z= document.getElementById(id);
	z.innerHTML = '<input type="hidden" name="post_var_Za" value="'+y[x].value+'">&nbsp;&nbsp;'+ y[x].text;
}

function typeInputFieldValue(input,output){
	var x = document.getElementById(input).value;
	var xx = document.getElementById(output);
	
		xx.innerHTML = x;
}

function typeTwoInputFieldValuesCheckbox(checkbox,input1,input2,output1,output2){
	var x = document.getElementById(input1).value;
	var y = document.getElementById(input2).value;
	var xx = document.getElementById(output1);
	var yy = document.getElementById(output2);
	
	if (checkbox.checked==true){
		xx.innerHTML = x;
		yy.innerHTML = y;
	}else if(checkbox.checked==false){
		xx = '&nbsp;';
		yy = '&nbsp;';
	}
	
}

function paymentReceived(id){
	if(id.checked == true) {
		enableFieldOnly('purchase_order');
		enableFieldOnly('check');
		enableFieldOnly('credit_card');
	}else{
		disableFieldOnly('purchase_order');
		disableFieldOnly('check');
		disableFieldOnly('credit_card');
		hideImage('line_enter_number');
		hideImage('enter_number');
	}
}

function purchaseOrderSelected(id){
	if(id.checked==true){
		enableFieldOnly('enter_number'); 
		document.getElementById('payment_number').value='purchase_order_number'; 
		document.getElementById('pre_enter_number').innerHTML='P.O. Number:'; 
		document.getElementById('enter_number').value='';
		showImage('line_enter_number');
		showImage('enter_number');
	}
}

function checkOrderSelected(id){
	if(id.checked==true){
		enableFieldOnly('enter_number'); 
		document.getElementById('payment_number').value='check_number'; 
		document.getElementById('pre_enter_number').innerHTML='Check Number:';
		document.getElementById('enter_number').value=''; 
		showImage('line_enter_number'); 
		showImage('enter_number');
	}
}

function creditCardOrderSelected(id){
	if(id.checked==true){
		disableFieldOnly('enter_number'); 
		document.getElementById('payment_number').value='credit_card'; 
		document.getElementById('pre_enter_number').innerHTML='<a href=\'http://www.paypal.com\' target=\'_blank\'>Proceed to PayPal to process Payment</a>'; 
		document.getElementById('enter_number').value='yes';
		showImage('line_enter_number'); 
		hideImage('enter_number');
		
	}
}

function dbAddPivot2(table,column1,column2,value1,value2,result_message,error_message,display_result_area,attribute){
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
    var url = "script/ajax.php";
    url = url + "?q=dbAddPivot2&t=" + table + "&c1="+column1+"&c2="+column2 + "&v1="+value1+"&v2="+value2 + "&rm=" + result_message + "&em=" + error_message;
    url = url + "&sid=" + Math.random();
    
	
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	xmlHttp.onreadystatechange = function(){
		if(table=='piv_product_color' || table=='piv_product_size'){
			document.getElementById(display_result_area).style.backgroundColor = attribute;
			document.getElementById(display_result_area).style.backgroundColor = attribute;
			document.getElementById(display_result_area).blur=true;
		}else{
			stateChanged(display_result_area);
		}
		
	};
}

function dbDeleteRow(table,row_id,result_message,error_message,display_result_area,attribute){
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
    var url = "script/ajax.php";
    url = url + "?q=dbDeleteRow&t=" + table + "&r=" + row_id + "&rm=" + result_message + "&em=" + error_message;
    url = url + "&sid=" + Math.random();
    
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	xmlHttp.onreadystatechange = function(){
		if(table=='piv_product_color' || table=='piv_product_size'){
			document.getElementById(display_result_area).style.backgroundColor = attribute;
		}else{
			stateChanged(display_result_area);
		}
	};
	
}


function dbSwitchValidation(table,row_id,field_name,value,result_message,error_message,display_result_area){
	if(document.getElementById(display_result_area).innerHTML=='VERIFIED'){
		dbUpdateOneField(table,row_id,field_name,'no','UNVERIFIED',error_message,display_result_area);
	}else if(document.getElementById(display_result_area).innerHTML=='UNVERIFIED'){
		dbUpdateOneField(table,row_id,field_name,'yes','VERIFIED',error_message,display_result_area);
	}
}

function dbSwitchValue(table,row_id,field_name,value1,value2,result_message,error_message,display_result_area){
	if(document.getElementById(display_result_area).innerHTML==value1){
		dbUpdateOneField(table,row_id,field_name,value2,result_message,error_message,display_result_area);
	}else if(document.getElementById(display_result_area).innerHTML==value2){
		dbUpdateOneField(table,row_id,field_name,value1,result_message,error_message,display_result_area);
	}
}

function dbInsertMailingList(table,value_email,value_first_name,value_last_name,value_phone,result_message,error_message,display_result_area){
	value = urlEncodeCharacterReplace(value_email);
	value = urlEncodeCharacterReplace(value_first_name);
	value = urlEncodeCharacterReplace(value_last_name);
	value = urlEncodeCharacterReplace(value_phone);
	result_message = urlEncodeCharacterReplace(result_message);
	
	xmlHttp = GetXmlHttpObject();

    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    var cms_return_results_to = display_result_area;
    var url = "script/ajax.php";
    url = url + "?q=dbInsertMailingList&t=" + table + "&ve=" + value_email + "&vf=" + value_first_name + "&vl=" + value_last_name + "&vp=" + value_phone + "&rm=" + result_message + "&em=" + error_message + "&ih=" + display_result_area;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area);
	}
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	
}

function dbUpdateOneField(table,row_id,field_name,value,result_message,error_message,display_result_area){
    
	value = urlEncodeCharacterReplace(value);
	result_message = urlEncodeCharacterReplace(result_message);
	
	if(value==true){
		value="yes";
	}else if(value==false){
		value="no";
	}
	
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    var cms_return_results_to = display_result_area;
    var url = "script/ajax.php";
    url = url + "?q=dbUpdateOneField&t=" + table + "&r=" + row_id + "&f=" + field_name + "&v=" + value + "&rm=" + result_message + "&em=" + error_message + "&ih=" + display_result_area;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area);
	}
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	
}

function dbUpdateOneFieldPW(table,row_id,field_name,value,result_message,error_message,display_result_area){
    
	value = urlEncodeCharacterReplace(value);
	result_message = urlEncodeCharacterReplace(result_message);
	
	if(value==true){
		value="yes";
	}else if(value==false){
		value="no";
	}
	
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    var cms_return_results_to = display_result_area;
    var url = "script/ajax.php";
    url = url + "?q=dbUpdateOneFieldPW&t=" + table + "&r=" + row_id + "&f=" + field_name + "&v=" + value + "&rm=" + result_message + "&em=" + error_message + "&ih=" + display_result_area;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area);
	}
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	
}

function dbUpdateAddressFields(table,row_id,field_name_street,value_street,field_name_city,value_city,field_name_state,value_state,field_name_zip,value_zip,field_name_country,value_country,result_message,error_message,display_result_area){
    value_street = urlEncodeCharacterReplace(value_street);
	value_city = urlEncodeCharacterReplace(value_city);
	value_state = urlEncodeCharacterReplace(value_state);
	value_zip = urlEncodeCharacterReplace(value_zip);
	value_country = urlEncodeCharacterReplace(value_country);
	
	result_message = urlEncodeCharacterReplace(result_message);
	
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
	var cms_return_results_to = display_result_area;
    var url = "script/ajax.php";
    url = url + "?q=dbUpdateAddressFields&t=" + table + "&r=" + row_id + "&f1=" + field_name_street + "&v1=" + value_street + "&f2=" + field_name_city + "&v2=" + value_city + "&f3=" + field_name_state + "&v3=" + value_state + "&f4=" + field_name_zip + "&v4=" + value_zip + "&f5=" + field_name_country + "&v5=" + value_country + "&rm=" + result_message + "&em=" + error_message + "&ih=" + display_result_area;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area);
	}
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}





//This Function doesn't work yet...
function dbUpdateOneFieldTwoResults(table,row_id,field_name,value,result_message1,error_message1,output_location1,result_message2,output_location2){
    
	if(value==true){
		value="yes";
	}else if(value==false){
		value="no";
	}
	
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    var cms_return_results_to = display_result_area;
    var url = "script/ajax.php";
    url = url + "?q=dbUpdateOneField&t=" + table + "&r=" + row_id + "&f=" + field_name + "&v=" + value + "&rm1=" + result_message1 + "&em1=" + error_message1;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = function(){
		stateChangedTwoResults(output_location1,result_message2,output_location2);
	}
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}


function dbUpdateTwoFieldsOneRow(table,row_id,field_name,value,field_name2,value2,result_message,error_message,display_result_area){
    if(value==true){
		value="yes";
	}else if(value==false){
		value="no";
	}
	
	xmlHttp = GetXmlHttpObject();
    
    if (xmlHttp == null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    var cms_return_results_to = display_result_area;
    var url = "script/ajax.php";
    url = url + "?q=dbUpdateTwoFieldsOneRow&t=" + table + "&r=" + row_id + "&f=" + field_name + "&v=" + value + "&f2=" + field_name2 + "&v2=" + value2 + "&rm=" + result_message + "&em=" + error_message + "&ih=" + display_result_area;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = function(){
		stateChanged(display_result_area)
	};
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}



// Password functions
function passwordChanged() {
	pass_invalid = new Image;
	pass_none = new Image;
	pass_01 = new Image;
	pass_02 = new Image;
	pass_03 = new Image;
	pass_04 = new Image;
	
	pass_invalid.src="images/style_01/pwd_strength_invalid.gif";
	pass_none.src="images/style_01/pwd_strength_none.gif";
	pass_01.src="images/style_01/pwd_strength_01.gif";
	pass_02.src="images/style_01/pwd_strength_02.gif";
	pass_03.src="images/style_01/pwd_strength_03.gif";
	pass_04.src="images/style_01/pwd_strength_04.gif";
	
	
	
	var strength = document.getElementById('strength');
	
	var superstrongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var validRegex = new RegExp("^(?=.{8,})(((?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])))(?!.*\\W).*$", "g");
	var noNumberOrCapitalRegex = new RegExp("^(?=.{8,})((?!.*[0-9])(?!.*[A-Z]))(?!.*\\W).*$", "g");
	var noNumberRegex = new RegExp("^(?=.{8,})(?!.*[0-9])(?!.*\\W).*$", "g");
	var noCapitalRegex = new RegExp("^(?=.{8,})(?!.*[A-Z])(?!.*\\W).*$", "g");
	var noLowerRegex = new RegExp("^(?=.{8,})(?!.*[a-z])(?!.*\\W).*$", "g");
	var enoughRegex = new RegExp("(?=.{8,}).*", "g");
	var enoughbadcharRegex = new RegExp("(?=.{8,})(?=.*\\W).*", "g");
	
	var pwd = document.getElementById("user_password");
	var pwdexp = '<div class="cms_add_field_header" align="justify" style="font-size:10px; width:375px; border:1px #000000 solid; background-color:#eeeeee; margin:3px 0px 3px 0px; padding:2px 3px 2px 3px; font-style:none;"><span style="font-weight:normal; font-size:12px; color:#000000;">Password must be between 8 and 12 characters long and contain at least one number and one uppercase letter. (Only use letters [A-Z] and numbers [0-9])</span></div>';
	
	if (pwd.value.length==0) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_none.gif" style="border-width:0px;">&nbsp;&nbsp;Password Strength Meter'+pwdexp;
	}else if(false == enoughRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_01.gif" style="border-width:0px;">&nbsp;&nbsp;You need at least '+(8-pwd.value.length)+' more characters</span>'+pwdexp;
	}else if(validRegex.test(pwd.value)) {
		enableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_04.gif" style="border-width:0px;">&nbsp;&nbsp;Approved'+pwdexp;
	}else if(noNumberOrCapitalRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Capital or Number (Follow instructions below)'+pwdexp;
	}else if(noNumberRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Number (Follow instructions below)'+pwdexp;
	}else if(noCapitalRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Capital Letter (Follow instructions below)'+pwdexp;
	}else if(noLowerRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Lowercase Letters (Follow instructions below)'+pwdexp;
	}else if(enoughbadcharRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;Invalid Character(s) Found (Follow instructions below)'+pwdexp;
	}else{
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;Not Valid (Follow instructions below)'+pwdexp;
	}
}

function passwordChanged2() {
	pass_invalid = new Image;
	pass_none = new Image;
	pass_01 = new Image;
	pass_02 = new Image;
	pass_03 = new Image;
	pass_04 = new Image;
	
	pass_invalid.src="images/style_01/pwd_strength_invalid.gif";
	pass_none.src="images/style_01/pwd_strength_none.gif";
	pass_01.src="images/style_01/pwd_strength_01.gif";
	pass_02.src="images/style_01/pwd_strength_02.gif";
	pass_03.src="images/style_01/pwd_strength_03.gif";
	pass_04.src="images/style_01/pwd_strength_04.gif";
	
	
	
	var strength = document.getElementById('strength');
	
	var superstrongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var validRegex = new RegExp("^(?=.{8,})(((?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])))(?!.*\\W).*$", "g");
	var noNumberOrCapitalRegex = new RegExp("^(?=.{8,})((?!.*[0-9])(?!.*[A-Z]))(?!.*\\W).*$", "g");
	var noNumberRegex = new RegExp("^(?=.{8,})(?!.*[0-9])(?!.*\\W).*$", "g");
	var noCapitalRegex = new RegExp("^(?=.{8,})(?!.*[A-Z])(?!.*\\W).*$", "g");
	var noLowerRegex = new RegExp("^(?=.{8,})(?!.*[a-z])(?!.*\\W).*$", "g");
	var enoughRegex = new RegExp("(?=.{8,}).*", "g");
	var enoughbadcharRegex = new RegExp("(?=.{8,})(?=.*\\W).*", "g");
	
	var pwd = document.getElementById("user_password");
	
	if (pwd.value.length==0) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_none.gif" style="border-width:0px;">&nbsp;&nbsp;Password Strength Meter';
	}else if(false == enoughRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_01.gif" style="border-width:0px;">&nbsp;&nbsp;You need at least '+(8-pwd.value.length)+' more characters</span>';
	}else if(validRegex.test(pwd.value)) {
		showImage('passwordsMatch')
		enableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_04.gif" style="border-width:0px;">&nbsp;&nbsp;Approved';
	}else if(noNumberOrCapitalRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Capital Letter or Number Included';
	}else if(noNumberRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Number Included';
	}else if(noCapitalRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Capital Letter Included';
	}else if(noLowerRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;No Lowercase Letters Included';
	}else if(enoughbadcharRegex.test(pwd.value)) {
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;Invalid Character(s) Found';
	}else{
		disableFieldOnly('user_password1');
		strength.innerHTML = '<img src="images/style_01/pwd_strength_invalid.gif" style="border-width:0px;">&nbsp;&nbsp;Not Valid (Follow instructions below)';
	}
}













//AJAX CALLING FUNCTIONS
function stateChanged(id){
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
       	document.getElementById(id).innerHTML = xmlHttp.responseText;
    }
}

function stateChangedTwoResults(output_location1,result_message2,output_location2){
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
       	document.getElementById(output_location1).innerHTML = xmlHttp.responseText;
		document.getElementById(output_location2).innerHTML = result_message2;
    }
}

function GetXmlHttpObject(){
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } 
    catch (e) {
        //Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

