jQuery(document).ready(function(){
		_ACCORDION.ini();
		$(".content-bg").css({ opacity: 0.11 });
		$(".footer-holder").css({ opacity: 0.25 });
		$(".box-content-bg").css({ opacity: 0.09 });
		
		_CORE.height(['.content','.box-content']);
		
		jQuery("#form-contact2").validate({
							   
			rules: {
				prenom: {
					required: true
				},
				
				nom: {
					required: true
				},
				
				entreprise: {
					required: true
				},
				
				courriel: {
					required: true,
					email: true
				},
				
				commentaires: {
					required: true
				}
			}
	
		});
		
		jQuery("#form-inscription").validate({
											 
			errorPlacement: function(error, element) {
				//alert(element.name);
				var n = jQuery(element).attr('class');
				n = n.replace(/ ?error/gi,'');
				if(n=='tel' || n=='telt' || n=='cell' || n=='tel2' || n=='telt2' || n=='cell2' || n=='tel3' || n=='telt3' || n=='cell3'){
					jQuery(error).hide();
				}else{
					error.insertAfter(element);
				}
				_CORE.height(['.content','.box-content']);
			},
							   
			rules: {
				prenom: {
					required: true
				},
				
				adresse: {
					required: true
				},
				
				ville: {
					required: true
				},
				
				postal: {
					required: true
				},
				
				nam: {
					required: true
				},
				
				nam_exp: {
					required: true
				},
				
				telephone: {
					required: true
				},
				
				tel1: {
					required: true,
					digits: true,
					minlength: 3
				},
				tel2: {
					required: true,
					digits: true,
					minlength: 3
				},
				tel3: {
					required: true,
					digits: true,
					minlength: 4
				},
				
				courriel: {
					required: true,
					email: true
				},
				
				date_naissance: {
					required: true
				},
				
				//Parent
				prenom2: {
					required: true
				},
				
				adresse2: {
					required: true
				},
				
				ville2: {
					required: true
				},
				
				postal2: {
					required: true
				},
				
				telephone2: {
					required: true
				},
				
				tel21: {
					required: true,
					digits: true,
					minlength: 3
				},
				tel22: {
					required: true,
					digits: true,
					minlength: 3
				},
				tel23: {
					required: true,
					digits: true,
					minlength: 4
				},
				
				//urgence
				prenom3: {
					required: true
				},
				
				adresse3: {
					required: true
				},
				
				ville3: {
					required: true
				},
				
				postal3: {
					required: true
				},
				
				telephone3: {
					required: true
				},
				
				tel31: {
					required: true,
					digits: true,
					minlength: 3
				},
				tel32: {
					required: true,
					digits: true,
					minlength: 3
				},
				tel33: {
					required: true,
					digits: true,
					minlength: 4
				},
				lien: {
					required: true
				},
				
				terms: {
					required: true
				}
			}
	
		});
		
		_CORE.iniTelephone(['tel','telt','cell','tel2','telt2','cell2','tel3','telt3','cell3']);
});

var _AJAX = {

	request: function() {
	   try { return new XMLHttpRequest(); } catch(e) {}
	   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	   alert("XMLHttpRequest not supported");
	   return null;
	},
	
	call: function(page, func){
		var xhReq = _AJAX.request();
		xhReq.open("get", page, true);
		xhReq.onreadystatechange = function() {
			if (xhReq.readyState != 4)  { return; }
		   var serverResponse = xhReq.responseText;
		   //alert(serverResponse);
		   eval(func+"("+serverResponse+")");
		};
		xhReq.send(null);
	}

}

var _CORE = {
	
	height: function(c){
		var i = 0;
		for(i=0;i<c.length;i++){
			jQuery(c[i]).each(function(){
				var bg = "."+jQuery(this).attr('class')+"-bg";
				var h = jQuery(this).height();
				jQuery(this).parent().find(bg).height(h);
			});
		}
	},
	
	iniTelephone: function(arr){
		var i =0;
		if(jQuery('.telephone').length>0){
				
				var ii = 0;
				var l = jQuery('.telephone input').not(':hidden').length;
				for(ii=0;ii<l;ii++){
					jQuery('.telephone input').not(':hidden').eq(ii).keyup(function(){
						var n = jQuery(this).attr('class');
						n = n.replace(/ ([a-z0-9]*)/gi,'');
						var c = jQuery(this).parent();
						var m = jQuery(this).attr('maxlength');
						if(jQuery(this).val().length == m){
							jQuery(c).find('input').eq(jQuery(this).index() + 1).focus();
						}
						if(jQuery(c).find('input').eq(0).val().length==3&&jQuery(c).find('input').eq(1).val().length==3&&jQuery(c).find('input').eq(2).val().length==4){
							jQuery(c).find('input:hidden').val("("+jQuery(c).find('input').eq(0).val()+") "+jQuery(c).find('input').eq(1).val()+"-"+jQuery(c).find('input').eq(2).val());
						}				   
					});
				}
		}
	}
	
}

var _ACCORDION = {
	
	_CLOSE: null,
	_DELAY: 500,
	
	ini: function(id){
		
		//currentURL = jQuery(location).attr('href');
		
		jQuery('ul.menu li:has(ul)').addClass('haschild');
		
		jQuery('ul.menu li:has(ul)').mouseover(function(){
													_ACCORDION.reset();
													jQuery('ul.menu li.active').removeClass('active');
													jQuery(this).addClass('active');
													});
		jQuery('ul.menu li:has(ul)').mouseout(function(){
													_ACCORDION.reset();
													jQuery(this).addClass('deactive');
													_ACCORDION._CLOSE = setTimeout('_ACCORDION.deactivate();',_ACCORDION._DELAY);
													});
		
		jQuery('ul.menu li a').mouseover(function(){
													jQuery('ul.menu li.active').removeClass('active');
													});
		
		jQuery('ul.menu li:has(ul) ul').mouseover(function(){
													_ACCORDION.reset();
													jQuery(this).parent().removeClass('deactive');
													if(!jQuery(this).parent().hasClass('active')){
														jQuery(this).parent().addClass('active');
													}
													});
		jQuery('ul.menu li:has(ul) ul').mouseout(function(){
													_ACCORDION.reset();
													jQuery(this).parent().addClass('deactive');
													_ACCORDION._CLOSE = setTimeout('_ACCORDION.deactivate();',_ACCORDION._DELAY);
													});
		
	},
	
	deactivate: function(obj){
		if(jQuery('ul.menu li').hasClass('deactive')){
			jQuery('ul.menu li.deactive').removeClass('active');
			jQuery('ul.menu li.deactive').removeClass('deactive');
		}
	},
	
	reset: function(){
		if(_ACCORDION._CLOSE != null){
			clearTimeout(_ACCORDION._CLOSE);
		}
	}

}

var _COURS = {
	
	h: "",
	
	listHoraire: function(obj){
		var c = jQuery(obj).val();
		
		_COURS.h = obj;
		if(c!=""){
			_AJAX.call('php/php_list_horaire.php?c='+c,'_COURS.listHoraireComplete');
		}else{
			var n = jQuery(obj).attr('class');
			jQuery('#'+n).html('');
			jQuery('#'+n).html('<option value=""><- Choisir -></option><option value="">Vous devez sélectionner un cours</option>');
		}	
	},
	
	listHoraireComplete: function(data){
		var n = jQuery(_COURS.h).attr('class');
		if(data[0]=='failed'){
			return false;
		}
		jQuery('#'+n).html('');
		jQuery('#'+n).html(data[1]);
	}
	
}
