b=document;
g=false;
h=true;
v=alert;
/************************************************************\
*
\************************************************************/
function ri(elem){
    elem.className='xeamsvar';
    b.getElementById('banner').className=elem.id
}
/************************************************************\
*
\************************************************************/
function ro(elem){
    elem.className=''
}
/************************************************************\
*
\************************************************************/
function roinit(){
    if(b.getElementById('link1')){
        var arr=["link1","link2","link3","link4"];
        for(x in arr){
            b.getElementById(arr[x]).onmouseover=function(){
                ri(this);
                
            }
            ;
            b.getElementById(arr[x]).onmouseout=function(){
                ro(this);
                
            }
            
        }
        
    }
    if(typeof(extrainit)!='undefined'){
        extrainit();
        
    }
    
}
/************************************************************\
*
\************************************************************/
function formcheck(elem){
    if(elem.childNodes){
        for(var x=0; x < elem.childNodes.length; x++){
            if(elem.childNodes[x].nodeName=='INPUT'||elem.childNodes[x].nodeName=='TEXTAREA'||elem.childNodes[x].nodeName=='SELECT'){
                if(elem.childNodes[x].type=='checkbox'||elem.childNodes[x].type=='submit'||elem.childNodes[x].type=='image'){
                    return h
                }
                if(elem.childNodes[x].value==''){
                    v("You must complete all form fields");
                    return g
                }
                if(elem.childNodes[x].name=='email'){
                    if(!validateEmail(elem.childNodes[x].value)){
                        v("You must enter a valid email address");
                        return g
                    }
                    
                }
                
            }
            else{
                if(!formcheck(elem.childNodes[x])){
                    return g
                }
                
            }
            
        }
        
    }
    return h
}
/************************************************************\
*
\************************************************************/
function more_faqs(){
    b.getElementById('hidden_faqs').style.display='';
    b.getElementById('more_faqs_link').style.display='none'
}
/************************************************************\
*
\************************************************************/
function drawWaiting(text){
    var backdrop=b.createElement('div');
    backdrop.id='blackout';
    b.body.appendChild(backdrop);
    backdrop.style.height=b.body.clientHeight;
    backdrop.style.width=b.body.clientWidth;
    var dialog=b.createElement('div');
    dialog.id='dialog';
    b.body.appendChild(dialog);
    dialog.innerHTML=text
}
/************************************************************\
*
\************************************************************/
function validateEmail(strValue){
    
    return true;
    
}

b=document;
e=b.all;
f=window;
g=false;
h=true;
j=Function;
k=navigator;
l=k.userAgent;
n=top;
p=parseInt;
q=Math;
s=q.max;
u=q.min;
w=Date;
XeamsMenu.spacerGif="../../../resources/1x1spacer.gif";
XeamsMenu.dingbatOn="../../../resources/1x1spacer.gif";
XeamsMenu.dingbatOff="../../../resources/1x1spacer.gif";
XeamsMenu.dingbatSize=1;
XeamsMenu.menuPadding=1;
XeamsMenu.itemPadding=4;
XeamsMenu.shadowSize=2;
XeamsMenu.shadowOffset=3;
XeamsMenu.shadowColor="#888";
XeamsMenu.shadowPng="../../../resources/grey-40.png";
XeamsMenu.backgroundColor="white";
XeamsMenu.backgroundPng="../../../resources/white-90.png";
XeamsMenu.hideDelay=100;
XeamsMenu.slideTime=250;
XeamsMenu.reference={
    topLeft:1,topRight:2,bottomLeft:3,bottomRight:4
}
;
XeamsMenu.direction={
    down:1,right:2
}
;
XeamsMenu.registry=[];
XeamsMenu._maxZ=100;
XeamsMenu.isSupported=function(){
    var ua=k.userAgent.toLowerCase();
    var pf=k.platform.toLowerCase();
    var an=k.appName;
    var r=g;
    if(ua.indexOf("gecko") > -1 && k.productSub >= 20020605)
       r=h;
    else if(an=="Microsoft Internet Explorer"){
        if(b.getElementById){
            if(pf.indexOf("mac")==0){
                r=/msie (\d(.\d*)?)/.test(ua)&&Number(RegExp.$1)>=5.1
            }
            else r=h
        }
        
    }
    return r
}
;
XeamsMenu.initialize=function(){
    for(var i=0,menu=null;
    menu=this.registry[i];
    i++){
        menu.initialize();
        
    }
    
}
;
XeamsMenu.renderAll=function(){
    var aMenuHtml=[];
    for(var i=0,menu=null;
    menu=this.registry[i];
    i++){
        aMenuHtml[i]=menu.toString();
        
    }
    b.write(aMenuHtml.join(""));
    
}
;
/************************************************************\
*
\************************************************************/
function XeamsMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,parentMenuSet){
    this.addItem=addItem;
    this.addMenu=addMenu;
    this.toString=toString;
    this.initialize=initialize;
    this.isOpen=g;
    this.show=show;
    this.hide=hide;
    this.items=[];
    this.trigger=oActuator;
    this.onactivate=new j();
    this.ondeactivate=new j();
    this.onmouseover=new j();
    this.onqueue=new j();
    this.ondequeue=new j();
    this.index=XeamsMenu.registry.length;
    XeamsMenu.registry[this.index]=this;
    var id="XeamsMenu"+this.index;
    var contentHeight=null;
    var contentWidth=null;
    var childMenuSet=null;
    var animating=g;
    var childMenus=[];
    var slideAccel=-1;
    var elmCache=null;
    var ready=g;
    var _this=this;
    var a=null;
    var pos=iDirection==XeamsMenu.direction.down?"top":"left";
    var dim=null;
    /************************************************************\
    *
    \************************************************************/
    function addItem(sText,sUrl){
        var item=new XeamsMenuItem(sText,sUrl,this);
        item._index=this.items.length;
        this.items[item._index]=item
    }
    /************************************************************\
    *
    \************************************************************/
    function addMenu(oMenuItem){
        if(!oMenuItem.parentMenu==this)throw new Error("Cannot add a menu here");
        if(childMenuSet==null)childMenuSet=new XeamsMenuSet(XeamsMenu.direction.right,-5,2,XeamsMenu.reference.topRight);
        var m=childMenuSet.addMenu(oMenuItem);
        childMenus[oMenuItem._index]=m;
        m.onmouseover=child_mouseover;
        m.ondeactivate=child_deactivate;
        m.onqueue=child_queue;
        m.ondequeue=child_dequeue;
        return m
    }
    /************************************************************\
    *
    \************************************************************/
    function initialize(){
        initCache();
        initEvents();
        initSize();
        ready=h
    }
    /************************************************************\
    *
    \************************************************************/
    function show(){
        if(ready){
            _this.isOpen=h;
            animating=h;
            setContainerPos();
            elmCache["clip"].style.visibility="visible";
            elmCache["clip"].style.zIndex=XeamsMenu._maxZ++;
            slideStart();
            _this.onactivate();
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function hide(){
        if(ready){
            _this.isOpen=g;
            animating=h;
            for(var i=0,item=null;
            item=elmCache.item[i];
            i++)dehighlight(item);
            if(childMenuSet)childMenuSet.hide();
            slideStart();
            _this.ondeactivate();
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function setContainerPos(){
        var sub=oActuator.constructor==XeamsMenuItem;
        var act=sub?oActuator.parentMenu.elmCache["item"][oActuator._index]:oActuator;
        var el=act;
        var x=0;
        var y=-6;
        var minX=0;
        var maxX=(f.innerWidth?f.innerWidth:b.body.clientWidth)-p(elmCache["clip"].style.width);
        var minY=-6;
        var maxY=(f.innerHeight?f.innerHeight:b.body.clientHeight)-p(elmCache["clip"].style.height);
        while(sub?el.parentNode.className.indexOf("XeamsMenu")==-1:el.offsetParent){
            x+=el.offsetLeft;
            y+=el.offsetTop+2;
            if(el.scrollLeft)x-=el.scrollLeft;
            if(el.scrollTop)y-=el.scrollTop;
            el=el.offsetParent
        }
        if(oActuator.constructor==XeamsMenuItem){
            x+=p(el.parentNode.style.left);
            y+=p(el.parentNode.style.top);
            
        }
        switch(iReferencePoint){
            case XeamsMenu.reference.topLeft:break;
            case XeamsMenu.reference.topRight:x+=act.offsetWidth;
            break;
            case XeamsMenu.reference.bottomLeft:y+=act.offsetHeight;
            break;
            case XeamsMenu.reference.bottomRight:x+=act.offsetWidth;
            y+=act.offsetHeight;
            break
        }
        x+=iLeft;
        y+=iTop;
        x=q.max(q.min(x,maxX),minX);
        y=q.max(q.min(y,maxY),minY);
        elmCache["clip"].style.left=x+"px";
        elmCache["clip"].style.top=y+"px"
    }
    /************************************************************\
    *
    \************************************************************/
    function slideStart(){
        var x0=p(elmCache["content"].style[pos]);
        var x1=_this.isOpen?0:-dim;
        if(a!=null)a.stop();
        a=new Accelimation(x0,x1,XeamsMenu.slideTime,slideAccel);
        a.onframe=slideFrame;
        a.onend=slideEnd;
        a.start();
        
    }
    /************************************************************\
    *
    \************************************************************/
    function slideFrame(x){
        elmCache["content"].style[pos]=x+"px"
    }
    /************************************************************\
    *
    \************************************************************/
    function slideEnd(){
        if(!_this.isOpen)elmCache["clip"].style.visibility="hidden";
        animating=g
    }
    /************************************************************\
    *
    \************************************************************/
    function initSize(){
        var ow=elmCache["items"].offsetWidth;
        var oh=elmCache["items"].offsetHeight;
        var ua=k.userAgent.toLowerCase();
        elmCache["clip"].style.width=ow+XeamsMenu.shadowSize+2+"px";
        elmCache["clip"].style.height=oh+XeamsMenu.shadowSize+2+"px";
        elmCache["content"].style.width=ow+XeamsMenu.shadowSize+"px";
        elmCache["content"].style.height=oh+XeamsMenu.shadowSize+"px";
        contentHeight=oh+XeamsMenu.shadowSize;
        contentWidth=ow+XeamsMenu.shadowSize;
        dim=iDirection==XeamsMenu.direction.down?contentHeight:contentWidth;
        elmCache["content"].style[pos]=-dim-XeamsMenu.shadowSize+"px";
        elmCache["clip"].style.visibility="hidden";
        if(ua.indexOf("mac")==-1||ua.indexOf("gecko")>
        -1){
            elmCache["background"].style.width=ow+"px";
            elmCache["background"].style.height=oh+"px";
            elmCache["background"].style.backgroundColor=XeamsMenu.backgroundColor;
            elmCache["shadowRight"].style.left=ow+"px";
            elmCache["shadowRight"].style.height=oh-(XeamsMenu.shadowOffset-XeamsMenu.shadowSize)+"px";
            elmCache["shadowRight"].style.backgroundColor=XeamsMenu.shadowColor;
            elmCache["shadowBottom"].style.top=oh+"px";
            elmCache["shadowBottom"].style.width=ow-XeamsMenu.shadowOffset+"px";
            elmCache["shadowBottom"].style.backgroundColor=XeamsMenu.shadowColor
        }
        else{
            elmCache["background"].firstChild.src=XeamsMenu.backgroundPng;
            elmCache["background"].firstChild.width=ow;
            elmCache["background"].firstChild.height=oh;
            elmCache["shadowRight"].firstChild.src=XeamsMenu.shadowPng;
            elmCache["shadowRight"].style.left=ow+"px";
            elmCache["shadowRight"].firstChild.width=XeamsMenu.shadowSize;
            elmCache["shadowRight"].firstChild.height=oh-(XeamsMenu.shadowOffset-XeamsMenu.shadowSize);
            elmCache["shadowBottom"].firstChild.src=XeamsMenu.shadowPng;
            elmCache["shadowBottom"].style.top=oh+"px";
            elmCache["shadowBottom"].firstChild.height=XeamsMenu.shadowSize;
            elmCache["shadowBottom"].firstChild.width=ow-XeamsMenu.shadowOffset
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function initCache(){
        var menu=b.getElementById(id);
        var all=menu.all?menu.all:menu.getElementsByTagName("*");
        elmCache={
            
        }
        ;
        elmCache["clip"]=menu;
        elmCache["item"]=[];
        for(var i=0,elm=null;
        elm=all[i];
        i++){
            switch(elm.className){
                case"items":case"content":case"background":case"shadowRight":case"shadowBottom":elmCache[elm.className]=elm;
                break;
                case"item":elm._index=elmCache["item"].length;
                elmCache["item"][elm._index]=elm;
                break
            }
            
        }
        _this.elmCache=elmCache
    }
    /************************************************************\
    *
    \************************************************************/
    function initEvents(){
        for(var i=0,item=null;
        item=elmCache.item[i];
        i++){
            item.onmouseover=item_mouseover;
            item.onmouseout=item_mouseout;
            item.onclick=item_click
        }
        if(typeof oActuator.tagName!="undefined"){
            oActuator.onmouseover=actuator_mouseover;
            oActuator.onmouseout=actuator_mouseout
        }
        elmCache["content"].onmouseover=content_mouseover;
        elmCache["content"].onmouseout=content_mouseout
    }
    /************************************************************\
    *
    \************************************************************/
    function highlight(oRow){
        oRow.className="item hover";
        if(childMenus[oRow._index])oRow.lastChild.firstChild.src=XeamsMenu.dingbatOn
    }
    /************************************************************\
    *
    \************************************************************/
    function dehighlight(oRow){
        oRow.className="item";
        if(childMenus[oRow._index])oRow.lastChild.firstChild.src=XeamsMenu.dingbatOff
    }
    /************************************************************\
    *
    \************************************************************/
    function item_mouseover(){
        if(!animating){
            highlight(this);
            if(childMenus[this._index])childMenuSet.showMenu(childMenus[this._index]);
            else if(childMenuSet)childMenuSet.hide();
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function item_mouseout(){
        if(!animating){
            if(childMenus[this._index])childMenuSet.hideMenu(childMenus[this._index]);
            else dehighlight(this);
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function item_click(){
        if(!animating){
            if(_this.items[this._index].url)location.href=_this.items[this._index].url
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function actuator_mouseover(){
        parentMenuSet.showMenu(_this);
        
    }
    /************************************************************\
    *
    \************************************************************/
    function actuator_mouseout(){
        parentMenuSet.hideMenu(_this);
        
    }
    /************************************************************\
    *
    \************************************************************/
    function content_mouseover(){
        if(!animating){
            parentMenuSet.showMenu(_this);
            _this.onmouseover();
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function content_mouseout(){
        if(!animating){
            parentMenuSet.hideMenu(_this);
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function child_mouseover(){
        if(!animating){
            parentMenuSet.showMenu(_this);
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function child_deactivate(){
        for(var i=0; i < childMenus.length; i++){
            if(childMenus[i]==this){
                dehighlight(elmCache["item"][i]);
                break
            }
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function child_queue(){
        parentMenuSet.hideMenu(_this);
        
    }
    /************************************************************\
    *
    \************************************************************/
    function child_dequeue(){
        parentMenuSet.showMenu(_this);
        
    }
    /************************************************************\
    *
    \************************************************************/
    function toString(){
        var aHtml=[];
        var sClassName="XeamsMenu"+(oActuator.constructor!=XeamsMenuItem?" top":"");
        for(var i=0,item=null;
        item=this.items[i];
        i++){
            aHtml[i]=item.toString(childMenus[i]);
            
        }
        return'<div id="' + id + '" class="' + sClassName+'">' + '<div class="content"> <table class="items" cellpadding="0" cellspacing="0" border="0">'
               +'<tr><td colspan="2"><img src="' + XeamsMenu.spacerGif + '" width="1" height="' + 
		XeamsMenu.menuPadding + '"></td></tr>' + aHtml.join('') + 
		'<tr><td colspan="2"><img src="' + XeamsMenu.spacerGif + '" width="1" height="' +
		XeamsMenu.menuPadding + '"></td></tr></table>' + 
		'<div class="shadowBottom"><img src="' + XeamsMenu.spacerGif + 
		'" width="1" height="1"></div>' + '<div class="shadowRight"><img src="' + 
 		XeamsMenu.spacerGif + '" width="1" height="1"></div>'+
		'<div class="background"><img src="' + XeamsMenu.spacerGif + '" width="1" height="1"></div>'
		+'</div></div>'
    }
    
}
XeamsMenuSet.registry=[];
/************************************************************\
*
\************************************************************/
function XeamsMenuSet(iDirection,iLeft,iTop,iReferencePoint){
    this.addMenu=addMenu;
    this.showMenu=showMenu;
    this.hideMenu=hideMenu;
    this.hide=hide;
    this.hideCurrent=hideCurrent;
    var menus=[];
    var _this=this;
    var current=null;
    this.index=XeamsMenuSet.registry.length;
    XeamsMenuSet.registry[this.index]=this;
    /************************************************************\
    *
    \************************************************************/
    function addMenu(oActuator){
        var m=new XeamsMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,this);
        menus[menus.length]=m;
        return m
    }
    /************************************************************\
    *
    \************************************************************/
    function showMenu(oMenu){
        if(oMenu!=current){
            if(current!=null)hide(current);
            current=oMenu;
            oMenu.show();
            
        }
        else{
            cancelHide(oMenu);
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function hideMenu(oMenu){
        if(current==oMenu&&oMenu.isOpen){
            if(!oMenu.hideTimer)scheduleHide(oMenu);
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function scheduleHide(oMenu){
        oMenu.onqueue();
        oMenu.hideTimer=f.setTimeout("XeamsMenuSet.registry["+_this.index+"].hide(XeamsMenu.registry["+oMenu.index+"])",XeamsMenu.hideDelay);
        
    }
    /************************************************************\
    *
    \************************************************************/
    function cancelHide(oMenu){
        if(oMenu.hideTimer){
            oMenu.ondequeue();
            f.clearTimeout(oMenu.hideTimer);
            oMenu.hideTimer=null
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function hide(oMenu){
        if(!oMenu&&current)oMenu=current;
        if(oMenu&&current==oMenu&&oMenu.isOpen){
            hideCurrent();
            
        }
        
    }
    /************************************************************\
    *
    \************************************************************/
    function hideCurrent(){
        if(null!=current){
            cancelHide(current);
            current.hideTimer=null;
            current.hide();
            current=null
        }
        
    }
    
}
/************************************************************\
*
\************************************************************/
function XeamsMenuItem(sText,sUrl,oParent){
    this.toString=toString;
    this.text=sText;
    this.url=sUrl;
    this.parentMenu=oParent;
    /************************************************************\
    *
    \************************************************************/
    function toString(bDingbat){



        var sDingbat=bDingbat?XeamsMenu.dingbatOff:XeamsMenu.spacerGif;
        var iEdgePadding=XeamsMenu.itemPadding + XeamsMenu.menuPadding;
        var sPaddingLeft = 'padding:' + XeamsMenu.itemPadding + 'px;padding-left:' + iEdgePadding + 'px;';
        var sPaddingRight='padding:' + XeamsMenu.itemPadding + 'px;padding-right:' + iEdgePadding + 'px;';


        return'<tr class="item"><td nowrap style="' + sPaddingLeft + 
		'">' + sText + '</td><td width="14" style="' + sPaddingRight + 
		'">' + '<img src="' + sDingbat + '" width="14" height="14"></td></tr>'
    }
    
}
/************************************************************\
*
\************************************************************/
function Accelimation(from,to,time,zip){
    if(typeof zip=="undefined")zip=0;
    if(typeof unit=="undefined")unit="px";
    this.x0=from;
    this.x1=to;
    this.dt=time;
    this.zip=-zip;
    this.unit=unit;
    this.timer=null;
    this.onend=new j();
    this.onframe=new j();
    
}
Accelimation.prototype.start=function(){
    this.t0=new w().getTime();
    this.t1=this.t0+this.dt;
    var dx=this.x1-this.x0;
    this.c1=this.x0+((1+this.zip)*dx/3);
    this.c2=this.x0+((2+this.zip)*dx/3);
    Accelimation._add(this);
    
}
;
Accelimation.prototype.stop=function(){
    Accelimation._remove(this);
    
}
;
Accelimation.prototype._paint=function(time){
    if(time<
    this.t1){
        var elapsed=time-this.t0;
        this.onframe(Accelimation._getBezier(elapsed/this.dt,this.x0,this.x1,this.c1,this.c2));
        
    }
    else this._end();
    
}
;
Accelimation.prototype._end=function(){
    Accelimation._remove(this);
    this.onframe(this.x1);
    this.onend();
    
}
;
Accelimation._add=function(o){
    var index=this.instances.length;
    this.instances[index]=o;
    if(this.instances.length==1){
        this.timerID=f.setInterval("Accelimation._paintAll()",this.targetRes);
        
    }
    
}
;
Accelimation._remove=function(o){
    for(var i=0;
    i<
    this.instances.length;
    i++){
        if(o==this.instances[i]){
            this.instances=this.instances.slice(0,i).concat(this.instances.slice(i+1));
            break
        }
        
    }
    if(this.instances.length==0){
        f.clearInterval(this.timerID);
        this.timerID=null
    }
    
}
;
Accelimation._paintAll=function(){
    var now=new w().getTime();
    for(var i=0;
    i<
    this.instances.length;
    i++){
        this.instances[i]._paint(now);
        
    }
    
}
;
Accelimation._B1=function(t){
    return t*t*t
}
;
Accelimation._B2=function(t){
    return 3*t*t*(1-t)
}
;
Accelimation._B3=function(t){
    return 3*t*(1-t)*(1-t)
}
;
Accelimation._B4=function(t){
    return(1-t)*(1-t)*(1-t)
}
;
Accelimation._getBezier=function(percent,startPos,endPos,control1,control2){
    return endPos*this._B1(percent)+control2*this._B2(percent)+control1*this._B3(percent)+startPos*this._B4(percent);
    
}
;
Accelimation.instances=[];
Accelimation.targetRes=10;
Accelimation.timerID=null;
if(f.attachEvent){
    cearElementProps=['data','onmouseover','onmouseout','onmousedown','onmouseup','ondblclick','onclick','onselectstart','oncontextmenu'];
    f.attachEvent("onunload",function(){
        var el;
        for(var d=b.all.length;
        d--;
        ){
            el=b.all[d];
            for(var c=cearElementProps.length;
            c--;
            ){
                el[cearElementProps[c]]=null
            }
            
        }
        
    }
    );
    
}
/************************************************************\
*
\************************************************************/
function add_menu(){
    var root=b.getElementById('nav');
    var ms=new XeamsMenuSet(XeamsMenu.direction.down,1,0,XeamsMenu.reference.bottomLeft);
    for(x=0;
    x<
    root.childNodes.length;
    x++){
        if(root.childNodes[x].nodeName=='LI'&&root.childNodes[x].childNodes.length>
        1){
            var newmenu=ms.addMenu(root.childNodes[x]);
            newmenu.onactivate=function(){
                this.trigger.className="hovered"
            }
            ;
            newmenu.ondeactivate=function(){
                this.trigger.className=""
            }
            ;
            for(y=0;
            y<
            root.childNodes[x].childNodes.length;
            y++){
                if(root.childNodes[x].childNodes[y].className=='submenu'){
                    if(root.childNodes[x].childNodes[y].childNodes.length>
                    0){
                        var menuelem=root.childNodes[x].childNodes[y];
                        for(z=0;
                        z<
                        menuelem.childNodes.length;
                        z++){
                            if(menuelem.childNodes[z].nodeName=='A'){
                                newmenu.addItem(menuelem.childNodes[z].innerHTML,menuelem.childNodes[z].href);
                                
                            }
                            
                        }
                        
                    }
                    
                }
                
            }
            
        }
        
    }
    XeamsMenu.renderAll();
    
}

