//this file contains common javascript functions we use in site

function VoidAction() {}

//this function is used where you have a select->option form elem and a hidden text form elem that turns visible when you select "other" value
function PB_CheckVal(sel_id, div_id, txt_id)
{
	if(document.getElementById(sel_id).value == 'other') document.getElementById(div_id).style.visibility = 'visible';
	else
	{
		document.getElementById(div_id).style.visibility = 'hidden';
		document.getElementById(txt_id).value = '';
	}
}

function MM_jumpMenu(targ,selObj,restore){ 
	if(selObj.options[selObj.selectedIndex].value != '') eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	else eval(targ+".location.reload()");
	if (restore) selObj.selectedIndex=0;
}

function alert_msg(msg){ alert(msg); }

function SetCookie(cookieName,cookieValue,nDays)
{
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}

function ReadCookie(cookieName)
{
	var theCookie=""+document.cookie;
	var ind=theCookie.indexOf(cookieName);
	if (ind==-1 || cookieName=="") return ""; 
	var ind1=theCookie.indexOf(";",ind);
	if (ind1==-1) ind1=theCookie.length; 
	return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function ExpandCollapse(element_id, img_set, display_style)
{
	var display_style = (display_style == null) ? '' : display_style; //default value for display_style is ''
	var imgdir='images';
	var cookie_lifetime = 1;
	var img_expanded = 't_expanded.gif';
	var img_collapsed = 't_collapsed.gif';
	if (document.getElementById(element_id))
	{
		if(document.getElementById(element_id).style.display == 'none')
		{
			document.getElementById(element_id).style.display = display_style;
			if(document.getElementById('img_' + element_id)) document.getElementById('img_' + element_id).src = imgdir + '/' + img_expanded;
			SetCookie('disp_opt_' + element_id, display_style, cookie_lifetime);
		}
		else
		{
			document.getElementById(element_id).style.display = 'none';
			if(document.getElementById('img_' + element_id)) document.getElementById('img_' + element_id).src = imgdir + '/' + img_collapsed;
			SetCookie('disp_opt_' + element_id, 'none', cookie_lifetime);
		}
	}
	else
	{
		SetCookie('disp_opt_' + element_id, display_style, cookie_lifetime);
		var this_url = document.location.href;
		var x = this_url.indexOf("#")
		if(x > 0) document.location.href = this_url.substr(0,x) + '#' + element_id;
		else document.location.href = document.location.href + '#' + element_id;
		document.location.reload();
	}
}

 //currently not used - was designed for ipmanagement but it wasn't 100% ok
function ExpandCollapse_multiple(trigger_id, target_id_part, range_start, range_end, display_style, img_expanded, img_collapsed)
{
	var display_style = (display_style == null) ? '' : display_style; //default value for display_style is ''
	var img_expanded = (img_expanded == null) ? 't_expanded.gif' : img_expanded;
	var img_collapsed = (img_collapsed == null) ? 't_collapsed.gif' : img_collapsed;
	var imgdir='images';
	var cookie_lifetime = 1;
	if (document.getElementById(trigger_id))
	{
		var present_display_state = ReadCookie('disp_opt_' + trigger_id);
		if (present_display_state == 'none')
		{
			for (i=range_start; i<=range_end; i++)
			{
				document.getElementById(target_id_part + i).style.display = display_style;
			}
			if(document.getElementById('img_' + trigger_id)) document.getElementById('img_' + trigger_id).src = imgdir + '/' + img_expanded;
			SetCookie('disp_opt_' + trigger_id, display_style, cookie_lifetime);
		}
		else
		{
			for (i=range_start; i<=range_end; i++)
			{
				document.getElementById(target_id_part + i).style.display = 'none';
			}
			if(document.getElementById('img_' + trigger_id)) document.getElementById('img_' + trigger_id).src = imgdir + '/' + img_collapsed;
			SetCookie('disp_opt_' + trigger_id, 'none', cookie_lifetime);
		}
	}
	else
	{
		SetCookie('disp_opt_' + trigger_id, display_style, cookie_lifetime);
		var this_url = document.location.href;
		var x = this_url.indexOf("#")
		if(x > 0) document.location.href = this_url.substr(0,x) + '#' + trigger_id;
		else document.location.href = document.location.href + '#' + trigger_id;
		document.location.reload();
	}
}

function PopupWindow(url, size_x, size_y)
{
	var size_x = (size_x == null) ? '600' : size_x; //default value for size_x
	var size_y = (size_y == null) ? '400' : size_y; //default value for size_y
	win = window.open(url, "noc", "width=" + size_x +", height=" + size_y +", left=0, top=0, location=no, menubar=no, resizable=yes, scrollbars=yes, status=no, toolbar=no");
	win.focus();
}

//see calendar-setup.js
function PB_disableDate(date)
{
	if (document.getElementById('calendar_disable_date')) //this condition is to check if we have a disableDate function
	{
		return disableDate(date); //disable all dates that this function will supply
	}
	return false;
}
