var statusLogin;
var frm;
var filterName = /^[A-Za-z0-9_ -']+/;
var filterScript = /[<>"'\\]+/;
var filterZip = /^[0-9A-Za-z ]{3,10}$/;



function submitForm( formId )
{
	frm = document.getElementById(formId); //dont change
	var err = "";
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var filterDate = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
	var filterMdp = /^[0-9A-Za-z]{4,16}$/;
	var filterLogin = /^[0-9A-Za-z_-]{4,30}$/;
	//var filterZip = /^[0-9]{5}$/;
	//var filterZip = /^[A-Z]{0,2}[0-9R][0-9A-Z]?[0-9][0-9A-Z]{2}$/;
	// var filterName = /^[A-Za-z0-9éèçàâêûîôùëïöäü_ -']+/;

	switch(formId)
	{	
		case "formCreate" :
			if(!frm.user_login.value) 	err 		+= "Field login empty\n";
			if(!frm.email.value) 	err 		+= "Filed email empty\n";
			if(frm.user_login.value.length && !frm.user_login.value.match(filterLogin))	err += "Invalid login .\n";
			if( frm.email.value && !frm.email.value.match(filter) ) err += "Invalid email address\n";
			if(!err)
			{
				if(isEmail ==false && isLogin == false) frm.submit();	
				return false;
			}
			else
				alert(err);
		break;	
	
		case "form_chkAccount" :
			if(!frm.user_login.value) 	err 		+= "Field login empty\n";
			if(!frm.user_pwd.value) 	err 		+= "Password empty \n";
			if(frm.user_login.value.length && !frm.user_login.value.match(filterLogin))
				err += "Invalid login .\n";
			if(!err)
			{
				typeAction = "chkAccount";
				var chkAccountFile				= "http://"+server+"/modules/movie/scenes/learnuse/act_chkAccount.php";
				var rq = makeRequest(chkAccountFile, 'login='+frm.user_login.value+'&pwd='+frm.user_pwd.value);
				return false;
			}
			else
				alert(err);
		break;		
		case "form_chkAccount2" :
			if(!frm.user_login2.value) 	err 		+= "Field login empty\n";
			if(!frm.user_pwd.value) 	err 		+= "Password empty \n";
			if(frm.user_login2.value.length && !frm.user_login2.value.match(filterLogin))
				err += "Invalid login .\n";
			if(!err)
			{
				typeAction = "chkAccount";
				var chkAccountFile				= "http://"+server+"/modules/movie/scenes/learnuse/act_chkAccount.php";
				var rq = makeRequest(chkAccountFile, 'login='+frm.user_login2.value+'&pwd='+frm.user_pwd.value);
				return false;
			}
			else
				alert(err);
		break;		
		case "form_login":
			if(!frm.login.value) 	err 		+= "Field login empty\n";
			if(!frm.pass.value) 	err 		+= "Password empty \n";
			
			
			if(frm.login.value.length && !frm.login.value.match(filterLogin))
				err += "Invalid login .\n";

			if(!err) {
				typeAction = "login";				
				var rq = makeRequest(actLogin, 'login='+frm.login.value+'&pass='+frm.pass.value);
				return false;
			}
			else
				alert(""+err);
		break;
		case "login_form":
		case "form_login2":
			if(!frm.login.value) 	err 		+= "Field login empty\n";
			if(!frm.pass.value) 	err 		+= "Password empty \n";
			if(frm.login.value.length && !frm.login.value.match(filterLogin))
				err += "Invalid login .\n";
			param = (frm.chkmykapsys && frm.chkmykapsys.value) ? "&chkmykapsys=1" : "";
			param += (frm.fuseAction && frm.fuseAction.value) ? "&fuseAction="+frm.fuseAction.value : "";
			param += (frm.back && frm.back.value) ? "&back="+frm.back.value : "";

			if(!err) {
				typeAction = "login";				
var actLogin2 = "http://"+server+"/modules/movie/scenes/openshare/act_login.php";
				var rq = makeRequest(actLogin2, 'login='+frm.login.value+'&pass='+frm.pass.value+param);
				return false;
			}
			else
				alert(""+err);
		break;
		
		case "form_needU":
			if(!frm.needlogin.value) 	err 		+= "Field Zurby or email address empty\n";
			if(!frm.comment.value) 	err 		+= "Field comment empty\n";
			
			if(!err) {											
					log = (frm.needlogin) ? frm.needlogin.value : '';
					frm.method = 'post';
					frm.login.value = log;
					frm.action = actSendMail;
					frm.target = 'ifdo';
					document.getElementById('success').style.display = 'block';
					document.getElementById('form').style.display = 'none';
					frm.submit();
			}
			else
				alert(""+err);
		break;
		
		case "formQuestionSupport":
			if(!frm.email.value) 	err 		+= "Filed email empty\n";
			if(!frm.subject.value) 	err 		+= "Field subject empty\n";
			if(!frm.daQuestion.value) 	err 		+= "Field question empty\n";
			if( frm.email.value && !frm.email.value.match(filter) ) err += "Invalid email address\n";
			var prod = (!frm.prod.value) ? '' : frm.prod.value;
			var serial = (!frm.serial.value) ? '' : frm.serial.value;
			
			if(!err) {
				typeAction = "questionSupport";
				var rq = makeRequest(questionSupport, 'mail='+frm.email.value+'&msg='+frm.daQuestion.value+'&sub='+frm.subject.value+'&serial='+serial+'&prod='+prod);
				document.getElementById('success').style.display = 'block';
				document.getElementById('qForm').style.display = 'none';
			}
			else
				alert(""+err);
		break;
		
		case "form_contact":
			//var filter2 = /^((\+?[0-9 ])?[0-9 ]{10,}|[0-9]{3})$/;
			var filter2 = /^([0-9 ]{2,32}|\+[0-9]{3,32})$/;
			//var filter3 = /^[a-zA-Z0-9 -]{3,64}$/;
			var filter3 = /^[A-Za-z0-9Ã©Ã¨Ã§Ã Ã¢ÃªÃ»Ã®Ã´Ã¹Ã«Ã¯Ã¶Ã¤Ã¼_ -']+/;
			if(!frm.name.value) err 			+= "Field name/first name empty\n";
			if(!frm.phonetic.value) err 			+= "Fields phonetic name/first name empty\n";
			if(frm.name.value.length && !frm.name.value.match(filter3))			err += "Invalid name/first name\n";
			if(frm.email.value.length && !frm.email.value.match(filter))		err += "Invalid email address\n";
			if(frm.phone1.value.length && !frm.phone1.value.match(filter2))		err += "Invalid home phone number.\n";
			if(frm.phone2.value.length && !frm.phone2.value.match(filter2))		err += "Invalid office phone number.\n";
			if(frm.phone3.value.length && !frm.phone3.value.match(filter2))		err += "Invalid mobile phone number.\n";
			if(!err)
				editContact(frm);
			else
				alert(""+err);
		break;
		
		case 'formSendTagToFriend' :
			if(!frm.email.value) 	err 		+= "Filed email empty\n";
			if(frm.email.value.length && !frm.email.value.match(filter))		
				err += "Invalid email address\n";			
			if(!err)
				return true;
			else
				alert(""+err);
		break;
		
		case 'formGeotagCreation' :
		//voir geotags.js.php pour le control
			if(!frm.name.value) 													err 		+= "Field name empty\n";
			if(frm.name.value.length && !frm.name.value.match(filterName))			err 		+= "Forbidden characters in name field\n";
			if(frm.keywords.value.length && !frm.keywords.value.match(filterName))	err 		+= "Invalid field keyword : the keywords must not content any special character.\n";
			if(!frm.category.value) 												err 		+= "Field category empty\n";
			if(frm.comment.value && frm.comment.value.length>250) 					err 		+= "250 characters max for the comment\n";
			if(!err)
				return true;
			else
				alert(""+err);
		break;
	
		
		case "form_search":
			if(!frm.c.value) err 			+= "";
			if(!err)
				frm.submit();
			else
				alert(""+err);
		break;
		
		case "form_edit_user":
			
			if(frm.users_name.value.length && frm.users_name.value.match(filterScript))				err 		+= "Forbidden characters in name field\n";
			if(frm.users_firstname.value.length && frm.users_firstname.value.match(filterScript))	err 		+= "Forbiden characters in first name field\n";
			if(frm.users_infos_city.value.length && frm.users_infos_city.value.match(filterScript))	err 		+= "Forbidden characters in field city\n";
			if(!frm.users_firstname.value) 		err 		+= "Field first name empty\n";
			if(!frm.users_name.value) 			err 		+= "Field name empty\n";
			if(!frm.users_email.value) 			err 		+= "Filed email empty\n";
			if(frm.users_infos_cp.value.length && !frm.users_infos_cp.value.match(filterZip))		err += "Invalid Zip code. \nOnly alphanumeric characters are allowed (no spaces)\nA valid zipcode is between 3 and 5 characters\n";
			if(!frm.users_infos_cp.value) 		err 		+= "field Zip code empty\n";
			if(frm.users_pwd.value.length && !frm.users_pwd.value.match(filterMdp))
				err += "Invalid password format. Special characters are not allowed and the password size should be between 4 and 16 characters\n";
			if( frm.users_pwd.value.length && frm.users_pwd_conf.value.length && frm.users_pwd.value != frm.users_pwd_conf.value )		
				err += "The passwords do not match.\n";
			nb = 255;
			if( frm.users_infos_description.value.length >= nb )
			{
				frm.users_infos_description.value = frm.users_infos_description.value.substring( 0,(nb-1) );
				err += nb + " characters maximum\n";
			}
			
			if(frm.users_email.value.length && !frm.users_email.value.match(filter))
				err += "Filed email empty\n";
			
			if(!err)
			{
				if(isEmail==false)
					editProfil(frm);					
				else
					alert("Email already exist ! Please enter another one.\n");
			}
			else
				alert(""+err);
		break;
		
		case "form_forgot":		
			if(!frm.email.value) 	err 		+= "Filed email empty\n";
			if(frm.email.value.length && !frm.email.value.match(filter))		
									err 		+= "Invalid email address\n";		
			if(!err) {
				typeAction = "mdp";
				var rq = makeRequest(actForgot, 'email='+frm.email.value);
				return false;
			}
			else
				alert(""+err);
		break;

		case "form_register":
			if(!frm.user_login.value || !trim(frm.user_login.value)) 	err 		+= "Field login empty\n";
			if(frm.user_login.value.length && !frm.user_login.value.match(filterLogin))
				err += "Login invalide.\n";
			if(!frm.user_pwd.value) 			err 		+= "Password empty \n";
			if(!frm.nom.value || !trim(frm.nom.value))			err 		+= "Field name empty\n";
			if(!frm.prenom.value || !trim(frm.prenom.value)) 	err 		+= "Field first name empty\n";
			if(!frm.cp.value) 					err 		+= "field Zip code empty\n";
			if(frm.cp.value.length && !frm.cp.value.match(filterZip))
				err += "Forbidden characters in field zip code\n";
			
			if(!frm.country.value) 				err 		+= "Select a country\n";
			if(!frm.email.value) 				err 		+= "Filed email empty\n";
			
			nb = 255;
			if( frm.desc.value.length >= nb )
			{
				frm.desc.value = frm.desc.value.substring( 0,(nb-1) );
				err += nb + " characters maximum\n";
			}

			if(frm.email.value.length && !frm.email.value.match(filter))
				err += "Invalid email address\n";
			if(frm.user_pwd.value.length && !frm.user_pwd.value.match(filterMdp))
				err += "Invalid password format. Special characters are not allowed and the password size should be between 4 and 16 characters\n";
			if(frm.user_pwd.value.length && frm.user_pwd_conf.value.length && frm.user_pwd.value != frm.user_pwd_conf.value)		
				err += "The passwords do not match.\n";
			if(!frm.condition.checked)
				err += "You must accept the use conditions of the site.\n";
			if(!err)				
					//getParam(frm);//
					frm.submit();				
			else
				alert(""+err);
		break;
		
		case "form_register_shop":
			if(!frm.user_login.value || !trim(frm.user_login.value)) 	err 		+= "Field login empty\n";
			if(frm.user_login.value.length && !frm.user_login.value.match(filterLogin))
				err += "Login invalide.\n";
			if(!frm.user_pwd.value) 			err 		+= "Password empty \n";
			if(!frm.nom.value || !trim(frm.nom.value))			err 		+= "Field name empty\n";
			if(!frm.prenom.value || !trim(frm.prenom.value)) 	err 		+= "Field first name empty\n";
			if(!frm.adresse.value) 				err 		+= "Please enter your address\n";
			if(!frm.cp.value) 					err 		+= "field Zip code empty\n";
			if(frm.cp.value.length && !frm.cp.value.match(filterZip))
				err += "Forbidden characters in field zip code\n";
			
			if(!frm.ville.value) 				err 		+= "Please enter your city\n";
			if(!frm.email.value) 				err 		+= "Filed email empty\n";
			if(!frm.country.value) 				err 		+= "Select a country\n";
			nb = 255;
			if( frm.desc.value.length >= nb )
			{
				frm.desc.value = frm.desc.value.substring( 0,(nb-1) );
				err += nb + " characters maximum\n";
			}

			if(frm.email.value.length && !frm.email.value.match(filter))
				err += "Invalid email address\n";
			if(frm.user_pwd.value.length && !frm.user_pwd.value.match(filterMdp))
				err += "Invalid password format. Special characters are not allowed and the password size should be between 4 and 16 characters\n";
			if(frm.user_pwd.value.length && frm.user_pwd_conf.value.length && frm.user_pwd.value != frm.user_pwd_conf.value)		
				err += "The passwords do not match.\n";
			if(!frm.condition.checked)
				err += "You must accept the use conditions of the site.\n";
			if(!err)				
					//getParam(frm);//
					frm.submit();				
			else
				alert(""+err);
		break;
	}
return false;	
}

function confirmDEL( formId ) 
{
	
	if(confirm("Are you sure to delete ?"))
	{
		frm = document.getElementById(formId);	
		frm.submit();
	}		
	else
		return false;
	
}
function checkEmailExist(val) {
	if(val) {
		typeAction = "checkEmailExist";
		var url = "http://"+server+"/modules/movie/scenes/learnuse/checkEmailExist.php";
		makeRequest(url, "mail="+val);
	}
}
var isEmail;

function checkLogin(xmlDoc) {
	try {
		var loginStat = xmlDoc.documentElement.getElementsByTagName("status");
		statusLogin = loginStat[0].firstChild.nodeValue;	
		switch(statusLogin)
		{
			case "3":
				document.getElementById('errorMsg').innerHTML = 'Your account has not been validated. Please validate your acount using the confirmation mail.';
				statusLogin = 0;
			break;
			case "2":
				document.location.href = "http://"+server+"/modules/movie/scenes/openshare/index.php?fuseAction=shareboard";
			break;
			case "1":
				frm.submit();
			break;
			case "0":
				document.getElementById('errorMsg').innerHTML = 'Error in the writting.';
			break;
			default:
				statusLogin = 0;
			break;
		}
	} catch(e) {
		//alert(e);
		statusLogin = 0;
		document.getElementById('errorMsg').innerHTML = 'Error in the writting.';
	}
}

function chkAccount(xmlDoc) {
	try {
		var loginStat = xmlDoc.documentElement.getElementsByTagName("exist");
		statusLogin = loginStat[0].firstChild.nodeValue;	
		switch(statusLogin)
		{
			case "1" :
				frm.submit();
			break;
			
			case "2" :
				var rq = makeRequest(actSendMail, 'login='+frm.login.value+'&comment='+frm.comment.value+"&cat="+frm.cat.value);				
				document.getElementById('success').style.display = 'block';
				document.getElementById('form').style.display = 'none';
			break;
			
			case "0" :
			case "-1" :
				;
			break;
		}		
	} catch(e) {statusLogin = 0;}
	var msg = (parseInt(statusLogin) < 0) ? 'Login does not exist.\n' : 'Invalid password';
	if(parseInt(statusLogin) <= 0)
	{
		try{document.getElementById('errorMsgChkAcc').innerHTML 	= msg;}catch(e){;}
		$msg = '';
	}
	else
	{
		try{document.getElementById('errorMsgChkAcc').innerHTML = '';}catch(e){;}
		$msg = '';
	}
	return false;
}

function checkMail(xmlDoc) {
	try {
		var loginStat = xmlDoc.documentElement.getElementsByTagName("status");
		statusLogin = loginStat[0].firstChild.nodeValue;	
		if(statusLogin == 1)
			;
		else
			statusLogin = 0;
	} catch(e) {
		//alert(e);
		statusLogin = 0;
	}
	if(statusLogin == 0)
	{
		document.getElementById('errorMsgForgot').innerHTML = 'Email address does not exist.\n';
	}
	else
	{
		document.getElementById('errorMsgForgot').innerHTML = '';
		document.getElementById('success').style.display = 'block';
		document.getElementById('mdpForgot').style.display = 'none';
		document.getElementById('success').innerHTML = 'An email has been sent to '+frm.email.value+'';
	}
	return false;
}
function isEmailExist(xmlobject) {
	var root = xmlobject.getElementsByTagName('exist').item(0);
	if(root && root.firstChild.nodeValue == 1)
	{
		document.getElementById('email').focus();
		document.getElementById('errorMsgForgot1').innerHTML = 'Email already exist ! Please enter another one.\n';			
		isEmail = true;
	}
	else
	{
		document.getElementById('errorMsgForgot1').innerHTML = '';			
		isEmail = false;
	}
}

function editProfil(frm)
{
	frm.target = 'if_editProfil';	
	frm.submit();
	document.getElementById('form_edit_user').style.display = "none";
	document.getElementById('myZurb').style.display = "none";	
	document.getElementById('confirmEdit').style.display = "block";
}

function editContact(frm)
{
	frm.target = 'if_editContact';	
	frm.submit();
}