
function __(code, lg) {
    lg = lg || 'fr-FR';
    return  lang[lg][code] ? sprintf( lang[lg][code], arguments ) : code;
}


function resetForm( e, id_div, tag_name ) {
	var div_to_reset = document.getElementById( id_div );
	if ( tag_name == "ECH_SOM_CONST" || tag_name == "ECH_NUM" ) var elts = div_to_reset.getElementsByTagName('table');
	else if ( tag_name == "RAD_ASK" || tag_name == "CASE_ASK" || tag_name == "DATE" || tag_name == "TEXT" ) var elts = div_to_reset.getElementsByTagName('input');
	else if( tag_name == 'CLASSEMENT' ) {
		var rangs = $$('div.opt');
		rangs.each(function(el) {
		    var idquestion = el.up('div.classement').readAttribute('name');
		    move(el, $('options_'+ idquestion ));
                });
		return true;
	}
	else var elts = div_to_reset.getElementsByTagName( tag_name );
	for ( var i=0; i < elts.length; i++ ) {
		if ( tag_name == "SELECT" ) {
			for ( var j=0; j < elts[i].options.length; j++ ) {
				if ( elts[i].multiple == true ) elts[i].options[j].selected = ''; 
				else elts[i].selectedIndex = 0;
			}
		}
		else if ( tag_name == "TEXT" ) {
			if ( elts[i].type == 'text' ) { 
				elts[i].value = "";
				elts[i].style.visibility = 'visible';
				var div_mess = elts[i].parentNode.getElementsByTagName('div');
				if ( div_mess[0] ) {
					if ( div_mess[0].getAttribute('func') == 'zone_texte' ) div_mess[0].style.visibility = 'hidden';
				}
			}	
		}
		else if ( tag_name == "INPUT" ) {
			if ( elts[i].type == 'radio' || elts[i].type == 'checkbox'  ) { 
				elts[i].checked = false;
			}
			else if ( elts[i].type == 'text' ) {
				elts[i].value = "";
				elts[i].style.visibility = 'visible';
			}
		}	
		else if ( tag_name == "DATE" ) {
			if ( elts[i].type == 'radio' || elts[i].type == 'checkbox' ) { 
				elts[i].checked = false;
			}
			else if ( elts[i].type == 'text' ) {
				elts[i].value = "";
			}	
		}
		else if ( tag_name == "CASE_ASK" ) {
			if ( elts[i].type == 'radio' ) {
				elts[i].checked = false;
			}
			if ( elts[i].type == 'checkbox' ) {	
				var others = e.parentNode.getElementsByTagName('input');
				for ( var j=0; j < others.length; j++ ) {				
					if ( e.type == 'radio' && others[j].value == '__autre__' ) {	
						others[j].checked = false;
					}
				}
				if ( e.checked ) e.checked = true;
					
				if ( elts[i].value == "__autre__" ) {
					if ( elts[i].checked ) {
						elts[i+1].style.visibility = 'visible';
					}
					else {
						elts[i+1].style.visibility = 'hidden';	
					}	
				}
				else if ( e.value != '__autre__' ) elts[i].checked = false;
			}
		}	
		else if ( tag_name == "RAD_ASK" ) {
			if ( elts[i].type == 'radio' ) {
				elts[i].checked = false;
			}
			if ( elts[i].type == 'text' ) {
					elts[i].value = "";
					elts[i].style.visibility = 'hidden';
			}
		}			
		else if ( tag_name == "TEXTAREA" ) {
			elts[i].value = "";
			elts[i].parentNode.getElementsByTagName('div')[0].style.visibility = 'hidden';			
		}	
		else if ( tag_name == "ECH_SOM_CONST" ) {
			if ( elts[i].getAttribute('func') == "ech_som_const" ) {
				var som_vals = elts[i].getElementsByTagName('input');
				for ( var j=0; j < som_vals.length; j++ ) { 
					som_vals[j].value = "";
				}
				var total = elts[i].getElementsByTagName('b');
				if (total[1]) total[1].firstChild.nodeValue = 0;
				var msg = elts[i].parentNode.getElementsByTagName('span');
				msg[0].innerHTML = "";	
			}
		}	
		else if ( tag_name == "ECH_NUM" ) {
			if ( elts[i].getAttribute('func') == "ech_num" ) {
				var tds = elts[i].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[1].getElementsByTagName('td');
				for ( var j=0; j < tds.length; j++ ) {
					if (tds[j].firstChild.src)	tds[j].firstChild.src = "../images/slider.png";
				}
				var inputs = elts[i].parentNode.parentNode.getElementsByTagName('input');	
				inputs[0].value = "";
				inputs[0].style.visibility = 'hidden';
			}
		}						
	}
}

function radio( e, id_div, tag_name ) {
	resetForm( e, id_div, tag_name );
	if ( e.type == 'radio' || e.type == 'checkbox' ) {	
		inputs =	e.parentNode.getElementsByTagName('input');
		for ( var i = 0; i < inputs.length; i++ ) {
			if ( inputs[i].type == 'radio' && inputs[i].checked == true ) {
				var radio_checked = e;
			}
			if ( radio_checked ) {
				if ( inputs[i].type == 'radio' && inputs[i].id != radio_checked.id ) {
					inputs[i].checked = false;		
				}
			}
			if ( inputs[i].type == 'text' && e.nextSibling.className == "autre" ) {
				inputs[i].style.visibility = 'visible';	
			}
			else if ( inputs[i].type == 'text' ) {
				inputs[i].style.visibility = 'hidden';
				inputs[i].value = "";
			}	
		}
	}	
}					


	

function is_num( e, decimal ) {
	var expr;
	if ( decimal == 'on' ) {
		expr = new RegExp( "^ *-?[0-9]*([.,][0-9]*)? *$", "g" );
	}
	else {
		expr = new RegExp( "^ *-?[0-9]* *$", "g" );
	}	
	var text = e.value;
	if ( !text.match( expr ) && text != "" ) {
		if ( decimal == 'on' ) {
			alert(__("Uniquement des chiffres, des virgules et des points"));	
		}
		else {
			alert(__("Uniquement des chiffres"));
		}
		e.value = "";	
		e.focus();
		return false;
	}
	return true;
}

function is_date( e, type ) {
	if ( type == "J" ) {
		var expr = new RegExp( "^ *(([0-2][0-9])|(3[0-1]))/((0[0-9])|(1[0-2]))/[0-9][0-9][0-9][0-9] *$", "g" );
	}
	else if ( type == "M" ) {
		var expr = new RegExp( "^ *((0[0-9])|(1[0-2]))/[0-9][0-9][0-9][0-9] *$", "g" );
	}
	else if ( type == "A" ) {
		var expr = new RegExp( "^ *[0-9][0-9][0-9][0-9] *$", "g" );
	}
	text = e.value;
	if ( !text.match( expr ) && text != "" ) {
		if ( type == "J" ) alert(__("Ecriture de type : JJ/MM/AAAA"));
		else if ( type == "M" ) alert(__("Ecriture de type : MM/AAAA"));
		else if ( type == "A" ) alert(__("Ecriture de type : AAAA"));	
		e.value = "";
		e.focus();
		return false;
	}
	return true;
}

function select_cell( e ) {
	var on_box = 0;
	if ( e.nodeName == 'INPUT') {
		on_box = 1;
		if ( e.type == 'checkbox' && e.checked == false ) e.checked = true;	 
		else if ( e.type == 'checkbox' && e.checked == true ) e.checked = false;
		else if ( e.type == 'radio' && e.checked == false ) e.checked = true;	
	}
	else if ( on_box == 0 ) {	
		var items = e.getElementsByTagName('input');
		for (var i = 0; i < items.length; i++) {
			if ( items[i].type == 'checkbox' && items[i].checked == true ) {
				items[i].checked = false;
			}
			else if ( ( items[i].type == 'checkbox' || items[i].type == 'radio' ) && items[i].checked == false ) {
				items[i].checked = true;
			}	
		}
	}	
}
function divmille(s) {
    var st=""+s;
    if (st=='0') return '0';
    var ent = st.substr(0,st.length-3);
    var dec = st.substr(st.length-3,3);

    if (dec.charAt(2)=='0') {
        dec = dec.substr(0,2);
        if (dec.charAt(1)=='0') {
            dec = dec.substr(0,1);
            if (dec.charAt(0)=='0') dec = '';
        }
    }
    if (dec!='') return ent+'.'+dec;
    else return ent;
}

function totaliser( e, id_span, id_total, total ) {
	var val_total = 0;
	var items = e.parentNode.parentNode.parentNode.getElementsByTagName('input');
	var clones= new Array();
	for( var i=0; i < items.length; i++ ) {
		if ( items[i].value == "" ) {
			clones[i] = 0;
		}
		else {
			var val = items[i].value.toString();
			var maReg = new RegExp( ",", "g" );
			if ( val.search( maReg ) != -1 ) {
				var resultat = val.replace( maReg, "." );
				clones[i] = parseFloat( resultat );
			}
			else clones[i] = items[i].value;
		}	
		val_total += Math.round( parseFloat( clones[i] )*1000 )/1000;
	}
        val_total=divmille(Math.round(val_total*1000)) ;
	var span = document.getElementById( id_span );
	if ( val_total != total ) {
		span.innerHTML = "Total: " + val_total + __(" veuillez arriver &agrave; un total de ") + total;
		span.style.color = 'red';
	}
	else {
		span.innerHTML = __("Total atteint");
		span.style.color = 'green';
		
	}	
	var case_total = document.getElementById( id_total );
	var total_node = case_total.firstChild.firstChild;
	total_node.nodeValue = val_total;
}


function move_slideBar( e, valeur ) {
	var is_img = 0;
	if ( e.firstChild.nodeName == 'IMG' ) is_img = 1;
	var id_text = e.parentNode.getAttribute('val');
	var input = document.getElementById( id_text );
	input.style.visibility = 'visible';
	tds = e.parentNode.parentNode.getElementsByTagName('td');
	for ( var i=0; i < tds.length; i++ ) {
		if ( tds[i].firstChild.nodeName == 'IMG' ) {
			tds[i].firstChild.src = "../images/slider.png";
		} 
	}
	if (is_img) {	
		input.value = valeur;
		e.firstChild.src = "../images/slideron.png";
	}	
	else {
		for ( var j=0; j < tds.length; j++ ) {
			if ( tds[j].getAttribute('val') == valeur && tds[j].firstChild.nodeName == 'IMG' ) {
				input.value = valeur;
				tds[j].firstChild.src = "../images/slideron.png";
			} 
		}
	}
}


function Compter( Target, max, id_champ_restant, id_champ_nb ) {
	var champ_restant = document.getElementById( id_champ_restant );
	var champ_nb = document.getElementById( id_champ_nb );
	//Target.parentNode.getElementsByTagName('div')[0].style.visibility = 'visible';
    champ_nb.parentNode.style.visibility = 'visible';
	StrLen = Target.value.length;
	if (StrLen > max ) {
		Target.value = Target.value.substring( 0, max );
		CharsLeft = max;                                                                
	}
	else {
		CharsLeft = StrLen;
	} 
	var restant = max - CharsLeft;
	champ_restant.innerHTML = restant;
	var nb = max - restant;
	champ_nb.innerHTML = nb;
}


function choixRadio( e ) {
	var inputs = e.parentNode.getElementsByTagName('input');
	for ( var i = 0; i < inputs.length; i++ ) {
		if ( e.value == 0 && inputs[i].type == 'text' ) {
			inputs[i].disabled = true;
			inputs[i].setattribute( value, -1 );
		}	
		else {
			if ( inputs[i].type == 'text' ) {
				inputs[i].disabled = false;
			}		
		}	
	}	
}	


	/*function looseButton(e) {
		var button = e.parentNode.getElementsByTagName('button');
		//button[0].style.visibility='hidden';
	}
	function seeButton(e) {
		var button = e.parentNode.getElementsByTagName('button');
		if('{type_date}'=='J') { 
		 	button[0].style.visibility='visible';
		}
		else {
			if ( button[0] ) {
				if ( button[0].getAttribute('func') == 'bouton_date' ) button[0].style.visibility='hidden';
			}
		}
	}*/
