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


function checkSubscriptionForm(theForm) {

	var isAllValid = true;
	var inputmail = document.getElementById( "email" );
	var inputchekSoft = document.getElementById( "chekSoft" );
	var inputchekComics = document.getElementById( "chekComics" );
	
	if( trim(inputmail.value).length == 0 ) {
		invalidForm(inputmail);
		isAllValid = false;
	} else {
		validForm(inputmail);
	}
	if( !checkMail(inputmail.value) ) {
		isAllValid = false;
		invalidForm(inputmail);
	} else {
		validForm(inputmail);
	}
	
	return isAllValid;
}

function submitSubscriptionForm() {
	var form = document.getElementById("subscription");
	if( checkSubscriptionForm(form) ) {
		var inputmail = document.getElementById( "email" );
		var inputchekSoft = document.getElementById( "chekSoft" );
		var inputchekComics = document.getElementById( "chekComics" );
		var url = document.getElementById("url");
		var params = "";
		if( inputchekSoft.checked==false ) {
			if( inputchekComics.checked==true ) {
				params += "&"+inputmail.name +"="+ inputmail.value +"&"+url.name +"="+ url.value+"&"+inputchekComics.name +"="+ inputchekComics.value;
				
			}
			else invalidForm();
		}
		if( inputchekComics.checked==false ) {
			if( inputchekSoft.checked==true ) {
				params += "&"+inputmail.name +"="+ inputmail.value +"&"+url.name +"="+ url.value+"&"+inputchekSoft.name +"="+ inputchekSoft.value;
			}
			else invalidForm();
		}
		if( inputchekComics.checked==true & inputchekSoft.checked==true) {
			params += "&"+inputmail.name +"="+ inputmail.value +"&"+url.name +"="+ url.value+"&"+inputchekSoft.name +"="+ inputchekSoft.value+"&"+inputchekComics.name +"="+ inputchekComics.value;
		}
		
		var request = "/php/news/subscribe.php?operation=subscribe"+params;
		// submit the form:
		gHttp.open("POST", request, false);
		gHttp.send(null);
		
		var respons = gHttp.responseText.split("|");
		
		if( respons[0] == "OK" ) {			
			displaySubscriptionRespons(respons[1]);
		} else if( respons[0] == "ER" ) {
			displaySubscriptionRespons(respons[1]);
		}
	}
}

function displaySubscriptionRespons(text) {
	var boxinscrinews = document.getElementById("boxinscrinews");
	var displayText = document.getElementById("subscriptionRespons");
	if( !displayText ) {
		displayText = document.createElement("div");
		displayText.id = "subscriptionRespons";
		displayText.innerHTML = text;
		displayText.style.display="none";
		boxinscrinews.parentNode.appendChild(displayText);
		
		Effect.Appear(displayText);
	} else {
		displayText.innerHTML = text;
	}
}



/* 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() {
	var displayText = document.getElementById("subscriptionRespons");
	displayText.style.color="#c0240b";
	displayText.innerHTML="Formulaire non valide";
}

function validForm(inFormElement) {
	// restore the default background
	inFormElement.style.backgroundColor="";
	inFormElement.style.color="";
	var displayText = document.getElementById("subscriptionRespons");
	displayText.style.color="#2b8613";
	displayText.innerHTML="Formulaire valide";
}

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;
	}
}
