var tab_bien = ['studio','2 pièces standard','2 pièces standard handicap&eacute;s','2 pièces sup&eacute;rieur','2 pièces luxe','3 pièces'];
var tab_constrain = {
    'date_arrivee':[8,'m'],
    'date_depart':[8,'m'],
    'nb_logement':[2,'m'],
    'nb_adultes':[2,'m'],
    'nb_enfants':[2,'o'],
    'nb_bebes':[2,'o'],
    'observations':[250,'m'],
    'nom':[50,'m'],
    'prenom':[50,'m'],
    'adresse':[100,'m'],
    'cp':[6,'m'],
    'ville':[50,'m'],
    'pays':[50,'m'],
    'telephone':[50,'m'],
    'email':[50,'m'],
    'num_cb':[16,'o'],
    'mois_expiration':[2,'o'],
    'annee_expiration':[4,'o'],
    'montant_accompte':[10,'o']
    }
var params = '';
function concatParams(tab){
    var str = '';
    var valeur='';
	var output='';
    for( var i=0;i<tab.length;i++ ){
        var val = $('#'+tab[i]);
        if(val){
			valeur = ( val.attr('value')!=null ? val.attr('value') : '-' );
            output=(tab[i]=='type_logement' ? tab[i]+'=>'+tab_bien[val.attr('value')] : tab[i]+'=>'+valeur );
        }
        else output = '';
        if( i>0 ) str += ';';
        str += output;
    }
    return str;
}

function setStyle(el_name,bool){
    if(bool) $('#'+el_name).removeClass('bad_input');
    else $('#'+el_name).addClass('bad_input');
}
function checklength( el_name,length_val ){
	if( length_val <= tab_constrain[el_name][0] && length_val > 0 ) return true;
	else return false;
}
function valid_email( el_name,mail_address ){
        var regex = new RegExp(/^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/);
        var result = regex.test( mail_address );
        setStyle( el_name,result );
        return result;
}
function displayMessage( el_target,class_name,message_content ){
    var el = $(el_target);
    if(class_name!=null) $(el_target).addClass(class_name);
    if( el && message_content.length > 0 ){
        el.empty();
        el.html(message_content);
        el.show();
    }
}
function emptyFields(tab){
    for(var i=0;i<tab.length;i++){
        val = tab[i];
        el = document.getElementById(tab[i]);
        if(el!=null){
            nd_name = el.nodeName.toUpperCase();
            switch( nd_name ){
                case "INPUT":
                case "TEXTAREA":
                    $('#'+tab[i]).attr('value','');
                break;
            }
        }
    }
}
function check_resa(){
    var tab_field = ['date_arrivee','date_depart','type_logement','nb_logement','prix_reservation','nb_adultes','nb_enfants','nb_bebes','observations','nom','prenom','adresse','cp','ville','pays','telephone','mobile','email','num_cb','mois_expiration','annee_expiration','titulaire','montant_accompte'];
    var erreur = [];
    for(var i=0;i<tab_field.length;i++){
        var val_name = tab_field[i];
        var el = $('#'+val_name);
        if(el != undefined){
            var val = el.attr('value');
            if(val=='-') val=0;
            if( tab_constrain[val_name] != undefined ){
                if( !val && tab_constrain[val_name][1] != 'o' ){
                    erreur.push(val_name)
                    setStyle( val_name,false );
                }
                else if(val){
                    //not empty -> check size
                    switch(val_name){
                        case "email":
                            var long = checklength(val_name,val.length);
                            var mail = valid_email(val_name,val);
                            if( long && mail ) setStyle( val_name,true );
                            else{
                                erreur.push(val_name);
                                setStyle( val_name,false );
                            }
                        break;
                        default:
                            var long = checklength(val_name,val.length);
                            if( !long ) erreur.push(val_name);
                            setStyle( val_name,long );
                        break;
                    }
                }
            }
        }
    }
    if(erreur.length==0){
        //send form
        params = concatParams(tab_field);
        $.ajax({
            type: "POST",
            url: "/include/resa-calipso.php",
            cache: false,
            data: 'resa_output='+params,
            success: function(mess){
                displayMessage('.message_box','success',mess);
                emptyFields(tab_field);
			},
			error: function(){
                alert('erreur');
		    }
        });
    }
    else{
        //display a message
        mess = 'les champs indiqu&eacute;s en orange sont <strong>vides</strong> ou <strong>mal renseign&eacute;s';
        displayMessage('.message_box','erreur',mess);
    }
    return false;
}
$(document).ready(function(){
    $('.date_pick').datepicker({rangeSelect: false,firstDay: 1,mandatory: true,dateFormat: 'yymmdd'});
});

