function getSelectedText( parent ){
	if (parent.getSelection){
	   var str = parent.getSelection();
	}else if (parent.document.getSelection){
	   var str = parent.document.getSelection();
	}else {
	   var str = parent.document.selection.createRange().htmlText;
	}
	return str;
}
function Form(name){
	var form = document.createElement("form");
	form.setAttribute("name" , name);
	form.setAttribute("id" , name);
	return form;
}
function Text(text){
	return document.createTextNode(text);
}
function H(niveau,text){
	var h = document.createElement('h'+niveau);
	h.appendChild( document.createTextNode(text) );
	return h;
}
function Span( text ) {
	var span = document.createElement('span');
	span.appendChild( document.createTextNode(text) );
	return span;
}
function LinkButton(text,action){
	var a = document.createElement('a');
	a.className = "LikeButton";
	if( typeof(text) != "object" ){
		text = Text(text);
	}
	a.appendChild( text );
	if( action ){
		a.onclick = action;
	}
	return a;
}
function Link(text,href){
	var a = document.createElement('a');
	a.appendChild( Text(text) );
	if( typeof(href) != "undefined" ){
		a.setAttribute( "href" , href );
	}
	return a;
}
function Checkbox(name){
	var checkbox = document.createElement("input");
	checkbox.setAttribute("type","checkbox");
	checkbox.setAttribute("name" , name);
	checkbox.setAttribute("id" , name);
	return checkbox;
}
function CheckboxInstant(label,cid,field,request,valInit,disable){
	this.Content = document.createElement("label");
	this.CheckBox = Checkbox("block");
	this.Content.appendChild( this.CheckBox );
	this.CheckBox.checked = eval(valInit);
	if( typeof(disable) != "undefined" ){
		if( disable == "true"  ){
			this.CheckBox.disabled = eval(disable);
			this.CheckBox.checked = eval(disable);
		}
	}
	this.Content.appendChild( Text( label ) );
	this.CheckBox.onclick = function(){
		var RequeteProfil = ObjXMLHttpRequest();
		RequeteProfil.SendRequest( request ,false,"&CID=" + cid + "&field=" + field + "&value=" + this.checked);
	}
			
}
function TextArea(name,value){
	var textarea = document.createElement("textarea");
	textarea.setAttribute("name" , name);
	if( value ){
	textarea.value = value;
	}
	return textarea;
}

function Field(name,value){
	
	var field = document.createElement("input");
	field.setAttribute("type" , "text");
	field.setAttribute("name" , name);
	if( value ){
	field.setAttribute("value" , value);
	}
	return field;
}
function Button(value){
	var button = document.createElement("input");
	button.setAttribute("type" , "button");
	button.setAttribute("value" , value);
	return button;
}
function ImgButton(srcOff,srcOn){
	if( !srcOn ){ srcOn = srcOff ; }
	var img = document.createElement('img');
	img.srcOff = srcOff;
	img.srcOn = srcOn;
	img.setAttribute("src",srcOff);
	img.setAttribute("style","cursor:pointer");
	img.className = "LikeButton";
	img.onmouseover = function(){
		this.setAttribute("src",this.srcOn);
	}
	img.onmouseout = function(){
		this.setAttribute("src",this.srcOff);
	}
	return img
}

function FieldPassword(name){
	var field = document.createElement("input");
	field.setAttribute("type" , "password");
	field.setAttribute("name" , name);
	return field;
}
function Div( id ){
	var div = document.createElement('div');
	if( id ){
		div.setAttribute( "id" , id );
	}
	return div;
}
function DivSelect(){
	var divselect = Div();
	divselect.className = "divselect";
	return divselect;
}
function Img(src){
	var img = document.createElement('img');
	img.setAttribute("src",src);
	return img
}
/* Select NORMAL */
function Select( param , id , Default , SensKeyValue){
	var Selecter = document.createElement("select");
	Selecter.setAttribute("id" , id);
	Selecter.setAttribute("name" , id);
	//Si Param est un tableau :
	if( typeof(param) == "string" ){

		var RequeteSelect = ObjXMLHttpRequest();
		RequeteSelect.SendRequest( param ,false,"" );
		var param= eval('('+RequeteSelect.responseText+')');
	}
	if( SensKeyValue){
		for( var key in param ){
			var option = document.createElement('option');
			option.setAttribute("value" , param[key] );
			option.appendChild( Text( key ) );
			Selecter.appendChild(option);
			if( param[key] == Default ){
				option.selected = true;
			}
			
		}
	}else{
		for( var key in param ){
			var option = document.createElement('option');
			option.setAttribute("value" , key );
			option.appendChild( Text( param[key] ) );
			Selecter.appendChild(option);
			if( key == Default ){
				option.selected = true;
			}
			
		}
	}
	return Selecter;
}
function SubmitButton(value){
	var bouton = document.createElement("input");
	bouton.setAttribute("type" , "button");
	bouton.setAttribute("value" , value);
	return bouton;
}
function RemoveAllChilds(target,decalage){
	
	if(target != undefined){
		while(target.childNodes.length>=(decalage+1)){
		target.removeChild(target.childNodes[decalage]);
		}
	}
}

/* Quand on tape sur entrer dans un champ pâr ex */
function Enter(ev){
	keycode=null;
	if (window.event){
		keycode = window.event.keyCode;
	}else if (ev){
		keycode = ev.which;
	}
	if (keycode==13){
	return true;
	}
}
function VerifEmail( email ){
	if( email.match(/^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+/) != null ){
		return true;
	}else{
		return false;
	}
}
function VerifPassword( password , password_confirmation){
	/* verifie si le password a au moins 6 caracteres*/
	if( password.length >= 6 ){
		/* si le mot de passe de confirmation est précisé*/
		if( password_confirmation ){
			/* si le mot de passe et le mot de passe de confirmation sont les mêmes */
			if( password == password_confirmation ){
				return true;
			}else{
				return Langs['PasswordConfirmationNotValid'];
			}
		}else{
			return true;
		}
	}else{
		return Langs['PasswordNotValid'];
	}
}
function Tableau(NumOfColumns,VAlign,Align){
	
	this.NumOfColumns = NumOfColumns;
	if( VAlign ){
	this.VAlign = VAlign;
	}
	this.Content = document.createElement('table');
	this.Tbody = document.createElement('tbody');
	if( Align ){
	this.Content.align = Align;
	}
	this.Content.appendChild(this.Tbody);
	this.Col = 1;
	/* fonction d'ajout de contenu au tableau */
	this.Add = function( element){

		/* si on s'apprete à ajouter un element en debut de ligne, on créé celle ci */
		if( this.Col == 1 ){
			var tr = document.createElement('tr'); this.Tbody.appendChild(tr);
		}
		/*création de la cellule, avec le contenu à l'interieur */
		var td = document.createElement('td');
		
			td.className = "Col"+this.Col;
		
		if( element ){
			td.appendChild(element);
		}
		this.Tbody.lastChild.appendChild(td);
		/*si on arrive à la fin de la ligne, la prochaine cellule sera dans une nouvelle ligne */
		if( this.Col == this.NumOfColumns ){
			this.Col = 1;
		}else{
			this.Col++;
		}
	}
}
function RemoveAllChilds(target,decalage){
	
	if(target != undefined){
		while(target.childNodes.length>=(decalage+1)){
		target.removeChild(target.childNodes[decalage]);
		}
	}
}
