// JavaScript Document
var HttpObj = null;

// Get the HTTP Object
function getHTTPObject()
{
	var xmlHttp;
	try{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}catch (e){
		// Internet Explorer
		try{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch (e){
			try{
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){				
				xmlHttp = null;
			}
		}
	}	
	return xmlHttp;
}


function fc_HttpObjState()
{
	if(HttpObj.readyState == 4 || HttpObj.readyState == "complete")
	{ 
		var success = HttpObj.responseText.split('[#]');
		var output = success[1];
		success = success[0];
		
		var form = document.getElementById('mailingListForm');
		
		if ( success == '1' )
		{
			form.innerHTML = output;
		}else{
			var errorDiv = document.getElementById('errorDiv');
			if ( errorDiv == null )
			{
				errorDiv = document.createElement('div');
				errorDiv.setAttribute('id','errorDiv');
				form.appendChild(errorDiv);
			}			
			errorDiv.innerHTML = output;
		}
	}
}


function addWarning ( objID )
{
	var errorObj = document.createElement( 'img' );
	errorObj.setAttribute( 'src', "images/ui/gfx/form/error.gif" );
	errorObj.setAttribute( 'alt', "error" );
	errorObj.setAttribute( 'class', "inlineImg" );
	
	var txt = document.getElementById( objID ).innerHTML;
	txt = txt.replace(/<.*>/,"");
	
	document.getElementById( objID ).innerHTML = "";
	var txtObj = document.createTextNode( txt );
				
	document.getElementById( objID ).appendChild( errorObj );
	document.getElementById( objID ).appendChild( txtObj );
}
function removeWarning ( objID )
{
	var txt = document.getElementById( objID ).innerHTML;
	txt = txt.replace(/<.*>/,"");
	document.getElementById( objID ).innerHTML = "";
	var txtObj = document.createTextNode( txt );
	document.getElementById( objID ).appendChild( txtObj );
}


function fc_mailingList()
{ 
	var name = document.getElementById('nameMailingList').value;
	var organisation = document.getElementById('organisationMailingList').value;
	var jobTitle = document.getElementById('jobTitleMailingList').value;
	var country = document.getElementById('countryMailingList').value;
	var email = document.getElementById('emailMailingList').value;
	//-----------------------------------------
	// validation
	var fields = Array('nameMailingList', 'organisationMailingList', 'jobTitleMailingList', 'countryMailingList', 'emailMailingList');
	var errors = Array();	
	var res = true;	
	//-----------------------------------------
	//-----------------------------------------
	if ( trim(name).length < 4 )
		res = false;	
	if (!res)
		errors.push('nameMailingList');
	res = true;
	//-----------------------------------------
	if ( trim(organisation).length < 3 )
		res = false;	
	if (!res)
		errors.push('organisationMailingList');
	res = true;
	//-----------------------------------------
	if ( trim(jobTitle).length < 3 )
		res = false;	
	if (!res)
		errors.push('jobTitleMailingList');
	res = true;
	//-----------------------------------------
	if ( trim(country).length < 2 )
		res = false;	
	if (!res)
		errors.push('countryMailingList');
	res = true;
	//-----------------------------------------
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	res = reg.test( trim(email) );
	if (!res)
		errors.push('emailMailingList');
	res = true;
	//-----------------------------------------
	//-----------------------------------------
	if (errors.length > 0)
	{
		for ( var i=0; i<fields.length; i++ )
		{
			if (in_array ( fields[i], errors ))
			{
				addWarning ( fields[i] + "_title" );
			}else{
				removeWarning ( fields[i] + "_title" );
			}
		}
		//-----------------------------------------
		var form = document.getElementById('mailingListForm');
		var errorDiv = document.getElementById('errorDiv');
		if ( errorDiv == null )
		{
			errorDiv = document.createElement('div');
			errorDiv.setAttribute('id','errorDiv');
			form.appendChild(errorDiv);
		}			
		errorDiv.innerHTML = '<p style="color:#FF0000;">Please correct the fields maked with <img src="images/ui/gfx/form/error.gif" alt="error" class="inlineImg" /> and submit your details again.</p>';		
	}else{
		
		if(HttpObj == null)
			HttpObj = getHTTPObject();
			
		if (HttpObj != null)
		{
			HttpObj.open("GET", "./php/mailingList.php?name=" + name + "&organisation=" + organisation + "&jobTitle=" + jobTitle + "&country=" + country + "&email=" + email, true);
				
			HttpObj.onreadystatechange = new Function();
			HttpObj.onreadystatechange = fc_HttpObjState;
			
			HttpObj.send(null);
		}
		
	}
}