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){
	element = document.getElementById('lightbox');
	half_width = width/2;
	half_height = height/2;
	
	set_sizebyid('lightbox', width, height);
	element.style.marginTop = '-'+half_height+'px';	
	element.style.marginLeft = '-'+half_width+'px';	
	
	show_byid('lightbox');
	show_byid('fadebox');

	set_innerHTMLbyid('lightbox', content);
}

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

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 is_scrollbar_exist(ObjectId, Aces){
    Object=document.getElementById(ObjectId);
    switch (Aces)
    {
        case 'x' :
            Object.scrollLeft=1;
            if (Object.scrollLeft>0) {Object.scrollLeft=0; return true;}
            else {return false;}
            break;
        case 'y' :
            Object.scrollTop=1;
            if (Object.scrollTop>0) {Object.scrollTop=0; return true;}
            else {return false;}
            break;
        case 'xy' :
            Object.scrollTop=1;
            Object.scrollLeft=1;            
            if (Object.scrollTop>0 && Object.scrollLeft>0) {Object.scrollTop=0; Object.scrollLeft=0; return true;}
            else {return false;}
            break;
        default :
            Object.scrollTop=1;
            Object.scrollLeft=1;            
            if (Object.scrollTop>0 || Object.scrollLeft>0) {Object.scrollTop=0; Object.scrollLeft=0; return true;}
            else {return false;}
            break;
    }
}
