var JSBalloonPath="/images/page/"; 
var showHide;
var ie = document.all ? true:false  	
function JSBalloon()
{
var tmrBalloonPopup;	
var  blbWidth=320; //200  2007-8-10
var titleFontStyle='font-weight: bold; font-size:12px;padding-left:5px;';
var messageFontStyle=' font-size:12px\;padding:5px 5px;text-align:left;';
var footerFontStyle=' font-size:12px\;';
var transShow=true;
var transHide=true;
var transShowFilter='progid:DXImageTransform.Microsoft.Fade(Overlap=0.200)';
var transHideFilter='progid:DXImageTransform.Microsoft.Fade(Overlap=0.20)';
var autoHide=true;
var autoHideInterval=1000; // 4 sec
var autoAway=true;
var showCloseBox=false;
if(JSBalloon.arguments.length>0)
{
var oArg=JSBalloon.arguments[0];
if(oArg.width!=null)
{ blbWidth=oArg.width;}
if(oArg.titleFontStyle!=null)
{ titleFontStyle=oArg.titleFontStyle;}
if(oArg.messageFontStyle!=null)
{ messageFontStyle=oArg.messageFontStyle;}
if(oArg.footerFontStyle!=null)
{ footerFontStyle=oArg.footerFontStyle; }
if(oArg.transShow!=null)
{ transShow=oArg.transShow; }
if(oArg.transHide!=null)
{ transHide=oArg.transHide; }
if(oArg.transShowFilter!=null)
{ transShowFilter=oArg.transShowFilter; }
if(oArg.transHideFilter!=null)
{ transHideFilter=oArg.transHideFilter; }
if(oArg.autoHide!=null)
{ autoHide=oArg.autoHide; }
if(oArg.autoHideInterval!=null)
{ autoHideInterval=oArg.autoHideInterval; }
if(oArg.autoHideInterval!=null)
{ autoHideInterval=oArg.autoHideInterval; }
if(oArg.autoAway!=null)
{ autoAway=oArg.autoAway;}
if(oArg.showCloseBox!=null)
{ showCloseBox=oArg.showCloseBox; }
}
this.titleFontStyle=titleFontStyle;
this.messageFontStyle=messageFontStyle;
this.footerFontStyle=footerFontStyle;
this.transShowFilter=transShowFilter;
this.transHideFilter=transHideFilter;
this.transShow=transShow;
this.transHide=transHide;
this.autoHide=autoHide;
this.autoHideInterval=autoHideInterval;
this.autoHideInterval=autoHideInterval;
this.autoAway=autoAway;
this.width=blbWidth;
this.showCloseBox=showCloseBox;
var childID;

var balloonDIV = document.createElement("DIV");
balloonDIV.style.width=String(blbWidth)+"px";;
balloonDIV.style.position="absolute";
balloonDIV.style.visibility="hidden";
balloonDIV.style.filter=transShowFilter+' '+transHideFilter;
balloonDIV.style.zIndex=2001;
this.balloon=balloonDIV;
this.Show=Show;
this.Hide=Hide;
function  LeaveAnchor()
{
showHide = false;		
if(autoHide)
{		   
clearTimeout(tmrBalloonPopup);

tmrBalloonPopup=setTimeout(Hide, autoHideInterval);
}	
}
function Show()
{
var title;
var message='';
var icon='';
var footer='';
var btop=0, bleft=0;
var atop=0, aleft=0;
var anchor;
var direction='NE';

blbWidth=String(this.width);
titleFontStyle=this.titleFontStyle;
messageFontStyle=this.messageFontStyle;
footerFontStyle=this.footerFontStyle;
transShowFilter=this.transShowFilter;
transHideFilter=this.transHideFilter;
transShow=this.transShow;
transHide=this.transHide;
autoHide=this.autoHide;
autoHideInterval=this.autoHideInterval;
autoAway=this.autoAway;
if(Show.arguments.length>0)
{
var oArg=Show.arguments[0];

if(oArg.title!=null)
{ title=oArg.title; }

if(oArg.message!=null)
{ message=oArg.message;}

if(oArg.icon!=null)
{
icon=oArg.icon;

switch(icon)
{
	case 'Exclaim':
icon = JSBalloonPath+'exclaim.ico';
SoundFx = 'Exclaim';
break;

	case 'Stop':
icon = JSBalloonPath+'stop.ico';
SoundFx = 'Stop';
break;

	case 'Info':
icon = JSBalloonPath+'info.ico';
SoundFx = 'Info';
break;
	
	case 'Help':
icon = JSBalloonPath+'help.ico';
SoundFx = 'Info';
break;

	default:
SoundFx = 'Info';
}
}
if(oArg.footer!=null)
{ footer=oArg.footer; }

if(oArg.top!=null)
{ btop=oArg.top; }

if(oArg.left!=null)
{ bleft=oArg.left; }

if(oArg.anchor!=null)
{
anchor=oArg.anchor;
atop=getTop(anchor);
aleft=getLeft(anchor);
}
}	
var ret=balloonInfrastructure(balloonBody(	title, 
	icon, 
	message, 
	footer, 
	this.titleFontStyle,
	this.messageFontStyle,
	this.footerFontStyle,
	this.showCloseBox), direction);

balloonDIV.innerHTML=ret;
var btnClose=GetImgObj(balloonDIV);
btnClose.onclick=Hide1;

if(typeof(childID)!='object')
{ childID=document.body.appendChild(balloonDIV); }

var ttop=0;
if(is_ie)
{
	ttop=document.documentElement.scrollTop;
}

ttop+=20;
	
var tleft=document.documentElement.scrollLeft;

balloonDIV.style.left =Wa(ShowObj,"offsetLeft")+tleft+"px";
balloonDIV.style.top = (Wa(ShowObj,"offsetTop")+ttop)+"px";		

var bAdjustedLeft=parseInt(balloonDIV.style.left, 10);
var showSE;
if(document.body.offsetWidth < (bAdjustedLeft+balloonDIV.offsetWidth+20))
{		
direction='SW';

ret=balloonInfrastructure(balloonBody(	title, 
	icon, 
	message, 
	footer, 
	this.titleFontStyle,
	this.messageFontStyle,
	this.footerFontStyle,
	this.showCloseBox), direction);
balloonDIV.innerHTML=ret;
balloonDIV.style.left =(bAdjustedLeft-balloonDIV.offsetWidth+20)+"px";

showSE=false;
}
else
{
direction='SE';
showSE=true;
} 
if(parseInt(balloonDIV.style.top, 10)<0)
{
if(showSE)
{
direction='NE';
ret=balloonInfrastructure(balloonBody(	title, 
	icon, 
	message, 
	footer, 
	this.titleFontStyle,
	this.messageFontStyle,
	this.footerFontStyle,
	this.showCloseBox), direction);
balloonDIV.innerHTML=ret;
}
else
{
direction='NW';
ret=balloonInfrastructure(balloonBody(	title, 
	icon, 
	message, 
	footer, 
	this.titleFontStyle,
	this.messageFontStyle,
	this.footerFontStyle,
	this.showCloseBox), direction);
balloonDIV.innerHTML=ret;
}
balloonDIV.style.top = (parseInt(balloonDIV.style.top, 10)+balloonDIV.offsetHeight)+"px";
if(anchor!=null)
{ balloonDIV.style.top = (parseInt(balloonDIV.style.top, 10)+anchor.offsetHeight)+"px";}
}			
if(this.showCloseBox)
{
if(direction=='SE' || direction=='SW')
{ btnClose=GetImgObj(balloonDIV);}
else
{ btnClose=GetImgObj(balloonDIV); }
btnClose.onclick=Hide1;
}
if(ie)
{
var scrollOffsets=ScrollOffsets(anchor);
     balloonDIV.style.top=parseInt(balloonDIV.style.top, 10)-scrollOffsets[0]+"px";;
     balloonDIV.style.left=parseInt(balloonDIV.style.left, 10)-scrollOffsets[1]+"px";;
     balloonDIV.style.top=parseInt(balloonDIV.style.top, 10) + parseInt(document.body.scrollTop, 10)+"px";;
     balloonDIV.style.left=parseInt(balloonDIV.style.left, 10) + parseInt(document.body.scrollLeft, 10)+"px";;
  }
  else
  {
     var scrollOffsets=ScrollOffsets(anchor);
balloonDIV.style.top=parseInt(balloonDIV.style.top, 10)-scrollOffsets[0]+"px";;
balloonDIV.style.left=parseInt(balloonDIV.style.left, 10)-scrollOffsets[1]+"px";;
  }
SuppressSelects();

if(ie&&this.transShow)
{
balloonDIV.style.filter=this.transShowFilter+' '+this.transHideFilter;			
if(balloonDIV.filters(0).status==2 || balloonDIV.filters(0).status==1)
{ balloonDIV.filters(0).Stop();}
balloonDIV.filters(0).Apply();
balloonDIV.style.visibility='visible';
balloonDIV.filters(0).Play();
}
else
{ balloonDIV.style.visibility='visible'; }
	

if(this.autoHide)
{
clearTimeout(this.tmrBalloonPopup);
transHide=this.transHide;
this.tmrBalloonPopup=setTimeout(this.Hide, this.autoHideInterval);
}
if(this.autoAway)
{ balloonDIV.onmouseover=Hide; }
else
{
balloonDIV.onmouseover=ShowAutoHide;  
balloonDIV.onmouseleave=HideAutoHide; 
}

  showHide = true; 
  if(anchor != null)
  {      anchor.onmouseout = LeaveAnchor;   } 
}	

function   ShowAutoHide()
{
balloonDIV.style.visibility=='visible';
showHide = true;
}

function   HideAutoHide()
{
showHide = false;	   
Hide();
}

function GetImgObj(divobj)
{
	var o_img;
	var y=divobj.getElementsByTagName("IMG");
	for(i=0;i<y.length;i++)
	{
		if(y[i].src.search("close.jpg")!=-1)
		{
			return y[i];
			break;
		}
	}
	
}

function Hide1()
{  
if(balloonDIV.style.visibility=='hidden')
{ return;}
if(ie&&transHide)
{
if(balloonDIV.filters(1).status==2 || balloonDIV.filters(1).status==1)
{
balloonDIV.filters(1).Stop();
}
balloonDIV.filters(1).Apply();
balloonDIV.style.visibility='hidden';
balloonDIV.filters(1).Play();
}
else
{
balloonDIV.style.visibility='hidden';
}	
RestoreSelects();		
}
function Hide()
{   
if(showHide)
{
  return;	   
}
else
{	   
if(balloonDIV.style.visibility=='hidden')
{
return;
}
if(ie&&transHide)
{		   
if(balloonDIV.filters(1).status==2 || balloonDIV.filters(1).status==1)
{
balloonDIV.filters(1).Stop();
}
balloonDIV.filters(1).Apply();
balloonDIV.style.visibility='hidden';
balloonDIV.filters(1).Play();
}
else
{		    
balloonDIV.style.visibility='hidden';
}	
RestoreSelects();
}
}
// Private
function SuppressSelects()
{
var selObjects=document.getElementsByTagName("SELECT");
for(var i=0;i<selObjects.length;i++)
{	
if(selObjects[i].balloonMember!='true')
{
if(selObjects[i].style.visibility=='visible' || selObjects[i].style.visibility=='')
{
	if(ObjectOverlap(balloonDIV, selObjects[i]))
	{
selObjects[i].style.visibility='hidden';

selObjects[i].baloonHidden=true;
	}
}
}
}
}
function RestoreSelects()
{
var selObjects=document.getElementsByTagName("SELECT");
for(var i=0;i<selObjects.length;i++)
{	
if(selObjects[i].baloonHidden)
{
selObjects[i].style.visibility='visible';

selObjects[i].baloonHidden=false;
}
}
}
function ObjectOverlap(obj1, obj2)
{
var obj1TopX = getLeft(obj1);
var obj1TopY = getTop(obj1);
var obj1BottomX = getLeft(obj1)+obj1.offsetWidth;
var obj1BottomY = getTop(obj1)+obj1.offsetHeight;
var obj2TopX = getLeft(obj2);
var obj2TopY = getTop(obj2);
var obj2BottomX = getLeft(obj2)+obj2.offsetWidth;
var obj2BottomY = getTop(obj2)+obj2.offsetHeight;
var overlapOnX = (obj1TopX < obj2BottomX && obj2TopX < obj1BottomX);
var overlapOnY = (obj1TopY < obj2BottomY && obj2TopY < obj1BottomY);
return (overlapOnX && overlapOnY);
}

function getObjLeft(anObject) 
{ return(anObject.offsetParent ? (getObjLeft(anObject.offsetParent) + anObject.offsetLeft) : anObject.offsetLeft); }
function getObjTop(anObject) 
{ return(anObject.offsetParent ? (getObjTop(anObject.offsetParent) + anObject.offsetTop) : anObject.offsetTop);  }

function getLeft(anObject) 
{ return(getObjLeft(anObject)); }
function getTop(anObject) 
{ return(getObjTop(anObject)); }
function ScrollOffsets(anchor)
{
var aryScrolls = new Array(0,0);
try
{
var parentElem=anchor.parentElement;
while(parentElem!=null)
{
if(parentElem.scrollTop!=null)
{
	aryScrolls[0]+=parseInt(parentElem.scrollTop, 10);
	aryScrolls[1]+=parseInt(parentElem.scrollLeft, 10);
}
parentElem=parentElem.parentElement;
}
}
catch(ex)
{

}
return aryScrolls;
}

function balloonInfrastructure(body, direction)
{
var ret;
switch(direction)
{
case 'SE':

ret ='<table class="JSBalloon" border="0" borderColor="#9BC5EA" cellpadding="0" cellspacing="0" style="border-collapse: collapse" >'+
'<tr>'+
'<td>'+
'<img border="0" src="'+JSBalloonPath+'cLeftTop.gif" width="8" height="8"></td>'+
'<td  width="1024"  bgColor="#ffffff" colspan="4" style="BORDER-TOP: #9BC5EA 1px solid"></td>'+  //width=100%  width=70% 2007-8-8
'<td>'+
'<img border="0" src="'+JSBalloonPath+'cRightTop.gif" width="8" height="8"></td>'+
'</tr>'+
'<tr>'+
'<td valign="top" colspan="5" style="BORDER-LEFT: #9BC5EA 1px solid; BACKGROUND-COLOR: #ffffff">'+
	body +
'</td>'+
'<td  width="8" vAlign="top" background="'+JSBalloonPath+'cLeftbg.gif"  >&nbsp;</td>'+ 
'</tr>'+
'<tr>'+
'<td><IMG height="8" src="'+JSBalloonPath+'cLeftBottom.gif" width="8" border=0></td>'+
'<td height="8" background="'+JSBalloonPath+'cBottombg.gif"></td>'+
'<td >'+
'<img src="'+JSBalloonPath+'aSouthEast-1.gif" width="67" height="8"></td>'+
'<td  width="1024" background="'+JSBalloonPath+'cBottombg.gif" ></td>'+  //width=100%  width=70% 2007-8-8
'<td width="70" background="'+JSBalloonPath+'cBottombg.gif"></td>'+
'<td width="8" ><IMG height=8 src="'+JSBalloonPath+'cRightBottom.gif" width=8 border=0></td>'+
'</tr>'+
'<TR>'+ 
'<TD  height="8">&nbsp;</TD>'+
'<TD></TD>'+
'<TD><img src="'+JSBalloonPath+'aSouthEast.gif" width="67" height="18"></TD>'+
'<TD></TD>'+
'<TD></TD>'+
'<TD>&nbsp;</TD>'+
'</TR>'+
'</table>'	
	break;
case 'SW':	
// South West
ret ='<table class="JSBalloon" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1" >'+
'<TR>'+
'<TD></TD>'+
'<TD colspan="4" style="BORDER-BOTTOM: #9BC5EA 1px solid"></TD>'+
'<TD></TD>'+
'</TR>'+
'<TR>'+
'<TD><IMG height="8" src="'+JSBalloonPath+'cLeftTop.gif" width="8 border="0"></TD>'+
'<TD width="1024" bgColor="#ffffff" colSpan="4"></TD>'+  //2007-8-10   width="80%"
'<TD><IMG height="8" src="'+JSBalloonPath+'cRightTop.gif" width="8" border="0"></TD>'+
'</TR>'+
'<TR>'+
'<TD colSpan="5" vAlign="top" style="BORDER-LEFT: #9BC5EA 1px solid; BACKGROUND-COLOR: #ffffff">'+
              body +
'</TD>'+
'<TD width="8" vAlign="top" background="'+JSBalloonPath+'cLeftbg.gif">&nbsp;</TD>'+
'</TR>'+
'<TR>'+
'<TD><IMG height=8 src="'+JSBalloonPath+'cLeftBottom.gif" width="8" border="0"></TD>'+
'<TD height=8 background="'+JSBalloonPath+'cBottombg.gif"></TD>'+
'<TD width="70" background="'+JSBalloonPath+'cBottombg.gif" height=8></TD>'+
'<TD width="1024" background="'+JSBalloonPath+'cBottombg.gif" height=8></TD>'+  //2007-8-10  width="80%"
'<TD valign="top"><img src="'+JSBalloonPath+'aSouthWest-1.gif" width="67" height="8"></TD>'+
'<TD><IMG height="8" src="'+JSBalloonPath+'cRightBottom.gif" width="8" border="0"></TD>'+
'</TR>'+
'<TR>'+
'<TD>&nbsp;</TD>'+
'<TD height="8"></TD>'+
'<TD height="8">&nbsp;</TD>'+
'<TD height="8"></TD>'+
'<TD height="8"><img src="'+JSBalloonPath+'aSouthWest.gif" width="67" height="18"></TD>'+
'<TD height="8">&nbsp;</TD>'+
'</TR>'+
'</table>'
	break;
	
case 'NE':	
	// North East
	ret ='<table class="JSBalloon" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#9BC5EA" id="AutoNumber1" >'+
'<tr>'+
'<td></td>'+
'<td style="BORDER-BOTTOM: #9BC5EA 1px solid"></td>'+
'<td  height="18" valign="bottom">'+
'<img border="0" src="'+JSBalloonPath+'aNorthEast.gif" width="67" height="18"></td>'+
'<td width="1024" style="BORDER-BOTTOM: #9BC5EA 1px solid"></td>'+  //width=100%  width=80%  2007-8-8
'<td width="70" style="BORDER-BOTTOM: #9BC5EA 1px solid"></td>'+  // width="70" 
'<td ></td>'+
'</tr>'+
'<tr>'+
'<td>'+
'<img border="0" src="'+JSBalloonPath+'cLeftTop.gif" width="8" height="8"></td>'+
'<td   width="1024" colspan="4" bgcolor="#FFFFFF"></td>'+  //width=100%  width=80% 2007-8-8
'<td >'+
'<img border="0" src="'+JSBalloonPath+'cRightTop.gif" width="8" height="8"></td>'+
'</tr>'+
'<tr >'+
'<td valign="top" colspan="5"  style="BORDER-LEFT: #9BC5EA 1px solid; BACKGROUND-COLOR: #ffffff">'+
	body +
'</td>'+ 
'<td width="8" vAlign="top" background="'+JSBalloonPath+'cLeftbg.gif" >&nbsp;</td>'+ 
'</tr>'+
'<tr>'+
'<td>'+
'<img border="0" src="'+JSBalloonPath+'cLeftBottom.gif" width="8" height="8"></td>'+
'<td height="8" background="'+JSBalloonPath+'cBottombg.gif" colspan="4"  ></td>'+  
'<td width="8" height="8">'+
'<img border="0" src="'+JSBalloonPath+'cRightBottom.gif" width="8" height="8"></td>'+
'</tr>'+
'</table>'
	break;
	
case 'NW':	
	// North West			
	ret ='<table class="JSBalloon" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#9BC5EA" id="AutoNumber1" >'+
'<tr>'+
'<td></td>'+
'<td style="BORDER-BOTTOM: #9BC5EA 1px solid"></td>'+
'<td  width="70" style="BORDER-BOTTOM: #9BC5EA 1PX solid">&nbsp;'+   
'</td>'+
'<td  width="1024"  style="BORDER-BOTTOM: #9BC5EA 1px solid" >'+  //width=100%  width=80% 2007-8-8
'</td>'+
'<td  vAlign="bottom"><img src="'+JSBalloonPath+'aNorthWest.gif" width="67" height="18"></td>'+
'<td></td>'+
'</tr>'+
'<tr>'+
'<td>'+
'<img height="8" src="'+JSBalloonPath+'cLeftTop.gif" width="8" border="0"></td>'+
'<td width="1024" bgColor="#ffffff" colSpan="4"></td>'+  //2007-8-10  width="80%"
'<td>'+
'<img  height=8 src="'+JSBalloonPath+'cRightTop.gif" width=8 border=0></td>'+
'</tr>'+
'<tr>'+
'<td valign=top colspan="5"  style="BORDER-LEFT: #9BC5EA 1px solid; BACKGROUND-COLOR: #ffffff">'+
	body +
'</td>'+
'<td width="8" vAlign=top background="'+JSBalloonPath+'cLeftbg.gif">&nbsp;</td>'+
'</tr>'+
'<tr>'+
'<td>'+
'<img height="8" src="'+JSBalloonPath+'cLeftBottom.gif" width="8" border="0"></td>'+
'<td height="8" colSpan="4" background="'+JSBalloonPath+'cBottombg.gif"></td>'+
'<td width="8" height="8">'+
'<img  height="8" src="'+JSBalloonPath+'cRightBottom.gif" width="8" border="0"></td>'+
'</tr>'+
'</table>'
	break;
}

return ret;
}
function balloonBody(title, icon, body, footer, titleFontStyle, 
messageFontStyle, footerFontStyle,
showCloseBox)
{
var imgShow='none';
var iconTitle='';
var ballonBody=body;
var imgClose='none';
var headerVisible='block';
var offsetParent="-7";
if(title!=undefined)
{
iconTitle=title;
}
if(showCloseBox)
{
imgClose='block';
}
else
{
imgClose='none';
}
if(icon != '')
{
imgShow='block';
}
else
{
imgShow='none';
}
if(imgShow=='none' && imgClose=='none' && iconTitle=='')
{
headerVisible='none';
offsetParent="0";
}
else
{
headerVisible='block';
offsetParent="-7";
}
return '<table border="0" width="100%" cellpadding="3" cellspacing="0" style="cursor:default;border-collapse: collapse; position:relative; top: '+offsetParent+';left:3" >' +  //width="100%"
'<tr style="display:'+headerVisible+'">' + 
'<td id="BIcon" width="3%" align=left><img id=BIcon src="'+icon+'" style="display:'+imgShow+'"></td>' +   //width="3%"
'<td id="BTitle" width="90%" UNSELECTABLE="on"  style="'+titleFontStyle+'" align=left>'+iconTitle+'</td>' +  //width="90%"
'<td id="BClose" width="3%"  valign=top align=right><img id="imgclose" src="'+JSBalloonPath+'close.jpg" style="position:relative; top: 4;left:-5;display:'+imgClose+'" onmouseover="this.src=\''+JSBalloonPath+'closeActive.jpg\'" onmouseout="this.src=\''+JSBalloonPath+'close.jpg\'" onmouseup="this.src=\''+JSBalloonPath+'closeActive.jpg\'" onmousedown="this.src=\''+JSBalloonPath+'closeDown.jpg\'">&nbsp;</td>' +  //width="3%" 
'</tr>' + 
'<tr>' + 
'<td id="BBody" UNSELECTABLE="on"  style="'+messageFontStyle+'" width="100%" colspan="3">' + ballonBody +'</td>' + //width="100%"
'</tr>' + 
'       <tr>' + 
'<td id="BFooter" UNSELECTABLE="on" style="'+footerFontStyle+'" width="100%"  colspan="3">' + footer +'</td>' +  //width="100%"
'</tr>' + 
'</table>'
}
}

var ShowObj;
var bl=new JSBalloon();
function ShowTip(obj,txtTitle, txtmessage)
{	
	var reg=new RegExp("\"","g");
	txtmessage=  txtmessage.replace(reg,"'");

	ShowObj	= obj;
	bl.autoHide=true; //false
	bl.autoHideInterval = 1000; // 2 secs
	bl.transShow=true; //true
	bl.autoAway=false; //false
	bl.showCloseBox=true;
	bl.Show({title:txtTitle,message:txtmessage,anchor:ShowObj, icon:'Info'});
}
