// JavaScript Document

//****************************************************************************************//
/**
* Open popup 
*
* @parameter: page = URL
* @parameter: w = width
* @parameter: h = height
* @parameter: name_popup = ame of popup
* @parameter: scrollbars (default is 0 - without scroll)
*
* @author: FlorinC - Sitex
* @date creation: 05.05.04
*/
function popup(page, w, h, name_popup, scrollbars) 
{
	if(name_popup == '') name_popup='popup';
	if(scrollbars == '') scrollbars=0;
	if(w==0) w=(screen.width);
	if(h==0) h=(screen.height);
	
	options='menubar=no, scrollbars='+scrollbars+', statusbar=no, resizable=no, toolbar=no, location=no, status=no';
	var top=(screen.height-h)/2-18;
	var left=(screen.width-w)/2-8;
	var win_open = window.open(page, name_popup, 'top='+top+', left='+left+', width='+w+', height='+h+', '+options);
}
//****************************************************************************************//
/**
* Delete item from a select
*
* @parametter: obj = name of element object (select)
*
* @author: FlorinC - Sitex
* @date creation: 05.05.04
*/
function deleteItems(obj)
{
	for (i=0; i < parseInt(obj.options.length); i++) 
		obj.options[i]=null;
	if(parseInt(obj.options.length) > 0)
		deleteItems(obj);
}
//****************************************************************************************//
/**
* Populate object select
*
* @parametter: obj = name of object (select for populate)
* @parametter: array_populate = array with elements for populate
* @parametter: item_selected = the element that is to be selected
* @parametter: text_head_option = first element of select object  
*
* @author: FlorinC - Sitex
* @date creation: 05.05.04
*/
function populate(obj, array_populate, item_selected, text_head_option) 
{   
	//===>delete old select obj
	deleteItems(obj);
	//<===
	var i=0;	
	//===>init first options
	if(text_head_option != "")
	{
		var head_option = new Option(text_head_option, "");
		obj.options[0]=head_option;
		i++;
	}
	//<===
		
	//===> populate obj
	var key;	
	for (key in array_populate) 
	{
        var option = new Option(array_populate[key], key);
		obj.options[i]=option;		
		if(key == parseInt(item_selected))
			obj.options[i].selected=true;
		i++;
	}
	//<===		
}
//****************************************************************************************//
/**
* Populate multiple
*
* @parametter: father_select = name of object (select) father
* @parametter: son_select = name of obkect (select) son
* @parametter: my_array = bidimensional array father/son
* @parametter: text_head_option = first element of select object 
* @parametter: vect_items_selected
*
* @author: FlorinC - Sitex
* @date creation: 05.05.04
*/
function populate_multiple(father_select, son_select, my_array, text_head_option, vect_items_selected) 
{   
	//alert()
	var son_select_length = son_select.options.length;
	var father_select_length = father_select.options.length;
	
	deleteItems(son_select);
	
	//===> empty son select
	for (var i=0; i < son_select_length; i++) 
		son_select.options[i]=null;
	//<===  
	
	var i=0;
	//===>init first options
	if(text_head_option != "")
	{
		var head_option = new Option(text_head_option, "");
		son_select.options[0]=head_option;
		i++;
	}
	//<===

	var key;
	for (var k=0; k < father_select_length; k++)
	{
		if(father_select.options[k].selected) 
		{
			id_show=father_select.options[k].value;
			for (key in my_array[id_show]) 
			{				
				var opt = new Option(my_array[id_show][key], key);
				son_select.options[i] = opt;
				
				if(vect_items_selected != -1 && check_in_array(key, vect_items_selected))
					son_select.options[i].selected=true;
				i++;
			}
		}
	}
	son_select.options.length=i;
}
//****************************************************************************************//
/**
* Check if key exist in a array
*
* @author: FlorinC - Sitex
* @date creation: 05.05.04
*/
function check_in_array(needle, arr) 
{
	var ret=false;
	for(key in arr) 
		if(arr[key]==needle) 
		{
			ret=true;
			break;
		}
	return ret;
}
//****************************************************************************************//
/**
* Get no. elements from a multple select
*
* @parameter:  obj = select object
* @parameter:  flag = 1 - count only items with value !="" ; 0 - count all items
* @author: FlorinC - Sitex
* @date creation: 05.05.04
*/
function get_no_elem_selected(obj,flag) 
{   		
	var length_obj = obj.options.length;
	var count=0;
	if(length_obj > 0)
	{
		if(flag==1)
		{
			for(i=0;i<length_obj;i++)
			{			
				if(obj.options[i].value!="" && obj.options[i].selected==true)
					count++;			
			}
		}
		else
		{
			for(i=0;i<length_obj;i++)
			{			
				if(obj.options[i].selected==true)
					count++;			
			}			
		}
	}
	
	return count;

}
//****************************************************************************************//
function select_items_multiple(obj, vect_item_selected) 
{   		
	var length_obj = obj.options.length;
	var length_item = vect_item_selected.length;

	if(length_item>0)
	{
		//===> select
		for(i=0;i<length_obj;i++)
		{
			val=obj.options[i].value;		
			
			for(j=0;j<length_item;j++)
			{
				if(val==vect_item_selected[j])
				{
					obj.options[i].selected=true;
				}
			}
		}
		//<===
	}	
}
//****************************************************************************************//
function select_item(obj, item_value) 
{   		
	var length_obj = obj.options.length;
	//===> select
	for(i=0;i<length_obj;i++)
	{
		if(obj.options[i].value==item_value)
		{
			obj.options[i].selected=true;
			break;
		}
	}
	//<===	
}
function select_all_items(obj) 
{   		
	var length_obj = obj.options.length;
	//===> select
	for(i=0;i<length_obj;i++)
	{
		obj.options[i].selected=true;
	}
	//<===	
}
function unselect_all_items(obj) 
{   		
	var length_obj = obj.options.length;
	//===> select
	for(i=0;i<length_obj;i++)
	{
		obj.options[i].selected=false;
	}
	//<===	
}
//****************************************************************************************//
/**
* Get no. elements from a multple select
*
* @parameter:  obj = select object
* @parameter:  flag = 1 - count only items with value !="" ; 0 - count all items
* @author: FlorinC - Sitex
* @date creation: 05.05.04
*/
function get_no_elem_selected(obj,flag) 
{   		
	var length_obj = obj.options.length;
	var count=0;
	if(length_obj > 0)
	{
		if(flag==1)
		{
			for(i=0;i<length_obj;i++)
			{			
				if(obj.options[i].value!="" && obj.options[i].selected==true)
					count++;			
			}
		}
		else
		{
			for(i=0;i<length_obj;i++)
			{			
				if(obj.options[i].selected==true)
					count++;			
			}			
		}
	}
	
	return count;

}
//****************************************************************************************//
function on_off(visual) 
{
	var elem=findDOM(visual, 1);
	
	if(elem.visibility=='hidden') 
	{ 
		elem.visibility='visible'; 
		elem.position='relative'; 
	} 
	else 
	{ 
		elem.visibility='hidden'; 
		elem.position='absolute'; 
	} 
}
//****************************************************************************************//
function put_content(from, to, mode) 
{
	for(i=0; i<from.length; i++)
		if(from.options[i].selected==true || mode) 
		{
			var opt=new Option(from.options[i].text, from.options[i].value);
			to.options[to.length]=opt;
			from.options[i]=null;
			i--;
		}
}
//****************************************************************************************//
function get_content(from, to) 
{
	to.value='';
	for(i=0; i<from.length; i++) 
	{
		if(to.value!='')
			to.value+=' ';
		to.value+=from.options[i].value;
	}
}
//****************************************************************************************//

//code for popup autoclose 
var pop_time=0;
function testTime(s)
{
	window.status='eXit in  ' + (s-pop_time) + ' s' ;	
	pop_time++;	
	if (pop_time > s)
	{
		window.close();
	}
}
function resetTime()
{
	pop_time=0;
}
function setWhatch(s)
{
	setInterval('testTime('+s+')',1000);
}
//<===

// inner write
function innerWrite(obj, text)
{
	var _obj=findDOM(obj,0);
	_obj.innerHTML = text;
}

// inner write
function imgSrcChange(obj, src)
{
	var _obj=findDOM(obj,0);
	_obj.src = src;
}

function checkAll(obj, matchn)
{	
	var items = obj.elements;	
	for(i=0;i<items.length;i++)
	{
		if (items[i].name.match(matchn))
		{
			if(items[i].checked==true)
				items[i].checked = false;
			else if(items[i].disabled==false)
				items[i].checked = true;
		}
	}
}
/*
function changeOptionBtn(idName, imgSrc, action)
{
	var _idName =  findDOM(idName,0);
	_idName.src=imgSrc;
	
	var _a =  findDOM('a_'+idName,0);
	if(action!='')
		_a.href="javascript:"+action;	
	else
	{
		_a.href='javascript:;';
		_a.style.cursor='normal';
	}
	alert(_a.href)
}
*/

function showHideModuleMouseOver(divID) 
{
	var theCookie = readCookie(divID);
	if ((theCookie=="e") || (theCookie=="")) 
	{
		window.status="Collapse";
	}
	else 
	{
		window.status="Expand";
	}
}

function onoffToggle(objLayer, objImg, srcObjImgOn, srcObjImgOff)
{
	var _objLayer=findDOM(objLayer, 1);
	var _objImg=findDOM(objImg, 0);
	//alert(_objImg.src)
	if(_objLayer.visibility=='hidden') 
	{ 
		_objImg.src=srcObjImgOn;
		_objLayer.visibility='visible'; 
		_objLayer.position='relative'; 
		_objLayer.display='block'; 		
		_objImg=srcObjImgOn;
	} 
	else 
	{ 		
		_objImg.src=srcObjImgOff;
		_objLayer.visibility='hidden'; 
		_objLayer.position='absolute';
		_objLayer.display='none'; 
	} 
}
/**
* Count chars from a textarea
*
* @author Colotin Florin
*/
function countChars(obj_text,obj_counter, limit)
{
	if (obj_text.value.length > limit)
		obj_text.value = obj_text.value.substr(0,limit);
	obj_counter.value=obj_text.value.length;
}
