// JavaScript Document

//var validName = new RegExp("[0-9`~!@#\$\%\^\&\*\(\)_\+=]+"); ("[a-z,A-Z]*")
var validFullName = new RegExp("^[a-z,A-Z, ]*$");
var validName = new RegExp("^[a-z,A-Z]*$");
var validAddress = new RegExp("[~!@\$\%\^\&\*_\+=]+");
var validPhone = new RegExp("^[0-9]+$");
var validEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var numPhones = 1;
var largestIndex = 1;
var extraPhones = false;

var emailOK = false;
/*var passOK = false;
var confirmPassOK = false;*/

Event.observe(window,'load',function(){
	Event.observe('Email','keyup',verifyEmail);
	Event.observe('Email','blur',verifyEmail);
	Event.observe('Cellphone_1','keyup',verifyPhone);
	Event.observe('Cellphone_1','blur',verifyPhone);
	Event.observe('Cellphone_1','keyup',addPhonesButton);
	Event.observe('password','blur',verifyPass);
	Event.observe('password','keyup',verifyPass);
	Event.observe('cpassword','blur',verifyConfPass);
	Event.observe('cpassword','keyup',verifyConfPass);
	verifyEmail();
});


function addPhonesButton(e){
	if($F('Cellphone_1').length == 10){
		$('addRow').style.visibility = "visible";	
	}
	
}


function verifyPass(){
	//alert("pass");
	var passOK = false;
	var str = $F('password');
	if(str.length == 0){
			//$('Email').addClassName('with-box');
		$('pass-error').innerHTML = "Password cannot be blank.";
		$('pass-ok').style.display = "none";
		$('pass-error').style.display = "block";

	}
	
	else{
		passOK = true;
		$('pass-error').style.display = "none";
		$('pass-ok').style.display = "block";
	}
	return passOK;
}

function verifyConfPass(){
	//alert("conf pass");
	var confirmPassOK= false;
	var str = $F('cpassword');
	if(str.length == 0 || str != $F('password')){
			//$('Email').addClassName('with-box');
		$('cpass-error').innerHTML = "The passwords do not match!";
		$('cpass-ok').style.display = "none";
		$('cpass-error').style.display = "block";

	}
	
	else{
		confirmPassOK = true;
		$('cpass-error').style.display = "none";
		$('cpass-ok').style.display = "block";
	}
	return 	confirmPassOK;
}
		function validateMain() {
			var nameok =  verifyName();
			var passok = verifyPass();
			var passconfok = verifyConfPass();
			//var emailok = verifyEmail(); 
			var res = nameok && passok && passconfok && emailOK;
			//alert("name: "+ nameok + " email: "+emailok+" pass: "+ passok+" passconf: "+passconfok);;
			for(i = 1; i<=largestIndex; i++){
				triggerEventHandler(document.getElementById('Cellphone_'+i), 'blur');	
				//alert(i+": "+phonesOK[i]);
			 	res = res && phonesOK[i-1];
}
			if (res == false){
				alert("Please correct the marked errors.");	
			}
			//alert("end res: "+res);
			return res;
		}

function verifyEmail(){
	//alert("email");
	var str = $F('Email');
	emailOK = false;
	if(str.length == 0){
		//alert("balnk");
			//$('Email').addClassName('with-box');
			$('email-error').innerHTML = "Email cannot be blank.";
			$('email-ok').style.display = "none";
			$('email-error').style.display = "block";
			return;
	}
	else if(!validEmail.test(document.getElementById('Email').value)){
		//alert("not valid");
			//$('Email').addClassName('with-box')
			$('email-error').innerHTML = "Please enter legal email format.";
			$('email-ok').style.display = "none";
			$('email-error').style.display = "block";
			return;
	}
	
	else{
		DWREngine.setOrdered(true);
		_cfscriptLocation = "OmerFunctions.cfm";
		DWREngine._execute(_cfscriptLocation, null, 'CheckEmailExist', str, function(result){											
			  if(result == "true"){
				  emailOK = true;
				  //alert("good");
				  //$('Email').removeClassName('with-box')
				  $('email-error').style.display = "none";
				  $('email-ok').style.display = "block";
	}
			  else{
				  //alert("exists");
				  //$('Email').addClassName('with-box')
				  $('email-error').innerHTML = "This Email is already taken!";
				  $('email-ok').style.display = "none";
				  $('email-error').style.display = "block";
			  }
		});
	}
	DWREngine.setOrdered(false);
	return emailOK;
}


/*function verifyEmailResult(result){
	var emailOK = false;
	if(result == "true"){
		emailOK = true;
		//$('Email').removeClassName('with-box')
		$('email-error').style.display = "none";
		$('email-ok').style.display = "block";
	}
	else{
		//$('Email').addClassName('with-box')
		$('email-error').innerHTML = "This Email is already taken!";
		$('email-ok').style.display = "none";
		$('email-error').style.display = "block";
	}
	return emailOK;
}*/
		
		
		function addPhones(){
			_cfscriptLocation = "OmerFunctions.cfm";
			DWREngine._execute(_cfscriptLocation, null, 'MoreRows', largestIndex, addPhonesResult);
		}
		
		function addPhonesResult(result){
			if(numPhones < 6){
				$('remRow').style.visibility = "visible";
				numPhones++;
				largestIndex++;
				phonesOK[largestIndex-1] = false;
				Element.insert($('extraNumbers'),{bottom : result});
				Event.observe('Cellphone_'+largestIndex,'keyup',verifyPhone);
				Event.observe('Cellphone_'+largestIndex,'blur',verifyPhone);
				$('rowCount').value = largestIndex;
				//alert(phonesOK);
				//DWREngine._execute(_cfscriptLocation, null, 'UpdatePrice', numPhones, updatePriceResult);
				
			}
			else{
				alert("You have entered the maximum number of Phones allowed");
			}
			
		}
		
		function updatePriceResult(result){
			$('price').value = "$"+result+".00";	
		}
		

		
		
/*		function testSend(index){
			//alert("here");
			var name;
			var phone;
			var timezone;
			var carrier;
			//alert("here");
			if(index == 1){
				name = $F('FirstName') +" "+ $F('LastName');
			}
			
			else{
				name = $F('name_'+index);	
			}
			//alert(name);
			phone = $F('Cellphone_'+index);	
			carrier = $F('Carrier_'+index);	
			timezone = $F('TimeZone_'+index);
			if(phone == "" || phone.length != 10 || !validPhone.test(document.getElementById('Cellphone_'+index).value)){
				alert("Please Enter a legal phone number!");
				return;
			}

			//alert(inputStr);
			_cfscriptLocation = "OmerFunctions.cfm";
			DWREngine._execute(_cfscriptLocation, null, 'TestSend', name ,phone,carrier,timezone, testSendResult);	
		}
		
		function testSendResult(result){
			alert(result + " The SMS might take a few minutes to arrive.");	
		}*/
		
		function deleteRow(index){
			//alert(largestIndex);
			phonesOK[largestIndex-1] = true;
			$('client_'+largestIndex).remove();
			largestIndex--;
			numPhones--;
			$('rowCount').value = largestIndex;
			if(numPhones == 1){
				$('remRow').style.visibility = "hidden";	
			}
			//DWREngine._execute(_cfscriptLocation, null, 'UpdatePrice', numPhones, updatePriceResult);
			//alert("phones: "+numPhones+" index: "+ largestIndex);
		}

		