//\/////
//\  coolTip Shadow Plugin
//\  This file requires coolTip 1.40 or later.
//\  Modified July 20, 2005
//\
//\  You may not remove or change this notice.
//\  Copyright Robert E Boughner 2005. All rights reserved.
//\  
//\  This plugin is governed by the same restrictions set forth
//\  in the prologue to cCore.js.
//\/////
//\  THIS IS A VERY MODIFIED VERSION. DO NOT EDIT OR PUBLISH. GET THE ORIGINAL!
if(typeof cInfo==cUdf||!cInfo.meets(1.40))alert('coolTip 1.40 or later is required for the Shadow Plugin.');else{var XSHADOW=16;registerCommands('shadow,shadowcolor,shadowimage,shadowopacity,shadowx,shadowy');
setDefaultVariables('shadow|0|shadowcolor|#CCCCCC|shadowimage||shadowopacity|0|shadowx|5|shadowy|5');if(typeof cd_shadowAdjust==cUdf)var cd_shadowAdjust=2;
var bkSet=0;
function setShadowVariables(obj){obj.shadow=cd_shadow;obj.shadowcolor=cd_shadowcolor;obj.shadowimage=cd_shadowimage;obj.shadowopacity=cd_shadowopacity;obj.shadowx=cd_shadowx;obj.shadowy=cd_shadowy;}
function parseShadowExtras(pf,i,ar){var k=i,v;if(k<ar.length){if(ar[k]==SHADOW){eval(pf+'shadow=('+pf+'shadow==0)?1:0');return k;}
if(ar[k]==SHADOWCOLOR){eval(pf+'shadowcolor="'+ar[++k]+'"');return k;}
if(ar[k]==SHADOWOPACITY){eval(pf+'shadowopacity='+ar[++k]);return k;}
if(ar[k]==SHADOWIMAGE){eval(pf+'shadowimage="'+ar[++k]+'"');return k;}
if(ar[k]==SHADOWX){eval(pf+'shadowx='+ar[++k]);return k;}
if(ar[k]==SHADOWY){eval(pf+'shadowy='+ar[++k]);return k;}}
return-1;}
function checkShadowPreHide(obj){var po=obj.pop;if(po&&po.shadow){if(po.shadowopacity)cleanUpShadowEffects(obj);if(cIe4&&isMac)obj.style.pixelWidth=obj.style.pixelHeight=0;}}
function generateShadow(content){var wd,ht,X=0,Y=0,txt,zIdx=0,skip=0,dpObj,puObj,bS='',aPos,posStr=new Array();var theDivs,hasDivClass='';with(po)  {if(shadow&&!(shadowx==0&&shadowy==0)){if((typeof CSSW3C!=cUdf&&css==CSSW3C)&&divclass){hasDivClass=divclass;divclass='';}
X=Math.abs(shadowx);Y=Math.abs(shadowy);wd=(doXml&XSHADOW&&!width)?cTip.offsetWidth:parseInt(width);ht=(cNs4)?cTip.clip.height:cTip.offsetHeight;if(shadowx==0){if(shadowy<0){posStr[0]=' left:0px;top:0px';posStr[1]=' left:0px;top:'+Y+'px';}else if(shadowy>0){posStr[0]=' left:0px;top:'+Y+'px';posStr[1]=' left:0px;top:0px';}
}else if(shadowy==0){if(shadowx <0){posStr[0]=' left:0px;top:0px';posStr[1]=' left:'+X+'px';}else if(shadowx>0){posStr[0]=' left:'+X+'px;top:0px';posStr[1]=' left:0px;top:0px';}
}else if(shadowx>0){if(shadowy>0){posStr[0]=' left:'+X+'px;top:'+Y+'px';posStr[1]=' left:0px;top:0px';}else if(shadowy<0){posStr[0]=' left:'+X+'px;top:0px';posStr[1]=' left:0px;top:'+Y+'px';}
}else if(shadowx<0){if(shadowy>0){posStr[0]=' left:0px;top:'+Y+'px';posStr[1]=' left:'+X+'px;top:0px';}else if(shadowy<0){posStr[0]=' left:0px;top:0px';posStr[1]=' left:'+X+'px;top:'+Y+'px';}}
txt=(cNs4)?'<div ID="backdrop"></div>':((cIe55&&HideForm)?backDropSource(wd+X,ht+Y,zIdx++):'')+'<div id="backdrop" style="position: absolute;'+posStr[0]+';width: '+wd+'px;height: '+ht+'px;z-index: '+(zIdx++)+';';if(shadowimage){bS='background-image: url('+shadowimage+');';if(cNs4)bkSet=1;}else{bS='background-color: '+shadowcolor+';';if(cNs4)bkSet=2;}
if(cNs4)txt+='<div ID="PUContent">'+content+'</div>';else txt+=bS+'"></div><div id="PUContent"'+(hasDivClass?' class="'+hasDivClass+'"':'')+' style="position: absolute;'+posStr[1]+';width: '+wd+'px;z-index: '+zIdx+';">'+((doXml&XSHADOW)?'':content)+'</div>';(doXml&XSHADOW)?setPluginXmlCode(txt):layerWrite(txt);if(cNs4&&bkSet){dpObj=cTip.document.layers['backdrop'];if(typeof dpObj!=cUdf){puObj=cTip.document.layers['PUContent'];wd=puObj.clip.width;ht=puObj.clip.height;aPos=posStr[0].split(';');dpObj.clip.width=wd;dpObj.clip.height=ht;dpObj.left=parseInt(aPos[0].split(':')[1]);dpObj.top=parseInt(aPos[1].split(':')[1]);dpObj.bgColor=(bkSet==1)?null:shadowcolor;dpObj.background.src=(bkSet==2)?null:shadowimage;dpObj.zIndex=0;aPos=posStr[1].split(';');puObj.left=parseInt(aPos[0].split(':')[1]);puObj.top=parseInt(aPos[1].split(':')[1]);puObj.zIndex=1;}
}else{if(cIe4)theDivs=(cTip.all.tags)?cTip.all.tags('div'):cTip.getElementsByTagName('div');else theDivs=cTip.getElementsByTagName('div');puObj=theDivs[1];dpObj=theDivs[0];ht=puObj.offsetHeight;dpObj.style.height=ht+'px';if(shadowopacity){var op=shadowopacity;op=(op<=100?op:100);setBrowserOpacity(op,dpObj);}}}}
if(!skip){po.width=wd+X;po.aboveheight=ht+Y;}}
function cleanUpShadowEffects(obj){if(!(cNs4||cOp)){var dpObj=(cIe4?cFrame.document.all['backdrop']:cFrame.document.getElementById('backdrop'));cleanUpBrowserOpacity(dpObj);}}
function setBrowserOpacity(op,lyr){if(!cNs4&&typeof op!=cUdf){lyr=(lyr||cTip);if(typeof lyr.filters!=cUdf){lyr.style.filter='Alpha(Opacity='+op+')';lyr.filters.alpha.enabled=true;}else{var sOp=(typeof(lyr.style.MozOpacity)!=cUdf)?'MozOpacity':(typeof(lyr.style.KhtmlOpacity)!=cUdf?'KhtmlOpacity':(typeof(lyr.style.opacity)!=cUdf?'opacity':''));if(sOp)eval('lyr.style.'+sOp+'=op/100');}}}
function cleanUpBrowserOpacity(lyr){if(!cNs4){lyr=(lyr||cTip);if(typeof lyr.filters!=cUdf){lyr.style.filter='Alpha(Opacity=100)';lyr.filters.alpha.enabled=false;}else{var sOp=(typeof(lyr.style.MozOpacity)!=cUdf)?'MozOpacity':(typeof(lyr.style.KhtmlOpacity)!=cUdf?'KhtmlOpacity':(typeof(lyr.style.opacity)!=cUdf?'opacity':''));if(sOp)eval('lyr.style.'+sOp+'=1.0');}}}
function shadowAdjust(){if(cNs4){var fac=cd_shadowAdjust;if(cNs4){document.write('<style type="text/css">\n<!--\n');document.write('#backdrop,#PUContent {position: absolute;left: '+fac*cd_shadowx+'px;top: '+fac*cd_shadowy+'px;}\n');document.write('-->\n<'+'\/style>');}}}
function setFunctionLast(inArr,fnRef){var nArr=new Array(),j=nArr.length;if(typeof inArr=='object'){for(var i=0;i<inArr.length;i++){if(inArr[i]==fnRef)continue;nArr[j++]=inArr[i];}
nArr[j++]=fnRef;}
return nArr;}
function setDoXml_shdw(){var po=cTip.pop;if(po.xml){po.doXml|=XSHADOW;}
return void(0);}
function cleanUpXml_shdw(obj){var po=obj.pop;if(po.doXml&&!(cNs4||cIe4)){if(po.doXml&XSHADOW)po.doXml^=XSHADOW;}
return void(0);}
registerRunTimeFunction(setShadowVariables);registerCmdLineFunction(parseShadowExtras);registerHook("hideObject",checkShadowPreHide,FBEFORE);registerHook("createPopup",generateShadow,FAFTER,(typeof anchorPreface!=cUdf?anchorPreface:null));registerHook("cleanUpXml",cleanUpXml_shdw,FCHAIN);registerHook("setDoXml",setDoXml_shdw,FCHAIN);if(!cNs4&&typeof generatePointer!=cUdf)hookPts["createPopup"].after=setFunctionLast(hookPts["createPopup"].after,generatePointer);if(cInfo.meets(1.40))registerNoParameterCommands('shadow');if(cNs4)shadowAdjust();}
