/*
 * RapidWeaver 3.5.0 theme functions.
 * Script Version 2.1
 * Updated 26 May 2006.
 */

      /************************************************ Ultimate Fade-In Slideshow (v1.51) Dynamic Drive (http://www.dynamicdrive.com)* This notice MUST stay intact for legal use* Visit http://www.dynamicdrive.com/ for this script and 100s more.***********************************************/ var fadeimages=new Array()//SET IMAGE PATHS. Extend or contract array as neededfadeimages[0]=["http://02e0def.netsolhost.com/header-images/lifenet-top-1.jpg", "", ""] //plain image syntaxfadeimages[1]=["http://02e0def.netsolhost.com/header-images/lifenet-top-3.jpg", "", ""]fadeimages[2]=["http://02e0def.netsolhost.com/header-images/lifenet-top-4.jpg", "", ""]fadeimages[3]=["http://02e0def.netsolhost.com/header-images/lifenet-top-5.jpg", "", ""]fadeimages[4]=["http://02e0def.netsolhost.com/header-images/lifenet-top-7.jpg", "", ""]fadeimages[5]=["http://02e0def.netsolhost.com/header-images/lifenet-top-8.jpg", "", ""] var fadebgcolor="white"////NO need to edit beyond here///////////// var fadearray=new Array() //array to cache fadeshow instancesvar fadeclear=new Array() //array to cache corresponding clearinterval pointers var dom=(document.getElementById) //modern dom browsersvar iebrowser=document.all function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder){this.pausecheck=pausethis.mouseovercheck=0this.delay=delaythis.degree=10 //initial opacity degree (10%)this.curimageindex=0this.nextimageindex=1fadearray[fadearray.length]=thisthis.slideshowid=fadearray.length-1this.canvasbase="canvas"+this.slideshowidthis.curcanvas=this.canvasbase+"_0"if (typeof displayorder!="undefined")theimages.sort(function() {return 0.5 - Math.random();}) //thanks to Mike (aka Mwinter) :)this.theimages=theimagesthis.imageborder=parseInt(borderwidth)this.postimages=new Array() //preload imagesfor (p=0;p<theimages.length;p++){this.postimages[p]=new Image()this.postimages[p].src=theimages[p][0]} var fadewidth=fadewidth+this.imageborder*2var fadeheight=fadeheight+this.imageborder*2 if (iebrowser&&dom||dom) //if IE5+ or modern browsers (ie: Firefox)document.write('<div id="master'+this.slideshowid+'" style="position:relative;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div></div>')elsedocument.write('<div><img name="defaultslide'+this.slideshowid+'" src="'+this.postimages[0].src+'"></div>') if (iebrowser&&dom||dom) //if IE5+ or modern browsers such as Firefoxthis.startit()else{this.curimageindex++setInterval("fadearray["+this.slideshowid+"].rotateimage()", this.delay)}}function fadepic(obj){if (obj.degree<100){obj.degree+=10if (obj.tempobj.filters&&obj.tempobj.filters[0]){if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+obj.tempobj.filters[0].opacity=obj.degreeelse //else if IE5.5-obj.tempobj.style.filter="alpha(opacity="+obj.degree+")"}else if (obj.tempobj.style.MozOpacity)obj.tempobj.style.MozOpacity=obj.degree/101else if (obj.tempobj.style.KhtmlOpacity)obj.tempobj.style.KhtmlOpacity=obj.degree/100else if (obj.tempobj.style.opacity&&!obj.tempobj.filters)obj.tempobj.style.opacity=obj.degree/101}else{clearInterval(fadeclear[obj.slideshowid])obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase+"_0" : obj.canvasbase+"_1"obj.tempobj=iebrowser? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas)obj.populateslide(obj.tempobj, obj.nextimageindex)obj.nextimageindex=(obj.nextimageindex<obj.postimages.length-1)? obj.nextimageindex+1 : 0setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay)}} fadeshow.prototype.populateslide=function(picobj, picindex){var slideHTML=""if (this.theimages[picindex][1]!="") //if associated link exists for imageslideHTML='<a href="'+this.theimages[picindex][1]+'" target="'+this.theimages[picindex][2]+'">'slideHTML+='<img src="'+this.postimages[picindex].src+'" border="'+this.imageborder+'px">'if (this.theimages[picindex][1]!="") //if associated link exists for imageslideHTML+='</a>'picobj.innerHTML=slideHTML}  fadeshow.prototype.rotateimage=function(){if (this.pausecheck==1) //if pause onMouseover enabled, cache objectvar cacheobj=thisif (this.mouseovercheck==1)setTimeout(function(){cacheobj.rotateimage()}, 100)else if (iebrowser&&dom||dom){this.resetit()var crossobj=this.tempobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)crossobj.style.zIndex++fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid+"])",50)this.curcanvas=(this.curcanvas==this.canvasbase+"_0")? this.canvasbase+"_1" : this.canvasbase+"_0"}else{var ns4imgobj=document.images['defaultslide'+this.slideshowid]ns4imgobj.src=this.postimages[this.curimageindex].src}this.curimageindex=(this.curimageindex<this.postimages.length-1)? this.curimageindex+1 : 0} fadeshow.prototype.resetit=function(){this.degree=10var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)if (crossobj.filters&&crossobj.filters[0]){if (typeof crossobj.filters[0].opacity=="number") //if IE6+crossobj.filters(0).opacity=this.degreeelse //else if IE5.5-crossobj.style.filter="alpha(opacity="+this.degree+")"}else if (crossobj.style.MozOpacity)crossobj.style.MozOpacity=this.degree/101else if (crossobj.style.KhtmlOpacity)crossobj.style.KhtmlOpacity=this.degree/100else if (crossobj.style.opacity&&!crossobj.filters)crossobj.style.opacity=this.degree/101}  fadeshow.prototype.startit=function(){var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)this.populateslide(crossobj, this.curimageindex)if (this.pausecheck==1){ //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVERvar cacheobj=thisvar crossobjcontainer=iebrowser? iebrowser["master"+this.slideshowid] : document.getElementById("master"+this.slideshowid)crossobjcontainer.onmouseover=function(){cacheobj.mouseovercheck=1}crossobjcontainer.onmouseout=function(){cacheobj.mouseovercheck=0}}this.rotateimage()}/*******END OF DYNAMIC DRIVE SCRIPT*//*
 * Function to generate "open in new window" link as W3C compliant
 */

function externalLinks() {
if (!document.getElementsByTagName) return; 
var anchors = document.getElementsByTagName("a"); 
for (var i=0; i<anchors.length; i++) { 
var anchor = anchors[i]; 
if (anchor.getAttribute("href") && 
anchor.getAttribute("rel") == "external") 
anchor.target = "_blank";
} 
} 
window.onload = externalLinks;




/*
 * Functions to generate OBJECT and EMBED tags for Flash content.
 * Resource: http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 */

if(typeof deconcept == "undefined") var deconcept = new Object();
if(typeof deconcept.util == "undefined") deconcept.util = new Object();
if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = new Object();
deconcept.SWFObject = function(swf, id, w, h, ver, c, useExpressInstall, quality, xiRedirectUrl, redirectUrl, detectKey){
      if (!document.createElement || !document.getElementById) { return; }
      this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
      this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
      this.params = new Object();
      this.variables = new Object();
      this.attributes = new Array();
      if(swf) { this.setAttribute('swf', swf); }
      if(id) { this.setAttribute('id', id); }
      if(w) { this.setAttribute('width', w); }
      if(h) { this.setAttribute('height', h); }
      if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); }
      this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute('version'), useExpressInstall);
      if(c) { this.addParam('bgcolor', c); }
      var q = quality ? quality : 'high';
      this.addParam('quality', q);
      this.setAttribute('useExpressInstall', useExpressInstall);
      this.setAttribute('doExpressInstall', false);
      var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
      this.setAttribute('xiRedirectUrl', xir);
      this.setAttribute('redirectUrl', '');
      if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); }
}
deconcept.SWFObject.prototype = {
      setAttribute: function(name, value){
            this.attributes[name] = value;
      },
      getAttribute: function(name){
            return this.attributes[name];
      },
      addParam: function(name, value){
            this.params[name] = value;
      },
      getParams: function(){
            return this.params;
      },
      addVariable: function(name, value){
            this.variables[name] = value;
      },
      getVariable: function(name){
            return this.variables[name];
      },
      getVariables: function(){
            return this.variables;
      },
      getVariablePairs: function(){
            var variablePairs = new Array();
            var key;
            var variables = this.getVariables();
            for(key in variables){
                  variablePairs.push(key +"="+ variables[key]);
            }
            return variablePairs;
      },
      getSWFHTML: function() {
            var swfNode = "";
            if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
                  if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "PlugIn");
                  swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
                  swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
                  var params = this.getParams();
                   for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
                  var pairs = this.getVariablePairs().join("&");
                   if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
                  swfNode += '/>';
            } else { // PC IE
                  if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "ActiveX");
                  swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
                  swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
                  var params = this.getParams();
                  for(var key in params) {
                   swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
                  }
                  var pairs = this.getVariablePairs().join("&");
                  if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
                  swfNode += "</object>";
            }
            return swfNode;
      },
      write: function(elementId){
            if(this.getAttribute('useExpressInstall')) {
                  // check to see if we need to do an express install
                  var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]);
                  if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
                        this.setAttribute('doExpressInstall', true);
                        this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
                        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
                        this.addVariable("MMdoctitle", document.title);
                  }
            }
            if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){
                  var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
                  n.innerHTML = this.getSWFHTML();
                  return true;
            }else{
                  if(this.getAttribute('redirectUrl') != "") {
                        document.location.replace(this.getAttribute('redirectUrl'));
                  }
            }
            return false;
      }
}

/* ---- detection functions ---- */
deconcept.SWFObjectUtil.getPlayerVersion = function(reqVer, xiInstall){
      var PlayerVersion = new deconcept.PlayerVersion([0,0,0]);
      if(navigator.plugins && navigator.mimeTypes.length){
            var x = navigator.plugins["Shockwave Flash"];
            if(x && x.description) {
                  PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
            }
      }else{
            try{
                  var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                  for (var i=3; axo!=null; i++) {
                        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
                        PlayerVersion = new deconcept.PlayerVersion([i,0,0]);
                  }
            }catch(e){}
            if (reqVer && PlayerVersion.major > reqVer.major) return PlayerVersion; // version is ok, skip minor detection
            // this only does the minor rev lookup if the user's major version 
            // is not 6 or we are checking for a specific minor or revision number
            // see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
            if (!reqVer || ((reqVer.minor != 0 || reqVer.rev != 0) && PlayerVersion.major == reqVer.major) || PlayerVersion.major != 6 || xiInstall) {
                  try{
                        PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
                  }catch(e){}
            }
      }
      return PlayerVersion;
}
deconcept.PlayerVersion = function(arrVersion){
      this.major = parseInt(arrVersion[0]) != null ? parseInt(arrVersion[0]) : 0;
      this.minor = parseInt(arrVersion[1]) || 0;
      this.rev = parseInt(arrVersion[2]) || 0;
}
deconcept.PlayerVersion.prototype.versionIsValid = function(fv){
      if(this.major < fv.major) return false;
      if(this.major > fv.major) return true;
      if(this.minor < fv.minor) return false;
      if(this.minor > fv.minor) return true;
      if(this.rev < fv.rev) return false;
      return true;
}
/* ---- get value of query string param ---- */
deconcept.util = {
      getRequestParameter: function(param){
            var q = document.location.search || document.location.hash;
            if(q){
                  var startIndex = q.indexOf(param +"=");
                  var endIndex = (q.indexOf("&", startIndex) > -1) ? q.indexOf("&", startIndex) : q.length;
                  if (q.length > 1 && startIndex > -1) {
                        return q.substring(q.indexOf("=", startIndex)+1, endIndex);
                  }
            }
            return "";
      }
}
/* fix for video streaming bug */
deconcept.SWFObjectUtil.cleanupSWFs = function() {
      var objects = document.getElementsByTagName("OBJECT");
      for (var i=0; i < objects.length; i++) {
            for (var x in objects[i]) {
                  if (typeof objects[i][x] == 'function') {
                        objects[i][x] = null;
                  }
            }
      }
}
if (typeof window.onunload == 'function') {
      var oldunload = window.onunload;
            window.onunload = function() {
            deconcept.SWFObjectUtil.cleanupSWFs();
            oldunload();
      }
} else {
      window.onunload = deconcept.SWFObjectUtil.cleanupSWFs;
}
/* add Array.push if needed (ie5) */
if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}

/* add some aliases for ease of use/backwards compatibility */
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject; // for legacy support
var SWFObject = deconcept.SWFObject;





/*
 * Functions to generate OBJECT and EMBED tags for QuickTime content.
 * Resource: http://developer.apple.com/internet/ieembedfix.html
 */

/************** LOCALIZABLE GLOBAL VARIABLES ****************/

var gArgCountErr =      'The "%%" function requires an even number of arguments.'
                        +      '\nArguments should be in the form "atttributeName", "attributeValue", ...';

/******************** END LOCALIZABLE **********************/

var gTagAttrs                        = null;
var gQTGeneratorVersion            = 1.0;

function AC_QuickTimeVersion()      { return gQTGeneratorVersion; }

function _QTComplain(callingFcnName, errMsg)
{
    errMsg = errMsg.replace("%%", callingFcnName);
      alert(errMsg);
}

function _QTAddAttribute(prefix, slotName, tagName)
{
      var            value;

      value = gTagAttrs[prefix + slotName];
      if ( null == value )
            value = gTagAttrs[slotName];

      if ( null != value )
      {
            if ( 0 == slotName.indexOf(prefix) && (null == tagName) )
                  tagName = slotName.substring(prefix.length); 
            if ( null == tagName ) 
                  tagName = slotName;
            return tagName + '="' + value + '" ';
      }
      else
            return "";
}

function _QTAddObjectAttr(slotName, tagName)
{
      // don't bother if it is only for the embed tag
      if ( 0 == slotName.indexOf("emb#") )
            return "";

      if ( 0 == slotName.indexOf("obj#") && (null == tagName) )
            tagName = slotName.substring(4); 

      return _QTAddAttribute("obj#", slotName, tagName);
}

function _QTAddEmbedAttr(slotName, tagName)
{
      // don't bother if it is only for the object tag
      if ( 0 == slotName.indexOf("obj#") )
            return "";

      if ( 0 == slotName.indexOf("emb#") && (null == tagName) )
            tagName = slotName.substring(4); 

      return _QTAddAttribute("emb#", slotName, tagName);
}


function _QTAddObjectParam(slotName, generateXHTML)
{
      var            paramValue;
      var            paramStr = "";
      var            endTagChar = (generateXHTML) ? ' />' : '>';

      if ( -1 == slotName.indexOf("emb#") )
      {
            // look for the OBJECT-only param first. if there is none, look for a generic one
            paramValue = gTagAttrs["obj#" + slotName];
            if ( null == paramValue )
                  paramValue = gTagAttrs[slotName];

            if ( 0 == slotName.indexOf("obj#") )
                  slotName = slotName.substring(4); 
      
            if ( null != paramValue )
                  paramStr = '  <param name="' + slotName + '" value="' + paramValue + '"' + endTagChar + '\n';
      }

      return paramStr;
}

function _QTDeleteTagAttrs()
{
      for ( var ndx = 0; ndx < arguments.length; ndx++ )
      {
            var attrName = arguments[ndx];
            delete gTagAttrs[attrName];
            delete gTagAttrs["emb#" + attrName];
            delete gTagAttrs["obj#" + attrName];
      }
}

            

// generate an embed and object tag, return as a string
function _QTGenerate(callingFcnName, generateXHTML, args)
{
      // is the number of optional arguments even?
      if ( args.length < 4 || (0 != (args.length % 2)) )
      {
            _QTComplain(callingFcnName, gArgCountErr);
            return "";
      }
      
      // allocate an array, fill in the required attributes with fixed place params and defaults
      gTagAttrs = new Array();
      gTagAttrs["src"] = args[0];
      gTagAttrs["width"] = args[1];
      gTagAttrs["height"] = args[2];
      gTagAttrs["classid"] = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
      gTagAttrs["pluginspage"] = "http://www.apple.com/quicktime/download/";

      // set up codebase attribute with specified or default version before parsing args so
      //  anything passed in will override
      var activexVers = args[3]
      if ( (null == activexVers) || ("" == activexVers) )
            activexVers = "6,0,2,0";
      gTagAttrs["codebase"] = "http://www.apple.com/qtactivex/qtplugin.cab#version=" + activexVers;

      var      attrName,
            attrValue;

      // add all of the optional attributes to the array
      for ( var ndx = 4; ndx < args.length; ndx += 2)
      {
            attrName = args[ndx].toLowerCase();
            attrValue = args[ndx + 1];

            // "name" and "id" should have the same value, the former goes in the embed and the later goes in
            //  the object. use one array slot 
            if ( "name" == attrName || "id" == attrName )
                  gTagAttrs["name"] = attrValue;

            else 
                  gTagAttrs[attrName] = attrValue;
      }

      // init both tags with the required and "special" attributes
      var objTag =  '<object '
                              + _QTAddObjectAttr("classid")
                              + _QTAddObjectAttr("width")
                              + _QTAddObjectAttr("height")
                              + _QTAddObjectAttr("codebase")
                              + _QTAddObjectAttr("name", "id")
                              + _QTAddObjectAttr("tabindex")
                              + _QTAddObjectAttr("hspace")
                              + _QTAddObjectAttr("vspace")
                              + _QTAddObjectAttr("border")
                              + _QTAddObjectAttr("align")
                              + _QTAddObjectAttr("class")
                              + _QTAddObjectAttr("title")
                              + _QTAddObjectAttr("accesskey")
                              + _QTAddObjectAttr("noexternaldata")
                              + '>\n'
                              + _QTAddObjectParam("src", generateXHTML);
      var embedTag = '  <embed '
                              + _QTAddEmbedAttr("src")
                              + _QTAddEmbedAttr("width")
                              + _QTAddEmbedAttr("height")
                              + _QTAddEmbedAttr("pluginspage")
                              + _QTAddEmbedAttr("name")
                              + _QTAddEmbedAttr("align")
                              + _QTAddEmbedAttr("tabindex");

      // delete the attributes/params we have already added
      _QTDeleteTagAttrs("src","width","height","pluginspage","classid","codebase","name","tabindex",
                              "hspace","vspace","border","align","noexternaldata","class","title","accesskey");

      // and finally, add all of the remaining attributes to the embed and object
      for ( var attrName in gTagAttrs )
      {
            attrValue = gTagAttrs[attrName];
            if ( null != attrValue )
            {
                  embedTag += _QTAddEmbedAttr(attrName);
                  objTag += _QTAddObjectParam(attrName, generateXHTML);
            }
      } 

      // end both tags, we're done
      return objTag + embedTag + '> </em' + 'bed>\n</ob' + 'ject' + '>';
}

// return the object/embed as a string
function QT_GenerateOBJECTText()
{
      return _QTGenerate("QT_GenerateOBJECTText", false, arguments);
}

function QT_GenerateOBJECTText_XHTML()
{
      return _QTGenerate("QT_GenerateOBJECTText_XHTML", true, arguments);
}

function QT_WriteOBJECT()
{
      document.writeln(_QTGenerate("QT_WriteOBJECT", false, arguments));
}

function QT_WriteOBJECT_XHTML()
{
      document.writeln(_QTGenerate("QT_WriteOBJECT_XHTML", true, arguments));
}


