function getXhr() { 
	var xhr = null;
	
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
	
	return xhr;
}

function confirmChange(){
	if (confirm('Attention, si vous changez de motif, le paragraphe 3 va \352tre modifi\351 et vos modifications \351ventuelles seront perdues. Voulez-vous changer de motif ?')) {
		getParaByMotif();
		getPieceByMotif();
		if (document.getElementById('choixmotif').value == '10') {
			document.getElementById('deathdiv').style.display = 'block';
		} else {
			document.getElementById('deathdiv').style.display = 'none';
		}
		if (document.getElementById('choixmotif').value == '5') {
			document.getElementById('honneur').style.display = 'block';
		} else {
			document.getElementById('honneur').style.display = 'none';
		}
	}
}

function getParaByMotif(){
	var themotif = document.getElementById('choixmotif').value;
	var xhr = getXhr();
	xhr.onreadystatechange = function() {
		document.getElementById('miniajaxp3').innerHTML = "<img src='images/loading.gif' />";
        if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
        	document.getElementById('p3').value = xhr.responseText;
        	document.getElementById('miniajaxp3').innerHTML = "";
        }
	};
	var url = "getcontenulr.php?type=para&idpara=3&idmotif=" + themotif;
	xhr.open("GET", url, true);
	xhr.send(null);
}

function getPieceByMotif(){
	var themotif = document.getElementById('choixmotif').value;
	var xhr = getXhr();
	xhr.onreadystatechange = function() {
		document.getElementById('piecejointe').style.display = 'block';
		document.getElementById('thepiecejointe').innerHTML = "<img src='images/ajax-loader.gif' />";
        if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
        	if(xhr.responseText != "rien"){
        		document.getElementById('thepiecejointe').innerHTML = xhr.responseText;
        	} else {
        		document.getElementById('thepiecejointe').innerHTML = "";
        		document.getElementById('piecejointe').style.display = 'none';
        	}
        }
	};
	var url = "getcontenulr.php?type=pieces&idmotif=" + themotif;
	xhr.open("GET", url, true);
	xhr.send(null);
}

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}

function displaylimit(thename, theid, thelimit, autreid){
	var theform=theid!=""? document.getElementById(theid) : thename
	var nbload = document.getElementById(autreid).value.length;
	var limit_text='<b><span id="'+theform.toString()+'" style="color: red">'+(parseInt(thelimit) - nbload)+'</span></b> caract&egrave;res restants'
	if (document.all||ns6)
		document.write(limit_text)
	if (document.all){
		eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
		eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
	}
	else if (ns6){
		document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
		document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
	}
}

function checkPrelev() {
	if(testprelev != 1) { 
		document.getElementById('para5').style.display = 'block'; 
		testprelev = 1; 
	} else { 
		document.getElementById('para5').style.display = 'none'; 
		testprelev = 0; 
	}	
}

function checkPerso() {
	if(testperso != 1) { 
		document.getElementById('para6').style.display = 'block'; 
		testperso = 1; 
	} else { 
		document.getElementById('para6').style.display = 'none'; 
		testperso = 0; 
	}	
}

function changeAffich() {
	if(document.getElementById('objet').value == "Mise en demeure de faire") {
		document.getElementById('Resiliation').style.display = 'none';
		document.getElementById('MED').style.display = 'block';
		document.getElementById('optionsupp').style.display = 'none';
	}else{
		document.getElementById('Resiliation').style.display = 'block';
		document.getElementById('MED').style.display = 'none';
		document.getElementById('optionsupp').style.display = 'block';
	} 
}

function checkFormulaire(type) {

	var testInfos = false;
	var alertInfos = 'Le formulaire est incomplet, vous devez remplir le(s) champs suivant(s) :';
	var testfocus = false;
	
	if(document.getElementById('nom').value=='') {
		document.getElementById('labelnom').style.color = "#CC0000";
		alertInfos += '\n - Nom';
		testInfos = true;
		document.forms['theformu'].nom.focus();
		testfocus = true;
	}else{
		document.getElementById('labelnom').style.color = "#333333";
	}
	
	if(document.getElementById('prenom').value=='') {
		document.getElementById('labelprenom').style.color = "#CC0000";
		alertInfos += '\n - Pr\351nom';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].prenom.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelprenom').style.color = "#333333";
	}
	
	if(document.getElementById('adresse1').value=='') {
		document.getElementById('labeladresse1').style.color = "#CC0000";
		alertInfos += '\n - Adresse';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].adresse1.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labeladresse1').style.color = "#333333";
	}
	
	if(document.getElementById('codepostal').value=='') {
		document.getElementById('labelcodepostal').style.color = "#CC0000";
		alertInfos += '\n - Code Postal';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].codepostal.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelcodepostal').style.color = "#333333";
	}
	
	if(document.getElementById('ville').value=='') {
		document.getElementById('labelville').style.color = "#CC0000";
		alertInfos += '\n - Ville';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].ville.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelville').style.color = "#333333";
	}
	
	if(document.getElementById('telephone').value=='') {
		document.getElementById('labeltelephone').style.color = "#CC0000";
		alertInfos += '\n - T\351l\351phone';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].telephone.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labeltelephone').style.color = "#333333";
	}
	
	if(document.getElementById('refclient').value=='') {
		document.getElementById('labelrefclient').style.color = "#CC0000";
		alertInfos += '\n - R\351f\351rence Client';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].refclient.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelrefclient').style.color = "#333333";
	}
	
	if(document.getElementById('theFAInom').value=='') {
		document.getElementById('labelFAInom').style.color = "#CC0000";
		alertInfos += '\n - Nom du FAI';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].theFAInom.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelFAInom').style.color = "#333333";
	}
	
	if(document.getElementById('theFAIadresse1').value=='') {
		document.getElementById('labelFAIadresse1').style.color = "#CC0000";
		alertInfos += '\n - Adresse du FAI';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].theFAIadresse1.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelFAIadresse1').style.color = "#333333";
	}
	
	if(document.getElementById('theFAIcodepostal').value=='') {
		document.getElementById('labelFAIcodepostal').style.color = "#CC0000";
		alertInfos += '\n - Code Postal du FAI';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].theFAIcodepostal.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelFAIcodepostal').style.color = "#333333";
	}
	
	if(document.getElementById('theFAIville').value=='') {
		document.getElementById('labelFAIville').style.color = "#CC0000";
		alertInfos += '\n - Ville du FAI';
		testInfos = true;
		if(testfocus == false){
			document.forms['theformu'].theFAIville.focus();
			testfocus = true;
		}
	}else{
		document.getElementById('labelFAIville').style.color = "#333333";
	}
	
	if(document.getElementById('choixmotif').value == '10'){
		
		if(document.getElementById('deathnom').value == '') {
			document.getElementById('labeldeathnom').style.color = "#CC0000";
			alertInfos += '\n - Nom de la personne d\351c\351d\351e';
			testInfos = true;
			if(testfocus == false){
				document.forms['theformu'].deathnom.focus();
				testfocus = true;
			}
		}else{
			document.getElementById('labeldeathnom').style.color = "#333333";
		}
	
		if(document.getElementById('deathprenom').value == '') {
			document.getElementById('labeldeathprenom').style.color = "#CC0000";
			alertInfos += '\n - Pr\351nom de la personne d\351c\351d\351e';
			testInfos = true;
			if(testfocus == false){
				document.forms['theformu'].deathprenom.focus();
				testfocus = true;
			}
		}else{
			document.getElementById('labeldeathprenom').style.color = "#333333";
		}
		
	}
	
	if(testInfos == true){
		alert(alertInfos);
		return false;
	}
	
	if(type == 'resi'){
		document.forms['theformu'].action = 'generation.php';
	}else{
		document.forms['theformu'].action = 'generation.php?type=honneur';
	}
	if(document.getElementById('objet').value == "Résiliation d'abonnement" && (
		document.getElementById('p2').value.length > 160
		)) { window.alert('Le paragraphe 2 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Résiliation d'abonnement" && (
		document.getElementById('p3').value.length > 350
		)) { window.alert('Le paragraphe 3 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Résiliation d'abonnement" && (
		document.getElementById('p4').value.length > 350
		)) { window.alert('Le paragraphe 4 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Résiliation d'abonnement" && (
		document.getElementById('p5').value.length > 174
		)) { window.alert('Le paragraphe 5 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Résiliation d'abonnement" && (
		document.getElementById('p6').value.length > 355
		)) { window.alert('Le paragraphe 6 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Mise en demeure de faire" && (
		document.getElementById('para2').value.length > 160
		)) { window.alert('Le paragraphe 2 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Mise en demeure de faire" && (
		document.getElementById('para3').value.length > 350
		)) { window.alert('Le paragraphe 3 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Mise en demeure de faire" && (
		document.getElementById('para4').value.length > 350
		)) { window.alert('Le paragraphe 4 est trop long !'); return false; }
	if(document.getElementById('objet').value == "Résiliation d'abonnement" && (
		document.getElementById('p1').value == '' ||
		document.getElementById('p2').value == '' ||
		document.getElementById('p3').value == '' ||
		document.getElementById('p4').value == ''
		)) { window.alert('Vous devez remplir tous les paragraphes !'); return false; }
	if(document.getElementById('objet').value == "Mise en demeure de faire" && (
		document.getElementById('para1').value == '' ||
		document.getElementById('para2').value == '' ||
		document.getElementById('para3').value == '' ||
		document.getElementById('para4').value == ''
		)) { window.alert('Vous devez remplir tous les paragraphes !'); return false; }
	
		document.forms['theformu'].submit();
}