var INTERNET_EXPLORER;
var xhr;

function validerEtSoumettre(id){
	switch(id){
		case 'Envoyer' : {
			validerPartager();
			break;
		}			
		case 'Recommencer' : {
			reinitialiserPartager();							
			break;
		}
		case 'Fermer' : {
			reinitialiserPartager();
			fermerPartager();							
			break;
		}				
		default : {
			break;
		}
	}
}

function validerPartager(){
	var elements;
	var nbrElements;
	var i;
	var id;
	var erreurGlobal = "";
	var erreurCourriel;
	if(document.location.href.indexOf("/en")>=0){
		erreurCourriel = '<p>Invalid e-mail address (a valid e-mail address contains an "@" symbol and a ".".)</p>';		
	} 
	else {
		erreurCourriel = '<p>Courriel non valide (une adresse courriel valide doit contenir un « @ » et un « . »).</p>';
	}
	var erreurNom;
	if(document.location.href.indexOf("/en")>=0){
		erreurNom = '<p>Please try again. Your last name must contain only letters.</p>';
	} 
	else {
		erreurNom = '<p>Veuillez réessayer . Votre nom ne doit contenir que des caractères alphabétiques.</p>';
	}
	var erreurPreNom;
	if(document.location.href.indexOf("/en")>=0){
		erreurPreNom = '<p>Please try again. Your first name must contain only letters.</p>';
	} 
	else {
		erreurPreNom = '<p>Veuillez réessayer . Votre prénom ne doit contenir que des caractères alphabétiques.</p>';
	}
	var courrielValid;
	var courriel1Valid;
	var courriel2Valid;
	var courriel3Valid;
	var courrielObligatoire = true;
	var nomValid;
	var prenomvalid;
	// POUR IE 6, sinon ça marche pas...
	if( typeof XMLHttpRequest == "undefined" ) XMLHttpRequest = function() {
		try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {}
		try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {}
		try { return new ActiveXObject("Msxml2.XMLHTTP") } catch(e) {}
		try { return new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {}
		throw new Error( "This browser does not support XMLHttpRequest." )
	};	
	var requester = new XMLHttpRequest();
	elements = document.getElementsByTagName("input");
	nbrElements = elements.length;
  	for (i = 0; i < nbrElements; i++) {
  		id = elements[i].id;
  		if (id) {  				
  			switch (id) {
  				case "prenom":{
  					if(elements[i].value) {
	  					var prenomValid = validerNom(elements[i].value);
	  					if(!prenomValid){
	  						erreurGlobal = erreurGlobal + erreurPreNom;
	  						resetClassName('label', id, 'champ-erreur');
	  					}
	  					else{
	  						resetClassName('label', id, '');
	  					}
	  				}
	  				else{
	  					erreurGlobal = erreurGlobal + erreurChampObligatoire(id);
	  					resetClassName('label', id, 'champ-erreur');
	  				}
  					break;
  				}
  				case "nom":{
  					if(elements[i].value){
	  					var nomValid = validerNom(elements[i].value);
	  					if(!nomValid){
	  						
	  						erreurGlobal = erreurGlobal + erreurNom;
	  						resetClassName('label', id, 'champ-erreur');
	  					}
	  					else{
	  						resetClassName('label', id, '');
	  					}
	  				}
	  				else
	  				{
	  					erreurGlobal = erreurGlobal + erreurChampObligatoire(id);
	  					resetClassName('label', id, 'champ-erreur');
	  				}
  					break;
  				}
  				case "votreCourriel":{
  					if(elements[i].value){
	  					courrielValid = validerCourriel(elements[i].value);
	  					if(!courrielValid){
	  						resetClassName('label', id, 'champ-erreur');
	  					}
	  					else{
	  						resetClassName('label', id, '');
	  					}
  					}
	  				else{
	  					erreurGlobal = erreurGlobal + erreurChampObligatoire(id);
	  					courrielValid = true;
	  					courrielObligatoire = false;
	  					resetClassName('label', id, 'champ-erreur');
	  				}
  					break;
  				}	  				
  				case "courriel1":{
					
  					if(elements[i].value){
	  					courriel1Valid = validerCourriel(elements[i].value);
	  					if(!courriel1Valid){
	  						resetClassName('label', id, 'champ-erreur');
	  					}
	  					else{
	  						resetClassName('label', id, '');
	  					}
  					}
	  				else{
	  					erreurGlobal = erreurGlobal + erreurChampObligatoire(id);
	  					courriel1Valid = true;
	  					courrielObligatoire = false;
	  					resetClassName('label', id, 'champ-erreur');
	  				}
  					break;
  				}	  				
  				case "courriel2":{
  					var c2 = elements[i].value;
					if(c2.length == 0){
						courriel2Valid=true;
						break;
					}
  					courriel2Valid = validerCourriel(elements[i].value);
  					if(!courriel2Valid){
  						resetClassName('label', id, 'champ-erreur');
  					}
  					else{
  						resetClassName('label', id, '');
  					}
  					break;
  				}	  				
  				case "courriel3":{
  					var c3 = elements[i].value;
					if(c3.length == 0){
						courriel3Valid=true;
						break;
					}
  					courriel3Valid = validerCourriel(elements[i].value);
  					if(!courriel3Valid){
  						resetClassName('label', id, 'champ-erreur');
  					}
  					else{
  						resetClassName('label', id, '');
  					}
  					break;
  				}
  			}/*end-switch*/
  		} /*end if(id)*/
  	}/*end for*/
  	if(!courrielValid || !courriel1Valid || !courriel2Valid || !courriel3Valid){
		erreurGlobal = erreurGlobal + erreurCourriel;
	}
	if(!courrielObligatoire || !courrielValid || !courriel1Valid || !courriel2Valid || !courriel3Valid || !nomValid || !prenomValid){ 					
		var element = document.getElementById("erreurs");
		element.innerHTML=erreurGlobal;
		element.className='non-conforme';
	}
	else{
	    var strInfos;
	    var element = document.getElementById("erreurs");
		element.innerHTML="";
		element.className='';
	    strInfos = obtenirPostInfos();
	    fenetreAMontrer("none","block","none");
		soumettrePartager(strInfos);
	}
}

function erreurChampObligatoire(id){
	var erreur = "<p>";
	switch (id){
		case "prenom":{
			if(document.location.href.indexOf("/en")>=0){
				erreur = erreur + "Your first name";
			} 
			else {
				erreur = erreur + "Votre prénom";
			}
			break;
		}
		case "nom":{
			if(document.location.href.indexOf("/en")>=0){
				erreur = erreur + "Your last name";
			} 
			else {
				erreur = erreur + "Votre nom";
			}
			break;
		}
		case "votreCourriel":{
			if(document.location.href.indexOf("/en")>=0){
				erreur = erreur + "Your e-mail";
			} 
			else {
				erreur = erreur + "Votre courriel";
			}
			break;
		}
		case "courriel1":{
			if(document.location.href.indexOf("/en")>=0){
				erreur = erreur + "E-mail 1";
			} 
			else {
				erreur = erreur + "Courriel 1";
			}
			break;
		}
	}
	if(document.location.href.indexOf("/en")>=0){
		erreur = erreur + " is required.</p>";
	}
	else{
		erreur = erreur + " : champ obligatoire.</p>";
	}
	return erreur;
}

function validerCourriel(adresse){
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z0-9]{1,6}$', 'i');
	if(reg.test(adresse)){
		return(true);
	}
	else{
		return(false);
	}
}

function validerNom(nom){
	if(nom.length<2){
	 	return false;
	}
	var numaric = nom;
	for(var j=0; j<numaric.length; j++){
		var alphaa = numaric.charAt(j);
		var hh = alphaa.charCodeAt(0);
		if( (hh > 64 && hh<91) || (hh > 96 && hh < 123) || (hh > 192 && hh < 255) || (hh==32) || (hh==39) || (hh==45)){
		}
		else{
			return false;
		}
	}
 	return true;
}

function soumettrePartager(strInfos){
	updateData(strInfos);
	return true;
}

function reinitialiserPartager(){
	var elements;
	var nbrElements;
	var i;
	var id;
	var element = document.getElementById("erreurs");
	element.innerHTML="";
	element.className='';
	elements = document.getElementsByTagName("input");
	nbrElements = elements.length;	
  	for (i = 0; i < nbrElements; i++){
  		id = elements[i].id
  		if (id && !(elements[i].type=="hidden")){  					
 	  		elements[i].value ="";
 	  		resetClassName('label', id, '');
  		} /* end if(id)*/
  	}/* end for*/
}

function fermerPartager(){
	return true;
}

function resetClassName(tagName, id, nouveauClass){
	elements = document.getElementsByTagName(tagName);
	nbrElements = elements.length;
	for (i = 0; i < nbrElements; i++) {
		if(elements[i].id.indexOf("-"+id) >= 0){
			elements[i].className = nouveauClass;
	  	  	break;
		}
	}
}

function getHTTPObject(){
    if (typeof XMLHttpRequest != 'undefined'){
	    return new XMLHttpRequest();
    }
    try{
	    return new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e){
		try {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}catch (e) {}
    }
    return false;
}

function updateData(postInfos){
	xhr = getHTTPObject();
  	xhr.onreadystatechange = useHttpResponse;
 	urlAction = document.location.href.split("video")[0]+"video/partager";
 	xhr.open("POST", urlAction, true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
    xhr.send(postInfos);
}

function useHttpResponse(){
	var message;
	if (xhr.readyState == 4){
		if(xhr.status == 200){ 
			message  = xhr.responseText;
			if(message == 100){           
				fenetreAMontrer("none","none", "block");
			}
		}
		else { 
			alert("Error: returned status code " + xhr.status + " " + xhr.statusText);
		}
	}
	return message;
}

function obtenirPostInfos(){
	var infos = document.getElementsByTagName("input");
	var nbrInfos = infos.length;
	var strInfos;
	for (i = 0; i < nbrInfos; i++){
		id = infos[i].id;
		switch (id) {
			case "prenom":{
				strInfos = id +"=" + encodeURIComponent(infos[i].value);
				break;				
			}
			case "nom":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}
			case "votreCourriel":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}		
			case "courriel1":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}	  				
			case "courriel2":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}	  				
			case "courriel3":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}
			case "lienVideo":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}
			case "nomVideo":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}
			case "dateVideo":{
				strInfos = strInfos + "&" + id +"=" + encodeURIComponent(infos[i].value);
				break;
			}
		}/* end-switch */
	}/* end for*/
	return strInfos;
}

function fenetreAMontrer(visibleDetails, visiblePatienter, visibleMerci){
	var details = document.getElementById("details");
	details.style.display=visibleDetails;
	var patienter = document.getElementById("patienter");
	patienter.style.display=visiblePatienter;
	var merci = document.getElementById("merci");
	merci.style.display=visibleMerci;
}
 