var testCheckbox = {
		answer: new Array(4),
		init:function(){
			$(".checkbox input").each(function(i){
				if(box.ui('form.contactForm').field($(this).attr("id")).isChecked()){
					testCheckbox.changeVal('true',i);	
				} else {
					testCheckbox.changeVal('false',i);
				}
			});	
		},
		changeVal:function(test,i){
			testCheckbox.answer[i] = test;
		},
		boolean:function(){
			var test = false;
			for(i=0;i<testCheckbox.answer.length;i++){
				if(testCheckbox.answer[i]=='true'){
					test = true;
				}
			}
			return test;
		}
};

box.dom(document).ready(function() {
//	if(document.getElementById('#contactForm')){
if( $('#contactForm').length ) {
	box.ui('form').addPatterns({
		password: /^[a-zA-Z0-9]{6,}$/,
		zip: /^\d{5}$/
	});
	
    box.ui('form').create({
        element: '#contactForm'
    }).addReplacement().mustValidate(function(form) {
        form.field('civilite').mustValidate(function(field) {
            if(field.getValue() == null) {
                return l10n.errors.required.msg;
            }
        });
		
		form.field('lastname').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            }
        });
        
        form.field('entreprise').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            }
        });
        
        form.field('nb_sur_site').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            }
        });
        
        form.field('cp').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            } else if(!field.isMatching('zip')) {
               return l10n.errors.invalid.zip;
            }
        });
        
        form.field('ville').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            }
        });
        
        form.field('secteur_activite').mustValidate(function(field) {
            if(field.getIndex() == 0) {
                return l10n.errors.required.msg;
            }
        });
        
        form.field('addr1').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            }
        });
		
		form.field('tel').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            }
        });
        
        form.field('email').mustValidate(function(field) {
            if(field.isEmpty()) {
                return l10n.errors.required.msg;
            } else if(!field.isMatching('email')) {
                return l10n.errors.invalid.email;
            }
        });
		
        form.field('is_pro').mustValidate(function(field) {
            if(!field.isChecked()){
                return l10n.errors.required.msg;
            }
        });
		$(".checkbox input").each(function(i){
			form.field($(this).attr("id")).mustValidate(function(field) {
				if(!field.isChecked()){
					testCheckbox.changeVal('false',i);
				} else {
					testCheckbox.changeVal('true',i);	
				}
				if(!testCheckbox.boolean()){
					$('.checkbox').prev().addClass('error');
				} else {
					$('.checkbox').prev().removeClass('error');
				}
			});
		});
		
        return l10n.errors.form;
    });
    
    var errorCls = 'error';
    
    var getErrorTarget = function(field) {
        if('radio' != field.type) {
            return field.getLabel();
        } else {
            return field.getElements().parent().parent().prev();
        }
    };
    
    var addFieldError = function(e) {
		getErrorTarget(e.source).parent().addClass(errorCls);
    };
    
    var removeFieldError = function(e) {
        getErrorTarget(e.source).parent().removeClass(errorCls);
    };
    
    var addFormError = function(e) {
        var id = e.source.id + 'Error';
		var msg = e.source.msg;
        var error = box.dom('#' + id);
        if(error.length) {
            error.html(msg);
        } else {
            /*e.source.getElement().prepend('<div id="' + id + '" class="' + errorCls + '">' + msg + '</div>');*/
			$('p.alert').text(msg);
        }
    };
    
    var removeFormError = function(e) {
        box.dom('#' + e.source.id + 'Error').remove();
    };
    
    // binding des événements
    box.bind({
        'error.form': addFormError,
        'valid.form': removeFormError,
        'error.field': addFieldError,
        'valid.field': removeFieldError,
        'change.field.select.secteur_activite': function(e) {
           // Si le dernier element est selectionne
           if(e.source.getIndex() == e.source.length - 1) {
              // show le bloc autre
              $('.autre').show();
           } else {
              // sinon hide
              $('.autre').hide();
           }
        }
    });
	var commentairehidden = $("#commentaire").val();
	var commenttmp = $("#commentaire").val();
	$("#commentaire").blur( function() { 
		if(addcomm == true){
			commenttmp = $("#commentaire").val();
			if($("#commentaire").val().substr(0,commentairehidden.length - 1) != commentairehidden.substr(0,commentairehidden.length - 1)){
				$("#commentaire").val(commentairehidden+" "+commenttmp); 
			}
		}
	} );
	
	//testCheckbox.init();
	//}
}
});
