
//
function toggle(item) {

obj=document.getElementById(item);

visible=(obj.style.display!="none")

key=document.getElementById("x" + item);

if (visible) {

obj.style.display="none";

} else {

obj.style.display="block";

}

}
//To emphase row of a table
function igniteView(){
	var rowover = function(){
		if(this.className != 'row_selected'){
			this.className = 'row_over';
		}
	}
	var rowout = function(){
		if(this.className != 'row_selected'){
			this.className = 'row';
		}
	}
	var ViewEntries = document.getElementsByClassName( 'row' );
	for (var i = 0; i < ViewEntries.length; i++) {
	//	ViewEntries[i].observe('mouseover', rowover.bindAsEventListener(ViewEntries[i]));	
		Event.observe(ViewEntries[i], 'mouseover', rowover.bindAsEventListener(ViewEntries[i]));	
		Event.observe(ViewEntries[i], 'mouseout', rowout.bindAsEventListener(ViewEntries[i]));
	}
}	//End of the loop on viewentries



//To emphase input in a form
function igniteForm(){
	var input_focus = function(){
			this.className = 'input_text_focus';
	}
	var input_unfocus = function(){
			this.className = 'input_text';
	}
	var select_focus = function(){
			this.className = 'select_focus';
	}
	var select_unfocus = function(){
			this.className = 'select';
	}
	var formEntries = document.getElementsByClassName( 'input_text' );
	var formEntries2 = document.getElementsByClassName( 'select' );
	for (var i = 0; i < formEntries.length; i++) {
		Event.observe(formEntries[i], 'focus', input_focus.bindAsEventListener(formEntries[i]));	
		Event.observe(formEntries[i], 'blur', input_unfocus.bindAsEventListener(formEntries[i]));
	}
	for (var j = 0; j < formEntries2.length; j++) {
		Event.observe(formEntries2[j], 'focus', select_focus.bindAsEventListener(formEntries2[j]));	
		Event.observe(formEntries2[j], 'blur', select_unfocus.bindAsEventListener(formEntries2[j]));
	}
}	//End of the loop on viewentries

//With this fctn, input button can have hover reaction
function igniteButton(){
	var input_over = function(){
			this.className = 'input_button_over';
	}
	var input_out = function(){
			this.className = 'input_button';
	}

	var buttonEntries = document.getElementsByClassName( 'input_button' );

	for (var l = 0; l < buttonEntries.length; l++) {
		Event.observe(buttonEntries[l], 'mouseover', input_over.bindAsEventListener(buttonEntries[l]));	
		Event.observe(buttonEntries[l], 'mouseout', input_out.bindAsEventListener(buttonEntries[l]));
	}
}	//End of the loop on viewentries


/* Display tooltips ONMOUSEOVER, needs prototype.js to works */
function initDescription(){
       var helplabels = document.getElementsByClassName( 'label_help' );
       for (var i = 0; i < helplabels.length; i++) {

               Event.observe(helplabels[i], 'mouseover', function() {
                       helpdesc = this.descendants()[0];
                       helpdesc.show();
               }.bindAsEventListener(helplabels[i])
               );
               Event.observe(helplabels[i], 'mouseout',        function() {
                       helpdesc = this.descendants()[0];
                       helpdesc.hide();
               }.bindAsEventListener(helplabels[i])
               )
       }
}

/* Display tooltips ONCLICK, needs prototype.js to works */
function initDescriptionClick(){
       var helplabelsclick = document.getElementsByClassName( 'label_help_click' );
       for (var i = 0; i < helplabelsclick.length; i++) {

               Event.observe(helplabelsclick[i], 'mousedown', function() {
                       helpdesc = this.descendants()[0];
                       helpdesc.show();
               }.bindAsEventListener(helplabelsclick[i])
               );
               Event.observe(helplabelsclick[i], 'mouseup',        function() {
                       helpdesc = this.descendants()[0];
                       helpdesc.hide();
               }.bindAsEventListener(helplabelsclick[i])
               )
       }
}

/* Display a toolbox */
function displayDiv(){
       var expand_link = document.getElementsByClassName( 'expand_link' );
       for (var i = 0; i < expand_link.length; i++) {			 		 			
               Event.observe(expand_link[i], 'click', function() {
						displayedDiv = this.adjacent('.expanded_div');
						//alert(displayedDiv[0].innerHTML);
                       //displayedDiv = this.descendants()[0];
                       displayedDiv[0].show();
               }.bindAsEventListener(expand_link[i])
               );
               
       }
}

/* TEST CHANGE CLASS FOR BG */
function changeBodyClass(){
 //Following line is a table with different bg css class
 var bgTable = ["bg1","bg2","bg3","bg4","bg5","bg6",];
 var bgTableLength = bgTable.length -1;
 var x=Math.random()*bgTableLength;
 var y=Math.round(x);
 var changeClass = function(){ this.className = bgTable[y]; }
 var searchBgClass = document.getElementsByClassName( 'bg' );
 Event.observe(searchBgClass[0], 'mouseover', changeClass.bindAsEventListener(searchBgClass[0]));
}

//Functions called onload
Event.observe(window, 'load', igniteView, false);
Event.observe(window, 'load', igniteForm, false);
Event.observe(window, 'load', igniteButton, false);
Event.observe(window, 'load', initDescription, false);
Event.observe(window, 'load', initDescriptionClick, false);
Event.observe(window, 'load', displayDiv, false);
Event.observe(window, 'load', changeBodyClass, false);
