// JavaScript Document
function isset(variable)
{
    return (typeof(variable) != 'undefined');
}
function validatePassword(fld) {
    var error = "";
    var illegalChars = /[\W_]/; // allow only letters and numbers 
    
	if (isset(fld)) {
    
	if (fld.value == "") {
		error=false;
        //document.getElementById('password_info').innerHTML = "<span class=\"required_elements\">You didn't enter a password.</span>";
    } else if ((fld.value.length < 7) || (fld.value.length > 15)) {
        error = "The password is the wrong length. \n";
		error=false;
		//document.getElementById('password_info').innerHTML = "<span class=\"required_elements\">This password seems too short/Long.</span>";
    } else if (illegalChars.test(fld.value)) {
       //document.getElementById('password_info').innerHTML = "<span class=\"required_elements\">The password contains illegal characters.</span>";
		error=false;
    } else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) {
        //document.getElementById('password_info').innerHTML = "<span class=\"required_elements\">The password must contain at least one numeral.</span>";
		error=false;
    } else {
        document.getElementById('password_info').innerHTML = "";
		error=true;
    } 
	} else {
		error=false;
	}
   return error;
}   

function validateUsername(fld) {
    var error = "";
    var illegalChars = /[^\w-.]/; // allow letters, numbers, and underscores
	//if (isset(fld)) {
    if (fld.value == "") {
        error=false;
    } else if ((fld.value.length < 5) || (fld.value.length > 15)) {
        error=false;
    } else if (illegalChars.test(fld.value)) {
        error=false;
    } else {
		error=true;
    }
	/*} else {
		error=false;
	}*/

    return error;
}
function validateAddress(fld) {
    var error = "";
    var illegalChars = /[\W_]/; // allow letters, numbers, and underscores
	if (fld.value == "") {
        error=false;
    } else if (fld.value.length < 3)  {
        error=false;
    } else {
		error=true;
    }
    return error;
}
function validateTown(fld) {
	
    if (fld.value == "") {
		error=false;
    } else if (fld.value.length < 3)  {
		error=false;
    } else {
		error=true;

    }
}
function validateSurname(fld) {
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers, and underscores
	
	if (fld.value == "") {
		error=false;

    } else if (fld.value.length < 3)  {
		error=false;

    } else {
		error=true;

    }
    return error;
}

function validatePostCode(fld)
{
	var error = "";
	var postcode_chk = /[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2}/i;
	
	if (fld.value == "") {
		error=false;
    } else if (!fld.value.match(postcode_chk)){
	} else {
		fld.value = fld.value.toUpperCase();
		error=true;
	}
	return error;
}

function validatePhoneNumber(fld) {
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers, and underscores
	fld.value = fld.value.replace(/[\(\)\.\-\ ]/g, '');

    if (fld.value == "") {
		error=false;

	} else if ((fld.value.length != 11)){
		error=false;

	} else if(illegalChars.test(fld.value)){	
		fld.style.background = '#FFFFCC';
		fld.style.borderColor = '#FFDE59';
		fld.style.borderStyle = 'solid';
		error=false;

    } else {
		error=true;

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

function validateEmail(fld) {
    var error=false;
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

    if (fld.value == "") {
		error=false;
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
		error=false;
	} else if (fld.value.match(illegalChars)) {
		error=false;
    } else {
		error=true;
    }
    return error;
}
function onloadValidation()
	{
		validateSurname(document.getElementById('surname'));
		validateTown(document.getElementById('town'));
		validatePostCode(document.getElementById('postal_code'));
		validatePhoneNumber(document.getElementById('contact_phone_main'));
		validateUsername(document.getElementById('username'));
		validatePassword(document.getElementById('password'));
		validateAddress(document.getElementById('address1'));
		validateEmail(document.getElementById('email_address'));
		
	}

function startValidation()
	{
		if(document.getElementById('termsAccepted').checked=true){
		if ((validateSurname(document.getElementById('surname'))=true) && (validateTown(document.getElementById('town'))=true) && (validatePostCode(document.getElementById('postal_code'))=true) && (validatePhoneNumber(document.getElementById('contact_phone_main'))=true) && (validateUsername(document.getElementById('username'))=true) && (validatePassword(document.getElementById('password'))=true) && (validateAddress(document.getElementById('address1'))=true) && (validateEmail(document.getElementById('email_address'))=true)) 
		{return false;} else {return true;}
		} else { return false; }
	}

function layerControl(d)
{
if(d.length < 1) { return; }
if(document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
else { document.getElementById(d).style.display = "none"; }
}

function layerControl_Hide(d)
{
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none"; 
}
function layerControl_Show(d)
{
if(d.length < 1) { return; }
document.getElementById(d).style.display = "block"; 
}

function calculateContract(status)
{
	var radio_options = 0;
	var extra_computer = 0;
	
	if (status=='loading')
		{
			document.contract_frm.ExtraComputer.selectedIndex = 0;
			document.contract_frm.ExtraComputer.options[0].selected = true; 
			document.contract_frm.ContractOptions[0].checked = true;
			radio_options = parseFloat(document.contract_frm.ContractOptions[0].value); 

		}
	
	if (parseFloat(document.getElementById('ExtraComputer').value) > 2 && document.contract_frm.ContractOptions[0].checked){
			document.contract_frm.ExtraComputer.selectedIndex = 0;
			document.contract_frm.ExtraComputer.options[0].selected = true; 
			document.contract_frm.ContractOptions[2].checked = true;
			radio_options = parseFloat(document.contract_frm.ContractOptions[1].value); 
		}
	
	if (parseFloat(document.getElementById('ExtraComputer').value) > 4 && document.contract_frm.ContractOptions[1].checked){
			document.contract_frm.ExtraComputer.selectedIndex = 0;
			document.contract_frm.ExtraComputer.options[0].selected = true; 
			document.contract_frm.ContractOptions[3].checked = true;
			radio_options = parseFloat(document.contract_frm.ContractOptions[1].value); 
		}
		
	for (i = 0; i < document.contract_frm.ContractOptions.length; i++){
		 if (document.contract_frm.ContractOptions[i].checked == true){
			radio_options = parseFloat(document.contract_frm.ContractOptions[i].value); 
		} 
	}

	if(radio_options==10.00 || radio_options==17.50 )
	{
	extra_computer = parseFloat(document.getElementById('ExtraComputer').value);
	document.getElementById('Total').innerHTML = ((extra_computer * 2.50)+radio_options).toFixed(2);
	document.getElementById('contract_price').value = ((extra_computer * 2.50)+radio_options).toFixed(2);
	}
	
	if(radio_options==25.00 || radio_options==75.00 || radio_options==150.00 )
	{
	extra_computer = parseFloat(document.getElementById('ExtraComputer').value);
	document.getElementById('Total').innerHTML = ((extra_computer * 15.00)+radio_options).toFixed(2);
	document.getElementById('contract_price').value = ((extra_computer * 15.00)+radio_options).toFixed(2);
	}
	if (radio_options==10.00)
	{
	//document.submit_frm.contract_quantity.text.value = ''+parseFloat(extra_computer + 3);
	//document.getElementById('contract_quantity').value = parseFloat(extra_computer + 3);
	document.getElementById('computers_covered').innerHTML = parseFloat(extra_computer + 3);
	document.getElementById('computer_contract').innerHTML = 'Home Basic';
	document.contract_frm.ExtraComputer.selectedIndex = extra_computer;
	document.getElementById('contract_type').value = 'HomeBasic';
	document.getElementById('contract_quantity').value = parseFloat(extra_computer + 3);

	} else if (radio_options==17.50)
	{
	//document.submit_frm.contract_quantity.text.value = ''+parseFloat(extra_computer + 6);
	document.getElementById('contract_quantity').value = parseFloat(extra_computer + 6);
	document.getElementById('computers_covered').innerHTML = parseFloat(extra_computer + 6);
	document.getElementById('computer_contract').innerHTML = 'Home Premium';
	document.contract_frm.ExtraComputer.selectedIndex = extra_computer;
	document.getElementById('contract_type').value = 'HomePremium';
	document.getElementById('contract_quantity').value = parseFloat(extra_computer + 6);

	}
	
	if (radio_options==25.00)
	{
	//document.submit_frm.contract_quantity.text.value = ''+parseFloat(extra_computer + 5);
	//document.getElementById('contract_quantity').value = parseFloat(extra_computer + 5);
	document.getElementById('computers_covered').innerHTML = parseFloat(extra_computer + 1);
	document.getElementById('computer_contract').innerHTML = 'Business Starter';
	document.contract_frm.ExtraComputer.selectedIndex = extra_computer;
	document.getElementById('contract_type').value = 'BusinessStarter';

	} else if (radio_options==75.00)
	{
	//document.submit_frm.contract_quantity.text.value = ''+parseFloat(extra_computer + 10);
	//document.getElementById('contract_quantity').value = parseFloat(extra_computer + 10);
	document.getElementById('computers_covered').innerHTML = parseFloat(extra_computer + 5);
	document.getElementById('computer_contract').innerHTML = 'Business Basic';
	document.contract_frm.ExtraComputer.selectedIndex = extra_computer;
	document.getElementById('contract_type').value = 'BusinessBasic';

	} else if (radio_options==150.00)
	{
	//document.submit_frm.contract_quantity.text.value = ''+parseFloat(extra_computer + 10);
	//document.getElementById('contract_quantity').value = parseFloat(extra_computer + 10);
	document.getElementById('computers_covered').innerHTML = parseFloat(extra_computer + 10);
	document.getElementById('computer_contract').innerHTML = 'Business Premium';
	document.contract_frm.ExtraComputer.selectedIndex = extra_computer;
	document.getElementById('contract_type').value = 'BusinessPremium';

	}
}

function password_check()
{
	new_password = document.getElementById('new_password').value;
	confirm_password = document.getElementById('confirm_password').value;
	
	if(new_password==confirm_password){return true;} else {return false;}
}
//function news()
//{
//document.getElementById('news').innerHTML = "This is the news";
//}