if( document.addEventListener ) document.addEventListener( 'DOMContentLoaded', cmxform, false );

function cmxform(){
  // Hide forms
  $( 'form.cmxform' ).hide().end();
  
  // Processing
  $( 'form.cmxform' ).find( 'li/label' ).not( '.nocmx' ).each( function( i ){
    var labelContent = this.innerHTML;
    var labelWidth = document.defaultView.getComputedStyle( this, '' ).getPropertyValue( 'width' );
    var labelSpan = document.createElement( 'span' );
        labelSpan.style.display = 'block';
        labelSpan.style.width = labelWidth;
        labelSpan.innerHTML = labelContent;
    this.style.display = '-moz-inline-box';
    this.innerHTML = null;
    this.appendChild( labelSpan );
  } ).end();
  
  // Show forms
  $( 'form.cmxform' ).show().end();
}

function validateForm(form) {
	if (form.id == "cmxform1") {
		if (isNotEmpty(form.email) &&
			isEmailAddr(form.email)) {
			return true;
		} else {
			return false;
		}
	}
	if (form.id == "cmxform2") {
		if (isNotEmpty(form.first_name) &&
			isNotEmpty(form.surname) &&
			isNotEmpty(form.email) &&
			isEmailAddr(form.email) &&
			isNotEmpty(form.job) &&
			isNotEmpty(form.org_name) &&
			isNotEmpty(form.org_country) &&
			isNotEmpty(form.org_phone) &&
			isChosen(form.org_type) &&
			isChosen(form.sectoral_interests_select) &&
			isChosen(form.how_did_you_hear_about_us) &&
			isChecked(form.agree_to_terms)) {
			form.sectoral_interests.value =
				sortMultiple(form.sectoral_interests_select);
			return true;
		} else {
			return false;
		}
	}
}

function isNotEmpty(elem) {
	var str = elem.value;
	var re = /.+/;
	if(!str.match(re)) {
		alert("Please fill in all required fields.");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

function sortMultiple(elem) {
	var selected_options = new Array();
	var j = 0;
	for(var i = 0; i < elem.options.length; i++) {
		if (elem.options[i].selected) {
			selected_options[j] = elem.options[i].value;
			j++;
		}
	}
	var sel_opt_str = selected_options.join(', ');
	return sel_opt_str;
}

function isChosen(elem) {
	if (elem.selectedIndex > 0) return true;
	alert("Please fill in all required fields.");
	setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
	return false;	
}

function isChecked(elem) {
	if (elem.checked) {
		return true;
	} else {
		alert("Please check the box to agree to our terms.");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
	}
}

function isEmailAddr(elem) {
	var str = elem.value;
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (!str.match(re)) {
		alert("Please enter a valid email address.");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
	} else {
		return true;
	}
}

function focusElement(formName, elemName) {
	var elem = document.forms[formName].elements[elemName];
	elem.focus();
	// elem.select();
}

function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=400,height=300,left = 440,top = 277');");
}