// Copyright (c) Ekinoxe Origin 2009
// Tous droits réservés

var accordion;

// ----- INITIALISATION

var init = function() {

  if($$('.acc_toggler').length>0)
    accordion = new Fx.Accordion($$('.acc_toggler'), $$('.acc_element'), { display: -1, alwaysHide: true });
    
}

// ----- PAGE ASYNCHRONES (AJAX)

var page = function(catid) {

  var remote = new Remote({ name:'categories' , command:'getCategoryPage' , params:{catid:catid} });

  remote.addEvent('complete', function(r) {
    var p = 'contenu';
    if($(p)) {
    
      $(p).set('html', r.getResponseData());
      
      if(typeof Milkbox != 'undefined')
        new Milkbox();
      
      myMooFlowPage.start();
    }
  }.bind(this));
  
  remote.addEvent('error', function(r) {
    W('Erreur pendant le chargement de la page, veuillez réessayez SVP.');
  }.bind(this));
  
  remote.call();

}

// --------- DIAPORAMA MOOFLOW

 var myMooFlowPage = {

	 start: function(){
		$$('.MooFlowieze').each(function(mooflow){
	  		 var milk_box = new Milkbox();		
			 var mf = new MooFlow(mooflow, {
				 startIndex: 1,
				 useSlider: true,
				 useCaption: true,
				 useResize: false,
				 useMouseWheel: true,
				 useKeyInput: true,
			 	 onClickView: function(obj){
					milk_box.showThisImage(obj.href);
				 } 
			 });
		});
	 }

 };


// ----- FORT MULLE HERE

this.verifFormulaire = function(){
	$$('.formulaireForm').addEvent('submit', function(form){
		var error = 0;
		var errorMessage = '';
		var tmp = {};
		$$('.formulaire_line').each(function(el){
			el.erase('style');
		});
		$$('.formulaire_error').destroy();
		for(var i=0; i<form.target.length; i++){
			
			if(form.target[i].get('type') != 'submit' && form.target[i].get('type') != 'hidden' && form.target[i].isDisplayed()){
				
				$tmp_error = error;
				
				if(form.target[i].get('type') == 'text'){
					if(form.target[i].getNext('input[name="'+form.target[i].get('name')+'_mail"]')){
						var mail = form.target[i].value;
						if(mail.length > 0){
							if(!verifMail(mail)){
								error++;
								errorMessage = "Ce champ doit être une adresse mail valide.";
							}
						}
					}
				}
				
				
				
				if(form.target[i].getParent('.formulaire_field_value').getPrevious('.formulaire_field_name').getChildren('.formulaire_field_cross')[0] || errorMessage != ''){
					
					
					
					if(form.target[i].get('type') == 'text' || form.target[i].get('type') == 'file' || form.target[i].nodeName == 'TEXTAREA'){
						if(form.target[i].get('value').length == 0){
							error++;
						}
					}else if(form.target[i].get('type') == 'radio' || form.target[i].get('type') == 'checkbox'){
						if(form.target[i].getParent('.formulaire_field_value')){
							if(!tmp[form.target[i].get('name')]){
								var checked = 0;
								$$('input[name="'+form.target[i].get('name')+'"]').each(function(el){
									
									tmp[form.target[i].get('name')] = true;
									
									if(el.get('checked'))
										checked++;
								});
								if(checked == 0)
									error++;
							}
						}
					}
					
					
					if($tmp_error != error){
						var errorMessage = (errorMessage == '') ? "Ce champ est obligatoire, veuillez le renseigner s'il vous plaît." : errorMessage;
						form.target[i].getParent('.formulaire_field_value').adopt(new Element('div', {
							'class': 'formulaire_error',
							'html': errorMessage,
							'style': 'height: 0px;'
						}).morph({height: 13}));
						
						
						if(form.target[i].getParent('.formulaire_line').hasClass('highlight'))
							form.target[i].getParent('.formulaire_line').set('morph', {duration: 5000}).morph({backgroundColor: ['#fcede2', '#fcd6c1']});
						else
							form.target[i].getParent('.formulaire_line').set('morph', {duration: 5000}).morph({backgroundColor: ['#fcd6c1', '#fcede2']});
						
						errorMessage = '';
					}
				}
			}
		}
		if(error == 0)
			return true;
		window.scrollTo(form.target.getPosition().x, form.target.getPosition().y);
		return false;
	});
}

 
 // --------- DATEPICKER

 
 this.refreshDatepicker = function(){
	//Gestion des calendrier DatePicker
	if($$('.calendarDatepicker')){
		var vare = new Array();
	    $$('.calendarDatepicker').each(function(el){
	      	var time = (el.get('value') == 1) ? "j F Y à H:i" : "j F Y";
	      	
	      	var view = 'decades';
	      	if(el.getNext('.calendarDatepickerView')){
		      	var view = el.getNext('.calendarDatepickerView').get('value');
		      	
		      	if(view != 'year' && view != 'month' && view != 'time' && view != 'decades')
		      		view = 'decades';
	      	}
	      	
			vare.push(new DatePicker("#"+el.getPrevious('input[type=text]').get('id'), {
				startView: view,
				timePicker: parseInt(el.get('value')),
				format: time,
				pickerClass: "datepicker_vista",
				allowEmpty: true,
				days : ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"],
				months : ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"]
			}));
			
			
		});
	}
 }


// ----- EXECUTION DOMREADY

window.addEvent('domready', init );
window.addEvent('domready', myMooFlowPage.start);
window.addEvent('domready', refreshDatepicker.bind(this));
window.addEvent('domready', verifFormulaire.bind(this));
window.addEvent('domready', function(){
	if($('webcallback_submit')){
		$('webcallback_submit').addEvent('click', function(){
			var reg = new RegExp("^([0-9]{10,})$");
			//clean
			var tel = $('webcallback_tel').value;
			tel = tel.clean();
			tel = tel.replace(/ /g,'');
			$('webcallback_tel').value = tel;
			if(reg.exec($('webcallback_tel').value))
				$('webcallback_form').submit();
			else
				alert('veuillez saisir un numéro de téléphone correct');
		});
	}
});
