function highlight(obj,pos)
{
	//this item is selected, don't change background colors
	if( obj.selected)
	{
		return;
	}
	
	if(pos == 'focus')
	{
		obj.style.background='#EEEEEE';
		obj.style.color='#003366';
		if(typeof(obj.onclick) == 'function')
		{
			obj.style.cursor='pointer';
		}
		else
		{
			obj.style.cursor='default';		
		}
	}
	else
	{
		obj.style.background='#FFFFFF';
		obj.style.cursor='default';
		obj.style.color='#000000';
	}
	return true;
}

function show_hide_menu(menu_name,lnk)
{
	var m=document.getElementById(menu_name);
	var posLeft=findPosX(lnk.offsetParent);// + 10;
	m.style.left=posLeft+'px';
	m.style.top=(findPosY(lnk) + 40) + 'px';
	if (m.style.visibility=='visible')
	{
		m.style.visibility='hidden';
	}
	else
	{
		m.style.visibility='visible';
	}
	return false;
}

function confirm_delete(link)
{
	return confirm_link(link,'Are you sure you want to delete this item?');
	
}

function confirm_link(link, msg)
{
	var chk=confirm(msg);
	if (chk)
	{
		document.location=link;
		return true;
	}
	else
	{
		return false;
	}
}

function highlight_field_by_name(nm)
{
	elmt=document.getElementsByName(nm);
	for(i=0;i<elmt.length;i++)
	{
		elmt[i].style.borderColor='#FF0000';
		elmt[i].style.backgroundColor='#FFA3A3';
	}
}

function highlight_error_by_id(nm)
{
	elmt=document.getElementById(nm);
	if (elmt)
	{
		if (elmt.tagName=='INPUT' || elmt.tagName=='SELECT')
		{
			elmt.style.backgroundColor='#CC9999';	
		}
		else
		{
			//elmt.style.borderColor='#990000';
			elmt.style.color='#990000';
		}
	}
}

function findPos(obj)
{
	var rt=new Array();
	rt[0]=findPosX(obj);
	rt[1]=findPosY(obj);
	return rt;
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop;
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}


function show_below(src, target)
{
	var positions=findPos(src.parentNode);
	target.style.left=src.style.left;
	target.style.top=(positions[1] + Element.getHeight(src)) + 'px';
	target.show();
}

function show_to_right(src,target)
{
	var positions=findPos(src);
	target.style.top=positions[1]+'px';
	var dimensions=Element.getDimensions(src);
	target.style.left=(positions[0] + dimensions.width + 2) + 'px';
	target.show();
	
}

function copy_except_selection(sel1_id, sel2_id)
{
	var sel1=$(sel1_id);
	var sel2=$(sel2_id);
	var selected_val=$F(sel1_id);
	
	sel2.options.length=0;
	
	for(var i=0; i<sel1.options.length; i++)
	{
		if (selected_val != sel1.options[i].value)
		{
			sel2.options[sel2.options.length]=new Option(sel1.options[i].text, sel1.options[i].value);
		}
		
		//if the option selected was '-' then only copy that option
		if (selected_val==0)
		{
			sel2.options[sel2.options.length]=new Option(sel1.options[i].text, sel1.options[i].value);
			return;	
		}

	}
	return true;
}

var disable_confirm_unload=true;
function confirm_unload()
{
	if (disable_confirm_unload)
	{
		return;
	}
	
	//if (!confirm("Your changes have not been saved, to continue click Ok, to cancel"))
	//{
		return 'Your entries have not been saved.';
		//return false;
	//}	
}

function check_date_range(date1, date2)
{
	var start=gen_date_object(date1);	
	var end=gen_date_object(date2);
	
	if (end < start)
	{
		alert('Please select a "From" date that\'s before the "to" date.');
		return false;
	}
	else
	{
		return true;
	}
}

function gen_date_object(d)
{
	var parts = d.split('/');
	if (parts.length == 3)
	{
		parts[1]--;
		hl_year = parts[0];
		hl_month = parts[1];
		hl_day = parts[2];
		
		return new Date(parts[0], parts[1], parts[2]);
	}
}