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

window.onload = function() {
	setVisibleAlertBox(false);
}

function checkSubscriptionForm(theForm) {
	var isAllValid = true;
	var inputs = theForm.getElementsByTagName("input");
	// name
	if( trim(inputs[0].value).length == 0 ) {
		invalidForm(inputs[0]);
		isAllValid = false;
	} else {
		validForm(inputs[0]);
	}
	
	if( !checkMail(inputs[1].value) ) {
		isAllValid = false;
		invalidForm(inputs[1]);
	} else {
		validForm(inputs[1]);
	}
	
	return isAllValid;
}

function checkUnsubscriptionForm(theForm) {
	var isAllValid = true;
	var inputs = theForm.getElementsByTagName("input");
	if( !checkMail(inputs[0].value) ) {
		isAllValid = false;
		invalidForm(inputs[0]);
	} else {
		validForm(inputs[0]);
	}
	
	return isAllValid;
}

function submitUnSubscriptionForm() {
	var form = document.getElementById("unsubscription");
	if( checkUnsubscriptionForm(form) ) {
		var inputs = form.getElementsByTagName('input');
		var params = "";
		for( var i=0;i<inputs.length;i++ ) {
			if( inputs[i].type != "button" ) {
				params += "&"+inputs[i].name +"="+ inputs[i].value;
			}
		}
		
		var textarea = form.getElementsByTagName('textarea')[0];
		params += "&"+textarea.name +"="+ textarea.value;
		
		var request = "/php/news/globalUnsubscription.php?operation=unsubscribe"+params;
		gHttp.open("POST", request, false);
		gHttp.send(null);
		
		var respons = gHttp.responseText.split("|");
		
		var alertBox = document.getElementById( "alert" );
		if( respons[0] == "OK" ) {
		
		//	showUnsubscribeZone();
		//	setVisibleAlertBox( false );
		//	alertBox.innerHTML = "Thank you";
			
		} else if( respons[0] == "ER" ) {
			showUnsubscribeZone();
			//
			if( g_lang == "fr" ) {
				html = "<p>Vous n'êtes pas inscrit à notre mailing list.</p>";
				html += "<p>Si vous recevez des emails non sollicités de la part d'aquafadas.com,</p>";
				html += "<p>envoyez un email à support@aquafadas.com avec les détails nécessaires pour la correction de ces incidents</p>";
 				html += "<p>Cordialement</p>";
 				html += "<p>Aquafadas Software</p>";
 			} else {
 				html = "<p>You were not listed on our mailing list.</p>";
				html += "<p>If you have received unsollicited mail from aquafadas.com,</p>";
				html += "<p>please send an e-mail to support@aquafadas.com with the details of the incident and we will investigate</p>";
 				html += "<p>Best regards</p>";
 				html += "<p>Aquafadas Software</p>";
 			}
 			
 			alertBox.innerHTML = html;
 			setVisibleAlertBox( true );
		}
	}
}

function submitSubscriptionForm() {
	setVisibleAlertBox( false );
	
	var form = document.getElementById("subscription");
	if( checkSubscriptionForm(form) ) {
		var inputs = form.getElementsByTagName('input');
		var params = "";
		for( var i=0;i<inputs.length;i++ ) {
			if( inputs[i].name == "pro" ) {
				params += "&"+inputs[i].name +"="+ inputs[i].checked;
			} else if( inputs[i].type != "button" ) {
				params += "&"+inputs[i].name +"="+ inputs[i].value;
			}
		}
		
		var select = form.getElementsByTagName('select')[0];
		params += "&"+select.name +"="+ select.value;
	
		var request = "/php/news/subscription.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 stayInformed = document.getElementById("stayInformed");
	var displayText = document.getElementById("subscriptionRespons");
	if( !displayText ) {
		displayText = document.createElement("div");
		displayText.id = "subscriptionRespons";
		displayText.innerHTML = text;
		displayText.style.display="none";
		stayInformed.parentNode.appendChild(displayText);
		
		Effect.Appear(displayText);
	} else {
		displayText.innerHTML = text;
	}
}

function showUnsubscribeZone() {	
	setVisibleAlertBox( false );
	var form = document.getElementById( "unsubscription" );
	if( form.style.display == "block" ) {
		form.style.display = "none";
		//
	} else {
		//Effect.Appear(form);
		form.style.display = "block";
		var anchor = document.anchors["unsubscription"]; 
		window.scrollTo(anchor.parentNode.offsetLeft, anchor.parentNode.offsetTop);
	}
	
}

function setVisibleAlertBox(visibleFlag) {
	if( visibleFlag ) {
		var alert = document.getElementById( "alert" );
		//alert.style.display = "block";
		Effect.Appear(alert);
		var anchor = document.anchors["unsubscription"]; 
		window.scrollTo(anchor.parentNode.offsetLeft, anchor.parentNode.offsetTop);
	} else {
		var alert = document.getElementById( "alert" );
		alert.style.display = "none";
		//Effect.Fade( alert );
	}
}

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