/********************************************************************************
* class:	Hydra Navigation Class
* author:	Christopher Sheldon [MicroAge Solutions e-Business Developer]
* notes:	Do not remove, reproduce or use this code without express written permission.
*			Copyright © 2004 MicroAge Solutions. 
*			www.microagesolutions.com
*****/
function CreateHydra(){this.version='2.1.25082005';this.menus=new Array();this.useScrollBars=true;this.childFilter='';this.overDelay=1;this.outDelay=1000;this.menuOpen=false;this.standards=false;this.createTree=function(sName,sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft){asMenus[asMenus.length]=sName;this.menus[sName]=new Menu('tree',sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft);};this.createCrumb=function(sName,sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft){asMenus[asMenus.length]=sName;this.menus[sName]=new Menu('crumb',sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft);};this.createPopSide=function(sName,sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft){asMenus[asMenus.length]=sName;this.menus[sName]=new Menu('popside',sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft);};this.createPopDown=function(sName,sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft){asMenus[asMenus.length]=sName;this.menus[sName]=new Menu('popdown',sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft);};this.createChild=fCreateChild;this.closeChildren=fCloseChildren;this.cleanChildren=fCleanChildren;this.transfer=fTransfer;this.mouseOver=fMouseOver;this.click=fClick;this.load=fLoad;this.reload=fReload;var iCurrentLevel=0;var asMenus=new Array();var abEmbedded=new Array();var aiCurrentLevel=new Array();var sLastId='';var bLastHadSub=false;var iOverTimer=0;var iOutTimer=0;var abChildLeft=new Array();var asChildren=new Array();var iOutTimer;function Menu(sType,sData,sTopArrow,sTopDivider,sTopBGImage,sTopIcon,sChildArrow,sChildDivider,sChildBGImage,sChildIcon,sTop,sLeft){this.type=sType;this.data=sData;this.topArrow=sTopArrow;this.topDivider=sTopDivider;this.topBGImage=sTopBGImage;this.topIcon=sTopIcon;this.childArrow=sChildArrow;this.childDivider=sChildDivider;this.childBGImage=sChildBGImage;this.childIcon=sChildIcon;this.top=sTop;this.left=sLeft;this.loaded=false;}function fCreateMenus(sName){if(hydra.menus[sName].loaded==false){if(hydra.menus[sName].div){hydra.menus[sName].div.style.position='relative';abEmbedded[sName]=true;}else{var elBody=document.body;hydra.menus[sName].div=document.createElement('div');elBody.appendChild(hydra.menus[sName].div);hydra.menus[sName].div.id=sName;hydra.menus[sName].div.style.position='absolute';hydra.menus[sName].div.style.visibility='hidden';abEmbedded[sName]=false;}hydra.menus[sName].div.id=sName+'0';hydra.menus[sName].div.className=sName;hydra.menus[sName].div.style.zIndex=10000;hydra.menus[sName].div.onmouseout=function(sName){if(iOutTimer){clearTimeout(iOutTimer);};iOutTimer=setTimeout('hydra.cleanChildren(\''+sName+'\', 0)',50);};hydra.menus[sName].div.onmouseover=function(){hydra.menuOver=true;};}switch(hydra.menus[sName].type){case 'tree':hydra.menus[sName].div.innerHTML=fCreateTree(sName,hydra.menus[sName].data);break;case 'crumb':hydra.menus[sName].div.innerHTML=fCreateCrumb(sName,hydra.menus[sName].data);break;case 'popdown':hydra.menus[sName].div.innerHTML=fCreatePopup(sName,hydra.menus[sName].data,0,'top');break;case 'popside':hydra.menus[sName].div.innerHTML=fCreatePopup(sName,hydra.menus[sName].data,0);break;default:break;}if(!abEmbedded[sName]){if(hydra.menus[sName].loaded){gsl.positionElement(hydra.menus[sName].div,parseFloat(hydra.menus[sName].top),parseFloat(hydra.menus[sName].left),'','',true,true);}else{gsl.positionElement(hydra.menus[sName].div,parseFloat(hydra.menus[sName].top),parseFloat(hydra.menus[sName].left),'','',true);}hydra.menus[sName].div.style.visibility='visible';}}function fLoadMenus(sName){if(sName){if(hydra.menus[sName].div){fCreateMenus(sName);}else{hydra.menus[sName].div=document.getElementById(sName);fCreateMenus(sName);}hydra.menus[sName].loaded=true}else{for(var iCounter=0;iCounter<asMenus.length;iCounter++){if(hydra.menus[asMenus[iCounter]].div){fCreateMenus(asMenus[iCounter]);}else{hydra.menus[asMenus[iCounter]].div=document.getElementById(asMenus[iCounter]);fCreateMenus(asMenus[iCounter]);}hydra.menus[asMenus[iCounter]].loaded=true}}}function fCreateTree(sName,sData){return 'Disabled';}function fCreateCrumb(sName,sData){var asItems=sData.split('^1');var sHtml='<div class="Text">';for(var iCounter=0;iCounter<asItems.length;iCounter++){var asItem=asItems[iCounter].split('~');var sClickData=asItem[0];var asButtonData=asItem[1]?asItem[1].split('|'):'';var asCustomData=asItem[2]?asItem[2].split('|'):'';sHtml+='<div '+(iCounter<asItems.length-1?'class="Out" onmouseover="gsl.swapClass(this, \'Over\');" onmouseout="gsl.swapClass(this, \'Out\');" onclick="hydra.click(\''+sClickData+'\');"':'')+'>';sHtml+='<div></div>';sHtml+='<div>';sHtml+=(asButtonData[0]?asButtonData[0]:'');sHtml+='</div>';sHtml+='</div>';if(iCounter<asItems.length-1){sHtml+='<div class="Divider">'+hydra.menus[sName].topDivider+'</div>';}}sHtml+='</div>';return sHtml;}function fCreatePopup(sName,sData,iLevel,sType){if(sData){var asItems=sData.split('^'+(iLevel+1));var sHtml='<div id="'+sName+iLevel+'Shell"><table style="width: 100%;" cellpadding="0" cellspacing="0" border="0">';if(sType=='top'){sHtml+='<tr>';}for(var iCounter=0;iCounter<asItems.length;iCounter++){if(asItems[iCounter].indexOf('^')==-1){var sSubData='';sThisItem=asItems[iCounter];}else{var sSubData=asItems[iCounter].slice(asItems[iCounter].indexOf('^')+2);sThisItem=asItems[iCounter].slice(0,asItems[iCounter].indexOf('^'));}if(sThisItem.indexOf('~')>0){var asItem=sThisItem.split('~');var sClickData=asItem[0];var asButtonData=asItem[1]?asItem[1].split('|'):'';var sBackground='';if(sType!='top'){sHtml+='<tr>';}sHtml+='<td id="'+sName+iLevel+'.'+iCounter+'Cell"'+'>';if((iLevel==0&&hydra.menus[sName].topBGImage)||(iLevel>0&&hydra.menus[sName].childBGImage)){sBackground=(iLevel==0?hydra.menus[sName].topBGImage:hydra.menus[sName].childBGImage);}sHtml+='<table id="'+sName+iLevel+'.'+iCounter+'" class="Out" width="100%" style="'+(sBackground?' background-image: url('+sBackground+');':'')+'" onmouseover="hydra.mouseOver(\''+(iLevel+'.'+iCounter)+'\', \''+sName+'\', \''+sSubData+'\', '+iLevel+');" onmouseout="this.className=\'Out\';hydra.menuOpen = false;" onclick="hydra.click(\''+sClickData+'\');" cellpadding="0" cellspacing="0" border="0">';sHtml+='<tr>';if(asButtonData[2]||(iLevel==0&&hydra.menus[sName].topIcon)||(iLevel>0&&hydra.menus[sName].childIcon)){sHtml+='<td class="Icon"><img src="'+(asButtonData[2]?asButtonData[2]:(iLevel==0?hydra.menus[sName].topIcon:hydra.menus[sName].childIcon))+'" alt="" /></td>';}if(asButtonData[0]){sHtml+='<td class="Text" style="width:100%">'+asButtonData[0]+'</td>';}if(sSubData&&((iLevel==0&&hydra.menus[sName].topArrow)||(iLevel>0&&hydra.menus[sName].childArrow))){sHtml+='<td class="Arrow">'+(iLevel==0?hydra.menus[sName].topArrow:hydra.menus[sName].childArrow)+'</td>';}sHtml+='</tr>';sHtml+='</table>';sHtml+='</td>'+(sType!='top'?'</tr>':'');}else{sHtml+='<tr><td onmouseover="hydra.mouseOver(\''+(iLevel+'.'+iCounter)+'\', \''+sName+'\', \'\', '+iLevel+');" style="color: #ffffff;">'+sThisItem+'</td></tr>';}if(iCounter<asItems.length-1&&((iLevel==0&&hydra.menus[sName].topDivider)||(iLevel>0&&hydra.menus[sName].childDivider))){sHtml+=(sType!='top'?'<tr>':'')+'<td class="Divider" onmouseover="hydra.menuOpen = true;" onmouseout="hydra.menuOpen = false;">';sHtml+=(iLevel==0?hydra.menus[sName].topDivider:hydra.menus[sName].childDivider);sHtml+='</td>'+(sType!='top'?'</tr>':'');}}if(sType=='top'){sHtml+='<td width="100%"></td></tr>';}sHtml+='</div></table>';}else{sHtml='No data.';}return sHtml;}function fCleanChildren(sName,iCurrentLevel){if(!hydra.menuOpen){if(iOutTimer){clearTimeout(iOutTimer);}iOutTimer=setTimeout('hydra.closeChildren(\''+sName+'\', '+(iCurrentLevel+1)+')',hydra.outDelay);}}function fCreateChild(sParentId,sName,sData,iLevel){fCloseChildren(sName,iLevel);asOpenItems[iLevel-1]=sName+sParentId;var elParent=document.getElementById(sName+(iLevel-1));var elBody=document.body;var elDiv=document.createElement('div');elBody.appendChild(elDiv);elDiv.id=sName+iLevel;elDiv.style.position='absolute';elDiv.className=sName+'Child';elDiv.style.zIndex=10000+iLevel;elDiv.onmouseout=function(sName){if(iOutTimer){clearTimeout(iOutTimer);}iOutTimer=setTimeout('hydra.cleanChildren(\''+sName+'\', 0)',50);hydra.menuOpen=false;};elDiv.onmouseover=function(){hydra.menuOver=true;hydra.menuOpen=true;};elDiv.style.visibility='hidden';abEmbedded[sName]=false;asChildren[iLevel]=sName;asOpenItems[iLevel]=sParentId;elDiv.innerHTML=fCreatePopup(sName,sData,iLevel);gsl.hideSelects();fPositionChild(sParentId,iLevel,sName,elParent,elDiv);elDiv.style.visibility='visible';if(iLevel==1){var elTableOut=document.getElementById(asHighlights[iLevel-1]);if(elTableOut){elTableOut.className='Over';}}if(iLevel>1){elParent.style.filter=hydra.childFilter;}}function fCloseChildren(sName,iLevel){var elBody=document.body;if(!iLevel)iLevel=1;for(var iCounter=asChildren.length;iCounter>iLevel-1;iCounter--){var elParent=document.getElementById(sName+(iLevel-1));var elDiv=document.getElementById(asChildren[iCounter]+iCounter);if(elDiv){asChildren[iCounter]='';elBody.removeChild(elDiv);if(iLevel==1){var elTableOut=document.getElementById(asHighlights[iLevel-1]);if(elTableOut){elTableOut.className='Out';}}if(iLevel>1){}}}if(iLevel==1)gsl.showSelects();}function fPositionChild(sParentId,iLevel,sName,elParent,elChild){var iLeftOffset=elParent.parentNode.parentNode.offsetLeft;var iTopOffset=0;if(elParent.parentNode&&elParent.parentNode.offsetTop){iTopOffset=iTopOffset+elParent.parentNode.offsetTop;}if(elParent.parentNode.parentNode&&elParent.parentNode.parentNode.offsetTop){iTopOffset=iTopOffset+elParent.parentNode.parentNode.offsetTop;}if(elParent.parentNode.parentNode.parentNode&&elParent.parentNode.parentNode.parentNode.offsetTop){iTopOffset=iTopOffset+elParent.parentNode.parentNode.parentNode.offsetTop;}var iTop,iLeft;var elCell=document.getElementById(sName+sParentId+'Cell');var elShell=document.getElementById(sName+iLevel+'Shell');var iHeightLeft=gsl.documentHeight-elParent.offsetTop-elCell.offsetTop-10;if(iHeightLeft<elChild.offsetHeight&&hydra.useScrollBars){elShell.style.width=elChild.offsetWidth+'px';elChild.style.overflow='auto';elChild.style.width=(elChild.offsetWidth+19)+'px';elChild.style.height=iHeightLeft+'px';}else{elShell.style.overflow='visible';}if(!abChildLeft[iLevel-1]){if(iLevel==1&&hydra.menus[sName].type=='popdown'){var iWidthLeft=gsl.documentWidth-elParent.offsetLeft-elCell.offsetLeft-10;}else{var iWidthLeft=gsl.documentWidth-elParent.offsetLeft-elParent.offsetWidth-10;}}else{var iWidthLeft=elParent.offsetLeft-10;}var elError=document.getElementById('Test');if(iWidthLeft>elChild.offsetWidth){abChildLeft[iLevel]=abChildLeft[iLevel-1];}else{abChildLeft[iLevel]=!abChildLeft[iLevel-1];}if(!abChildLeft[iLevel]){if(iLevel==1&&hydra.menus[sName].type=='popdown'){iTop=elParent.offsetTop+elParent.offsetHeight;iLeft=elParent.offsetLeft+elCell.offsetLeft;}else{iTop=elParent.offsetTop+elCell.offsetTop;iLeft=elParent.offsetLeft+elParent.offsetWidth;}}else{if(iLevel==1&&hydra.menus[sName].type=='popdown'){iTop=elParent.offsetTop+elParent.offsetHeight;iLeft=elParent.offsetLeft+elCell.offsetLeft+elCell.offsetWidth-elChild.offsetWidth;}else{iTop=elParent.offsetTop+elCell.offsetTop;iLeft=elParent.offsetLeft-elChild.offsetWidth-1;}}if(iHeightLeft<elChild.offsetHeight&&iLevel>1&&!hydra.useScrollBars){iTop=gsl.documentHeight-elChild.offsetHeight;if(iTop<0)iTop=0;}gsl.positionElement(elChild,iTop+(hydra.standards?iTopOffset:0),iLeft+(hydra.standards?iLeftOffset:0),'',true);}var asOpenItems=new Array();var asHighlights=new Array();var sItemOut='';function fTransfer(sItemOver,sName,sData,iLevel){if(iCurrentLevel<iLevel){var elTableOver=document.getElementById(asOpenItems[iCurrentLevel]);if(elTableOver){var elTableOut=document.getElementById(asHighlights[iCurrentLevel]);if(elTableOut){elTableOut.className='Out';}elTableOver.className='Over';}}if(iCurrentLevel>iLevel){for(var iCounter=9;iCounter>iLevel;iCounter--){var elTableOut=document.getElementById(asHighlights[iCounter]);if(elTableOut){asHighlights[iCounter]='';elTableOut.className='Out';}}}iCurrentLevel=iLevel;var elTableOver=document.getElementById(sName+sItemOver);if(asHighlights[iLevel]){var elTableOut=document.getElementById(asHighlights[iLevel]);if(elTableOut){elTableOut.className='Out';}}if(elTableOver){elTableOver.className='Over';asHighlights[iLevel]=sName+sItemOver;}clearTimeout(iOverTimer);if(sData){iOverTimer=setTimeout('hydra.createChild(\''+sItemOver+'\', \''+sName+'\', \''+sData+'\', '+(iLevel+1)+')',hydra.overDelay);}else{if(iOutTimer){clearTimeout(iOutTimer);}iOutTimer=setTimeout('hydra.closeChildren(\''+sName+'\', '+(iLevel+1)+')',hydra.outDelay);}}function fMouseOver(sItemOver,sName,sData,iLevel){if(iOutTimer){clearTimeout(iOutTimer);}hydra.transfer(sItemOver,sName,sData,iLevel);}function fClick(sData){var asData=sData.split('|');switch(asData[0].toLowerCase()){case 'j':if(asData[1]){eval(asData[1]);}break;case 'w':var elDocument=document.body;var elFrame=document.createElement('iframe');elDocument.appendChild(elFrame);elFrame.id='elWIFrame';elFrame.name='elWIFrame';elFrame.style.width='400px';elFrame.style.height='200px';elFrame.style.border='1px solid #ff0000';parent.elWIFrame.location.href='launch.asp?NFuse_application='+asData[1]+'&NFuse_AppFriendlyNameURLEncoded='+asData[2];break;default:if(asData.length>1){var sTarget=asData[1].toLowerCase();switch(sTarget){case '_blank':gsl.openWindow(asData[0],'_blank','');break;case '_parent':parent.location.href=asData[0];break;case '_self':window.location.href=asData[0];break;case '_top':top.location.href=asData[0];break;default:parent.frames[asData[1]].location.href=fHNSBuildURL(parent.frames[asData[1]].location.toString(),asData[0]);break;}}else{window.location.href=asData[0];}break;}}function fHNSBuildURL(sPrefix,sSuffix){sPrefix=sPrefix.lastIndexOf('/')<sPrefix.lastIndexOf('.')||sPrefix.lastIndexOf('/')!=sPrefix.length?sPrefix.slice(0,sPrefix.lastIndexOf('/')):sPrefix;while(sSuffix.indexOf('../')!=-1){sPrefix=sPrefix.slice(0,sPrefix.lastIndexOf('/'));sSuffix=sSuffix.slice(sSuffix.indexOf('../')+3);}var sResult=(sPrefix.indexOf('/'+'/')==-1?'http:/'+'/':(sPrefix.indexOf('http:/'+'/')==-1&&sPrefix.indexOf('https:/'+'/')==-1?'http:':''))+sPrefix+(sSuffix.indexOf('/')!=0?'/':'')+sSuffix;return sResult;}function fLoad(sName){fLoadMenus(sName);}function fReload(sName){fLoadMenus(sName);}}var hydra=new CreateHydra();