/*	sIFR 2.0.2
	Copyright 2004 - 2006 Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben

	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

var hasFlash = function()
{
   var a = 6;
   if(navigator.appVersion.indexOf("MSIE") != -1 && navigator.appVersion.indexOf("Windows") > -1)
   {
      document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & '+a+'))) \n</script\> \n');
      if(window.hasFlash != null) return window.hasFlash
   }
   if(navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)
   {
      var b = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description;
      return parseInt(b.charAt(b.indexOf(".") - 1)) >= a
   } return false
}();

String.prototype.normalize = function()
{
   return this.replace(/\s+/g," ")
};

if(Array.prototype.push == null)
{
   Array.prototype.push = function()
   {
      var i = 0, a = this.length, b = arguments.length;
      while (i < b)
      {
         this[a++]=arguments[i++]
      }
      return this.length
   }
}


if (!Function.prototype.apply)
{
   Function.prototype.apply = function(a,b)
   {
      var c=[];
      var d,e;
      if (!a) a = window;
      if (!b) b = [];
      for (var i = 0; i < b.length; i++)
      {
         c[i] = "b["+i+"]"
      }
      e = "a.__applyTemp__("+c.join(",")+");";
      a.__applyTemp__ = this;
      d = eval(e);
      a.__applyTemp__ = null;
      return d
   }
}

function named(a)
{
   return new named.Arguments(a)
}
named.Arguments = function(a)
{
   this.oArgs = a
};
named.Arguments.prototype.constructor = named.Arguments;
named.extract = function(a,b)
{
   var c,d;
   var i = a.length;
   while (i--)
   {
      d = a[i];
      if (d != null && d.constructor != null && d.constructor == named.Arguments)
      {
         c = a[i].oArgs;
         break
      }
   }
   if (c == null) return;
   for (e in c) if (b[e] != null) b[e](c[e]);
   return
};

var parseSelector = function ()
{
   var a = /^([^#.>`]*)(#|\.|\>|\`)(.+)$/;
   function r(s,t)
   {
      var u = s.split(/\s*\,\s*/);
      var v = [];
      for (var i = 0; i < u.length; i++) v = v.concat(b(u[i],t));
      return v
   }
   function b(c,d,e)
   {
      c = c.normalize().replace(" ","`");
      var f = c.match(a);
      var g,h,i,j,k,n;
      var l = [];
      if (f == null) f = [c,c];
      if (f[1] == "") f[1] = "*";
      if (e==null) e = "`";
      if (d==null) d = document;
      switch (f[2])
      {
         case "#":
            k = f[3].match(a);
            if(k == null) k = [null,f[3]];
            g = document.getElementById(k[1]);
            if (g == null || (f[1] != "*" && !o(g,f[1]))) return l;
            if (k.length == 2)
            {
               l.push(g);
               return l
            }
            return b(k[3],g,k[2]);

         case ".":
            if (e != ">") h = m(d,f[1]);
            else h = d.childNodes;
            for (i = 0, n = h.length; i < n; i++)
            {
               g = h[i];
               if (g.nodeType != 1) continue;
               k = f[3].match(a);
               if (k != null)
               {
                  if (g.className == null || g.className.match("(\\s|^)"+k[1]+"(\\s|$)") == null) continue;
                  j = b(k[3],g,k[2]);
                  l = l.concat(j)
               }
               else if (g.className != null && g.className.match("(\\s|^)"+f[3]+"(\\s|$)") != null) l.push(g)
            }
            return l;

         case ">":
            if (e != ">") h = m(d,f[1]);
            else h = d.childNodes;
            for (i = 0, n = h.length; i < n; i++)
            {
               g = h[i];
               if (g.nodeType != 1) continue;
               if (!o(g,f[1])) continue;
               j = b(f[3],g,">");
               l = l.concat(j)
            }
            return l;

         case "`":
            h = m(d,f[1]);
            for (i = 0, n = h.length; i < n; i++)
            {
               g = h[i];
               j = b(f[3],g,"`");
               l = l.concat(j)
            }
            return l;

         default:
            if (e != ">") h = m(d,f[1]);
            else h = d.childNodes;
            for (i = 0, n = h.length; i < n; i++)
            {
               g = h[i];
               if (g.nodeType != 1) continue;
               if (!o(g,f[1])) continue;
               l.push(g)
            }
            return l
      }
   }

   function m(d,o)
   {
      if (o == "*" && d.all != null) return d.all;
      return d.getElementsByTagName(o)
   }

   function o(p,q)
   {
      return q == "*" ? true:p.nodeName.toLowerCase().replace("html:", "") == q.toLowerCase()
   }

   return r
}();


var sIFR = function()
{
   var a = "http://www.w3.org/1999/xhtml";
   var b = false;
   var c = false;
   var d;
   var ah = [];
   var al = document;
   var ak = al.documentElement;
   var am = window;
   var au = al.addEventListener;
   var av = am.addEventListener;
   var f = function()
   {
      var g = navigator.userAgent.toLowerCase();
      var f = {a:g.indexOf("applewebkit") >- 1, b:g.indexOf("safari") >- 1, c:navigator.product != null && navigator.product.toLowerCase().indexOf("konqueror") >- 1, d:g.indexOf("opera") >- 1, e:al.contentType != null && al.contentType.indexOf("xml") >- 1, f:true, g:true, h:null, i:null, j:null, k:null};
      f.l = f.a || f.c;
      f.m = !f.a && navigator.product != null && navigator.product.toLowerCase() == "gecko";
      if (f.m && g.match(/.*gecko\/(\d{8}).*/)) f.j = new Number(g.match(/.*gecko\/(\d{8}).*/)[1]);
      f.n = g.indexOf("msie") >- 1 && !f.d && !f.l && !f.m;
      f.o = f.n && g.match(/.*mac.*/) != null;
      if (f.d && g.match(/.*opera(\s|\/)(\d+\.\d+)/)) f.i = new Number(g.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]);
      if (f.n || (f.d && f.i<7.6)) f.g = false;
      if (f.a && g.match(/.*applewebkit\/(\d+).*/)) f.k=new Number(g.match(/.*applewebkit\/(\d+).*/)[1]);
      if (am.hasFlash && (!f.n || f.o))
      {
         var aj = (navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description;
         f.h = parseInt(aj.charAt(aj.indexOf(".")-1))
      }
      if (g.match(/.*(windows|mac).*/) == null || f.o || f.c || (f.d && (g.match(/.*mac.*/) != null || f.i < 7.6)) || (f.b && f.h < 7) || (!f.b && f.a && f.k < 312) || (f.m && f.j < 20020523)) f.f = false;
      if (!f.o && !f.m && al.createElementNS) try{al.createElementNS(a, "i").innerHTML = ""
   }
   catch(e)
   {
      f.e = true
   }
   f.p = f.c || (f.a && f.k < 312);
   return f
}();

function at()
{
   return { bIsWebKit:f.a, bIsSafari:f.b, bIsKonq:f.c, bIsOpera:f.d, bIsXML:f.e, bHasTransparencySupport:f.f, bUseDOM:f.g, nFlashVersion:f.h, nOperaVersion:f.i, nGeckoBuildDate:f.j, nWebKitVersion:f.k, bIsKHTML:f.l, bIsGecko:f.m, bIsIE:f.n, bIsIEMac:f.o, bUseInnerHTMLHack:f.p }
}

if (am.hasFlash == false || !al.getElementsByTagName || !al.getElementById || (f.e && (f.p || f.n))) return {UA:at()};

function af(e)
{
   if((!k.bAutoInit && (am.event || e) != null) || !l(e)) return;
   b = true;
   for (var i = 0, h = ah.length; i < h; i++) j.apply(null, ah[i]); ah=[]
}

var k = af;

function l(e)
{
   if (c == false || k.bIsDisabled == true || ((f.e && f.m || f.l) && e == null && b == false) || (al.body == null || al.getElementsByTagName("body").length == 0)) return false;
   return true
}

function m(n)
{
   if (f.n) return n.replace(new RegExp("%\d{0}","g"), "%25");
   return n.replace(new RegExp("%(?!\d)","g"), "%25")
}

function as(p,q)
{
   return q == "*" ? true:p.nodeName.toLowerCase().replace("html:", "") == q.toLowerCase()
}

function o(p,q,r,s,t)
{
   var u = "";
   var v = p.firstChild;
   var w,x,y,z;
   if (s == null) s = 0;
   if (t == null) t = "";
   while (v)
   {
      if (v.nodeType == 3)
      {
         z = v.nodeValue.replace("<", "&lt;");
         switch(r)
         {
            case "lower":
               u += z.toLowerCase();
               break;

            case "upper":
               u += z.toUpperCase();
               break;

            default:
               u += z
         }
      }
      else if (v.nodeType == 1)
      {
         if (as(v, "a") && !v.getAttribute("href") == false)
         {
            if(v.getAttribute("target")) t += "&sifr_url_"+s+"_target="+v.getAttribute("target");
            t += "&sifr_url_"+s+"="+m(v.getAttribute("href")).replace(/&/g,"%26");
            u += '<a href="asfunction:_root.launchURL,'+s+'">';
            s++
         }
         else if (as(v, "br")) u += "<br/>";

         if (v.hasChildNodes())
         {
            y = o(v,null,r,s,t);
            u += y.u;
            s = y.s;
            t = y.t
         }

         if (as(v, "a")) u += "</a>"
      }

      w = v;
      v = v.nextSibling;
      if (q != null)
      {
         x = w.parentNode.removeChild(w);
         q.appendChild(x)
      }
   }

   return {"u":u,"s":s,"t":t}
}

function A(B)
{
   if (al.createElementNS && f.g) return al.createElementNS(a,B);
   return al.createElement(B)
}

function C(D,E,z)
{
   var p = A("param");
   p.setAttribute("name", E);
   p.setAttribute("value", z);
   D.appendChild(p)
}

function F(p,G)
{
   var H = p.className;
   if (H == null) H = G;
   else H = H.normalize() + (H == ""?"":" ")+G;p.className=H
}

function aq(ar)
{
   var a = ak;
   if(k.bHideBrowserText == false)
   a = al.getElementsByTagName("body")[0];
   if ((k.bHideBrowserText == false || ar) && a) if (a.className == null || a.className.match(/\bsIFR\-hasFlash\b/) == null) F(a, "sIFR-hasFlash")
}

function j(I,J,K,L,M,N,O,P,Q,R,S,r,T)
{
   if (!l()) return ah.push(arguments);
   aq();
   named.extract(arguments, {sSelector:function(ap) {I = ap}, sFlashSrc:function(ap) {J = ap}, sColor:function(ap){K = ap}, sLinkColor:function(ap){L = ap}, sHoverColor:function(ap){M = ap}, sBgColor:function(ap){N = ap}, nPaddingTop:function(ap){O = ap},nPaddingRight:function(ap){P = ap},nPaddingBottom:function(ap){Q = ap}, nPaddingLeft:function(ap){R = ap}, sFlashVars:function(ap){S = ap}, sCase:function(ap){r = ap}, sWmode:function(ap){T = ap}});

   var U = parseSelector(I);
   if (U.length == 0) return false;
   if (S != null) S = "&"+S.normalize();
   else S = "";
   if (K != null) S += "&textcolor="+K;
   if (M != null) S += "&hovercolor="+M;
   if (M != null || L != null) S += "&linkcolor="+(L || K);
   if (O == null) O = 0;
   if (P == null) P = 0;
   if (Q == null) Q = 0;
   if (R == null) R = 0;
   if (N == null) N = "#FFFFFF";
   if (T == "transparent") if(!f.f) T = "opaque";
   else N = "transparent";
   if (T == null) T = "";
   var p,V,W,X,Y,Z,aa,ab,ac;
   var ad = null;
   for ( var i = 0, h = U.length; i < h; i++)
   {
      p = U[i];
      if (p.className != null && p.className.match(/\bsIFR\-replaced\b/)!=null) continue;
      V = p.offsetWidth-R-P;
      W = p.offsetHeight-O-Q;
      aa = A("span");
      aa.className = "sIFR-alternate";
      ac = o(p,aa,r);
      Z = "txt="+m(ac.u).replace(/\+/g,"%2B").replace(/&/g,"%26").replace(/\"/g, "%22").normalize() + S + "&w=" + V + "&h=" + W + ac.t;
      F(p,"sIFR-replaced");
      if (ad == null || !f.g)
      {
         if (!f.g)
         {
            if(!f.n) p.innerHTML = ['<embed class="sIFR-flash" type="application/x-shockwave-flash" src="',J,'" quality="best" wmode="',T,'" bgcolor="',N,'" flashvars="',Z,'" width="',V,'" height="',W,'" sifr="true"></embed>'].join("");
            else p.innerHTML = ['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" sifr="true" width="',V,'" height="',W,'" class="sIFR-flash"><param name="movie" value="',J,"?",Z,'"></param><param name="quality" value="best"></param><param name="wmode" value="',T,'"></param><param name="bgcolor" value="',N,'"></param> </object>'].join('')
         }
         else
         {
            if (f.d)
            {
               ab = A("object");
               ab.setAttribute("data",J);
               C(ab, "quality", "best");
               C(ab, "wmode", "transparent");
               C(ab, "bgcolor", N)
            }
            else
            {
               ab = A("embed");
               ab.setAttribute("src", J);
               ab.setAttribute("quality", "best");
               ab.setAttribute("flashvars", Z);
               ab.setAttribute("wmode", "transparent");
               ab.setAttribute("bgcolor", N)
            }
            ab.setAttribute("sifr","true");
            ab.setAttribute("type","application/x-shockwave-flash");
            ab.className = "sIFR-flash";
            if (!f.l || !f.e) ad = ab.cloneNode(true)
         }
      }
      else ab = ad.cloneNode(true);

      if (f.g)
      {
         if(f.d) C(ab, "flashvars", Z);
         else ab.setAttribute("flashvars", Z);
         ab.setAttribute("width", V);
         ab.setAttribute("height", W);
         ab.style.width = V + "px";
         ab.style.height = W + "px";
         p.appendChild(ab)
      }

      p.appendChild(aa);
      if (f.p) p.innerHTML += ""
   }

   if (f.n && k.bFixFragIdBug) setTimeout(function(){al.title=d}, 0)
}

function ai()
{
   d = al.title
}

function ae()
{
   if (k.bIsDisabled == true) return;
   c = true;
   if (k.bHideBrowserText) aq(true);
   if (am.attachEvent) am.attachEvent("onload", af);
   else if (!f.c && (al.addEventListener || am.addEventListener))
   {
      if (f.a && f.k >= 132 && am.addEventListener) am.addEventListener("load", function(){setTimeout("sIFR({})",1)},false);
      else
      {
         if(al.addEventListener) al.addEventListener("load", af, false);
         if(am.addEventListener) am.addEventListener("load",af,false)
      }
   }
   else if (typeof am.onload == "function")
   {
      var ag = am.onload;
      am.onload = function()
      {
         ag();
         af()
      }
   }
   else am.onload = af;

   if (!f.n || am.location.hash == "") k.bFixFragIdBug = false; else ai()
}

k.UA = at();
k.bAutoInit = true;
k.bFixFragIdBug = true;
k.replaceElement = j;
k.updateDocumentTitle = ai;
k.appendToClassName = F;
k.setup = ae;
k.debug = function()
{
   aq(true)
};
k.debug.replaceNow = function()
{
   ae();
   k()};
   k.bIsDisabled = false;
   k.bHideBrowserText = true;
   return k
}();

if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac){
	sIFR.setup();
};

sIFR.replaceElement(named({sSelector:"h1,h2",sFlashSrc:"ifr/aquaduct.swf",sColor:"#000000",sCase:"upper"}));
