//----------HELP TEXT--------------
var helpLyrs = new Array()
helpLyrs[0]="help_secure";
helpLyrs[1]="help_email";

function helpOff(nextElmnt){
	for(i=0;i<helpLyrs.length;i++){
		if(document.getElementById(helpLyrs[i])){		
			document.getElementById(helpLyrs[i]).className="helpmsg helpOff"
			document.getElementById("link_"+helpLyrs[i]).className="help"	
			if(nextElmnt){document.getElementById(nextElmnt).focus();}
		}
	}
}

function helpOn(lyr){
	helpOff();
	if(document.getElementById(lyr)){document.getElementById(lyr).className="helpmsg helpOn";document.getElementById("link_"+lyr).className="activeHelp";
	}
}

//-----------FORM RULES--------------
var title;
var email;
var policy;
var file;
var lifeCover;
var sensitive;
var product;
var submittable=true;

var emailForm = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var postcodeForm = /^[a-zA-Z]{1,2}[a-zA-Z0-9]{1,2}[ ]?[0-9]{1}[a-zA-Z]{2}$/;
var phoneNumsForm = /^[0-9 \+\(\)]{8,}$/;
var numsForm = /^[0-9 ]{1,}$/

function formSetup(){

	addLink();
	printButton();

	if(document.getElementById("title")){title=document.getElementById("title");}
	if(document.getElementById("contact_email")){email = document.getElementById("contact_email");}
	if(document.getElementById("policy_yes")){policy = document.getElementById("policy_yes");}
	if(document.getElementById("sensitive_yes")){sensitive = document.getElementById("sensitive_yes");}
	if(document.getElementById("sensitive_yes")){file = document.getElementById("add_document_1");}
	if(document.getElementById("life_cover")){lifeCover = document.getElementById("life_cover");}
	if(document.getElementById("product")){product = document.getElementById("product");}
	
	if(document.getElementById("field_other")){
		if(title.options[title.selectedIndex].value!="5"){document.getElementById("field_other").className="field clear off";}
		else{document.getElementById("field_other").className="field clear";}
	}
		
	if(document.getElementById("field_policy")){
		if(policy.checked==false){document.getElementById("field_policy").className="field clear off";}
		else{document.getElementById("field_policy").className="field clear";}
	}
	
	//if(document.getElementById("field_address")){
	//	if(sensitive.checked==false){document.getElementById("field_address").className="field clear off";document.getElementById("field_address_2").className="field clear off";document.getElementById("field_address_3").className="field clear off";document.getElementById("field_postcode").className="field clear off";}
	//	else{document.getElementById("field_address").className="field clear";document.getElementById("field_address_2").className="field clear";document.getElementById("field_address_3").className="field clear";document.getElementById("field_postcode").className="field clear";}
	//}	
	
	if(document.getElementById("field_lifecover")){
		if(product.options[product.selectedIndex].innerHTML!="Life Cover"){document.getElementById("field_lifecover").className="field clear off";}
		else{document.getElementById("field_lifecover").className="field clear";}
	}	
	
	if(document.getElementById("first_name")){if(document.getElementById("first_name").value!=""){chkText(document.getElementById("first_name"),'field_firstname')}}
	if(document.getElementById("surname")){if(document.getElementById("surname").value!=""){chkText(document.getElementById("surname"),'field_surname')}}
	if(document.getElementById("phone_number")){if(document.getElementById("phone_number").value!=""){chkNums(document.getElementById("phone_number"),'field_phone')}}
	if(document.getElementById("contact_email")){if(document.getElementById("contact_email").checked==true && document.getElementById("email_address").value!=""){chkEmail(document.getElementById("email_address"),'field_email')}}
	if(document.getElementById("policy_yes")){if(document.getElementById("policy_yes").checked==true && document.getElementById("policy_number").value!=""){chkNums(document.getElementById("policy_number"),'field_policy')}}

	if(document.getElementById("field_document_2")){document.getElementById("field_document_2").className="field clear off";}
	if(document.getElementById("field_document_3")){document.getElementById("field_document_3").className="field clear off";}
	if(document.getElementById("field_document_4")){document.getElementById("field_document_4").className="field clear off";}
	if(document.getElementById("field_document_5")){document.getElementById("field_document_5").className="field clear off";}
}


function printButton(){
	if(document.getElementById("print")){
		//document.getElementById("print").innerHTML="<a href=\"javascript:self.print();\">Print this page</a>"
		
		anc = document.createElement("a");
		anc.href="javascript:self.print();";
		anc.appendChild(document.createTextNode("Print this page"))
		document.getElementById("print").appendChild(anc)
		document.getElementById("print").removeChild(document.getElementById("print").firstChild)
	}
}



function showField(lyr,altLyr){
if(lyr){field = document.getElementById(lyr);}
if(altLyr){otherField = document.getElementById(altLyr);}

	if(lyr=="field_other"){
	if(title.options[title.selectedIndex].innerHTML=="Other"){field.className="field clear"}
	else{field.className="field clear off"}
	}
	
	if(lyr=="field_email"){
		if(email.checked==true){field.className="field clear"}
		else{field.className="field clear off"}
	}
	
	if(lyr=="field_address"){
	if(sensitive.checked==true){
		field.className="field clear";
		otherField.className="field clear";
	}
	else{
		field.className="field clear off";
		otherField.className="field clear off";
	}
	}	
	
	if(lyr=="field_policy"){
		if(policy.checked==true){field.className="field clear"}
		else{field.className="field clear off"}
	}
	
	if(lyr=="field_add"){
		if(file.value!=""){field.className="field clear"}
		else{field.className="field clear off"}
	}
	
	if(lyr=="field_lifecover"){
		if(product.options[product.selectedIndex].innerHTML=="Life Cover"){field.className="field clear"}
		else{field.className="field clear off"}
	}
	

}

function hideField(lyr,altLyr){
if(lyr){field = document.getElementById(lyr);}
if(altLyr){otherField = document.getElementById(altLyr);}

	if(field){field.className="field clear off";}
	if(otherField){otherField.className="field clear off";}
}


function showAddress(){
document.getElementById("field_address").className="field clear";
document.getElementById("field_address_2").className="field clear";
document.getElementById("field_address_3").className="field clear";
document.getElementById("field_postcode").className="field clear";
}

function hideAddress(){
document.getElementById("field_address").className="field clear off";
document.getElementById("field_address_2").className="field clear off";
document.getElementById("field_address_3").className="field clear off";
document.getElementById("field_postcode").className="field clear off";
document.getElementById("text_address").className="errorText";
document.getElementById("text_postcode").className="errorText";
}



function chkText(elmnt,lyr){
	if(elmnt.id=="first_name"){errorText="Please enter your first name"}
	if(elmnt.id=="surname"){errorText="Please enter your surname"}
	if(elmnt.id=="postcode"){errorText="Please enter your postcode"}
	if(elmnt.id=="address"){errorText="Please enter the first line of your address"}
	textError = elmnt.id
	if(elmnt.value!=""){
		document.getElementById(lyr).className="field clear valid";
		errorMaker(textError,'&nbsp;','off');	
	}
	else{
		document.getElementById(lyr).className="field clear invalid";
		submittable=false;
		errorMaker(textError,errorText,'on');	
	}
}


function chkMsg(elmnt,lyr){
	errorText="Please enter a message";
	textError = elmnt.id
	if(elmnt.value!=""){
		document.getElementById(lyr).className="field clear valid";
		errorMaker(textError,'&nbsp;','off');	
	}
	else{
		document.getElementById(lyr).className="field clear invalid";
		submittable=false;
		errorMaker(textError,errorText,'on');	
	}
}



function chkNums(elmnt,lyr){
	if(elmnt.id=="phone_number"){errorText="Please enter a valid phone number"}
	if(elmnt.id=="policy_number"){errorText="Please enter a valid policy number"}
	textError = elmnt.id
	text = elmnt.value;
	result = numsForm.test(text);
	if(result!=false){
		document.getElementById(lyr).className="field clear valid";
		errorMaker(textError,'&nbsp;','off');
	}
	else{
		document.getElementById(lyr).className="field clear invalid";
		submittable=false;
		errorMaker(textError,errorText,'on');
	}
}


function chkEmail(elmnt,lyr){
	textError = elmnt.id
	text = elmnt.value;
	result = emailForm.test(text);
	if(result!=false){
		document.getElementById(lyr).className="field clear valid";
		errorMaker(textError,'&nbsp;','off');			
	}
	else{
		document.getElementById(lyr).className="field clear invalid";
		submittable=false;
		errorMaker(textError,'Please enter a valid email address','on');
	}
}


function chkAddress(elmnt,lyr){
	errorText="Please enter your address";
	textError = elmnt.id
	if(elmnt.value!=""){
		document.getElementById(lyr).className="field clear valid";
		errorMaker(textError,'&nbsp;','off');	
	}
	else{
		document.getElementById(lyr).className="field clear invalid";
		submittable=false;
		errorMaker(textError,errorText,'on');	
	}
}

function chkPostCode(elmnt,lyr){
	textError = elmnt.id
	text = elmnt.value;
	result = postcodeForm.test(text);
	if(result!=false){
		document.getElementById(lyr).className="field clear valid";
		errorMaker(textError,'&nbsp;','off');			
	}
	else{
		document.getElementById(lyr).className="field clear invalid";
		submittable=false;
		errorMaker(textError,'Please enter a valid postcode','on');
	}
}



function errorMaker(lyr,msg,state){
	if(state=="on"){document.getElementById("text_"+lyr).className="errorTextOn";}
	else{document.getElementById("text_"+lyr).className="errorText";}
	document.getElementById("text_"+lyr).removeChild(document.getElementById("text_"+lyr).firstChild);
	para = document.createElement("p");
	para.appendChild(document.createTextNode(msg));
	document.getElementById("text_"+lyr).appendChild(para);	
}


function errorList(elmnt){
	errorlist[errorlistcount]=elmnt;
	errorlistcount++;
}

function chkFocus(){
	focuser = errorlist[0];
	focuser.focus();
}




function addLink(){
	createDocLink(limitdocs);
	addRemoveL(1);
}

var limitdocs = 2;
var prevDoc = 1;

function createDocLink(n){

if(document.getElementById("addDocLink")){

	if(limitdocs<6){
	prev = limitdocs-1;
	addL = document.createElement("a");
	addL.href = "javascript:addNewDoc('document_"+n+"')";
	addL.appendChild(document.createTextNode("Add another document"));
	document.getElementById("addDocLink").appendChild(addL);
	document.getElementById("addDocLink").removeChild(document.getElementById("addDocLink").firstChild);
	}
	else{
	document.getElementById("addDocLink").innerHTML="&nbsp;";
	}
}
}


function removeAllLinks(){
	for(i=1;i<6;i++){
		curr = document.getElementById("docRem"+i+"");
		if(curr){curr.parentNode.removeChild(curr);}
	}
}


function addRemoveL(num){
	removeAllLinks();
	if(document.getElementById("add_document_"+num+"_div")){
		removeL = document.createElement("a");
		removeL.href = "javascript:removeDoc('document_"+num+"')";
		removeL.appendChild(document.createTextNode("Remove"));
		divL = document.createElement("div");
		divL.className = "remove";
		divL.id = "docRem"+num+"";
		divL.appendChild(removeL);
		document.getElementById("add_document_"+num+"_div").appendChild(divL);
	}
}

function addNewDoc(lyr){
	if(document.getElementById("field_"+lyr)){document.getElementById("field_"+lyr).className="field clear";limitdocs++;prevDoc++;}
	createDocLink(limitdocs);
	addRemoveL(prevDoc);
}

function removeDoc(lyr){
	emptyField(lyr)
	if(lyr!="document_1"){
	if(document.getElementById("field_"+lyr)){document.getElementById("field_"+lyr).className="field clear off";limitdocs--;prevDoc--;}
	createDocLink(limitdocs);
	addRemoveL(prevDoc);
	}
	
}

function emptyField(lyr){
	
	if(document.getElementById("add_"+lyr)){
		par = document.getElementById("add_"+lyr).parentNode;
		input = document.createElement("input");
		input.type = "file";
		input.id = "add_"+lyr;
		input.name = "add_"+lyr;
		par.removeChild(par.firstChild);
		par.appendChild(input);
	}
	
}


