/*
	Rochford Brady Company Registration Form
	Author: IPAG (Ireland) Ltd. (KG)
	Date: 22-12-2009
*/
function start()
{
	
}
function showDirectors(numberOfDirectors)
{
	var i = 1;
	var j = 1;
	// First hide all divs on page - there is probably a better way to do this, but for the time being...
	while( j <= 10 ){
		var tempcurrentID = "director" + j;
		document.getElementById(tempcurrentID).style.display = 'none';
		j++;
		// Hide the secretary form
		document.getElementById("secretary").style.display = 'none';
		// Hide the how did you hear dd
		document.getElementById("howDidYouHear").style.display = 'none';
	}
	while( i <= numberOfDirectors ){
		var currentID = "director" + i;
		document.getElementById(currentID).style.display = 'block';
		i++;
		document.getElementById("secretary").style.display = 'block';
		// Show the how did you hear dd
		document.getElementById("howDidYouHear").style.display = 'block';
	}
}
function howDidYouHearFunction(ddHowDidYouHearSelection)
{
	if (ddHowDidYouHearSelection == "Other"){
		document.getElementById("howDidYouHearOther").style.display = 'block';
	}
}
function toggleSecretary()
{
	var sName, sAddress1, sAddress2, sDOB, sOccupation;
	with(window.document.msgform)
	{
		sName = txtNameSecretary;
		sAddress1 = txtSecretaryAddress1;
		sAddress2 = txtSecretaryAddress2;
		sDOB = txtSecretaryDOB;
		sOccupation = txtSecretaryOccupation;
	}
	
	if(document.msgform.chkIsSecretary1.checked){
		sName.disabled = true;
		sName.className = 'disabled';
		sAddress1.disabled = true;
		sAddress1.className = 'disabled';
		sAddress2.disabled = true;
		sAddress2.className = 'disabled';
		sDOB.disabled = true;
		sDOB.className = 'disabled';
		sOccupation.disabled = true;
		sOccupation.className = 'disabled';
		//window.alert("Secretary Disabled");
	}else{
		sName.disabled = false;
		sName.className = 'enabled';
		sAddress1.disabled = false;
		sAddress1.className = 'enabled';
		sAddress2.disabled = false;
		sAddress2.className = 'enabled';
		sDOB.disabled = false;
		sDOB.className = 'enabled';
		sOccupation.disabled = false;
		sOccupation.className = 'enabled';
		//window.alert("Secretary Enabled");
	}	
}

function checkForm()
{
	var cname, ccompanyname, caddress1, caddress2, ctowncity, ccounty, ccontactnumber, cemail;
	var ccompanytype, cprefcompanyname, cprefcompanyname2, cactivities, cofficeaddress1, cofficeaddress2, cofficetowncity, cofficecounty, cnumberofdirectors;
	var sName, sAddress1, sAddress2, sDOB, sOccupation, schkIsSecretary1;
	with(window.document.msgform)
	{
		/* Your Details */
		cname = txtName;
		ccompanyname = txtCompanyName;
		caddress1 = txtAddress1;
		caddress2 = txtAddress2;
		ctowncity = txtTownCity;
		ccounty = ddCounty;
		cemail = txtEmail;
		ccontactnumber = txtContactNumber;
		/* Your Company Details Section */
		ccompanytype = ddCompanyType;
		cprefcompanyname = txtPrefCompanyName;
		cprefcompanyname2 = txtPrefCompanyName2;
		cactivities = txtActivitiesA;
		cofficeaddress1 = txtOfficeAddress1;
		cofficeaddress2 = txtOfficeAddress2;
		cofficetowncity = txtOfficeTownCity;
		cofficecounty = ddOfficeCounty;
		cnumberofdirectors = ddNumberOfDirectors;
		/* Secretary Details */
		sName = txtNameSecretary;
		sAddress1 = txtSecretaryAddress1;
		sAddress2 = txtSecretaryAddress2;
		sDOB = txtSecretaryDOB;
		sOccupation = txtSecretaryOccupation;
		schkIsSecretary1 = chkIsSecretary1;
		/* How did you hear about us */
		sHowDidYouHear = ddHowDidYouHear;
		oHowDidYouHear = txtHowDidYouHearOther;
	}
   /* Begin Your Details Section */
	if(trim(cname.value) == '')
   {
      alert('Please enter your name');
      cname.focus();
	  cname.className = 'error';
      return false;
   }
   else if(trim(ccompanyname.value) == '')
   {
      alert('Please enter a Company name');
      ccompanyname.focus();
	  ccompanyname.className = 'error';
      return false;
   }
   else if(trim(caddress1.value) == '')
   {
      alert('Please enter a Address (line 1)');
      caddress1.focus();
	  caddress1.className = 'error';
      return false;
   }
   else if(trim(caddress2.value) == '')
   {
      alert('Please enter a Address (line 2)');
      caddress2.focus();
	  caddress2.className = 'error';
      return false;
   }
   else if(trim(ctowncity.value) == '')
   {
      alert('Please enter a Town or City name');
      ctowncity.focus();
	  ctowncity.className = 'error';
      return false;
   }
   else if(ccounty.value == '0')
   {
      alert('Please select a County');
      ccounty.focus();
	  ccounty.className = 'error';
      return false;
   }
   else if(trim(cemail.value) == '')
   {
      alert('Please enter your email');
      cemail.focus();
	  cemail.className = 'error';
      return false;
   }
   else if(!isEmail(trim(cemail.value)))
   {
      alert('Email address is not valid');
      cemail.focus();
	  cemail.className = 'error';
      return false;
   }
   else if(trim(ccontactnumber.value) == '')
   {
      alert('Please enter a Contact number');
      ccontactnumber.focus();
	  ccontactnumber.className = 'error';
      return false;
   }
   /* Begin Your Company Details Section */
   else if(ccompanytype.value == '0')
   {
      alert('Please select a Company type');
      ccompanytype.focus();
	  ccompanytype.className = 'error';
      return false;
   }
   else if(trim(cprefcompanyname.value) == '')
   {
      alert('Please enter a Company name');
      cprefcompanyname.focus();
	  cprefcompanyname.className = 'error';
      return false;
   }
   else if(trim(cprefcompanyname2.value) == '')
   {
      alert('Please enter a second choice Company name');
      cprefcompanyname2.focus();
	  cprefcompanyname2.className = 'error';
      return false;
   }
   else if(trim(cactivities.value) == '')
   {
      alert('Please enter Company activities');
      cactivities.focus();
	  cactivities.className = 'error';
      return false;
   }
   else if(trim(cofficeaddress1.value) == '')
   {
      alert('Please enter a Company address (line 1)');
      cofficeaddress1.focus();
	  cofficeaddress1.className = 'error';
      return false;
   }
   else if(trim(cofficeaddress2.value) == '')
   {
      alert('Please enter a Company address (line 2)');
      cofficeaddress2.focus();
	  cofficeaddress2.className = 'error';
      return false;
   }
   else if(trim(cofficetowncity.value) == '')
   {
      alert('Please enter a Town or City name');
      cofficetowncity.focus();
	  cofficetowncity.className = 'error';
      return false;
   }
   else if(cofficecounty.value == '0')
   {
      alert('Please select a County');
      cofficecounty.focus();
	  cofficecounty.className = 'error';
      return false;
   }
   else if(trim(cnumberofdirectors.value) == '0')
   {
      alert('Please select a number of Directors');
      cnumberofdirectors.focus();
	  cnumberofdirectors.className = 'error';
      return false;
   }
   else
   {
	   /* Check the Secretary Details first */
		if(!schkIsSecretary1.checked){
			if(trim(sName.value) == '')
			{
				alert('Please enter the Company Secretary Name');
				sName.focus();
				sName.className = 'error';
				return false;
			}else if(trim(sAddress1.value) == ''){
				alert('Please enter the Company Secretary Address (line 1)');
				sAddress1.focus();
				sAddress1.className = 'error';
				return false;
			}else if(trim(sAddress2.value) == ''){
				alert('Please enter the Company Secretary Address (line 2)');
				sAddress2.focus();
				sAddress2.className = 'error';
				return false;
			}else if(trim(sDOB.value) == ''){
				alert('Please enter the Company Secretary DOB');
				sDOB.focus();
				sDOB.className = 'error';
				return false;
			}else if(trim(sOccupation.value) == ''){
				alert('Please enter the Company Secretary Occupation');
				sOccupation.focus();
				sOccupation.className = 'error';
				return false;
			}
		}else{
			sName.value = trim(sName.value);
			sAddress1.value = trim(sAddress1.value);
			sAddress2.value = trim(sAddress2.value);
			sDOB.value = trim(sDOB.value);
			sOccupation.value = trim(sOccupation.value);  
   		}
	   if(checkDirectorDetails(cnumberofdirectors.value))
		{	
			cname.value = trim(cname.value);
			ccompanyname.value = trim(ccompanyname.value);
			caddress1.value = trim(caddress1.value);
			caddress2.value = trim(caddress2.value);
			ctowncity.value = trim(ctowncity.value);
			ccounty.value = trim(ccounty.value);
			ccontactnumber.value = trim(ccontactnumber.value);
			cemail.value = trim(cemail.value);	  
			ccompanytype.value = trim(ccompanytype.value);
			cprefcompanyname.value = trim(cprefcompanyname.value);
			cprefcompanyname2.value = trim(cprefcompanyname2.value);
			cactivities.value = trim(cactivities.value);
			cofficeaddress1.value = trim(cofficeaddress1.value);
			cofficeaddress2.value = trim(cofficeaddress2.value);
			cofficetowncity.value = trim(cofficetowncity.value);
			cofficecounty.value = cofficecounty.value;
			// testing
			if (sHowDidYouHear.value == "Other")
   			{
				if (oHowDidYouHear.value == ""){
					alert('Please tell us how you found us');
					oHowDidYouHear.focus();
					oHowDidYouHear.className = 'error';
					return false;
	   			}
   			}else if(sHowDidYouHear.value == "0")
   			{
				alert('Please tell us where you found us');
				sHowDidYouHear.focus();
				sHowDidYouHear.className = 'error';
				return false;
   			}
			//testing
			
			// Everything's good, continue
			return true;
		}
		else
		{
			return false;	
		}
	
   }
}
function checkDirectorDetails(numberOfDirectors){
	var dName, dAddress1, dAddress2, dDOB, dOccupation, dOtherDirectorships, dShareCapital;
	
	var i;	
	for(i = 1 ; i <= numberOfDirectors ; i++)
	{
		with(window.document.msgform)
		{
			dName = document.msgform["txtNameDirector" + i];
			dAddress1 = document.msgform["txtDirector" + i + "Address1"];
			dAddress2 = document.msgform["txtDirector" + i + "Address2"];
			dDOB = document.msgform["txtDirectorDOB" + i];
			dOccupation = document.msgform["txtDirectorOccupation" + i];
			dOtherDirectorships = document.msgform["txtOtherDirectorships" + i];
			dShareCapital = document.msgform["txtShareCapital" + i];
		}
		if(dName.value == '')
		{
			alert('Please enter a name for Director number ' + i);
			dName.focus();
			dName.className = 'error';
			return false;
		}
		else if(dAddress1.value == '')
		{
			alert('Please enter an address (line 1) for Director number ' + i);
			dAddress1.focus();
			dAddress1.className = 'error';
			return false;
		}
		else if(dAddress2.value == '')
		{
			alert('Please enter an address (line 2) for Director number ' + i);
			dAddress2.focus();
			dAddress2.className = 'error';
			return false;
		}
		else if(dDOB.value == '')
		{
			alert('Please enter a DOB for Director number ' + i);
			dDOB.focus();
			dDOB.className = 'error';
			return false;
		}
		else if(dOccupation.value == '')
		{
			alert('Please enter an Occupation for Director number ' + i);
			dOccupation.focus();
			dOccupation.className = 'error';
			return false;
		}
		else if(dOtherDirectorships.value == '')
		{
			alert('Please enter a value for \'Other Directorships\' for Director number ' + i);
			dOtherDirectorships.focus();
			dOtherDirectorships.className = 'error';
			return false;
		}
		else if(dShareCapital.value == '')
		{
			alert('Please enter a value for \'Share Capital\' for Director number ' + i);
			dShareCapital.focus();
			dShareCapital.className = 'error';
			return false;
		}
		else{
			/*dName.value = trim(dName.value);
			dAddress1.value = trim(dAddress1.value);
			dAddress2.value = trim(dAddress2.value);
			dDOB.value = trim(dDOB.value);
			dOccupation.value = trim(dOccupation.value);
			dOtherDirectorships.value = trim(dOtherDirectorships.value);
			dddShareCapital.value = trim(dddShareCapital.value);*/
		}
		
	} // end for
	return true;
}

function trim(str)
{
	return str.replace(/^\s+|\s+$/g,'');
	//return true;
}

function isEmail(str)
{
	var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	return regex.test(str);
	//return true;
}