var selectOpen = "";
var mouseDownInterval = false;
var closeDroppedvar = false;
var mouseIntervalid;
var scrollInterval;
	
function scrollY(id,vitesse) {
	scrollInterval = window.setInterval("scrollMove('" + id + "'," + vitesse + ")",100);
}
function clearScroll() {
	if(typeof(scrollInterval) != "undefined") {
		window.clearInterval(scrollInterval);
	}
}
function scrollMove(id,vitesse) {
	document.getElementById(id).scrollTop += vitesse;
}

function changeSelect(form_container) {
	form_container = $(form_container);
    document.onmouseup=closeDropped;
    myselect = form_container.getElementsByTagName('select');
    if(myselect.length) {
        oldTemp = "";
        oldParent = "";
        for(var j=myselect.length-1;j>=0;j--) {
            setSelect(myselect[j].id,myselect[j].name)
        }
        oldTemp.parentNode.removeChild(oldTemp);
    }
    myinput = form_container.getElementsByTagName('input');
    oldCheck = "";
    mycheck = [];
    for(var k=myinput.length-1;k>=0;k--) {
        if(myinput[k].type == "checkbox") {
            mycheck.push(myinput[k]);
            setCheck(myinput[k].id);
        }
    }
    if(mycheck.length) {
        oldCheck.parentNode.removeChild(oldCheck);
    }

	mytextarea = form_container.getElementsByTagName('textarea');
	for(o=0;o<mytextarea.length;o++) {
		setTextArea(mytextarea[o].id);
	}
}

function setTextArea(id) {
	text = $(id);
	var downlink = document.createElement("div");
	downlink.innerHTML = "<a href='javascript:;' onmousedown='scrollY(\"" + text.id +  "\",15);' onmouseout='clearScroll()' onmouseup='clearScroll()' style='position:absolute; margin:" + (text.offsetHeight - 17)   + "px 0px 0px " + (text.offsetWidth - 17) + "px;'><img src='images/textarea_btn_down.gif' border='0' /></a><a href='javascript:;' onmousedown='scrollY(\"" + text.id + "\",-15);' onmouseup='clearScroll()' style='position:absolute; margin:2px 0px 0px " + (text.offsetWidth - 17) + "px'><img src='images/textarea_btn_up.gif' border='0' /></a>";
	text.parentNode.insertBefore(downlink,text);
}

function setUp(id) {
	moveUp(id,15);
	mouseIntervalid = window.setInterval("moveUp('" + id + "',45)",100);
}
function setDown(id) {
	moveDown(id,15);
	mouseIntervalid = window.setInterval("moveDown('" + id + "',45)",100);
}
function removeDown() {
	window.clearInterval(mouseIntervalid);
}
function moveDown(id,vitesse) {
	height = $(id).style.marginTop.substring(0,$(id).style.marginTop.length-2) - vitesse;
	if(height > -$(id).offsetHeight + $(id).parentNode.offsetHeight - vitesse) {
		$(id).style.marginTop = height + "px";
	} else {
		$(id).style.marginTop = (-$(id).offsetHeight + $(id).parentNode.offsetHeight) + "px";
	}
}
function moveUp(id,vitesse) {
	height = parseInt($(id).style.marginTop.substring(0,$(id).style.marginTop.length-2)) + vitesse;
	if(height <= 0) {
		$(id).style.marginTop = height + "px";
	} else {
		$(id).style.marginTop = "0px";
	}
}
function setCheck(id) {
    temp = $(id);
    var myElement = document.createElement("div");
    myElement.className = "checkbox";
    if(temp.checked) {
//        myElement.innerHTML = "<input type='hidden' id='" + temp.id + "' name='" + temp.name + "' value='" + temp.value + "' />";
        myElement.innerHTML = "<input type='hidden' id='" + temp.id + "' name='" + temp.name + "' value='1' />";
        myElement.innerHTML += "<img id='" + temp.id + "_pic' src='images/form_check_on.gif' onclick='changeCheck(\"" + id + "\")' />";
    } else {
//        myElement.innerHTML = "<input type='hidden' id='" + temp.id + "' name='" + temp.name + "' value='" + temp.value + "' disabled='disabled' />";
        myElement.innerHTML = "<input type='hidden' id='" + temp.id + "' name='" + temp.name + "' value=''/>";
        myElement.innerHTML += "<img id='" + temp.id + "_pic' src='images/form_check_off.gif' onclick='changeCheck(\"" + id + "\")' />";
    }
    temp.parentNode.insertBefore(myElement,temp);
    if(oldCheck) {			
        oldCheck.parentNode.removeChild(oldCheck);
    }
    oldCheck = temp;
}
function changeCheck(temp) {
    field = $(temp);
    pic = $(temp).id + "_pic"
//    if(field.disabled) {

    if(field.value == '') {
//        field.removeAttribute('disabled');
		field.value = '1';
        $(pic).src = "images/form_check_on.gif";
    } else {
//        field.setAttribute('disabled','disabled');
        field.value = '';
        $(pic).src = "images/form_check_off.gif";
    }
}
function setSelect(id,name) {
    temp = $(id);
    optionString = "";
    selectTop = temp.style.width.substring(0,temp.style.width.length-2);
	selectWidth = selectTop - 4;
	
	for(i=0;i<temp.length;i++) {
        if(i==0) {
            firstOption = temp.options[i].innerHTML;
        }
		if(temp.options[i].selected) {
			firstOption = temp.options[i].innerHTML;
		}
        optionString += "<a href='javascript:;' onmousedown='setHidden(\"" + id + "\",\"" + temp.options[i].value + "\",\"" + temp.options[i].innerHTML + "\")' style='display:block; width:" + selectWidth + "px;' >" + temp.options[i].innerHTML + "</a>"
    }
	var myElement = document.createElement("div");
    myElement.id = "select_" + id;
	myElement.setAttribute('tempFunction',temp.getAttribute('onchangeFCT'))
    myElement.className = "select_custom";
    myElement.innerHTML = "<input value='" + temp.value + "' type='hidden' name='" + name + "' id='" + id + "'/><div id='" + id + "_top' class='select_top " + temp.className +  "' style='width:" + temp.style.width + ";'><a href='javascript:hide(\"" + id + "_dropped\");' style='display:block; width:" + selectWidth + "'>" + firstOption + "</a></div><div id='" + id + "_dropped' class='select' style='display:none; clear:both; width:" + temp.style.width + ";'>" + optionString + "</div>";
    temp.parentNode.insertBefore(myElement,temp);
	if(oldTemp) {
        oldTemp.parentNode.removeChild(oldTemp);
    }
    oldTemp = temp;
}

function closeDropped() {
    if(selectOpen) {
        $(selectOpen).style.display = "none";
		selectOpen = "";
    }
}

function setHidden(id,valeur,option) {
	this.value = valeur;
    var top = $(id + "_top");
    top.firstChild.innerHTML = option;
    $(id).value = valeur;
	eval($("select_" + id).getAttribute('tempFunction'));
}

function hide(id) {
	//if(selectOpen + "_dropped" != id) {
		if($(id).style.display == "none") {
			$(id).style.display = "block";
			selectOpen = id;
		} else {
			selectOpen = "";
		}
	//}
}
