function echo(string_value){
	document.write(string_value);
}

function get_valuebyid(elementid){
	element = document.getElementById(elementid);
	return element.value;
}

function get_classbyid(elementid){
	element = document.getElementById(elementid);
	return element.className;
}

function set_classbyid(elementid, xvalue){
	element = document.getElementById(elementid);
	element.className = xvalue;
}

function get_checkedbyid(elementid){
	element = document.getElementById(elementid);
	return element.checked;
}

function set_innerHTMLbyid(elementid, xvalue){
	if(exist_byid(elementid)){
		element = document.getElementById(elementid);
		element.innerHTML = xvalue;
	}	
}

function get_innerHTMLbyid(elementid){
	if(exist_byid(elementid)){
		element = document.getElementById(elementid);
		return element.innerHTML;
	}	
}

function set_altbyid(elementid, xvalue){
	element = document.getElementById(elementid);
	element.alt = xvalue;
}

function get_altbyid(elementid){
	element = document.getElementById(elementid);
	return element.alt;
}

function set_hrefbyid(elementid, xvalue){
	element = document.getElementById(elementid);
	element.href = xvalue;
}

function set_valuebyid(elementid, xvalue){
	element = document.getElementById(elementid);
	element.value = xvalue;
}

function set_srcbyid(elementid, newsrc){
	element = document.getElementById(elementid);
	element.src = newsrc;
}

function set_posbyid(element_id, xpos, ypos){
	element = document.getElementById(element_id);
	element.style.top = ypos+'px';
	element.style.left = xpos+'px';
}

function set_sizebyid(elementid, ewidth, eheight){
	element = document.getElementById(elementid);
	element.style.width = ewidth+'px';
	element.style.height = eheight+'px';
}

function set_borderbyid(elementid, width, style, color){
	element = document.getElementById(elementid);
	element.style.borderWidth = width+'px';
	element.style.borderStyle = style;
	element.style.borderColor = '#'+color;
}

function nl2br(string){
	return string.replace(/\n/g,'<br />');
}

function hide_byid(elementid){
	if(exist_byid(elementid)){
		element = document.getElementById(elementid);
		element.style.display = "none";
	}
}

function show_byid(elementid){
	if(exist_byid(elementid)){
		element = document.getElementById(elementid);
		element.style.display = "block";
	}	
}

function show_lightbox(content, width, height){
	var browsername = BrowserDetect.browser;
	var browserversion = BrowserDetect.version;
	var lightbox_support = true; //variable qui va trnsformer le lightbox en popup si pas compatible
	var	half_width = width/2;
	var	half_height = height/2;
	
	if(browsername == 'Explorer' && browserversion < 7){
		lightbox_support = false;
	}
	
	if(lightbox_support){
		element = document.getElementById('lightbox');
		
		set_sizebyid('lightbox', width, height);
		element.style.marginTop = '-'+half_height+'px';	
		element.style.marginLeft = '-'+half_width+'px';	
		set_innerHTMLbyid('lightbox', content);
		show_byid('lightbox');
		show_byid('fadebox');
		
	}else{
		set_sizebyid('ie6box_content', width, height);
		set_innerHTMLbyid('ie6box_content', content);
		show_byid('ie6box');
	}
}

function hide_lightbox(){
	hide_byid('lightbox');
	hide_byid('fadebox');
	hide_byid('ie6box');;
	
	// vide la div de son contenu - securite
	set_innerHTMLbyid('lightbox', '');
	set_innerHTMLbyid('ie6box_content', '');
}

function disable_byid(elementid){
	if(exist_byid(elementid)){
		element = document.getElementById(elementid);
		element.disabled = true;
	}	
}

function enable_byid(elementid){
	if(exist_byid(elementid)){
		element = document.getElementById(elementid);
		element.disabled = false;
	}	
}

function set_backgroundbyid(elementid, background_value){
	if(exist_byid(elementid)){
		element = document.getElementById(elementid);
		element.style.background = background_value;
	}
}

function exist_byid(elementid){
	element = document.getElementById(elementid);
	if(element){
		return true;
	}else{
		return false;
	}
}

function is_visible_byid(elementid){
	element = document.getElementById(elementid);
	if(element.style.display != 'none'){
		return true;
	}else{
		return false;
	}
}

function is_hex_color(color){
	var re=/^([#]){1}([a-f]|[A-F]|[0-9]){3}([a-f]|[A-F]|[0-9]){3}$/i;
	var t=re.exec(color);
	return (re.test(color));
}

function is_email(email){
	var verif = /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,4}$/;
	if (verif.exec(email) == null){
		return false;
	}else{
		return true;
	}
}

function is_alphanumeric(an_string){
	var verif = /^\w*$/;
	if (verif.exec(an_string) == null){
		return false;
	}else{
		return true;
	}
}

function is_numeric(num){
	var verif = /^\d+$/;
	if (verif.exec(num) == null){
		return false;
	}else{
		return true;
	}
}

function trim(string){
    return string.replace(/^\s+/, '').replace(/\s+$/, '');
}

function ltrim(string){
    return string.replace(/^\s+/, '');
}

function rtrim(string){
    return string.replace(/\s+$/, '');
}

function strlen_between(string, min_length, max_length){
	string = trim(string);
	if((is_numeric(min_length)) && (is_numeric(max_length))){
		if((string.length>=min_length) && (string.length<=max_length)){
			return true;
		}else{
			return false;
		}
	}else{
		return false;
	}
}

function extract_numerics(stringNo){
	var parsedNo = "";
	for(var n=0; n<stringNo.length; n++){
		var i = stringNo.substring(n,n+1);
		if(i=="1"||i=="2"||i=="3"||i=="4"||i=="5"||i=="6"||i=="7"||i=="8"||i=="9"||i=="0"){
			parsedNo += i;
		}
	}
	return parseInt(parsedNo);
} 

function stick_positionbyid(element, elementid, x_decal, y_decal){
	/* TODO a rechecker mais fix rapid pour bug de menu dans ie6 et moins   */
	/* ============================================================= */
	var browsername = BrowserDetect.browser;
	var browserversion = BrowserDetect.version;
	
	if(browsername == 'Explorer' && browserversion < 7){
		y_decal = y_decal - 2;
	}
	/* ============================================================= */	
	
	if(exist_byid(elementid)){
		position = get_absolute_position(element);
		if(x_decal){position.x = position.x + x_decal;}
		if(y_decal){position.y = position.y + y_decal;}
		set_posbyid(elementid, position.x, position.y);
	}	
}

function combo_clearbyid(element_id){
	element = document.getElementById(element_id);
	while((element.length>0) && (element.options[element.length - 1]!=null)){
		element.options[element.length - 1] = null;
	}
}

function combo_removeoptionbyid(element_id, option_index){
	element = document.getElementById(element_id);
	if((element.length>0) && (element.options[element.length - 1]!=null)){
		element.options[option_index] = null;
	}
}

function combo_addbyid(element_id, cbo_value, cbo_text){
	element = document.getElementById(element_id);
	element.options[element.length] = new Option(cbo_text, cbo_value);
}

function get_absolute_position(element) {
	var r = { x: element.offsetLeft, y: element.offsetTop };
	if (element.offsetParent) {
		var tmp = get_absolute_position(element.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}

// Methode qui reecrit les embed pour le bug d'activation d'ie7
function rewrite_content() {
	var v=document.getElementsByTagName("embed");
	for(i=0;i<v.length;i++){
		var el=v[i];
		el.outerHTML=el.outerHTML
	}
}

function fwd_email(vSubject,vClass, vBody, vContact, vDomain, vLinkName) {
	if (vSubject != "" && vBody != ""){
		var vCourriel = "<a class='"+vClass+"' href='mailto:"+vContact+"@"+vDomain+"?subject="+vSubject+"&body="+vBody+"'>"+vLinkName+"</a>";	
	}
	else if (vSubject != ""){
		var vCourriel = "<a class='"+vClass+"' href='mailto:"+vContact+"@"+vDomain+"?subject="+vSubject+"'>"+vLinkName+"</a>";
	}
	else{
		var vCourriel = "<a class='"+vClass+"' href='mailto:"+vContact+"@"+vDomain+"'>"+vLinkName+"</a>";
	}
	return vCourriel;
}

function keypess_is_enter(e){ //e is event object passed from function invocation
	var characterCode;

	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		return true;
	}else{
		return false;
	}
}
