/* BEGIN */
var gHttp;
if (window.XMLHttpRequest) { 
	gHttp = new XMLHttpRequest();
} else if (window.ActiveXObject){
	gHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

function checkInscriptionForm() {

	var form = document.getElementById("inscriptionForm");
	var input_fields = form.getElementsByTagName('input');
	var select_fields = form.getElementsByTagName('select');
	if( checkInputFields(input_fields) && checkSelectFields(select_fields) ) {
		// constructs the request:
		var request = "scripts/sdk_inscription.php?operation=validate";
		for( var i = 0;i<select_fields.length;i++ ) {
			request += "&" + select_fields[i].name + "=" + select_fields[i].value;
		}
		
		for( var i = 0;i<input_fields.length;i++ ) {
			request += "&" + input_fields[i].name + "=" + input_fields[i].value;
		}
	
		gHttp.open("GET", request, false);
		gHttp.send(null);
		
		var respons = gHttp.responseText.split("|");
		
		if( respons[0] == "OK" ) {			
			var info = document.getElementById("info");
			info.innerHTML = "Thank you !";
			var Inscription	= document.getElementById("Inscription");
			Inscription.style.display = "none";	
		} else {
		}
	}	
}

function checkSelectFields(selectFields) {

	var isAllValid = true;
	for( var i = 0;i<selectFields.length;i++ ) {
		if( selectFields[i].name == "country" ) {
			if( selectFields[i].options[0].selected == true ) {
				invalidForm(selectFields[i]);
				isAllValid = false;
			} else {
				validForm(selectFields[i]);
			}
		}
	}
	
	return isAllValid;
	
}

function checkInputFields(inputFields) {

	var isAllValid = true;
	for( var i = 0;i<inputFields.length;i++ ) {
		// alert(inputFields[i].name);
		if( inputFields[i].name == "email" ) {
			// Check mail:
			if( checkMail(inputFields[i].value) ) {
				validForm(inputFields[i]);				
			} else {				
				invalidForm(inputFields[i]);
				isAllValid = false;
			}
		
		} else {
			var value = trim( inputFields[i].value );
			if( value.length == 0 ) {
				invalidForm(inputFields[i]);
				isAllValid = false;
			} else {
				validForm(inputFields[i]);
			}
		}
	}
	
	return isAllValid;
	
}

/* trim */
function trim(str) {
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

function invalidForm(inFormElement) {
	var errorColor = "#c0240b";
	new Effect.Highlight(inFormElement, {startcolor:"#ffffff", endcolor:errorColor, restorecolor:errorColor});
	inFormElement.style.color="#ffffff";
}

function validForm(inFormElement) {
	// restore the default background
	inFormElement.style.backgroundColor="";
	inFormElement.style.color="";
}

function checkMail(inEmail) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(inEmail)) {
		return true;
	} else {
		return false;
	}
}