
/* object log */



var ydyleForm={};

ydyleForm._Init=function(cibleForm){
	this.cibleForm=$E(cibleForm);
	this._GetValues();
	return(this);
}

ydyleForm._GetValues=function(){
	var formValues={};
	formValues.situ;
	formValues.lang=lang.currentLang;
	formValues.situ=ydyle.situ;
	
	
	$(this.cibleForm).getFormElements().each(function(el){
		// obtention des éléments saisie libre
		if(((el.nodeName=="INPUT")&&(el.getAttribute("type")=="text")||el.getAttribute("type")=="password"||el.getAttribute("type")=="file"||el.getAttribute("type")=="hidden")||el.nodeName=="SELECT"||el.nodeName=="TEXTAREA"){
			formValues[el.getAttribute("name")]=el.getValue();
		}
		// obtention des éléments checkBox
		if(el.nodeName=="INPUT"&&el.getAttribute("type")=="checkbox"){
			if(el.getValue()!=false){
				if($type(formValues[el.getAttribute("name")])==false)
					formValues[el.getAttribute("name")]=new Array();
				formValues[el.getAttribute("name")].push(el.getValue());
			}
		}
		
		// obtention des éléments radio
		if(el.nodeName=="INPUT" && el.getAttribute("type")=="radio"){
			if(el.getValue()!=false){
				formValues[el.getAttribute("name")]=el.getValue();
			}
		}
	});
	this.formValues=formValues;
}

ydyleForm._ValidMail=function(maValue){
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(maValue))){
		return({response:"ko", msg: lang.front.mailKoMsg});
	}else{
		return({response:"ok", msg: "kikou"});
	/*
		var verifMail = new Ajax("http://www.ydyle.com/modules/home/connexion/_getPwd_mailUser.php",{
			method:'post'
			,data:{mail:maValue}
			,onComplete:function(response){
				 //sous la forme de {response:ok, msg: "kikou"} ou {response:noExist, msg:"paskikou"}
				return(Json.evaluate(response));
			}
		}).request();
	*/
	}
}

ydyleForm._FulDroulCkboxLabel=function(elToFil, newTextValue, contentInputs, widthChar){
	var elToFil=$(elToFil);
	var elwidth=elToFil.getCoordinates().width;
	var charWidth= widthChar;
	var widthCharMax=Math.round(elwidth/charWidth)-3;
	var oldValue=elToFil.innerHTML;
	
	var currentValueString="";
	var myCkboxesValues=ydyleForm._Init("#"+(ydyle._GetParentByTagName(elToFil, "FORM").id)).formValues[$E("#"+contentInputs.id+" input[type=checkbox]").name];
	var compteur=0;
	if($type(myCkboxesValues)!=false){
		myCkboxesValues.each(function(e){
			currentValueString+=$E("#"+contentInputs.id+" label[for="+$E("#"+contentInputs.id+" input[value="+e+"]").id+"]").innerHTML;
			if(compteur<myCkboxesValues.length-1){
				currentValueString+=", ";
			}
			compteur++;
		});
		if(currentValueString.length>widthCharMax){
			htmlConstruct._GoodAppendChild(elToFil, currentValueString.substr(0, widthCharMax)+"...", true);
		}else if(currentValueString.length<=widthCharMax){
			htmlConstruct._GoodAppendChild(elToFil, currentValueString, true);
		}
	}else{
		htmlConstruct._GoodAppendChild(elToFil, "", true);
	}
};

ydyleForm._DrouleRadioCkboxSelect=function(){
	var conteneur=($type(arguments[0])==false)? "body" : arguments[0];
	ydyleForm._RadioCkboxInit(conteneur);
	$ES(conteneur+" .drouleCibleRadio label, "+conteneur+" .drouleCibleCkbox label").addEvent("click", function(e){
		var e=new Event(e);
		var el=e.target;
		
		if((ydyle.browserDetect.browser=="Safari" && ydyle.browserDetect.version<500)||((ydyle.browserDetect.browser=="Explorer") && ydyle._GetParentByClass(el, "drouleCibleRadio")!="undefined")){
			$E("#"+el.getProperty("for")).focus();
			$E("#"+el.getProperty("for")).click();
		}
	});
	
	$ES(conteneur+" .drouleCibleRadio input, "+conteneur+" .drouleCibleCkbox input").each(function(myElement){
		$(myElement).addEvent("click", function(e){
			var e=new Event(e);
			var el=(e.target.nodeName=="LABEL") ? e.target.previousSibling : e.target;
			if(el.nodeName!="#document"){
				var fakeLabel=$(el.getParent().getParent().id.replace("Cible",""));
				var mainContainer=el.getParent().getParent();
				if(fakeLabel.nodeName=="A"){
					if(mainContainer.className.indexOf("drouleCibleRadio")!=-1){
						htmlConstruct._GoodAppendChild(fakeLabel, $E("label[for="+el.id+"]").innerHTML, true);
					}else if(mainContainer.className.indexOf("drouleCibleCkbox")!=-1){
						ydyleForm._FulDroulCkboxLabel(fakeLabel, $E("label[for="+el.id+"]").innerHTML, mainContainer, 8);
					}
				}else if(fakeLabel.nodeName=="DIV"){
					if(fakeLabel.getChildren()[0].nodeName=="A"){
						if(mainContainer.className.indexOf("drouleCibleRadio")!=-1){
							htmlConstruct._GoodAppendChild(fakeLabel.getChildren()[0], $E("label[for="+el.id+"]").innerHTML, true);
						}else if(mainContainer.className.indexOf("drouleCibleCkbox")!=-1){
							ydyleForm._FulDroulCkboxLabel(fakeLabel, $E("label[for="+el.id+"]").innerHTML, mainContainer, 8);
						}
					}
				}
			}
			if($type($("textDrouleEvent"))!=false){
				$("textDrouleEvent").value="";
				$("textDrouleEvent").focus();
			}
		});
	});
}

ydyleForm._RadioCkboxInit=function(conteneur){
	var cible=conteneur+" .drouleCibleRadio, "+conteneur+" .drouleCibleCkbox";
	$ES(cible).each(function(e){
		if($(e).getElements("input").length>0){
			var elToFil=$E("#"+e.id.replace("Cible", ""));
		
			var elwidth=elToFil.getCoordinates().width;
			var charWidth= 8;
			var widthCharMax=Math.round(elwidth/charWidth)-3;
			if(e.className.contains("drouleCibleCkbox")){
				var myValues=ydyleForm._Init("#"+(ydyle._GetParentByTagName(e, "FORM").id)).formValues[$E("#"+e.id+" input[type=checkbox]").name];
				if($type(myValues)){
					var compteur=0;
					var currentValueString="";
					myValues.each(function(el){
						currentValueString+=$E("#"+e.id+" label[for="+$E("#"+e.id+" input[value="+el+"]").id+"]").innerHTML;
						if($type(myValues)==false) return;
						if(compteur<myValues.length-1) currentValueString+=", ";
						compteur++;
					});
					if(currentValueString.length>widthCharMax){
						htmlConstruct._GoodAppendChild(elToFil, currentValueString.substr(0, widthCharMax
							)+"...", true);
					}else{
						htmlConstruct._GoodAppendChild(elToFil, currentValueString, true);
					}
				}
			}else if(e.className.contains("drouleCibleRadio")){	
				var myValues=ydyleForm._Init("#"+(ydyle._GetParentByTagName(e, "FORM").id)).formValues[$E("#"+e.id+" input[type=radio]").name];
				if($type(myValues)){
					var currentValueString=$E("#"+e.id+" label[for="+$E("#"+e.id+" input[value="+myValues+"]").id+"]").innerHTML;
					if(currentValueString.length>widthCharMax){
						htmlConstruct._GoodAppendChild(elToFil, currentValueString.substr(0, widthCharMax)+"...", true);
					}else{
						htmlConstruct._GoodAppendChild(elToFil, currentValueString, true);
					}
				}
			}
		}
	});
};





