function newWindow(url, titre, props) {
	dlg = window.open(url, titre, props);
	window.opener = this;
}

function isPageLoaded() {
	if ((formName!='')&&(formName!=null)) {
		return true;
	}
	return false;
}

function isPageLock() {
	if (formName.lockNext) {
		return (formName.lockNext.value != '')
	}
	return false;
}

function lockPage() {
	if (formName.lockNext) {
		formName.lockNext.value = '1';
		if (document.images['btn_next']) {
			document.images['btn_next'].src = btnvide.src;
		}
	}
}

function unlockPage() {
	if (formName.lockNext) {
		formName.lockNext.value = '';
		if (document.images['btn_next']) {
			document.images['btn_next'].src = btnnext.src;
		}
	}
}

function forceSubmit() {
	unlockPage();
	EnqueteDef_submit();
}

function autoscroll(e) {
	if (parseInt(navigator.appVersion)>3) {
		var height = 0;
		var mouseY = 0;

//alert('version : ' + parseInt(navigator.appVersion));
//alert('name    : ' + navigator.appName);

		if (navigator.appName=='Netscape') {
			height = window.innerHeight;
			mouseY = e.clientY;
		} else if (navigator.appName.indexOf('Microsoft')!=-1) {
			height = document.body.clientHeight;
			mouseY = event.y;
		}

//alert('height : ' + height);
//alert('mouseY : ' + mouseY);

		if ((height>0) && (mouseY < height)) {
			var top = parseInt(height / 4);
			var bottom = parseInt(height / 4) * 3;
			var decale = bottom - top;
			if ((mouseY < top) || (mouseY > bottom)) {
				window.scrollBy(0, mouseY - decale);
			}
		}
	}
}

function carMax(field, lenMax) {
	if (field.value.length > lenMax) {
		field.value = field.value.substring(0, lenMax);
	}
}

function hasPlugin(name, mime, object) {
	if ((navigator.plugins) && (navigator.plugins.length > 0)) {
		trouve = false;
		for (i=0; i < navigator.plugins.length; i++) {
			if (navigator.plugins[i].description.toLowerCase().indexOf(name.toLowerCase())!=-1) {
				trouve = true;
			}
		}
		return trouve;
	} else if ((navigator.mimeTypes) && (navigator.mimeTypes.length > 0)) {
		return navigator.mimeTypes[mime].enabledPlugin != null;
	} else if (window.ActiveXObject) {
		try {
			new ActiveXObject(object);
			return true;
		} catch (oError) {
			// False
		}
		if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
			// Appel à la fonction créée lors de l'affichage du questionnaire
			return detectActiveXControl(object+'.1');
		}
    }
	return false;
}

function changeVal(name, ind, imgName, value, img) {
	if (isPageLoaded()) {	
		if (ind==null) {
			if (formName.elements[name]) {
	    	formName.elements[name].value=value;
	    }
		} else {
			if (formName.elements[name][ind]) {
	    	formName.elements[name][ind].value=value;
	    }
		}
		if (document.images[imgName])
	  	document.images[imgName].src=img.src;
	}
}

function switch_radio(name,num){
	if (isPageLoaded()) {	
		if (!isNaN(formName.elements[name].length)) {
			for (i=0; i<formName.elements[name].length; i++){
			  if (i!=num){
			  	changeVal(name,i,name+'_rad_'+i,'',radiooff);
				} else {
//					changeVal(name,i,name+'_rad_'+i,formName.elements[name+'_rad_'+i+'_value'].value,radioon);
					if (formName.elements[name][i].value==''){
						changeVal(name,i,name+'_rad_'+i,formName.elements[name+'_rad_'+i+'_value'].value,radioon);
					} else {
						changeVal(name,i,name+'_rad_'+i,'',radiooff);
					}
			  }
			}
		} else {
//			changeVal(name,null,name+'_rad_'+num,formName.elements[name+'_rad_'+num+'_value'].value,radioon);
			if (formName.elements[name].value==''){
				changeVal(name,null,name+'_rad_'+num,formName.elements[name+'_rad_'+num+'_value'].value,radioon);
			} else {
				changeVal(name,null,name+'_rad_'+num,'',radiooff);
			}
		}
		if (formName.elements[name+'_MOD']){
		  if (!isNaN(formName.elements[name+'_MOD'].length)){
		  	changeVal(name+'_MOD',0,name+'_MOD_rad_0','',radiooff);
		  	formName.elements[name+'_AUTVAL'].value=''; 
				changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
			} else {
				changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
				if (formName.elements[name+'_MOD_rad_0_value'].value=='AUT') {
			  	formName.elements[name+'_AUTVAL'].value=''; 
				}
			}
		}
	}
}

function switch_checkbox(name,num){
	if (isPageLoaded()) {	
		cochee = false;
		if (!isNaN(formName.elements[name].length)){
			if (formName.elements[name][num].value==''){
				changeVal(name,num,name+'_chk_'+num,formName.elements[name+'_chk_'+num+'_value'].value,checkon);
				cochee=true;
			} else {
				changeVal(name,num,name+'_chk_'+num,'',checkoff);
			}
		} else {
			if (formName.elements[name].value==''){
				changeVal(name,null,name+'_chk_'+num,formName.elements[name+'_chk_'+num+'_value'].value,checkon);
				cochee=true;
			} else {
				changeVal(name,null,name+'_chk_'+num,'',checkoff);
			}
		}
	
		/* Si une case est cochee, il faut decocher NSP */	
		if (cochee) {
			if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
				changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
			} else if ((document.images[name+'_MOD_chk_0'])&&(document.images[name+'_MOD_rad_0'])){
				changeVal(name+'_MOD',1,name+'_MOD_rad_0','',radiooff);
			} else if (document.images[name+'_MOD_rad_0']){
				if (formName.elements[name+'_MOD_rad_0_value'].value=='NSP') {
					changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
				}
			}
		}
	}
}

function switch_aut_radio(name){
	if (isPageLoaded()) {	
		if ((formName.elements[name].type=='select-one')
			||(formName.elements[name].type=='select-multiple')) {
			for (j=0; j<formName.elements[name].options.length; j++){
				formName.elements[name].options[j].selected = (j==0);
			}
			formName.elements[name].value=' '; 
		} else {
			if (!isNaN(formName.elements[name].length)) {
				for (i=0; i<formName.elements[name].length; i++){
					changeVal(name,i,name+'_rad_'+i,'',radiooff);
				}
			} else {
				changeVal(name,null,name+'_rad_0','',radiooff);
			}
		}
	
		/* Vide le champ de saisie pour la QO referentielle */
		if (formName.elements['S'+name]!=null) {
			formName.elements['S'+name].value = '';
		}
	
		/* Reinitialise les combos pour la saisie des dates */
		if (formName.elements['D'+name]!=null) {
			formName.elements['D'+name].selectedIndex = 0;
		}
		if (formName.elements['M'+name]!=null) {
			formName.elements['M'+name].selectedIndex = 0;
		}
		if (formName.elements['Y'+name]!=null) {
			formName.elements['Y'+name].selectedIndex = 0;
		}
	
		if (!isNaN(formName.elements[name+'_MOD'].length)){
//			changeVal(name+'_MOD',0,name+'_MOD_rad_0','AUT',radioon);

			if (formName.elements[name+'_MOD'][0].value==''){
				changeVal(name+'_MOD',0,name+'_MOD_rad_0','AUT',radioon);
			} else {
				changeVal(name+'_MOD',0,name+'_MOD_rad_0','',radiooff);
		  	formName.elements[name+'_AUTVAL'].value=''; 
			}
			changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
		} else {
//			changeVal(name+'_MOD',null,name+'_MOD_rad_0','AUT',radioon);

			if (formName.elements[name+'_MOD'].value==''){
				changeVal(name+'_MOD',null,name+'_MOD_rad_0','AUT',radioon);
			} else {
				changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
		  	formName.elements[name+'_AUTVAL'].value=''; 
			}
	  }

		/* Recalcul du total */
		checkForTotal(name);
	}
}

function switch_aut_checkbox(name){
	if (isPageLoaded()) {	
		if (!isNaN(formName.elements[name+'_MOD'].length)){
			cochee = ((formName.elements[name+'_MOD'][0].value=='AUT')?true:false)
			changeVal(name+'_MOD',0,name+'_MOD_chk_0',(cochee?'':'AUT'),(cochee?checkoff:checkon));
			if (cochee)
				formName.elements[name+'_AUTVAL'].value = '';
		  if (document.images[name+'_MOD_rad_0']) {
		  	changeVal(name+'_MOD',1,name+'_MOD_rad_0','',radiooff);
		  }
		} else {
			cochee = ((formName.elements[name+'_MOD'].value=='AUT')?true:false)
			if (cochee)
				formName.elements[name+'_AUTVAL'].value = '';
			changeVal(name+'_MOD',null,name+'_MOD_chk_0',(cochee?'':'AUT'),(cochee?checkoff:checkon));
		}
	}
}

function updateAllNSPFields(name, val) {
	if (isPageLoaded()) {
		flds = Array();
		if (formName.elements[name+'_fields']!=null){
			flds = formName.elements[name+'_fields'].value;
			flds = flds.split('|');
		}
		if (val!='') {
			changeVal(name+'_MOD',null,name+'_MOD_rad_0',val,radioon);
			isDate = (formName.elements['D'+flds[0]]!=null);
			for (i=0; i<flds.length; i++){
				if (formName.elements[flds[i]]!=null) {
			  	formName.elements[flds[i]].value='';
				}
				if (formName.elements[flds[i]+'_MOD']!=null) {
			  	formName.elements[flds[i]+'_MOD'].value=val;
				}
				/* Reinitialise les combos pour la saisie des dates */
				if (isDate) {
					if (formName.elements['D'+flds[i]]!=null) {
						formName.elements['D'+flds[i]].selectedIndex = 0;
					}
					if (formName.elements['M'+flds[i]]!=null) {
						formName.elements['M'+flds[i]].selectedIndex = 0;
					}
					if (formName.elements['Y'+flds[i]]!=null) {
						formName.elements['Y'+flds[i]].selectedIndex = 0;
					}
				}
			}
		} else {
			changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
			for (i=0; i<flds.length; i++){
				if (formName.elements[flds[i]+'_MOD']!=null) {
			  	formName.elements[flds[i]+'_MOD'].value='';
				}
			}
		}
	}
}

function switch_nsp_radio(name){
	if (isPageLoaded()) {

		if (name.substring(name.length-4, name.length)=='_ALL'){
			curVal = '';
			if (formName.elements[name+'_MOD']!=null) {
				curVal = formName.elements[name+'_MOD'].value;
			}
			nspVal = 'NSP';
			if (formName.elements[name+'_MOD'+'_rad_0_value']!=null) {
				nspVal = formName.elements[name+'_MOD'+'_rad_0_value'].value;
			}
			updateAllNSPFields(name, (curVal==nspVal ? '' : nspVal));
			return;
		}
		
		if (formName.elements[name]!=null){
			if ((formName.elements[name].type=='select-one')
				||(formName.elements[name].type=='select-multiple')) {
				for (j=0; j<formName.elements[name].options.length; j++){
					formName.elements[name].options[j].selected = (j==0);
				}
				formName.elements[name].value=' '; 
			} else {
				if (!isNaN(formName.elements[name].length)){
					for (i=0; i<formName.elements[name].length; i++){
						changeVal(name,i,name+'_rad_'+i,'',radiooff);
						changeVal(name,i,name+'_chk_'+i,'',checkoff);
					}
				} else {
					changeVal(name,null,name+'_rad_0','',radiooff);
					changeVal(name,null,name+'_chk_0','',checkoff);
				}
			}
		}
	
		/* Vide le champ de saisie pour la QO referentielle */
		if (formName.elements['S'+name]!=null) {
			formName.elements['S'+name].value = '';
		}
	
		/* Reinitialise les combos pour la saisie des dates */
		if (formName.elements['D'+name]!=null) {
			formName.elements['D'+name].selectedIndex = 0;
		}
		if (formName.elements['M'+name]!=null) {
			formName.elements['M'+name].selectedIndex = 0;
		}
		if (formName.elements['Y'+name]!=null) {
			formName.elements['Y'+name].selectedIndex = 0;
		}

		/* Reinitialise les champs dans le cas d un total */
		if (name.indexOf('_')==-1) {
			initFieldsForTotal(name);
		}

		/* Si NSP est selectionne, il faut decocher AUTRE et vider la reponse AUTRE */
		if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
			if (formName.elements[name+'_MOD'][1].value=='') {
				changeVal(name+'_MOD',0,name+'_MOD_rad_0','',radiooff);
		  	formName.elements[name+'_AUTVAL'].value = ''; 
				changeVal(name+'_MOD',1,name+'_MOD_rad_1','NSP',radioon);	
		  } else {
				changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);	
		  }
		} else if ((document.images[name+'_MOD_chk_0'])&&(document.images[name+'_MOD_rad_0'])){
			if (formName.elements[name+'_MOD'][1].value=='') {
				changeVal(name+'_MOD',0,name+'_MOD_chk_0','',checkoff);
		  	formName.elements[name+'_AUTVAL'].value = ''; 
				changeVal(name+'_MOD',1,name+'_MOD_rad_0','NSP',radioon);
			} else {
				changeVal(name+'_MOD',1,name+'_MOD_rad_0','',radiooff);
			}
		} else if (document.images[name+'_MOD_rad_0']){
			if (formName.elements[name+'_MOD_rad_0_value'].value=='NSP') {
				if (formName.elements[name+'_MOD'].value=='') {
					changeVal(name+'_MOD',null,name+'_MOD_rad_0','NSP',radioon);
				} else {
					changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
				}
			}
		}

		/* Recalcul du total */
		checkForTotal(name);
	}
}

function val_aut_checkbox(name){
	if (isPageLoaded()) {	
		if (formName.elements[name+'_AUTVAL'].value!=''){
			if (formName.elements[name].type=='select-one') {
				for (j=0; j<formName.elements[name].options.length; j++){
					formName.elements[name].options[j].selected = (j==0);
				}
				formName.elements[name].value=' '; 
			}
	
			if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
				changeVal(name+'_MOD',0,name+'_MOD_rad_0','AUT',radioon);
				changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
			} else if ((document.images[name+'_MOD_chk_0'])&&(document.images[name+'_MOD_rad_0'])){
				changeVal(name+'_MOD',0,name+'_MOD_chk_0','AUT',checkon);
				changeVal(name+'_MOD',1,name+'_MOD_rad_0','',radiooff);
			} else if (document.images[name+'_MOD_rad_0']){
				changeVal(name+'_MOD',null,name+'_MOD_rad_0','AUT',radioon);
			} else if (document.images[name+'_MOD_chk_0']){
				changeVal(name+'_MOD',null,name+'_MOD_chk_0','AUT',checkon);
			}
		}
	}
}

function val_aut_radio(name){
	if (isPageLoaded()) {
		if (formName.elements[name+'_AUTVAL'].value!=''){
			if (formName.elements[name].type=='select-one') {
				for (j=0; j<formName.elements[name].options.length; j++){
					formName.elements[name].options[j].selected = (j==0);
				}
				formName.elements[name].value=' '; 
			} else {	
				if (!isNaN(formName.elements[name].length)){
					for (i=0; i<formName.elements[name].length; i++){
						changeVal(name,i,name+'_rad_'+i,'',radiooff);
					}
				} else {
					changeVal(name,null,name+'_rad_0','',radiooff);
				}
			}
			
			/* Vide le champ de saisie pour la QO referentielle */
			if (formName.elements['S'+name]!=null) {
				formName.elements['S'+name].value = '';
			}
	
			/* Reinitialise les combos pour la saisie des dates */
			if (formName.elements['D'+name]!=null) {
				formName.elements['D'+name].selectedIndex = 0;
			}
			if (formName.elements['M'+name]!=null) {
				formName.elements['M'+name].selectedIndex = 0;
			}
			if (formName.elements['Y'+name]!=null) {
				formName.elements['Y'+name].selectedIndex = 0;
			}
	
			if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
				changeVal(name+'_MOD',0,name+'_MOD_rad_0','AUT',radioon);
				changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
			} else if ((document.images[name+'_MOD_chk_0'])&&(document.images[name+'_MOD_rad_0'])){
				changeVal(name+'_MOD',0,name+'_MOD_chk_0','AUT',checkon);
				changeVal(name+'_MOD',1,name+'_MOD_rad_0','',radiooff);
			} else if (document.images[name+'_MOD_rad_0']){
				changeVal(name+'_MOD',null,name+'_MOD_rad_0','AUT',radioon);
			} else if (document.images[name+'_MOD_chk_0']){
				changeVal(name+'_MOD',null,name+'_MOD_chk_0','AUT',checkon);
			}
		}

		/* Recalcul du total */
		checkForTotal(name);
	}
}

function text_change(name){
	if (isPageLoaded()) {	
		if (formName.elements['S'+name]!=null) {
			if (formName.elements['S'+name].value=='') {
				formName.elements[name].value = '';
			}
		}
		
		var field = name;
		var pos = field.indexOf('_');
		if (pos > 0) {
			field = field.substring(0, pos);
		}
		if (formName.elements[field+'_ALL_MOD']!=null) {
			updateAllNSPFields(field+'_ALL', '');
		}
		
		if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
			changeVal(name+'_MOD',0,name+'_MOD_rad_0','',radiooff);
	  	formName.elements[name+'_AUTVAL'].value= ''; 
			changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
		} else if (document.images[name+'_MOD_rad_0']){
			changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
			if (formName.elements[name+'_MOD_rad_0_value'].value=='AUT') {
	  		formName.elements[name+'_AUTVAL'].value= '';
	  	}
		}

		/* Recalcul du total */
		checkForTotal(name);
	}
}

function combo_change(name){
	if (isPageLoaded()) {	
		if (formName.elements[name].type=='select-one'){
			if (formName.elements[name].value!=' '){
				if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
					changeVal(name+'_MOD',0,name+'_MOD_rad_0','',radiooff);
			  	formName.elements[name+'_AUTVAL'].value='';
			  	changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
				} else if (document.images[name+'_MOD_rad_0']){
					changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
					if (formName.elements[name+'_MOD_rad_0_value'].value=='AUT') {
			  		formName.elements[name+'_AUTVAL'].value= '';
			  	}
				}
			}
			
			formName.elements[name].blur();
			window.focus();
			
		} else if (formName.elements[name].type=='select-multiple'){
			if (formName.elements[name].value!=' '){
				if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
					changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
				} else if ((document.images[name+'_MOD_chk_0'])&&(document.images[name+'_MOD_rad_0'])){
					changeVal(name+'_MOD',1,name+'_MOD_rad_0','',radiooff);
				} else if (document.images[name+'_MOD_rad_0']){
					if (formName.elements[name+'_MOD_rad_0_value'].value=='NSP') {
						changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
				  }
				}
			}
		}
	}
}

function combo_blur(lst){
	lst.blur();
	window.focus();
}

function computeTotal(name){
	if (isPageLoaded()) {
		
		str = '';
		if (formName.elements[name+'_total_fields']!=null) {
			str = formName.elements[name+'_total_fields'].value;
		}
		
		defaultVal = '';
		if (formName.elements[name+'_defaultVal']!=null) {
			defaultVal = formName.elements[name+'_defaultVal'].value;
		}
		
		total=0;
		maxDec=0;
		if (formName.elements[name+'_total']!=null) {
			formName.elements[name+'_total'].value=total;

			vals = str.split('|');
			for (i=0; i<vals.length; i++){
				if (formName.elements[vals[i]]!=null) {
					valStr = formName.elements[vals[i]].value;
					while (valStr.substring(0,1)=="0" && valStr.length>1) {
						valStr = valStr.substring(1);
					}
					if (valStr=='') {
					  formName.elements[vals[i]].value=defaultVal;
					} else {
						if((valStr.indexOf('.')==-1)&&(valStr.indexOf(',')==-1)) {
							val=parseInt(valStr);
						} else {
							while(valStr.indexOf(',')!=-1) {
								pos = valStr.indexOf(',');
								valStr = valStr.substring(0, pos)+'.'+valStr.substring(pos+1);
							}
							val=parseFloat(valStr);
						}
					  if (isNaN(val)){
							val = 0;
						}
						strVal = new String(val);
						if (strVal.indexOf('.')!=-1) {
							pos = strVal.indexOf('.');
							maxDec = Math.max(maxDec, (strVal.substring(pos+1)).length);
						}
						multi = 1;
						for (z=0; z<maxDec;z++) {
							multi=multi*10;
						}
						
					  total+=val;
						total = Math.round(total*multi)/multi;
					  
					  formName.elements[vals[i]].value=val;
					}
					formName.elements[name+'_total'].value=total;
				}
			}
		} else {
			vals = str.split('|');
			for (i=0; i<vals.length; i++){
				if (formName.elements[vals[i]]!=null) {
					valStr = formName.elements[vals[i]].value;
					if (valStr!='') {
						total = 1;
						break;
					}
				}
			}
		}
		if (total!=0){
			if (document.images[name+'_MOD_rad_0']){
				if (formName.elements[name+'_MOD_rad_0_value'].value=='NSP') {
					changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
			  }		
			}
		}
	}
}

function checkDate(name) {
	if (isPageLoaded()) {	
		var selDate = formName['D'+name];
		var selMonth = formName['M'+name];
		var selYear = formName['Y'+name];
		var iDate = selDate.selectedIndex;
		var iMonth = selMonth.selectedIndex;
		var iYear = parseInt(selYear[selYear.selectedIndex].value);
		if ( iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth == 11 ) {
	    if (selDate.length > 31) {
	       if (iDate > 30) selDate.selectedIndex = 30; 
	       selDate.length = 31;
	    } else if (selDate.length < 31) {
	       updateDayList(name,selDate.length+1,32);
	    }
		} else if (iMonth != 2) {
	    if (selDate.length < 32) {
	       updateDayList(name,selDate.length+1,33);
	    }
		} else {
	    var datLeap = new Date(iYear,iMonth-1,29);
	    //leap year
	    if (datLeap.getMonth() == 1) {
	     	if (selDate.length > 30) {
					if (iDate > 29) selDate.selectedIndex = 29;
						selDate.length = 30;
				} else if (selDate.length < 30) {
					updateDayList(name,selDate.length+1,31);
				}
	    //non leap year
	    } else {
				if (selDate.length > 29) {
					if (iDate > 28) selDate.selectedIndex = 28;
					selDate.length = 29;
				}
	    }
		}
		updateDate(name);
	}	
}
 
function updateDayList(name,start,end) {
	if (isPageLoaded()) {	
		var selDate = formName['D'+name];
		for (var i=start;i<end;i++) {
			selDate[i-1] = new Option(i-1,i);
		}
	}
}

function updateDate(name) {
	if (isPageLoaded()) {
		var selDate = formName['D'+name];
		var selMonth = formName['M'+name];
		var selYear = formName['Y'+name];
		var iDate = selDate.selectedIndex;
		var iMonth = selMonth.selectedIndex;
		var iYear = parseInt(selYear[selYear.selectedIndex].value);
		if ((iDate!=0)&&(iMonth!=0)&&(!isNaN(iYear))) {
			formName[name].value = leftZero(iDate) + '/' + leftZero(iMonth) + '/' + iYear;
			if ((document.images[name+'_MOD_rad_0'])&&(document.images[name+'_MOD_rad_1'])){
				changeVal(name+'_MOD',0,name+'_MOD_rad_0','',radiooff);
			  formName.elements[name+'_AUTVAL'].value= ''; 
				changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
			} else if (document.images[name+'_MOD_rad_0']){
				changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
				if (formName.elements[name+'_MOD_rad_0_value'].value=='AUT') {
			  	formName.elements[name+'_AUTVAL'].value= '';
			  }
			} else if (document.images[name.substring(0, name.indexOf('_'))+'_ALL_MOD_rad_0']){
				changeVal(name.substring(0, name.indexOf('_'))+'_ALL_MOD',null,name.substring(0, name.indexOf('_'))+'_ALL_MOD_rad_0','',radiooff);
				updateAllNSPFields(name.substring(0, name.indexOf('_'))+'_ALL', '');
			}
		} else {
			formName[name].value = '';
		}
	}
}

function leftZero(str) {
	if (str<10) str = '0'+str;
	return str;
}

function orderByClick(name, field, max) {
	if (isPageLoaded()) {	
		if (formName.elements[field]!=null) {
			if (formName.elements[field].value!='') {
				val = parseInt(formName.elements[field].value);
				formName.elements[field].value = '';
				for (i=0; i<formName.elements[name].length; i++){
					chp = formName.elements[name][i].value;
					if (formName.elements[chp]!=null) {
						cpt = parseInt(formName.elements[chp].value);
						if (cpt > val) {
							formName.elements[chp].value = parseInt(cpt) - 1;
						}
					}
				}
			} else if (!isNaN(formName.elements[name].length)) {
				lastval = 0;
				for (i=0; i<formName.elements[name].length; i++) {
					chp = formName.elements[name][i].value;
					if (formName.elements[chp]!=null) {
						cpt = parseInt(formName.elements[chp].value);
						if (lastval < cpt) lastval = cpt;
					}
				}
				if (lastval < max) {
					formName.elements[field].value = parseInt(lastval) + 1;
				}
			} else if (formName.elements[name]) {
				formName.elements[field].value = 1;
			}	
		}
	}
}

function changeClasse(combo, name, id) {
	if (isPageLoaded()) {
		if (id!='') {
			for (i=0; i<formName.elements['X'+name].length; i++) {
				chp = formName.elements['X'+name][i].value;
				if ((formName.elements[chp].value==id)&&(chp!=combo.name)) {
					formName.elements[chp].value=' ';
				}
			}
		}
	}
}

function changeClasseIndic(combo, name, id) {
	if (isPageLoaded()) {
//		if (combo.value>0) {
		if (combo.value!='') {
			param = 'Q'+name+'_'+combo.value;

			oldClasse = '';	
			if (formName.elements[param]!=null) {
				oldClasse = formName.elements[param].value;
			}
			if ((oldClasse!='')&&(oldClasse!=id)) {
				classe = 'CQ'+name+'_'+oldClasse;
				if (formName.elements[classe]!=null) {
					oldParam = formName.elements[classe].value;
					formName.elements[classe].value = ' ';
					if (formName.elements['Q'+name+'_'+oldParam]!=null) {
						formName.elements['Q'+name+'_'+oldParam].value = '';
					}
				}
			}
			if (formName.elements[param]!=null) {
				formName.elements[param].value = id;
			}
			for (i=0; i<formName.elements['X'+name].length; i++) {
				chp = formName.elements['X'+name][i].value;
				if ((formName.elements[chp].value==id)&&(chp!=param)) {
					formName.elements[chp].value='';
				}
			}
		} else {
			for (i=0; i<formName.elements['X'+name].length; i++) {
				chp = formName.elements['X'+name][i].value;
				if (formName.elements[chp].value==id) {
					formName.elements[chp].value='';
				}
			}
		}
	}
}

function checkForTotal(name) {
	var field = name;
	var pos = field.indexOf('_');
	if (pos > 0) {
		field = field.substring(0, pos);
	}
	if (formName.elements[field+'_total_fields']!=null) {
		computeTotal(field);
	}
}

function initFieldsForTotal(name) {
	var field = name;
	var pos = field.indexOf('_');
	if (pos > 0) {
		field = field.substring(0, pos);
	}
	str = '';
	if (formName.elements[field+'_total_fields']!=null) {
		str = formName.elements[field+'_total_fields'].value;
	}
	if (str!=''){
		vals = str.split('|');
		for (i=0; i<vals.length; i++){
			valTmp = vals[i];
			if ((valTmp!='') && (formName.elements[valTmp]!=null)) {
				formName.elements[valTmp].value = '';
			}
		}
	}
}

function setFlashValue(quest, value) {
	if (formName.elements['F'+quest]!=null) {
		str = formName.elements['F'+quest].value;
		fields = str.split('|');
	
		params = value.split('&');
		for (i=0; i < params.length; i++) {
			text = params[i];
			if (text.indexOf('=')!=-1) {
				pos = text.indexOf('=');
				paramid = text.substring(0,pos);
				val = text.substring(pos+1);
				if (paramid <= fields.length) {
					field = fields[paramid-1];
					if (formName.elements[field]!=null) {
						formName.elements[field].value = trimAll(val);
					}
				}
			}
		}
	}
}

function trimAll(sString) {
	while (sString.substring(0,1)==' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length)==' ') {
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function initDiapo(ref, auto, zoomReduc) {
	// Taille des Images
	maxHeight = 0;
	maxWidth = 0;
	pictures = (formName.elements['F_'+ref].value).split('|');
	for (i=0; i<pictures.length; i++) {
		pict = new Image();
		pict.src = pictures[i];

		maxHeight = Math.max(maxHeight, pict.height);
		maxWidth = Math.max(maxWidth, pict.width);
		
		if ((pict.height!=0)&&(pict.width!=0)&&(zoomReduc!=100)&&(document.images['V_'+ref+'_'+i])) {
			thumb = document.images['V_'+ref+'_'+i];
			thumb.height = Math.floor(pict.height * zoomReduc/100);
			thumb.width = Math.floor(pict.width * zoomReduc/100);
		}
		if (((auto)||(i>0))&&(document.images['V_'+ref+'_'+i])) {
			thumb = document.images['V_'+ref+'_'+i];
			thumb.style.filter='alpha(opacity=50)';
			thumb.style.opacity='.50';
		}
	}
	if (maxHeight!=0 && maxWidth !=0) {
		diapoTable = document.getElementById('TAB_'+ref);
		diapoTable.width = maxWidth + 20;
		diapoTable.height = maxHeight + 20;

		diapoTD = document.getElementById('TD_'+ref);
		diapoTD.width = maxWidth + 20;
		diapoTD.height = maxHeight + 20;
	}
	
	// Largeur des Boutons
	maxWidth = 0;
	pictures = null;
	if (formName.elements['B_'+ref]) {
		pictures = (formName.elements['B_'+ref].value).split('|');
	}
	if (pictures!=null) {
		for (i=0; i<pictures.length; i++) {
			pict = new Image();
			if (pictures[i]!='') {
				pict.src = pictures[i];
				maxWidth = Math.max(maxWidth, pict.width);
			}
		}
		if (maxWidth !=0) {
			prevTD = document.getElementById('TDP_'+ref);
			if (prevTD) prevTD.width = maxWidth + 10;

			nextTD = document.getElementById('TDN_'+ref);
			if (nextTD) nextTD.width = maxWidth + 10;
		}
	}
	
	// Affichage temporise du btnNext
	duration = formName.elements['D_'+ref];
	if ((!auto)&&(duration.value!=0)) {
		nextAction = 'showNextBtn(\'' + ref + '\')';
		self.setTimeout(nextAction, duration.value * 1000);
	}
}

function diapoNext(ref, sens, auto, pushelm, pushcolor, fromTimer) {
	if ((document.images[(sens>0 ?'N_':'P_')+ref])&&(document.images[(sens>0 ?'N_':'P_')+ref].src.indexOf("transparent")!=-1)) return;
	if ((!fromTimer)&&(formName.elements['S_'+ref])&&(formName.elements['S_'+ref].value=='1')) return;
	
	pictures = (formName.elements['F_'+ref].value).split('|');
	picture = document.images['I_'+ref];
	if (!picture) picture = document.getElementById('I_'+ref);
	labels = (formName.elements['L_'+ref].value).split('|');
	label = document.getElementById('SP_'+ref);
	if ((label)&&(label.hasChildNodes())) label = label.childNodes[0];
	duration = formName.elements['D_'+ref];
	current = formName.elements['C_'+ref];
	action = formName.elements['A_'+ref];
	if (formName.elements['B_'+ref]) {
		buttons = (formName.elements['B_'+ref].value).split('|');
	}
	btnPrev = document.images['P_'+ref];
	btnNext = document.images['N_'+ref];
	
	picture.style.cursor = '';

	if (sens>0) {
		current.value ++;
		if ((current.value==pictures.length) && (action.value=='LOOP')) {
			current.value=0;
		}
		if (current.value<pictures.length) {
			picture.src = pictures[current.value];
			if ((labels.length>0)&&(label)) {
				label.innerHTML = labels[current.value];
			}
			if ((current.value == pushelm)&&(pushcolor!='')) {
				picture.style.border = 'solid '+pushcolor+' 2px';
			} else {
				picture.style.border = 'solid #FFFFFF 0px';
			}
			if (auto) {
				if (formName.elements['S_'+ref]) formName.elements['S_'+ref].value='1';
				nextAction = 'diapoNext(\'' + ref + '\', 1, true, '+pushelm+', \''+pushcolor+'\', true)';
				self.setTimeout(nextAction, duration.value * 1000);
			}
		} else if (action.value=='NEXTPAGE') {
			forceSubmit();
		} else {
			current.value=pictures.length-1;
		}
	} else {
		current.value --;
		if ((current.value<0) && (action.value=='LOOP')) {
			current.value=pictures.length-1;
		}
		if (current.value>=0) {
			picture.src = pictures[current.value];
			if ((labels.length>0)&&(label)) {
				label.innerHTML = labels[current.value];
			}
			if ((current.value == pushelm)&&(pushcolor!='')) {
				picture.style.border = 'solid '+pushcolor+' 2px';
			} else {
				picture.style.border = 'solid #FFFFFF 0px';
			}
		} else {
			current.value=0;
		}
	}
	updateButtons(ref, auto, pushelm, pushcolor);
	updateThumb(ref, pushelm);
}

function showDiapo(ref, idx, auto, pushelm, pushcolor) {
	pictures = (formName.elements['F_'+ref].value).split('|');
	picture = document.images['I_'+ref];
	labels = (formName.elements['L_'+ref].value).split('|');
	label = document.getElementById('SP_'+ref);
	if ((label)&&(label.hasChildNodes())) label = label.childNodes[0];
	current = formName.elements['C_'+ref];
	current.value=idx;
	action = formName.elements['A_'+ref];
	if (formName.elements['B_'+ref]) {
		buttons = (formName.elements['B_'+ref].value).split('|');
	}
	btnPrev = document.images['P_'+ref];
	btnNext = document.images['N_'+ref];
	
	picture.src = pictures[current.value];
	if ((labels.length>0)&&(label)) {
		label.innerHTML = labels[current.value];
	}
	if ((current.value == pushelm)&&(pushcolor!='')) {
		picture.style.border = 'solid '+pushcolor+' 2px';
	} else {
		picture.style.border = 'solid #FFFFFF 0px';
	}
	updateButtons(ref, auto, pushelm, pushcolor);
	updateThumb(ref, pushelm);
}

function updateButtons(ref, auto, pushelm, pushcolor) {
	pictures = (formName.elements['F_'+ref].value).split('|');
	action = formName.elements['A_'+ref];
	if (formName.elements['B_'+ref]) {
		buttons = (formName.elements['B_'+ref].value).split('|');
	}
	btnPrev = document.images['P_'+ref];
	btnNext = document.images['N_'+ref];

	if (btnPrev!=null) {
		if ((current.value<=0)&&(action.value!='LOOP')) {
			btnPrev.src='/runet/client/images/transparent.gif';
			btnPrev.style.cursor='';
		} else if ((buttons!=null)&&(buttons[0]!='')) {
			btnPrev.src=buttons[0];
			btnPrev.style.cursor='pointer';
		}
	}
	if (btnNext!=null) {
		if ((current.value>=pictures.length-1)&&(action.value!='LOOP')&&(action.value!='NEXTPAGE')) {
			btnNext.src='/runet/client/images/transparent.gif';
			btnNext.style.cursor='';	
		} else if ((buttons!=null)&&(buttons[1]!='')) {
			if (duration.value!=0) {
				btnNext.src='/runet/client/images/transparent.gif';
				btnNext.style.cursor='';
				if ((current.value<pictures.length-1)||(action.value=='LOOP')||(action.value=='NEXTPAGE')) {
					nextAction='showNextBtn(\'' + ref + '\')';
					self.setTimeout(nextAction, duration.value * 1000);
				}
			} else {				
				btnNext.src=buttons[1];
				btnNext.style.cursor='pointer';
			}
		}				
	}
}

function updateThumb(ref, pushelm) {
	if (document.images['V_'+ref+'_0']) {
		pictures = (formName.elements['F_'+ref].value).split('|');
		current = formName.elements['C_'+ref];
		for (i=0; i<pictures.length; i++) {
			thumb = document.images['V_'+ref+'_'+i];
			if (thumb) {
				if (i == current.value) {
					thumb.style.filter='';
					thumb.style.opacity='';
				} else {
					thumb.style.filter='alpha(opacity=50)';
					thumb.style.opacity='.50';
				}
			}
		}
	}
}

function showNextBtn(ref) {
	if (formName.elements['B_'+ref]) {
		buttons = (formName.elements['B_'+ref].value).split('|');
	}
	btnPrev = document.images['P_'+ref];
	btnNext = document.images['N_'+ref];
	if (buttons[1]!='') {
		btnNext.src = buttons[1];
		btnNext.style.cursor='pointer';
	}
}

function clickHotSpot(onoff, name, id, multi) {
	if (onoff==0) {
		if (!isNaN(formName.elements['Q'+name].length)) {
			for (i=0; i<formName.elements['Q'+name].length; i++){
				if (formName.elements['Q'+name][i].value==id) {
					formName.elements['Q'+name][i].value='';
				}
			}
		} else {
			formName.elements['Q'+name].value='';
		}
		showDiv(name+'_'+id, 0);
	} else {
		if (!multi) {
			if (!isNaN(formName.elements['Q'+name].length)) {
				for (i=0; i<formName.elements['Q'+name].length; i++){
					id2 = formName.elements['Q'+name][i].value;
					showDiv(name+'_'+id2, 0);
					formName.elements['Q'+name][i].value='';
				}
				formName.elements['Q'+name][0].value=id;
			} else {
				formName.elements['Q'+name].value=id;
			}
		} else {
			if (!isNaN(formName.elements['Q'+name].length)) {
				for (i=0; i<formName.elements['Q'+name].length; i++){
					if (formName.elements['Q'+name][i].value=='') {
						formName.elements['Q'+name][i].value=id;
						break;
					} else if (formName.elements['Q'+name][i].value==id) {
						break;
					}
				}
			} else {
				formName.elements['Q'+name].value=id;
			}
		}
 	 
		showDiv(name+'_'+id, 1);
	}
}

function showDiv(divid, onoff) {
	var elm = document.getElementById(divid);
	if (elm) elm.style.display = (onoff==1 ? "" : "none");
}

function adjustDivToImg(divid, imgid) {
	var div = document.getElementById(divid);
	var img = document.getElementById(imgid);
	if (div && img) {
		div.style.height = img.height+"px";
		div.style.width = img.width+"px";
	}
}

function isChecked(name, ind){
	var ischecked = false;
	if (isPageLoaded()) {
		var value='';	
		if (ind==null) {
			if (formName.elements[name]) {
	    		value=formName.elements[name].value;
	    	}
		} else {
			if (formName.elements[name][ind]) {
	    	 	value=formName.elements[name][ind].value;
	    	}
		}
		ischecked = value!='';
	}
	return ischecked;

}

function overStar(name, starOn, starOff, n) {
	cpt=0;
	while (true) {
		if (document.images[name+'_'+cpt]) {
			document.images[name+'_'+cpt].src = (cpt<=n) ? starOn : starOff;
		} else {
			break;
		}
		cpt++;
	}
}

function setStar(name, starOn, starOff, n, v) {
	cpt=0;
	while (true) {
		if (document.images[name+'_'+cpt]) {
			document.images[name+'_'+cpt].src = (cpt<=n) ? starOn : starOff;
		} else {
			break;
		}
		cpt++;
	}
	if (formName.elements[name]) {
		formName.elements[name].value=v;
	}
	
	if (n>=0 && formName.elements[name+'_MOD']){
	  if (!isNaN(formName.elements[name+'_MOD'].length)){
	  	changeVal(name+'_MOD',0,name+'_MOD_rad_0','',radiooff);
	  	formName.elements[name+'_AUTVAL'].value=''; 
		changeVal(name+'_MOD',1,name+'_MOD_rad_1','',radiooff);
		} else {
			changeVal(name+'_MOD',null,name+'_MOD_rad_0','',radiooff);
			if (formName.elements[name+'_MOD_rad_0_value'].value=='AUT') {
			  	formName.elements[name+'_AUTVAL'].value=''; 
			}
		}
	}
}

function outStar(ns, name, starOn, starOff) {
	n=-1;
	if (formName.elements[ns]) {
		notes = formName.elements[ns].value.split('|');
		if ((formName.elements[name]) && (formName.elements[name].value!='')) {
			curval = formName.elements[name].value;
			for (i=0; i<notes.length;i++) {
				if (notes[i]==curval) {
					n=i;
					break;
				}
			}
		}
	}
	
	cpt=0;
	while (true) {
		if (document.images[name+'_'+cpt]) {
			document.images[name+'_'+cpt].src = (cpt<=n) ? starOn : starOff;
		} else {
			break;
		}
		cpt++;
	}
}
 
function matrice_showNextInputRow(row){

	var nextRow =jQuery(row).next('tr'); 
	if (nextRow == null || nextRow.length==0) {
		return;
	}

	if (jQuery(nextRow).attr('rtype')!='input') {
		jQuery(nextRow).fadeTo(600,1); 
		matrice_showNextInputRow(nextRow);
	} else {
		jQuery(nextRow).fadeTo(600,1); 
		//$('html,body').animate({scrollTop: ($(nextRow).offset().top-500 )}, 1000);
	}
	return this;
}

function matrice_showNextInputCol(table, index){
	var rows =jQuery(jQuery(table).children()[0]).children('tr');//table>tbody>tr
	jQuery(rows).each(function(i){
		var currentRow = jQuery(this);
		if(currentRow == null || currentRow.length==0 || ((currentRow.attr('rtype')!='input') && (currentRow.attr('rtype')!='header'))) 
			return true ;
			
		var currentRowCells = currentRow.children('td');;
		var currentCell;
		var j = 1;
		
		do{
			
			currentCell = jQuery(currentRowCells[index+j]);
		
			if(currentCell.css('visibility')=='hidden'){
				currentCell.css('visibility', 'visible').css('opacity', 0).animate({
	    			opacity: 1 
	  				}, (600/rows.length)*(i+1),function() {
	  					currentCell.css('opacity', '');
	    	 
	  			});
	  		}
			
			
			j++;
		} while((currentRowCells.length>(index+j))&& (currentCell.attr('rtype')!='input'));
		 
		
	});
 
	return this;
}

function aynPreview(obj,content,contentType, params){
	/*	
		Nécessite :
					-/runet/client/lib/popin/ayn_preview.js
	*/
	aynFancybox(obj,content,contentType, params);
	
}

function reponseAjax(method, targetUrl, dataToSend, func, asynch, funcArg, errorHandler) {

	var xhr_object = null; 

	if (method != 'POST' && method != 'GET') {
		method = 'POST';
	} 

	if (method == 'GET' && dataToSend != null) {   
		targetUrl += '?' + dataToSend;
	}

	if (window.XMLHttpRequest) {
		// Firefox
		xhr_object = new XMLHttpRequest();
	} else if (window.ActiveXObject) { 
		// Internet Explorer   
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	} else { 
		// XMLHttpRequest non supporté par le navigateur
		return;   
	}  
	var isAsynchroneous;
	if ((asynch==null) || (typeof asynch != 'boolean')) {
		isAsynchroneous = true;
	}else{
		isAsynchroneous = asynch;
	}

	xhr_object.open(method, targetUrl, isAsynchroneous); 

	if (method == "POST") { 
		 xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
	}

	xhr_object.onreadystatechange = function() {
		if (xhr_object.readyState == 4){
			if (xhr_object.status == 200){
				var response = xhr_object.responseText;
				if (func != null) {
					if (funcArg != null) {
						func(response, funcArg);
					} else {
						func(response);
					}
				}

			}else if (xhr_object.status == 500) {
				var response = xhr_object.responseText;
				if (errorHandler != null) {
					errorHandler('<ERR>500<ERR>', response);
				}
			}
		}
	}
	xhr_object.send(dataToSend);
	if(!isAsynchroneous){
		return xhr_object.responseText;
	}
}

function onReponseAjaxError (errCode, errMsg) {
	alert('CODE ERROR:'+errCode+'\nERROR MESSAGE: \n'+errMsg);
}

