// Copyright (C) 2007 BlueGolf, LLC. All Rights Reserved
function Util()
{}
Util.isIE=(navigator.appName=='Microsoft Internet Explorer');Util.chainHandler=function(target,name,handler)
{if(!handler)
{handler=name;name=target;target=window;}
if(!handler)
{handler=name;name='onload';}
if(window.$&&target===window&&name==='onload')
{$(document).ready(handler);}
else if(target[name])
{var oldHandler=target[name];target[name]=function()
{handler();oldHandler();}}
else
{target[name]=handler;}}
Util.colorBrightness=function(c)
{var result=1.0;var text=String(c);if((/#[0-9a-fA-F]{6}/).test(text))
{var red=parseInt(text.substring(1,3),16);var green=parseInt(text.substring(3,5),16);var blue=parseInt(text.substring(5,7),16);result=((0.2*red)+(0.7*green)+(0.1*blue))/255.0;}
else if((/#[0-9a-fA-F]{3}/).test(text))
{var red=parseInt(text.substring(1,2),16);var green=parseInt(text.substring(2,3),16);var blue=parseInt(text.substring(3,4),16);result=((0.2*red)+(0.7*green)+(0.1*blue))/15.0;}
return result;}
Util.date2iso=function(d)
{var result=undefined;if(d&&d.getFullYear)
{var year=String(10000+d.getFullYear());year=year.substr(year.length-4);var month=String(101+d.getMonth());month=month.substr(month.length-2);var day=String(100+d.getDate());day=day.substr(day.length-2);result=year+month+day;}
return result;}
Util.getWindowHeight=function()
{return(Util.isIE?document.documentElement.offsetHeight:innerHeight);}
Util.getWindowWidth=function()
{return(Util.isIE?document.documentElement.offsetWidth:innerWidth);}
Util.iso2date=function(value)
{var result=undefined;value=String(value);if(value.length==8)
{result=new Date(value.substr(0,4),value.substr(4,2)-1,value.substr(6,2));}
else if(value.length==15)
{result=new Date(value.substr(0,4),value.substr(4,2)-1,value.substr(6,2),value.substr(9,2),value.substr(11,2),value.substr(13,2));}
return result;}
Util.isPointInElement=function(element,x,y)
{var left=0;var top=0;var e=element;while(e!=null)
{left+=e.offsetLeft;top+=e.offsetTop;e=e.offsetParent;}
var right=left+element.offsetWidth;var bottom=top+element.offsetHeight;return(x>=left&&x<=right&&y>=top&&y<=bottom);}
Util.position=function(element,target,x,y)
{var e=document.getElementById('alldiv');var boundRight=e.offsetWidth;var boundBottom=Math.max(e.offsetHeight,Util.getWindowHeight());while(e!=null)
{boundRight+=e.offsetLeft;boundBottom+=e.offsetTop;e=e.offsetParent;}
var offsetLeft=x?x:0;var offsetTop=y?y:0;e=target;while(e!=null)
{offsetLeft+=e.offsetLeft;offsetTop+=e.offsetTop;e=e.offsetParent;}
e=element.offsetParent;while(e!=null)
{offsetLeft-=e.offsetLeft;offsetTop-=e.offsetTop;e=e.offsetParent;}
if(offsetLeft>boundRight-element.offsetWidth)
{offsetLeft=boundRight-element.offsetWidth;}
if(offsetLeft<0)
{offsetLeft=0;}
if(offsetTop>boundBottom-element.offsetHeight)
{offsetTop=boundBottom-element.offsetHeight;}
if(offsetTop<0)
{offsetTop=0;}
element.style.position='absolute';element.style.left=offsetLeft+'px';element.style.top=offsetTop+'px';}
Util.removeHandlers=function(element)
{var nodes=element.childNodes;for(var i=0;nodes&&i<nodes.length;i++)
{Util.removeHandlers(nodes[i]);}
nodes=element.attributes;for(i=0;nodes&&i<nodes.length;i++)
{var name=nodes[i].name;if(typeof nodes[name]==='function')
{element[name]=null;}}}
Util.returnFalse=function()
{return false;}
function Haze()
{this.div=document.getElementById('haze');}
Haze.prototype.hide=function()
{this.div.style.display='none';}
Haze.prototype.show=function()
{var alldiv=document.getElementById('alldiv');this.div.style.top='0px';this.div.style.left='0px';this.div.style.width=(Util.isIE?document.documentElement.offsetWidth:innerWidth)+'px';this.div.style.height=Math.max(alldiv.offsetHeight,Util.isIE?document.documentElement.offsetHeight:innerHeight)+'px';this.div.style.display='';}