function put(text) {
	$j('#put').append("<br />-" + text);
}


function editionEffect(){
	var images = $j('.editionEffect');

	
	images.mousemove(function(e){editionTrackImage(this, e);});
	images.mouseover(function(){editionDisplayTrack(this);});
	images.mouseout(function(){editionHideTrack(this);});
	
}

function editionTrackImage(el, e){
	// el = dom element
	// e  = event
	var x = e.pageX;
	var y = e.pageY;
	
	$j("#trackedImage").css('left', x-260);
	$j("#trackedImage").css('top', y-145);
}

function editionDisplayTrack(el){
	image = $j(el);
	var src = image.attr('src');
	src = src.replace(/(\d*)M/, "$1G");
	image = $j("#trackedImage img");
	image.attr('src', src);
	$j("#trackedImage").css('display', 'block');
	
}
function editionHideTrack(el){
	$j("#trackedImage").css('display', 'none');
}


function toggleTDJ_action (e){
	field = $('TDJ_action');
	if(e.checked == true){
		field.value = "remove";
	} else {
		field.value = "add";
	}
}

function addToFavorites(){
	url = location.href;
	
	h = document.getElementsByTagName('title');
	h = h[0];
	title = h.text;

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
 
}

nb_child = 2;
function addChild(){
	var new_nb_child = nb_child + 1;
	var orig = document.getElementById('coordonnees');
	var before_it = document.getElementById('endChildRef');
	var new_child = orig.cloneNode(true);
	
	labels = new_child.getElementsByTagName('label');
	inputs = new_child.getElementsByTagName('input');
	selects = new_child.getElementsByTagName('select');
	divs = new_child.getElementsByTagName('div');

	for(var i = 0; i < labels.length; i++){
		e = labels[i];
		e.htmlFor = e.htmlFor + '' + new_nb_child;
	}
	for(var i = 0; i < inputs.length; i++){
		e = inputs[i];
		e.id = e.id + '' + new_nb_child;
		e.value = '';
	}
	for(var i = 0; i < selects.length; i++){
		e = selects[i];
		e.id = e.id + '' + new_nb_child;
		alert(e.tabindex);
	}
	for(var i = 0; i < divs.length; i++){
		e = divs[i];
		e.id = e.id + '' + new_nb_child;
	}

	//a = new_child.getElementById('accord_naissance');
	//a.id = a.id + '' + new_nb_child;	
	
	var container = document.getElementById('moreChildren');
	container.insertBefore(new_child, before_it);
	nb_child = new_nb_child;
}

nb_insc = 1;
function ajouterInscription(){
	var new_nb_insc = nb_insc + 1;
	var orig = document.getElementById('coordonnees');
	var before_it = document.getElementById('endInscRef');
	var new_child = orig.cloneNode(true);
	new_child.id = 'inscription_' + new_nb_insc;
	labels = new_child.getElementsByTagName('label');
	inputs = new_child.getElementsByTagName('input');
	selects = new_child.getElementsByTagName('select');
	divs = new_child.getElementsByTagName('div');

	for(var i = 0; i < labels.length; i++){
		e = labels[i];
		e.htmlFor = e.htmlFor + '' + new_nb_insc;
	}
	for(var i = 0; i < inputs.length; i++){
		e = inputs[i];
		e.id = e.id + '' + new_nb_insc;
		e.value = '';
		e.tabIndex = 100 + e.tabIndex;
	}
	for(var i = 0; i < selects.length; i++){
		e = selects[i];
		e.id = e.id + '' + new_nb_insc;
		e.tabIndex = 100 + e.tabIndex;
	}
	for(var i = 0; i < divs.length; i++){
		e = divs[i];
		e.id = e.id + '' + new_nb_insc;
	}

	//a = new_child.getElementById('accord_naissance');
	//a.id = a.id + '' + new_nb_insc;	
	
	var container = document.getElementById('form');
	container.insertBefore(new_child, before_it);
	nb_insc = new_nb_insc;
	
	document.getElementById('retirerInscription').style.display ="block";
}

function retirerInscription(){
	lastInsc = document.getElementById('inscription_' + nb_insc);
	lastInsc.parentNode.removeChild(lastInsc);
	nb_insc = nb_insc - 1;
	
	if(nb_insc == 1){	
		document.getElementById('retirerInscription').style.display ="none";
	}
}

function addEvent(elm, evType, fn, useCapture){
	// By Scott Andrew
	if(elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent){
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	} else{
		elm['on' + evType] = fn;
	}
}

function addString(st, el, childClass){
	if(el != null){
//		var reg = new RegExp('(^|\\s)'+st+'(\\s|$)');
		el.className = el.className.replace(createReg(st), ' ');
		el.className = el.className + " "+st+" ";
		
		if(arguments.length < 3)
			return;
		
		childs = getElementsByClass(childClass, el);
		l = childs.length;
		if(l == 0)
			return
			
		for(var i=0; i<l; i++){
			addString(st, childs[i]);
		}}
}

function createReg(st){
	return new RegExp('(^|\\s)'+st+'(\\s|$)');
}

function dateInputOnChange(field, elToHide){
	
	if(date = isValidDate(field.value)){
		stripString('wrongFormat', field);
		
			el = document.getElementById('accord_' + field.id);

			day = date.getDate();
			month = date.getMonth() + 1;
			year = date.getYear();
			
			var ageToBe = 18;
			today = new Date();

			if(today.getMonth() + 1 < month || (today.getMonth() + 1 == month && today.getDate() < day)){
				ageToBe+=1;
			}
				
			if((today.getYear() - year) < ageToBe){
				// display the checkbox
				el.style.display = 'block';
				input = el.getElementsByTagName('input');
				input = input[0];
				input.checked = false;
			} else {
				el.style.display = 'none';
				input = el.getElementsByTagName('input');
				input = input[0];
				input.checked = true;
			}
			
		
	} else {
		addString('wrongFormat', field);
	}
}

function inscrUpdatePrix(){
	prices = getElementsByClass('prix');
	var price = 0;
	for(var i=0;i<prices.length;i++){
		price = price + (1*prices[i].value);
	}
	
	document.getElementById('total').innerHTML = 'Total : ' + price + ' CHF';
	document.getElementById('prixtotal').value = price;
}

function isValidDate(dateStr) {
	// Checks for the following valid date formats:
	// DD/MM/YY   DD/MM/YYYY (or with -,., ,:)
	// Also separates date into month, day, and year variables
	
	var datePat = /^(\d{1,2})(\/|-|\.|\s|:)(\d{1,2})(\/|-|\.|\s|:)(\d{1,2}|\d{4})$/;
	
	// To require a 4 digit year entry, use this line instead:
	// var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		//alert("Date is not in a valid format.")
		return false;
	}
	day = matchArray[1]; // parse date into variables
	month = matchArray[3];
	year = matchArray[5];
	if (month < 1 || month > 12) { // check month range
		//alert("Month must be between 1 and 12.");
		return false;
	}
	if (day < 1 || day > 31) {
		//alert("Day must be between 1 and 31.");
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		//alert("Month "+month+" doesn't have 31 days!")
		return false
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			//alert("February " + year + " doesn't have " + day + " days!");
			return false;
	   }
	}
	if(year.length == 1){
		year = "0" + year;
	}
	if(year.length == 2 && year < 15){
		year = "20" + year;
	}

	var dateToCheck = new Date(year, month-1, day, 0, 0, 0);
	return dateToCheck;  // date is valid
}

function findTarget(e, c){
	if (window.event && window.event.srcElement)
		target = window.event.srcElement;
	else if (e && e.target)
		target = e.target;
	if (!target)
		return null;
	
	if(arguments.length > 1){	
		while (target != document.body && (' ' + target.className.toLowerCase() + ' ').indexOf(' ' + c + ' ') == -1)
			target = target.parentNode;
		
		if ((' ' + target.className.toLowerCase() + ' ').indexOf(' ' + c + ' ') == -1)
			return null;
	} else {
		target;// = target.parentNode;
	}
			
	return target;
}


function getElementsByClass(s,n,t) { // s=class ; n = element parent ; t = tagName
	var c=[], e=(n?n:document).getElementsByTagName(t?t:'*'),r=new RegExp("(^|\\s)"+s+"(\\s|$)");
	for (var i=0,j=e.length;i<j;i++) 
		r.test(e[i].className)?c.push(e[i]):'';
	return c;
}

function reformatInputValue(field){
		
		if(field.value == ""){
			field.value="JJ.MM.AAAA";
			return;
		}
		
		if(date = isValidDate(field.value)){
			stripString('wrongFormat', field);
			tempDay = date.getDate(); tempMonth = date.getMonth()+1; tempYear = date.getFullYear();
			if(tempDay <10) tempDay = '0'+tempDay;
			if(tempMonth <10) tempMonth = '0'+tempMonth;
			field.value = tempDay + "." + tempMonth + "." + tempYear;
		}
	}

function rollout(e){
	var target = findTarget(e, "rollover");
	stripString('over', target);
}

function rollover(e){
	var target = findTarget(e, "rollover");
	addString('over', target);
}

//function setRollover(){
//	//doOnResize();
//
//	var tags = new Array('div', 'a', 'li', 'td', 'input', 'tr');
//
//	var elements, el, className;
//	
//	elements = getElementsByClass('rollover');
//	
//		
//	for(var j = 0; j < elements.length; j++){
//		el = elements[j];
//		//el.onmouseover="alert('as')";
//		addEvent(el, 'mouseover', rollover, false);
//		addEvent(el, 'mouseout', rollout, false);
//	}
//}

function setRollover(){
	//doOnResize();

	var tags = new Array('div', 'a', 'li', 'td', 'input', 'tr');

	var elements, el, className;
	
	elements = getElementsByClass('rollover');
	
		
	for(var j = 0; j < elements.length; j++){
		el = elements[j];
		el.onmouseover = function(){addString('over', this);};
		el.onmouseout = function(){stripString('over', this);};
	}
}

function stripString(st, el, childClass){
	if(el != null){
		//var reg = new RegExp('(^|\\s)'+st+'(\\s|$)');
		el.className = el.className.replace(createReg(st), ' ');
		
		if(arguments.length < 3)
			return;
		
		childs = getElementsByClass(childClass, el);
		l = childs.length;
		if(l == 0)
			return
			
		for(var i=0; i<l; i++){
			stripString(st, childs[i]);
		}
	}
}

function toggleBlock(el){
	if (el != null){
		el = document.getElementById(el);
		var nextStatus = (el.style.display == "none") ? "block" : "none";
	    el.style.display = nextStatus;
	}
}

function toggleString(st, el){
	if(el != null){
		//var reg = new RegExp('(^|\\s)'+st+'(\\s|$)');
		if (el.className.search(createReg(st))!=-1){
			stripString(st, el);
		} else {
			addString(st, el);
		}
	}
}

function validForm(){
	form = document.getElementById('form');
	
	fields = form.getElementsByTagName('input');
	isComplete = true;
	emailValid = true;
	dateValid = true;
	accordComplete = true;
	incompletedFields = '';

	for(var i=0; i<fields.length; i++){
		field = fields[i];
		if(field.className == 'require' && field.value == ''){
			isComplete = false;
		}
		switch(field.name){
			
			case "email[]":			
				
				var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (!filter.test(field.value)){
					emailValid = false;
				}
				
				break;
			case "naissance[]":
				if(field.value == "JJ.MM.AAAA" && field.className == 'require'){
					isComplete = false;
				}
				if(field.value == "JJ.MM.AAAA"){
					break;
				}
				if (!isValidDate(field.value)){
					dateValid = false;
				}
				break;
			case "accord[]":
				if(field.checked == false){
					accordComplete = false;
				}
				break;
			default:

		}
	}
	fields = form.getElementsByTagName('select');
	for(var i=0; i<fields.length; i++){
		field = fields[i];

		if((' ' + field.className + ' ').indexOf(' require ') != -1 && field.value == '-1'){
			isComplete = false;
//			alert("-"+field.className);
		}
		
		//if(field.className == 'require' && field.value == '-1')
		//	isComplete = false;
	}
	  
	if(!isComplete){
		alert("Vous devez remplir tous les champs obligatoires.");
		return false;
	}
	if(!emailValid){
		alert("Au moins une adresse email ne semble pas valide");
		return false;
	}
	if(!accordComplete){
		alert("Vous devez avoir l'accord des parents pour chaque inscriptions'");
		return false;
	}
	if(!dateValid){
		alert("Au moins une date de naissance ne semble pas valide");
		return false;
	}
	try
	{
		if(document.getElementById('conditions').checked != true){
			alert("Vous devez accepter les conditions de la Ligue");
			return false;
		}
	}
	catch(Error)
	{
	}
	
	fields = form.getElementsByTagName('select');
	for(var i=0; i<fields.length; i++){
		field = fields[i];
		field.options[field.selectedIndex].value = field.options[field.selectedIndex].text;
		
	}

	// check to register to the newsletter
	
	
	return true;
	
}

function unsetvalue(field){
	field.value="";
}
function getScrollTop(){
        if (window.innerHeight)
        {
                  pos = window.pageYOffset
        }
        else if (document.documentElement && document.documentElement.scrollTop)
        {
                pos = document.documentElement.scrollTop
        }
        else if (document.body)
        {
                  pos = document.body.scrollTop
        }
        return pos;
}
 
function putInMiddle(element){
        if(typeof element != 'object'){
                element = $('element');
        }
        
        if(window.innerWidth){
                var winW = window.innerWidth;
                var winH = window.innerHeight;
        }else if (document.body.offsetWidth){
                var winW = document.body.offsetWidth;
                var winH = document.body.offsetHeight;
        }
        
        var width = element.offsetWidth;
        var height = element.offsetHeight;
        
        var top = winH / 2 - height / 2 + 100;
        var left = winW / 2 - width / 2;
        
        top = Math.max(20, top);
        left = Math.max(0, left);
 
        element.style.top = getScrollTop() + top + 'px';
        element.style.left = left + 'px';
        
}
/*by micmonay*/
function loginAffiche(objName)
{
	this.opacityMax = 0.7;
	this.objName=objName;
	this.divCacheUpAff = function()
	{
		this.addition = 0.1;
		this.temp=50;
		if(this.affiche===true)
		{
			this.opacity += this.addition;
			if(this.opacity>=this.opacityMax)
			{
				this.cache.style.opacity = this.opacityMax;
				this.opacity=this.opacityMax;
			}
			else
			{
				this.cache.style.opacity = this.opacity;
			}
			if(this.opacity<this.opacityMax)
			{
				setTimeout(this.objName+".divCacheUpAff()",this.temp);
			}
		}
		else
		{
			this.opacity -= this.addition;
			if(this.opacity<=0)
			{
				this.cache.style.opacity = 0;
				this.cache.style.visibility = "hidden";
			}
			else
			{
				this.cache.style.opacity = this.opacity;
			}
			if(this.opacity<this.opacityMax)
			{
				setTimeout(this.objName+".divCacheUpAff()",this.temp);
			}
		}
		
	}
	this.divCacheAff = function()
	{
		this.opacity=.0;
		this.affiche=true;
		this.cache = document.getElementById("cache");
		this.cache.style.display = "block";
		this.divLogin = document.getElementById("loginDiv");
		this.divLogin.style.display = "block";
		putInMiddle(this.divLogin);
		this.divLogin.style.visibility = "visible";
		try{
			this.cache.style.opacity = .0;
			this.cache.style.visibility = "visible";
			this.divCacheUpAff();
		}
		catch(Error)
		{
			this.cache.style.visibility = "visible";
		}
		$j("#WebLoginLayer0 input#username").focus();
	}
	this.cacher = function()
	{
		this.affiche=false;
		this.cache = document.getElementById("cache");
		this.divLogin = document.getElementById("loginDiv");
		this.divLogin.style.visibility = "hidden";
		try{
			this.cache.style.opacity = this.opacity;
			this.divCacheUpAff();
		}
		catch(Error)
		{
			this.cache.style.visibility = "hidden";
		}
		this.cache.style.display = "none";
		this.divLogin.style.display = "none";
	}
}
var ObjloginAffiche = new loginAffiche('ObjloginAffiche');
/*end micmonay*/
addEvent(window, 'load', setRollover, false); 

function commandeTypeChange(el){
	if(el.id == 'commande'){
		$('divQuantite').style.display = 'block';
		$('quantite').className = 'require';
	} else {
		$('divQuantite').style.display = 'none';
		$('quantite').className = '';
	}
}

function limitLength(el, length){
	text = el.value;
	if(text.length <= length)
		return;
	
	text = text.substr(0, length);
	el.value = text;	
		
}