function IsAlpha(value) {
	return /^[a-zA-Z\d]+$/.test(value);
}

function IsInteger(n){
	return (Math.floor(n) == n);
}

function IsBlank(value) {
	if ((value == null) || (value == "")) {
		return true;
	} else {
		return false;
	}
}

function val_email(value) {
	var email = value;
	var r = new RegExp("^[\\w\\.\\-]+@\\w+[\\w\\.\\-]*?\\.\\w{1,4}$");
	
	if(r.exec(email)) {
		return true;
	} else {
		return false;
	}
}

function CheckAll(type, self) {
 	var checkbox;
	var status;
 
 	switch (type) {
		case 'consumer' :
			checkbox = document.form["consumer_events[]"];
			break;
			
		case 'trade' :
			checkbox = document.form["trade_events[]"];
			break;
	}	
	
	for (i=0; i<checkbox.length; i++) {
		checkbox[i].checked = self.checked;
	}
}

function check_reg_booth(form) {
 	var msg = "The following fields are either empty or invalid:\n";
  	var success = true;
    
	if (form.space[0].checked) {
	 	if (IsBlank(form.raw.value)) {
			msg += "\n- Raw Space";
			success = false;
		} else if (isNaN(form.raw.value)) {
			msg += "\n- Raw Space (Invalid)";
			success = false;
		} 
	} else if (form.space[1].checked) {
		if (IsBlank(form.scheme.value)) {
			msg += "\n- Scheme Space";
			success = false;
		} else if (isNaN(form.scheme.value)) {
			msg += "\n- Scheme Space (Invalid)";
			success = false;
		}
	}
	
  	if (form.name.value == "") {
  	 	//alert("Name is empty");
		//form.name.focus();
		//return false;
		msg += "\n- Name";
		success = false;
	}
  
	if (IsBlank(form.email.value)) {
		msg += "\n- Email";
		success = false;
	} else {
		if (!val_email(form.email.value)) {
			msg += "\n- Email (Invalid)";
			success = false;
		}
	}
	
	if ((IsBlank(form.office.value)) && (IsBlank(form.mobile.value)) && (IsBlank(form.office.value))) {
		msg += "\n- Contact Number (Please enter one)";
		success = false;	
	} else {
	 	// Office
		if (!IsBlank(form.office_cc.value) && isNaN(form.office_cc.value)) {
			msg += "\n- Office Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office_ac.value) && isNaN(form.office_ac.value)) {
			msg += "\n- Office Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office.value) && isNaN(form.office.value)) {
			msg += "\n- Office (Invalid)";
			success = false;	
		}
		
		// Mobile
		if (!IsBlank(form.mobile_cc.value) && isNaN(form.mobile_cc.value)) {
			msg += "\n- Mobile Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile_ac.value) && isNaN(form.mobile_ac.value)) {
			msg += "\n- Mobile Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile.value) && isNaN(form.mobile.value)) {
			msg += "\n- Mobile (Invalid)";
			success = false;	
		}
		
		// Fax
		if (!IsBlank(form.fax_cc.value) && isNaN(form.fax_cc.value)) {
			msg += "\n- Fax Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax_ac.value) && isNaN(form.fax_ac.value)) {
			msg += "\n- Fax Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax.value) && isNaN(form.fax.value)) {
			msg += "\n- Fax (Invalid)";
			success = false;	
		}
	}
	
	if (IsBlank(form.company.value)) {
		msg += "\n- Company";
		success = false;
	}
	
	if (IsBlank(form.designation.value)) {
		msg += "\n- Designation";
		success = false;
	}
	
	if (IsBlank(form.coy_address1.value)) {
		msg += "\n- Company Address";
		success = false;
	}
	
	if (form.country.value == "") {
		msg += "\n- Country";
		success = false;
	}
	
	if ((!IsBlank(form.colleague1_email.value)) && (!val_email(form.colleague1_email.value))) {
		msg += "\n- Colleague 1 email (Invalid)";
		success = false;
	}
	
	if ((!IsBlank(form.colleague2_email.value)) && (!val_email(form.colleague2_email.value))) {
		msg += "\n- Colleague 2 email (Invalid)";
		success = false;
	}
		
	if (!success) {
		alert(msg);
		return success;
	} else {
		return success;
	}
}

function check_reg_press(form) {
 	var msg = "The following fields are either empty or invalid:\n";
  	var success = true;
  
  	if (form.name.value == "") {
  	 	//alert("Name is empty");
		//form.name.focus();
		//return false;
		msg += "\n- Name";
		success = false;
	}
  
	if (IsBlank(form.email.value)) {
		msg += "\n- Email";
		success = false;
	} else {
		if (!val_email(form.email.value)) {
			msg += "\n- Email (Invalid)";
			success = false;
		}
	}
	
	if ((IsBlank(form.office.value)) && (IsBlank(form.mobile.value)) && (IsBlank(form.office.value))) {
		msg += "\n- Contact Number (Please enter one)";
		success = false;	
	} else {
	 	// Office
		if (!IsBlank(form.office_cc.value) && isNaN(form.office_cc.value)) {
			msg += "\n- Office Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office_ac.value) && isNaN(form.office_ac.value)) {
			msg += "\n- Office Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office.value) && isNaN(form.office.value)) {
			msg += "\n- Office (Invalid)";
			success = false;	
		}
		
		// Mobile
		if (!IsBlank(form.mobile_cc.value) && isNaN(form.mobile_cc.value)) {
			msg += "\n- Mobile Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile_ac.value) && isNaN(form.mobile_ac.value)) {
			msg += "\n- Mobile Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile.value) && isNaN(form.mobile.value)) {
			msg += "\n- Mobile (Invalid)";
			success = false;	
		}
		
		// Fax
		if (!IsBlank(form.fax_cc.value) && isNaN(form.fax_cc.value)) {
			msg += "\n- Fax Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax_ac.value) && isNaN(form.fax_ac.value)) {
			msg += "\n- Fax Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax.value) && isNaN(form.fax.value)) {
			msg += "\n- Fax (Invalid)";
			success = false;	
		}
	}
	
	if (IsBlank(form.company.value)) {
		msg += "\n- Company";
		success = false;
	}
	
	if (IsBlank(form.designation.value)) {
		msg += "\n- Designation";
		success = false;
	}
	
	if (IsBlank(form.publication.value)) {
		msg += "\n- Publication";
		success = false;
	}
	
	if (IsBlank(form.coy_address1.value)) {
		msg += "\n- Company Address";
		success = false;
	}
	
	if (form.country.value == "") {
		msg += "\n- Country";
		success = false;
	}
			
	if (!success) {
		alert(msg);
		return success;
	} else {
		return success;
	}
}

function check_reg_subscribe(form) {
 	var msg = "The following fields are either empty or invalid:\n";
  	var success = true;
  
  	if (form.name.value == "") {
  	 	//alert("Name is empty");
		//form.name.focus();
		//return false;
		msg += "\n- Name";
		success = false;
	}
  
	if (IsBlank(form.email.value)) {
		msg += "\n- Email";
		success = false;
	} else {
		if (!val_email(form.email.value)) {
			msg += "\n- Email (Invalid)";
			success = false;
		}
	}
	
	if (form.country.value == "") {
		msg += "\n- Country";
		success = false;
	}
			
	if (!success) {
		alert(msg);
		return success;
	} else {
		return success;
	}
}

function check_reg_papers(form) {
 	var msg = "The following fields are either empty or invalid:\n";
  	var success = true;
	
	if (form.space[0].checked) {
	 	if (IsBlank(form.manufacturer_presentation.value)) {
			msg += "\n- Raw Space";
			success = false;
		} else if (isNaN(form.manufacturer_presentation.value)) {
			msg += "\n- Raw Space (Invalid)";
			success = false;
		} 
	} 
	
	if (form.space[1].checked) {
		if (IsBlank(form.scheme.value)) {
			msg += "\n- Scheme Space";
			success = false;
		} else if (isNaN(form.scheme.value)) {
			msg += "\n- Scheme Space (Invalid)";
			success = false;
		}
	}
  
  	if (form.firstname.value == "") {
  	 	//alert("Name is empty");
		//form.name.focus();
		//return false;
		msg += "\n-First Name";
		success = false;
	}
  
  	if (form.surname.value == "") {
  	 	//alert("Name is empty");
		//form.name.focus();
		//return false;
		msg += "\n- Surname";
		success = false;
	}
  
	if (IsBlank(form.email.value)) {
		msg += "\n- Email";
		success = false;
	} else {
		if (!val_email(form.email.value)) {
			msg += "\n- Email (Invalid)";
			success = false;
		}
	}
	
	if ((IsBlank(form.office.value)) && (IsBlank(form.mobile.value)) && (IsBlank(form.office.value))) {
		msg += "\n- Contact Number (Please enter one)";
		success = false;	
	} else {
	 	// Office
		if (!IsBlank(form.office_cc.value) && isNaN(form.office_cc.value)) {
			msg += "\n- Office Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office_ac.value) && isNaN(form.office_ac.value)) {
			msg += "\n- Office Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office.value) && isNaN(form.office.value)) {
			msg += "\n- Office (Invalid)";
			success = false;	
		}
		
		// Mobile
		if (!IsBlank(form.mobile_cc.value) && isNaN(form.mobile_cc.value)) {
			msg += "\n- Mobile Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile_ac.value) && isNaN(form.mobile_ac.value)) {
			msg += "\n- Mobile Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile.value) && isNaN(form.mobile.value)) {
			msg += "\n- Mobile (Invalid)";
			success = false;	
		}
		
		// Fax
		if (!IsBlank(form.fax_cc.value) && isNaN(form.fax_cc.value)) {
			msg += "\n- Fax Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax_ac.value) && isNaN(form.fax_ac.value)) {
			msg += "\n- Fax Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax.value) && isNaN(form.fax.value)) {
			msg += "\n- Fax (Invalid)";
			success = false;	
		}
	}
	
	if (IsBlank(form.company.value)) {
		msg += "\n- Company";
		success = false;
	}
	
	if (IsBlank(form.designation.value)) {
		msg += "\n- Designation";
		success = false;
	}
	
	if (IsBlank(form.coy_address1.value)) {
		msg += "\n- Company Address";
		success = false;
	}
		
	if (form.country.value == "") {
		msg += "\n- Country";
		success = false;
	}
			
	if (!success) {
		alert(msg);
		return success;
	} else {
		return success;
	}
}

function check_reg_share(form) {
 	var msg = "The following fields are either empty or invalid:\n";
  	var success = true;
  
	if (IsBlank(form.friends_email.value)) {
		msg += "\n- Friend's Email";
		success = false;
	} else {
		var my_email = form.friends_email.value.split(";");
		
		for (var i=0; i<my_email.length; i++) {
			if (!val_email(my_email[i])) {
				msg += "\n- Friend's Email (Invalid Email: " + my_email[i] + ")";
				success = false;
			}
		}
	}
  
  	if (form.name.value == "") {
  	 	//alert("Name is empty");
		//form.name.focus();
		//return false;
		msg += "\n- Name";
		success = false;
	}
  
	if (IsBlank(form.email.value)) {
		msg += "\n- Email";
		success = false;
	} else {
		if (!val_email(form.email.value)) {
			msg += "\n- Email (Invalid)";
			success = false;
		}
	}
			
	if (!success) {
		alert(msg);
		return success;
	} else {
		return success;
	}
}

function check_reg_vis(form) {
 	var msg = "The following fields are either empty or invalid:\n";
  	var success = true;
  
  	if (form.salutation.value == "") {
		msg += "\n- Salutation";
		success = false;
	}
  
	if (form.name.value == "") {
  	 	//alert("Name is empty");
		//form.name.focus();
		//return false;
		msg += "\n- Name";
		success = false;
	}
  
	if (IsBlank(form.email.value)) {
		msg += "\n- Email";
		success = false;
	} else {
		if (!val_email(form.email.value)) {
			msg += "\n- Email (Invalid)";
			success = false;
		}
	}
	
	if ((IsBlank(form.office.value)) && (IsBlank(form.mobile.value)) && (IsBlank(form.office.value))) {
		msg += "\n- Contact Number (Please enter one)";
		success = false;	
	} else {
	 	// Office
		if (!IsBlank(form.office_cc.value) && isNaN(form.office_cc.value)) {
			msg += "\n- Office Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office_ac.value) && isNaN(form.office_ac.value)) {
			msg += "\n- Office Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.office.value) && isNaN(form.office.value)) {
			msg += "\n- Office (Invalid)";
			success = false;	
		}
		
		// Mobile
		if (!IsBlank(form.mobile_cc.value) && isNaN(form.mobile_cc.value)) {
			msg += "\n- Mobile Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile_ac.value) && isNaN(form.mobile_ac.value)) {
			msg += "\n- Mobile Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.mobile.value) && isNaN(form.mobile.value)) {
			msg += "\n- Mobile (Invalid)";
			success = false;	
		}
		
		// Fax
		if (!IsBlank(form.fax_cc.value) && isNaN(form.fax_cc.value)) {
			msg += "\n- Fax Country Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax_ac.value) && isNaN(form.fax_ac.value)) {
			msg += "\n- Fax Area Code (Invalid)";
			success = false;	
		}
		
		if (!IsBlank(form.fax.value) && isNaN(form.fax.value)) {
			msg += "\n- Fax (Invalid)";
			success = false;	
		}
	}
	
	if (IsBlank(form.company.value)) {
		msg += "\n- Company";
		success = false;
	}
	
	if (IsBlank(form.designation.value)) {
		msg += "\n- Designation";
		success = false;
	}
	
	if (IsBlank(form.address1.value)) {
		msg += "\n- Company Address";
		success = false;
	}
	
	if (IsBlank(form.postal.value)) {
		msg += "\n- Postal";
		success = false;
	}
	
	if (form.country.value == "") {
		msg += "\n- Country";
		success = false;
	}
			
	if (!success) {
		alert(msg);
		return success;
	} else {
		return success;
	}
}