//\/////
//\ overlibmws_shadow.js - August 21, 2003 - Plug-in for overlibmws.js support of the
//\ SHADOW feature. The Change History and Command Reference for overlibmws.js can
//\ be accessed via:
//\
//\	http://www.macridesweb.com/oltest/	-- Foteos Macrides
//\
//\/////
//\ Copyright and license agreement for the standard overLIB apply.  Access license via
//\ the overLIB homepage: http://www.bosrup.com/web/overlib/
//\/////

// PRE-INIT
OLloaded=0;
registerCommands('shadow,shadowx,shadowy,shadowcolor,shadowimage,shadowopacity');

/////////
// DEFAULT CONFIGURATION
if(typeof ol_shadow=='undefined')var ol_shadow=0;
if(typeof ol_shadowx=='undefined')var ol_shadowx=5;
if(typeof ol_shadowy=='undefined')var ol_shadowy=5;
if(typeof ol_shadowcolor=='undefined')var ol_shadowcolor="666666";
if(typeof ol_shadowimage=='undefined')var ol_shadowimage="";
if(typeof ol_shadowopacity=='undefined')var ol_shadowopacity=60;
// END CONFIGURATION
////////

// INIT
var o3_shadow=0;
var o3_shadowx=5;
var o3_shadowy=5;
var o3_shadowcolor="#CCCCCC";
var o3_shadowimage="";
var o3_shadowopacity=60;
var bkdrop=null;

// For setting runtime variables to default values.
function setShadowVar(){
o3_shadow=ol_shadow;
o3_shadowx=ol_shadowx;
o3_shadowy=ol_shadowy;
o3_shadowcolor=ol_shadowcolor;
o3_shadowimage=ol_shadowimage;
o3_shadowopacity=ol_shadowopacity;
}

// For commandline parser.
function parseShadowExtras(pf,i,ar){
var k=i;
if(k<ar.length){
if(ar[k]==SHADOW){eval(pf+'shadow=('+pf+'shadow==0)?1:0');return k;}
if(ar[k]==SHADOWX){eval(pf+'shadowx='+ar[++k]);return k;}
if(ar[k]==SHADOWY){eval(pf+'shadowy='+ar[++k]);return k;}
if(ar[i]==SHADOWCOLOR){eval(pf+"shadowcolor='"+escSglQuote(ar[++k])+"'");return k;}
if(ar[i]==SHADOWIMAGE){eval(pf+"shadowimage='"+escSglQuote(ar[++k])+"'");return k;}
if(ar[i]==SHADOWOPACITY){eval(pf+'shadowopacity='+ar[++k]);return k;}
}
return -1;
}

////////
// DROPSHADOW SUPPORT FUNCTIONS
////////
function getShadowLyrRef(){
if(bkdrop||!o3_shadow)return;
bkdrop=(OLns4?o3_frame.document.layers['backdrop']:(OLie4?o3_frame.document.all['backdrop']:
	(OLns6?o3_frame.document.getElementById('backdrop'):null)));
if(typeof bkdrop=='undefined'||!bkdrop){o3_shadow=0;bkdrop=null;}
if(!o3_shadow)alert('For SHADOW support, the body of this document needs:\n'
+'<div id="backdrop" style="position:absolute; visibility:hidden;"></div>');
}

function generateShadowLyr(){
var wd=(OLns4?over.clip.width:over.offsetWidth);
var hgt=(OLns4?over.clip.height:over.offsetHeight);
if(OLns4){
bkdrop.clip.width=wd;
bkdrop.clip.height=hgt;
if(o3_shadowimage)bkdrop.background.src=o3_shadowimage;
else bkdrop.bgColor=o3_shadowcolor;
bkdrop.zIndex=over.zIndex -1;
}else{
bkdrop.style.width=wd+'px';
bkdrop.style.height=hgt+'px';
if(o3_shadowimage)bkdrop.style.backgroundImage="url("+o3_shadowimage+")";
else bkdrop.style.backgroundColor=o3_shadowcolor;
bkdrop.style.clip='rect(0px '+wd+'px '+hgt+'px 0px)';
bkdrop.style.zIndex=over.style.zIndex -1;
if(o3_shadowopacity){
var op=o3_shadowopacity;
op=(op <= 100?op:100);
if(OLie4&&!OLieM&&typeof bkdrop.style.filter=='string'){
bkdrop.style.filter='Alpha(opacity='+op+')';
bkdrop.filters.alpha.enabled=true;
}else if(typeof bkdrop.style.MozOpacity=='string')bkdrop.style.MozOpacity=op/100;
}
}
}

function cleanUpShadowEffects(){
if(OLns4){
bkdrop.bgColor=null;
bkdrop.background.src=null;
}else{
bkdrop.style.backgroundColor='transparent';
bkdrop.style.backgroundImage='none';
if(OLns6){
bkdrop.style.width=1+'px';
bkdrop.style.height=1+'px';
repositionTo(over,o3_frame.pageXOffset,o3_frame.pageYOffset);
}
}
}

////////
// PLUGIN REGISTRATIONS
////////
registerRunTimeFunction(setShadowVar);
registerCmdLineFunction(parseShadowExtras);

OLshadowPI=1;
OLloaded=1;
