$(document).ready(function($) {
	//15ans
	w = getPageWidth();
	x = (w-970)/2;
	xleft = Math.round(847+x);
	$('div.ans_15').css({left: xleft+'px', display: 'block'});
	init();
});



function init() {
	StartEvents()
}



function connectEC(){
	login = $('#login').val();
	password = $('#password').val();
		
	if(login != '' && password!='') {
		jQuery.get(url_site+'/scripts/ajax.php',{ action:'connexionEC' , login : login, password : password},function(data){
		$('#infos_perso_client_livre').html(data);																																														
		});
	}
	else
	{
		alert('login ou mot de passe vide!!');
	}

}

function afficheDivInfosClientFacture(){
		
		if(document.getElementById('client_facture').checked == true)
			document.getElementById('infosClientFacture').style.display = 'block';
		else
			document.getElementById('infosClientFacture').style.display = 'none';
			
}

function PutCodeClient()
{
    if( !document.f.nom.value.isEmpty() )
    {
        var code = new String();

        var x = document.f.nom.value.split( ' ' );

        for( i=0;i<x.length;i++ )
        {
            if( x[i] != 'DE' && x[i] != 'LA' && x[i] != 'LES' )
            {
                code = code + x[i];
            }
        }

        var x = code.split( 'é' );
        code = x.join('e');
        var x = code.split( 'è' );
        code = x.join('e');
        var x = code.split( 'à' );
        code = x.join('a');
        var x = code.split( 'ç' );
        code = x.join('c');
        var x = code.split( 'ù' );
        code = x.join('u');

        var x = code.split( '&' );
        code = x.join('');
        var x = code.split( '-' );
        code = x.join('');
        var x = code.split( "'" );
        code = x.join('');
        var x = code.split( '/' );
        code = x.join('');

        code = code.toUpperCase();
        document.f.code_client.value = code.substr(0,13);

        document.f.search_code.value = document.f.code_client.value.substr( 0,7 );

        if( document.f.nom.value.length > 3 )
        {
            ShowFrame( 'search' );
        }
    }
    else
    {
        document.f.code_client.value = '';
    }
}


//Les événements de départ
function StartEvents(){
	$("#install2facture").click(function(){install2facture(this)});
	$("#adslCommandForm").submit(function(){return validateAdsl()});
	$("#commanderForm").submit(function(){return validateCommandeInfo()});
	$("#test_form").click(function(){return validateAdsl()});
	$("#imprimer").click(function(){return ImprimerForm()});
}

function install2facture(item) {
	if(item.checked) {
		$("#install_table input,#install_table textarea").keyup(text2facture);
		$("#install_table input,#install_table textarea").click(text2facture);
		$("#install_table input,#install_table textarea").each(function(i){
			text2facture(this)
		});
	}
	else {
		$("#install_table input,#install_table textarea").unbind('keyup',text2facture);
		$("#install_table input,#install_table textarea").unbind('change',text2facture);
		$("#install_table input,#install_table textarea").unbind('click',text2facture);
	}
}

function text2facture(elm){
	if(!elm.id) {elm=this};
	thisid=elm.id.split('_')[1];
	newid="facture_"+thisid;

	if(elm.type=='radio') {
		if(elm.checked) {
			$("#"+newid).attr('checked','checked');
		}
	}
	else {
		$("#"+newid).val(elm.value);
	}
	thisid=elm.id.split('_')[1];
	newid="facture_"+thisid;
}

function validateEmpty(fld, titre) {
    var error = "";

    if (fld.value.length == 0) {
        fld.style.background = 'Yellow';
        error = "Le champ "+titre+"Ne doit pas être vide.";

    } else
        fld.style.background = 'White';
		return true;
}



function adsl_commande(f){
		var reason = "";

		if (f.install_societe.value == "")		{
			alert("Le champ Société est obligatoire !");
			document.getElementById('install_societe').focus();
			return false;
		}

		if (f.install_adress.value == "")		{
			alert("Le champ Adresse est obligatoire !");
			document.getElementById('install_adress').focus();
			return false;
		}
		if (f.install_siret.value == "")		{
			alert("Le champ Siret est obligatoire !");
			document.getElementById('install_siret').focus();
			return false;
		}

		if(!testSelect('install_titre'))
		{
			alert("Le champ Titre doit être sélectionné");
			document.getElementById('install_titre1').focus();
			return false;
		}

		if(f.install_nom.value == "")		{
			alert("Le champ Nom ne doit pas être vide");
			f.install_nom.focus();
			return false;
		}

		if(f.install_prenom.value == "")		{
			alert("Le champ Prénom ne doit pas être vide");
			f.install_prenom.focus();
			return false;
		}

		reason = validateEmail(f.install_email, 'Email');
		if(reason)		{
			alert(reason);
			f.install_email.focus();
			return false;
		}

		reason = validatePhone(f.install_tel, 'Tél');
		if(reason)		{
			alert(reason);
			f.install_tel.focus();
			return false;
		}
		reason = validatePhone(f.install_fax, 'Fax');
		if(reason)		{
			alert(reason);
			f.install_fax.focus();
			return false;
		}

		/******/
		if (f.facture_societe.value == "")		{
			alert("Le champ Société est obligatoire !");
			document.getElementById('facture_societe').focus();
			return false;
		}
		if (f.facture_adress.value == "")		{
			alert("Le champ Adresse est obligatoire !");
			document.getElementById('facture_adress').focus();
			return false;
		}
		if (f.facture_siret.value == "")		{
			alert("Le champ Siret est obligatoire !");
			document.getElementById('facture_siret').focus();
			return false;
		}
		if(!testSelect('facture_titre'))
		{
			alert("Le champ Titre doit être sélectionné");
			document.getElementById('facture_titre1').focus();
			return false;
		}
		if (f.facture_nom.value == "")		{
			alert("Le champ Nom est obligatoire !");
			document.getElementById('facture_nom').focus();
			return false;
		}
		if (f.facture_prenom.value == "")		{
			alert("Le champ Prénom est obligatoire !");
			document.getElementById('facture_prenom').focus();
			return false;
		}
		reason = validateEmail(f.facture_email, 'Email');
		if(reason)		{
			alert(reason);
			f.facture_email.focus();
			return false;
		}
		reason = validatePhone(f.facture_tel, 'Tél');
		if(reason)		{
			alert(reason);
			f.facture_tel.focus();
			return false;
		}
		reason = validatePhone(f.facture_fax, 'Fax');
		if(reason)		{
			alert(reason);
			f.facture_fax.focus();
			return false;
		}
		if (f.line_support.value == "")		{
			alert("Le champ Ligne est obligatoire !");
			document.getElementById('line_support').focus();
			return false;
		}
		/*****/
		if(!testSelect('service'))		{
			alert("au moin une option du champ Service doit être sélectionné");
			document.getElementById('service1').focus();
			return false;
		}

		if(f.sevice_lieu.value == "")		{
			alert("Le champ Lieu ne doit pas être vide");
			f.sevice_lieu.focus();
			return false;
		}

		if(!isDate(f.sevice_date))		{
			alert("La date est invalide");
			document.getElementById('sevice_date').focus();
			return false;
		}
		/****/

		if(f.prelevement_nom.value == "")		{
			alert("Le champ Nom du débiteur ne doit pas être vide");
			f.prelevement_nom.focus();
			return false;
		}
		if(f.prelevement_prenom.value == "")		{
			alert("Le champ Prénom du débiteur ne doit pas être vide");
			f.prelevement_prenom.focus();
			return false;
		}
		if(f.prelevement_adress.value == "")		{
			alert("Le champ Adresse du débiteur ne doit pas être vide");
			f.prelevement_adress.focus();
			return false;
		}

		if(f.code_banque.value=="" || isNaN(f.code_banque.value))		{
			alert("Code Banque invalide");
			f.code_banque.focus();
			return false;
		}

		if(f.code_guicher.value=="" || isNaN(f.code_guicher.value))		{
			alert("Code Guicher invalide");
			f.code_guicher.focus();
			return false;
		}
		if(f.num_compt.value=="" || isNaN(f.num_compt.value))		{
			alert("N° de compte invalide");
			f.num_compt.focus();
			return false;
		}
		if(f.cle_rip.value=="" || isNaN(f.cle_rip.value))		{
			alert("Clé RIB invalide");
			f.cle_rip.focus();
			return false;
		}

		if(f.prelevement_banque.value == "")		{
			alert("Le champ Banque ne doit pas être vide");
			f.prelevement_banque.focus();
			return false;
		}

		if(f.prelevement_banque_adress.value == "")		{
			alert("Le champ Adresse Banque ne doit pas être vide");
			f.prelevement_banque_adress.focus();
			return false;
		}
		if(f.prelevement_banque_zip.value == "" || isNaN(f.prelevement_banque_zip.value))		{
			alert("Le champ Code Postal ne doit pas être vide");
			f.prelevement_banque_zip.focus();
			return false;
		}
		if(f.prelevement_banque_ville.value == "")		{
			alert("Le champ Ville ne doit pas être vide");
			f.prelevement_banque_ville.focus();
			return false;
		}

		if(!isDate(f.prelevement_date_form))		{
			alert("La Date est invalide");
			document.getElementById('prelevement_date_form').focus();
			return false;
		}

}

function validateEmail(fld, titre) {
    var error="";
    var tfld = trim(fld.value);
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

    if (fld.value == "") {
        error = "Le champ "+ titre +" ne doit pas être vide.\n";
    } else if (!emailFilter.test(tfld)) {
        error = "L'adresse Email n'est pas valide.\n";
    } else if (fld.value.match(illegalChars)) {
        error = "Le champ  "+ titre +" ne doit pas contenir des caractères illégals.\n";
    }

	 return error;
}


function testSelect(fld){
	  var i = 1;
	  while(document.getElementById(fld + i))	 {
	  if(document.getElementById(fld + i).checked)
	    return true;
	  i++;
	 }
	 return false;
}


function isDate(fld){
	str = fld.value;
	var re = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{2,4})$/
	if (!re.test(str)) return false;

	var result = str.match(re);
	var d = parseInt(result[1]);
	var mm = (result[2]);
	var m;

	if(mm == '08')
	m = 8;
	else if(mm == '09')
	m = 9;
	else m = parseInt(mm);

	var y = parseInt(result[3]);

	if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;

	if(m == 2){
		var days = ((y % 4) == 0) ? 29 : 28;
	}else if(m == 4 || m == 6 || m == 9 || m == 11){
		var days = 30;
	}else{
		var days = 31;
	}
	return (d >= 1 && d <= days);
}

function lancerTestAdsl() {
	num_tel = $('#telephone').val();
	if (Verifier_Numero_Telephone(num_tel)) {
		jQuery.facebox(function() {
		  jQuery.get('../scripts/ajax.php', { action: "testAdsl", numtel: num_tel },
		   function(data) {
			jQuery.facebox(data)
		  })
		})
	}
}


function lancerTestSdsl() {

	num_tel  = $('#telephone').val();
	zipcode = $('#zipcode').val();
	errtel 	 = checkNumTel(num_tel);
	errzip   = checkZipCode(zipcode);
	n 		 = $("input:checked").length;
	debits = $("input[name='debit']:checked");
	debit = '';
	for (i=0; i<n; i++) {
		if (i>0) debit += '|';
		debit += debits[i].value;
	}

	if (errtel) {
		alert (errtel);
	} else if (errzip) {
		alert (errzip);
	} else if (n==0) {
		alert ('Indiquez au moins un débit !');
	} else {

		jQuery.facebox(function() {
		  jQuery.get('../scripts/ajax.php', { action: "testSdsl", numtel: num_tel, zipcode: zipcode, debit: debit },
		   function(data) {
			jQuery.facebox(data)
		  })
		})
	}
}


function checkNumTel(num_tel) {
    if(num_tel.length != 10) {
        return 'Votre numéro de téléphone doit comporter 10 chiffres !';
    }
    var regex = new RegExp(/^(01|02|03|04|05|06|08)[0-9]{8}$/gi);
    if(!regex.test(num_tel)){
        return 'Votre numéro de téléphone est invalide !';
    }
    return '';
}

function checkZipCode(zipcode) {
	if (zipcode != '')  {

	    if(zipcode.length != 5) {
	        return 'Votre zipcode doit comporter 5 chiffres !';
	    }
	    var regex = new RegExp(/^[0-9]{5}$/gi);
	    if(!regex.test(zipcode)){
	        return 'Votre zipcode est invalide !';
	    }
    }
    return '';
}

function formDemandeDevis(c, prestation) {
	$.facebox(function() {
	  $.get(url_site+'/scripts/ajax.php', { action: "formDemandeDevis", c: c, prestation: prestation },
	   function(data) {
		$.facebox(data)
	  })
	})
}
function submitDemandeDevis(myForm) {
	nom = $.trim(myForm.nom.value);
	prenom = $.trim(myForm.prenom.value);
	societe = $.trim(myForm.societe.value);
	telephone = $.trim(myForm.telephone.value);
	adresse = $.trim(myForm.adresse.value);
	cp = $.trim(myForm.cp.value);
	ville = $.trim(myForm.ville.value);
	prestation = myForm.prestation.value;

	err = '';
	if (nom == '') {
		err += "- Nom obligatoire\n";
	}
	if (prenom == '') {
		err += "- Prénom obligatoire\n";
	}
	if (societe == '') {
		err += "- Société obligatoire\n";
	}
	if (telephone == '') {
		err += "- Téléphone obligatoire\n";
	} else {
		e = checkNumTel(telephone);
		if (e != '') err += "- "+e+"\n";
	}
	if (adresse == '') {
		err += "- Adresse obligatoire\n";
	}
	if (cp == '') {
		err += "- Code postale obligatoire\n";
	}
	if (ville == '') {
		err += "- Ville obligatoire\n";
	}
	if (err == '') {
		$.facebox(function() {
		  $.get(url_site+'/scripts/ajax.php', { action: "submitDemandeDevis", nom: nom, prenom: prenom, societe: societe, telephone: telephone, adresse: adresse, cp: cp, ville: ville, prestation: prestation },
		   function(data) {
			$.facebox(data)
		  })
		})
	} else {
		alert('Vérifiez les erreurs suivantes : \n' + err);
	}
}