/*----- javaScript Document ----------*/

/** Form originating the request */
var FORM_PLUS									= 1;
var FORM_PLUS_GOOGLE							= 1;
var FORM_PLUS_SMS								= 8;
var FORM_PLUS_SMS_GOOGLE						= 8;
var FORM_SMS									= 3;
var FORM_SMS_PLUS_LOGOSIPLUS					= 5;
var FORM_WAP									= 7;
var FORM_WAP_FLASH								= 2;
var FORM_WAP_GOOGLE								= 7;
var FORM_WAP_IMC								= 2;
var FORM_FAI									= 6;

/** Traitements possibles apres le clique de l'utilisateur */
var FORM_TREATMENT_PLUS							= 1;
var FORM_TREATMENT_WAP							= 2;
var FORM_TREATMENT_SMS							= 3;
var FORM_TREATMENT_PLUS_REVDNS					= 11;//PLUS avec aucune souscription alternative si l'IP n'est pas reconnue.
var FORM_TREATMENT_PLUS_WAP_REVDNS				= 12;//PLUS avec souscription alternative WAP si l'IP n'est pas reconnue
var FORM_TREATMENT_PLUS_SMS_REVDNS				= 13;//PLUS avec souscription alternative SMS si l'IP n'est pas reconnue





/***************/
/** Treatments */
/***************/
function check(logosIPlus)							// logosIPlus : parametre passé lorsqu'on choisis son fournisseur internet par les logos
{
	/*----- General variable ----------*/	
	var sp_target = "";								// nom de la SP
	var idTracking = document.formulario.i.value;	// id de campagne (mis par défaut à 0040 sur la SP)
	var userId = document.formulario.numero.value;	// msisdn (obligatoire)
	var type_form = "";								// Type d'inscription
	var idAction = "";								// infos de la SP
	var Checkbox = "";								// case à cocher Google
	var fai = 0;									// Fournisseur d'Acces Internet  (default 0)
	var userOperator = 4;							// Operateur (default 4 = triop)
	var waplink_format = 0;							// 0 : par défaut, 1 : pour l'Imode
	var offer = "O9";								// Type de l'offre Internet plus ou autre, une seule possible pour l'instant : O4 (passée a O9 avec le changement de tarif)
	//var choix_op = false;									// Pour l'inscription I+, TRUE, si le FAI n'est pas compatible, redirection vers le choix Opérateur pour une inscription WAP
	var choix_sms = false;							// Redirection vers l'inscription SMS : TRUE
	var title_sms2 = "";							// Pour l'inscription SMS, Permet d'afficher le titre associé
	var img_sms2 = "";								// Pour l'inscription SMS, Permet d'afficher l'image associé
	var imcPoid = "";
	var imctaille = "";
	var ResIMC = "";
	var SM_keyword = "";							// Clé Inscription SMS
	var SessionID = "";                             // SID courant
	var addUserAgentToUrl = false;					//Il peut etre necessaire d'ajouter le User Agent a l'url (I+)
	var mngJeuConcours 		= false;				//pour le Jeu Concours
	
	var doc
	doc=document.location.href;
	
	//----- Test l'existence des variables ----------et du numéro----------/
	if (document.formulario.sp_target)
		sp_target = document.formulario.sp_target.value;
	
	if (document.formulario.idAction)
		idAction = document.formulario.idAction.value;
		
	if (document.formulario.SID)
		SessionID = document.formulario.SID.value;
		
	if ( document.getElementById("manageJeuConcours") != null ) 	
		mngJeuConcours = document.getElementById("manageJeuConcours").value;

	if ( ((userId.search(/06\d{8}/) == -1) && (userId.search(/07\d{8}/) == -1)) || (userId.length < 10))
	{
		alert("Désolé ce numéro est erroné.\nTape bien ton numéro sur 10 chiffres.");
		return window.location = doc + '&userId=' + userId;
	}
	
	//---------------
	if (document.formulario.type_form)			// Test si Type_form est bien présent dans le formulaire
	{
		type_form = document.formulario.type_form.value
		
		//---------------
		
		if ( type_form == FORM_PLUS || type_form == FORM_PLUS_GOOGLE )	//inscription par internet plus
		{
			/** Si l'utilisateur est sur son PC, il peut s'inscrire via I+. Sinon redirection vers souscription alternative. */
			/*
			if ( !isRequestFromDesktopPC() )
				type_form = FORM_TREATMENT_WAP;
			else*/
			addUserAgentToUrl = true;
				type_form = FORM_TREATMENT_PLUS_WAP_REVDNS;
		}
		//------------
		else if (type_form == FORM_SMS_PLUS_LOGOSIPLUS )	//inscription internet plus ET SMS
		{
			if (document.formulario.title_sms2)
				title_sms2 = document.formulario.title_sms2.value;
			if (document.formulario.img_sms2)
				img_sms2 = document.formulario.img_sms2.value;
			choix_sms = true;
			/** Si l'utilisateur est sur son PC, il peut s'inscrire via I+. Sinon redirection vers souscription alternative. */
			//if ( isRequestFromDesktopPC() )
			addUserAgentToUrl = true;
				type_form = FORM_TREATMENT_PLUS_SMS_REVDNS;	
			/*else
				type_form = FORM_TREATMENT_SMS;	*/
		}
		
		//--------------- 
		else if (type_form == FORM_FAI)			//inscription internet plus
		{
			addUserAgentToUrl = true;
			type_form = FORM_TREATMENT_PLUS_REVDNS;
		}
		
		//---------------
		
		else if (type_form == FORM_PLUS_SMS || type_form == FORM_PLUS_SMS_GOOGLE)	//inscription par internet plus ou SMS et/ou OPTIN GOOGLE/FACEBOOK
		{
			if (document.formulario.title_sms2)
				title_sms2 = document.formulario.title_sms2.value;
			if (document.formulario.img_sms2)
				img_sms2 = document.formulario.img_sms2.value;
			if (document.formulario.SM_keyword)
				SM_keyword = document.formulario.SM_keyword.value;
			choix_sms = true;
			/** Si l'utilisateur est sur son PC, il peut s'inscrire via I+. Sinon redirection vers souscription alternative. */
			//if ( isRequestFromDesktopPC() )
			addUserAgentToUrl = true;
			type_form = FORM_TREATMENT_PLUS_SMS_REVDNS;	
			/*else
				type_form = FORM_TREATMENT_SMS;	*/
		}
		
		//---------------
		
		else if ( type_form == FORM_WAP_FLASH || type_form == FORM_WAP_IMC )	//inscription wap
		{
			type_form == FORM_TREATMENT_WAP;
			userOperator = document.formulario.operador.value;
			if (userOperator == '#')
			{
				alert("Attention! Tu dois choisir ton opérateur");
				return window.location = doc + '&userId=' + userId;
			}
			else if (userOperator == 4)		// Test de l'Imode
			{
				waplink_format = 1;
				userOperator = 3;
			}
			else
				waplink_format = 0;
		}
		
		//---------------
		
		else if (type_form == FORM_SMS )	//inscription SMS
		{
			type_form == FORM_TREATMENT_SMS;
			if (document.formulario.title_sms2)
				title_sms2 = document.formulario.title_sms2.value;
			if (document.formulario.img_sms2)
				img_sms2 = document.formulario.img_sms2.value;
			if (document.formulario.SM_keyword)
				SM_keyword = document.formulario.SM_keyword.value;
			choix_sms = true;
		}
		
		//--------------- Still used ??
		/*
		else if (type_form == 4)	//inscription wap ET internet plus
		{
			if (logosIPlus < 4)
			{
				fai = logosIPlus;
				type_form = 1;
			}
			else if (logosIPlus == 4)
			{
				type_form = 2;
				fai = 0;
				choix_op = true;
			}
			else
			{
				userOperator = document.formulario.operador.value;
				fai = document.formulario.fai.value;
				if (userOperator == '#')
				{
					alert("Attention! Tu dois choisir ton opérateur");
					return false;
				}
				else if (fai == '#')
				{
					alert("Merci de saisir ton Fournisseur Internet avant de valider");
					return false;
				}	
				
				else if (fai < 4)
				{
					type_form = 1;
				}
				else
				{
					fai = 0;
					type_form = 2;
				}
				if (userOperator == 4)	// Test de l'Imode
				{
					waplink_format = 1;
					userOperator = 3;
				}
				else
					waplink_format = 0;
			}
		}*/
		
		
		//---------------
		
		else if ( type_form == FORM_WAP || type_form == FORM_WAP_GOOGLE )	//inscription Wap Uniquement
		{
			type_form = FORM_TREATMENT_WAP;
		}
		
		
	}
	
	//---------------
	
	if ((document.formulario.poid) && (document.formulario.taille))	//Spécifique à la page IMC : jeux23_wap, On doit rentrer son poid et sa taille
	{
		imcPoid = document.formulario.poid.value
		imctaille = document.formulario.taille.value
		if (imcPoid == "")
		{
			alert("Tu dois entrer ton poids");
			return window.location = doc + '&userId=' + userId;
		}
		if (imctaille == "")
		{
			alert("Tu dois entrer ta taille");
			return window.location = doc + '&userId=' + userId;
		}
		if ((imctaille.search(/,/) >= 0))
		{
			alert ("Attention, ta taille doit être séparée par un point ");
			return window.location = doc + '&userId=' + userId;
		}
		var ResIMC = Math.round(imcPoid/(imctaille*imctaille)*100)/100;
	}
	
	//---------------
	
	if (document.formulario.button1)	//Spécifique à Google, Obligation de cocher une case d'acceptation des conditions générales
	{
		Checkbox = document.formulario.button1
		if (Checkbox.checked==false)
		{
			alert("Tu dois accepter les conditions générales" + userId);
			return window.location = doc + '&userId=' + userId;
		}
	}
	
	
	//---------------
	if(SessionID != "")
		var urlParamsGet = 'idTracking=' + idTracking + '&userId=' + userId + '&userOperator=' + userOperator + '&waplink_format=' + waplink_format + '&fai=' + fai + '&sp_target=' + sp_target + '&idAction=' + idAction + '&offer=' + offer + '&type_form=' + type_form + '&SID=' + SessionID + getVar("ymid");
	else
		var urlParamsGet = 'idTracking=' + idTracking + '&userId=' + userId + '&userOperator=' + userOperator + '&waplink_format=' + waplink_format + '&fai=' + fai + '&sp_target=' + sp_target + '&idAction=' + idAction + '&offer=' + offer + '&type_form=' + type_form;
	
	//---------------
	if ( addUserAgentToUrl == true )
		urlParamsGet += '&ua='+urlEncode( navigator.userAgent ); 
	
	//---------------
	if ( choix_sms )
		urlParamsGet += '&title_sms2=' + title_sms2 + '&img_sms2=' + img_sms2 + '&SM_keyword=' + SM_keyword;
		
	//--------------- 
	if ( ResIMC > 0 )
	  urlParamsGet += '&ResIMC=' + ResIMC;
	  
	//---------------
	if ( mngJeuConcours )
	{
		/** Detect week */
		var iNumWeek = getWeekOfPlan();
		if ( iNumWeek > 11 )
		{
				alert("Désolé, le jeu concours a est terminé !");
				return false;
		}
		
		var JC = iNumWeek + '-' + userId;
		urlParamsGet += '&JC=' + JC;		
	} 
	
	if(img_sms2.substr(-9) == "thumb.jpg")
	{
		window.open('confirmationWeb.html?' + urlParamsGet,'TEST','directories=yes, location=yes, menubar=yes, resizable=yes, status=yes, scrollbars=yes, menubar=yes, toolbar=yes, width=10000, height=10000, left=0, top=0');
	}
	else
	{
		window.location = 'confirmationWeb.html?' + urlParamsGet;
	}
	
	/*
	if (choix_op)
		window.location = 'choix_op.html?' + urlParamsGet;
		
	else*/ 
	/*
	if (choix_sms)
		window.location = 'confirmationWeb.html?' + urlParamsGet + '&title_sms2=' + title_sms2 + '&img_sms2=' + img_sms2 + '&SM_keyword=' + SM_keyword;
	else if (ResIMC > 0)
		window.location = 'confirmationWeb.html?' + urlParamsGet + '&ResIMC=' + ResIMC;
	else if (type_form == 1 || type_form == 11 )
		window.location = 'confirmationWeb.html?' + urlParamsGet;//'redirection_ConfirmationWeb.html?' + urlParamsGet + '&ResIMC=' + ResIMC;
	else
		window.location = 'confirmationWeb.html?' + urlParamsGet;*/
	return true;
}

function getVar(nomVariable) {
	var infos = location.href.substring(location.href.indexOf("?")+1, location.href.length)+"&"
	if (infos.indexOf("#")!=-1)
		infos = infos.substring(0,infos.indexOf("#"))+"&"
	var variable=0
		{
		nomVariable = nomVariable + "="
		var taille = nomVariable.length
		if (infos.indexOf(nomVariable)!=-1)
		variable =  infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))
		}
		
	if(variable != 0){
		var reg = new RegExp("(=)", "g");
		variable = variable.replace(reg,"__egal__");
		variable = "&" + nomVariable + variable;
	}else{variable = "";}
		
	return variable;
}

function urlEncode(stringToEncode)
{
	stringToEncode = stringToEncode.replace(/;/g,"%3B");
	stringToEncode = stringToEncode.replace( new RegExp("/","g") ,"%2F");
	stringToEncode = stringToEncode.replace(/\?/g,"%3F");
	stringToEncode = stringToEncode.replace(/:/g,"%3A");
	stringToEncode = stringToEncode.replace(/=/g,"%3D");
	stringToEncode = stringToEncode.replace(/\+/g,"%2B");
	
	return stringToEncode;	
}

function checkMobileNumber()
{
	var userId = document.formulario.numero.value;	// msisdn (obligatoire)	
	if ((userId.search(/06\d{8}/) == -1) || (userId.length < 10))
	{
		alert("Désolé ce numéro est erroné.\nTape bien ton numéro sur 10 chiffres.");
		return false;
	}
	return true;
}

function getWeekOfPlan()
{
	var dStartOfPlan = new Date("June 14, 2010 00:00:00");
	var dNow = new Date();
	
	var timeDiff = dNow.getTime() - dStartOfPlan.getTime();
	var timeWeek = 7 * 24 * 60 * 60 * 1000;
	
	var iNumWeek = Math.floor( timeDiff / timeWeek ) + 1;
	
	return iNumWeek;
}

function checkLinkConcours()
{
	/** is the mobile number valid */
	var userId = document.formulario.numero.value;	// msisdn (obligatoire)	
	if ((userId.search(/06\d{8}/) == -1) || (userId.length < 10))
	{
		alert("Désolé ce numéro est erroné.\nTape bien ton numéro sur 10 chiffres.");
		return false;
	}
	
	/** Detect week */
	var iNumWeek = getWeekOfPlan();
	if ( iNumWeek < 1 || iNumWeek > 11 )
	{
			alert("Désolé, le jeu concours est terminé !");
			return false;
	}
	
	var JC = iNumWeek + '-' + userId;
	
	window.location = 'redirection_jeuConcours.html?JC='+JC;
	
	return false;
}
