
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - utm.js - */
// http://www.healthsystem.virginia.edu/pub/portal_javascripts/utm.js?original=1
var _uacct="";var _userv=0;var _ufsc=1;var _udn="auto";var _uhash="on";var _utimeout="1800";var _ugifpath="/__utm.gif";var _utsp="|";var _uflash=1;var _utitle=1;var _uctm=1;var _ucto="15768000";var _uccn="utm_campaign";var _ucmd="utm_medium";var _ucsr="utm_source";var _uctr="utm_term";var _ucct="utm_content";var _ucid="utm_id";var _ucno="utm_nooverride";var _uOsr=new Array();var _uOkw=new Array();_uOsr[0]="google";_uOkw[0]="q";_uOsr[1]="yahoo";_uOkw[1]="p";_uOsr[2]="msn";_uOkw[2]="q";_uOsr[3]="aol";_uOkw[3]="query";_uOsr[4]="lycos";_uOkw[4]="query";_uOsr[5]="ask";_uOkw[5]="q";_uOsr[6]="altavista";_uOkw[6]="q";_uOsr[7]="search";_uOkw[7]="q";_uOsr[8]="netscape";_uOkw[8]="query";_uOsr[9]="earthlink";_uOkw[9]="q";_uOsr[10]="cnn";_uOkw[10]="query";_uOsr[11]="looksmart";_uOkw[11]="key";_uOsr[12]="about";_uOkw[12]="terms";_uOsr[13]="excite";_uOkw[13]="qkw";_uOsr[14]="mamma";_uOkw[14]="query";_uOsr[15]="alltheweb";_uOkw[15]="q";_uOsr[16]="gigablast";_uOkw[16]="q";_uOsr[17]="voila";_uOkw[17]="kw";_uOsr[18]="virgilio";_uOkw[18]="qs";_uOsr[19]="teoma";_uOkw[19]="q";var _uOno=new Array();var _uRno=new Array();var _uff,_udh,_udt,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ujv="-",_ubd=document,_udl=_ubd.location,_uwv="6.1";var _ugifpath2="http://service.urchin.com/__utm.gif";if(_udl.protocol=="https:") _ugifpath2="https://service.urchin.com/__utm.gif";
function urchinTracker(page){if(_udl.protocol=="file:") return;if(_uff&&(!page||page=="")) return;var a,b,c,v,x="",s="",f=0;var nx=" expires=Sun, 18 Jan 2038 00:00:00 GMT;";var dc=_ubd.cookie;_udh=_uDomain();_uu=Math.round(Math.random()*2147483647);_udt=new Date();_ust=Math.round(_udt.getTime()/1000);a=dc.indexOf("__utma="+_udh);b=dc.indexOf("__utmb="+_udh);c=dc.indexOf("__utmc="+_udh);if(_udn&&_udn!=""){_udo=" domain="+_udn+";"}
if(_utimeout&&_utimeout!=""){x=new Date(_udt.getTime()+(_utimeout*1000));x=" expires="+x.toGMTString()+";"}
s=_udl.search;if(s&&s!=""&&s.indexOf("__utma=")>=0){a=_uGC(s,"__utma=","&");b=_uGC(s,"__utmb=","&");c=_uGC(s,"__utmc=","&");if(a!="-"&&b!="-"&&c!="-") f=1;else if(a!="-") f=2}
if(f==1){_ubd.cookie="__utma="+a+"; path=/;"+nx;_ubd.cookie="__utmb="+b+"; path=/;"+x;_ubd.cookie="__utmc="+c+"; path=/;"} else if(f==2){a=_uFixA(s,"&",_ust);_ubd.cookie="__utma="+a+"; path=/;"+nx;_ubd.cookie="__utmb="+_udh+"; path=/;"+x;_ubd.cookie="__utmc="+_udh+"; path=/;";_ufns=1} else if(a>=0&&b>=0&&c>=0){_ubd.cookie="__utmb="+_udh+"; path=/;"+x+_udo} else{if(a>=0) a=_uFixA(_ubd.cookie,";",_ust);else a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";_ubd.cookie="__utma="+a+"; path=/;"+nx+_udo;_ubd.cookie="__utmb="+_udh+"; path=/;"+x+_udo;_ubd.cookie="__utmc="+_udh+"; path=/;"+_udo;_ufns=1}
if(s&&s!=""&&s.indexOf("__utmv=")>=0){if((v=_uGC(s,"__utmv=","&"))!="-"){_ubd.cookie="__utmv="+unescape(v)+"; path=/;"+nx+_udo}}
_uInfo(page);_ufns=0;_ufno=0;_uff=1}
urchinTracker();
function _uInfo(page){var p,s="",pg=_udl.pathname+_udl.search;if(page&&page!="") pg=escape(page);_ur=_ubd.referrer;if(!_ur||_ur==""){_ur="-"}
else{p=_ur.indexOf(_ubd.domain);if((p>=0)&&(p<=8)){_ur="0"}
if(_ur.indexOf("[")==0&&_ur.lastIndexOf("]")==(_ur.length-1)){_ur="-"}}
s+="&utmn="+_uu;if(_ufsc) s+=_uBInfo(page);if(_uctm&&(!page||page=="")) s+=_uCInfo();if(_utitle&&_ubd.title&&_ubd.title!="") s+="&utmdt="+escape(_ubd.title);if(_udl.hostname&&_udl.hostname!="") s+="&utmhn="+escape(_udl.hostname);if(!page||page=="") s+="&utmr="+_ur;s+="&utmp="+pg;if(_userv==0||_userv==2){var i=new Image(1,1);i.src=_ugifpath+"?"+"utmwv="+_uwv+s;i.onload=function(){_uVoid()}}
if(_userv==1||_userv==2){var i2=new Image(1,1);i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();i2.onload=function(){_uVoid()}}
return}
function _uVoid(){return}
function _uCInfo(){if(!_ucto||_ucto==""){_ucto="15768000"}
var c="",t="-",t2="-",o=0,cs=0,cn=0;i=0;var s=_udl.search;var z=_uGC(s,"__utmz=","&");var x=new Date(_udt.getTime()+(_ucto*1000));var dc=_ubd.cookie;x=" expires="+x.toGMTString()+";";if(z!="-"){_ubd.cookie="__utmz="+unescape(z)+"; path=/;"+x+_udo;return ""}
z=dc.indexOf("__utmz="+_udh);if(z>-1){z=_uGC(dc,"__utmz="+_udh,";")}
else{z="-"}
t=_uGC(s,_ucid+"=","&");t2=_uGC(s,_ucsr+"=","&");if((t!="-"&&t!="")||(t2!="-"&&t2!="")){if(t!="-"&&t!=""){c+="utmcid="+_uEC(t);if(t2!="-"&&t2!="") c+="|utmcsr="+_uEC(t2)} else{if(t2!="-"&&t2!="") c+="utmcsr="+_uEC(t2)}
t=_uGC(s,_uccn+"=","&");if(t!="-"&&t!="") c+="|utmccn="+_uEC(t);else c+="|utmccn=(not+set)";t=_uGC(s,_ucmd+"=","&");if(t!="-"&&t!="") c+="|utmcmd="+_uEC(t);else c+="|utmcmd=(not+set)";t=_uGC(s,_uctr+"=","&");if(t!="-"&&t!="") c+="|utmctr="+_uEC(t);else{t=_uOrg(1);if(t!="-"&&t!="") c+="|utmctr="+_uEC(t)}
t=_uGC(s,_ucct+"=","&");if(t!="-"&&t!="") c+="|utmcct="+_uEC(t);t=_uGC(s,_ucno+"=","&");if(t=="1") o=1;if(z!="-"&&o==1) return ""}
if(c=="-"||c==""){c=_uOrg();if(z!="-"&&_ufno==1) return ""}
if(c=="-"||c==""){if(_ufns==1) c=_uRef();if(z!="-"&&_ufno==1) return ""}
if(c=="-"||c==""){if(z=="-"&&_ufns==1){c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"}
if(c=="-"||c=="") return ""}
if(z!="-"){i=z.indexOf(".");if(i>-1) i=z.indexOf(".",i+1);if(i>-1) i=z.indexOf(".",i+1);if(i>-1) i=z.indexOf(".",i+1);t=z.substring(i+1,z.length);if(t.toLowerCase()==c.toLowerCase()) cs=1;t=z.substring(0,i);if((i=t.lastIndexOf("."))>-1){t=t.substring(i+1,t.length);cn=(t*1)}}
if(cs==0||_ufns==1){t=_uGC(dc,"__utma="+_udh,";");if((i=t.lastIndexOf("."))>9){_uns=t.substring(i+1,t.length);_uns=(_uns*1)}
cn++;if(_uns==0) _uns=1;_ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path=/; "+x+_udo}
if(cs==0||_ufns==1) return "&utmcn=1";else return "&utmcr=1"}
function _uRef(){if(_ur=="0"||_ur==""||_ur=="-") return "";var i=0,h,k,n;if((i=_ur.indexOf("://"))<0) return "";h=_ur.substring(i+3,_ur.length);if(h.indexOf("/")>-1){k=h.substring(h.indexOf("/"),h.length);if(k.indexOf("?")>-1) k=k.substring(0,k.indexOf("?"));h=h.substring(0,h.indexOf("/"))}
h=h.toLowerCase();n=h;if((i=n.indexOf(":"))>-1) n=n.substring(0,i);for(var ii=0;ii<_uRno.length;ii++){if((i=n.indexOf(_uRno[ii].toLowerCase()))>-1&&n.length==(i+_uRno[ii].length)){_ufno=1;break}}
if(h.indexOf("www.")==0) h=h.substring(4,h.length);return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral"}
function _uOrg(t){if(_ur=="0"||_ur==""||_ur=="-") return "";var i=0,h,k;if((i=_ur.indexOf("://"))<0) return "";h=_ur.substring(i+3,_ur.length);if(h.indexOf("/")>-1){h=h.substring(0,h.indexOf("/"))}
for(var ii=0;ii<_uOsr.length;ii++){if(h.indexOf(_uOsr[ii])>-1){if((i=_ur.indexOf("?"+_uOkw[ii]+"="))>-1||(i=_ur.indexOf("&"+_uOkw[ii]+"="))>-1){k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);if((i=k.indexOf("&"))>-1) k=k.substring(0,i);for(var yy=0;yy<_uOno.length;yy++){if(_uOno[yy].toLowerCase()==k.toLowerCase()){_ufno=1;break}}
if(t) return _uEC(k);else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic"}}}
return ""}
function _uBInfo(page){var sr="-",sc="-",ul="-",fl="-",je=1;var n=navigator;if(self.screen){sr=screen.width+"x"+screen.height;sc=screen.colorDepth+"-bit"} else if(self.java){var j=java.awt.Toolkit.getDefaultToolkit();var s=j.getScreenSize();sr=s.width+"x"+s.height}
if(_ujv=="-"&&(!page||page=="")){for(var i=5;i>=0;i--){var t="<script language='JavaScript1."+i+"'>_ujv='1."+i+"';</script>";_ubd.write(t);if(_ujv!="-") break}}
if(n.language){ul=n.language.toLowerCase()}
else if(n.browserLanguage){ul=n.browserLanguage.toLowerCase()}
je=n.javaEnabled()?1:0;if(_uflash) fl=_uFlash();return "&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmjv="+_ujv+"&utmfl="+fl}
function __utmSetTrans(){var e;if(_ubd.getElementById) e=_ubd.getElementById("utmtrans");else if(_ubd.utmform&&_ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;if(!e) return;var l=e.value.split("UTM:");var i,i2,c;if(_userv==0||_userv==2) i=new Array();if(_userv==1||_userv==2){i2=new Array();c=_uGCS()}
for(var ii=0;ii<l.length;ii++){l[ii]=_uTrim(l[ii]);if(l[ii].charAt(0)!='T'&&l[ii].charAt(0)!='I') continue;var r=Math.round(Math.random()*2147483647);if(!_utsp||_utsp=="") _utsp="|";var f=l[ii].split(_utsp),s="";if(f[0].charAt(0)=='T'){s="&utmt=tran"+"&utmn="+r;f[1]=_uTrim(f[1]);if(f[1]&&f[1]!="") s+="&utmtid="+escape(f[1]);f[2]=_uTrim(f[2]);if(f[2]&&f[2]!="") s+="&utmtst="+escape(f[2]);f[3]=_uTrim(f[3]);if(f[3]&&f[3]!="") s+="&utmtto="+escape(f[3]);f[4]=_uTrim(f[4]);if(f[4]&&f[4]!="") s+="&utmttx="+escape(f[4]);f[5]=_uTrim(f[5]);if(f[5]&&f[5]!="") s+="&utmtsp="+escape(f[5]);f[6]=_uTrim(f[6]);if(f[6]&&f[6]!="") s+="&utmtci="+escape(f[6]);f[7]=_uTrim(f[7]);if(f[7]&&f[7]!="") s+="&utmtrg="+escape(f[7]);f[8]=_uTrim(f[8]);if(f[8]&&f[8]!="") s+="&utmtco="+escape(f[8])} else{s="&utmt=item"+"&utmn="+r;f[1]=_uTrim(f[1]);if(f[1]&&f[1]!="") s+="&utmtid="+escape(f[1]);f[2]=_uTrim(f[2]);if(f[2]&&f[2]!="") s+="&utmipc="+escape(f[2]);f[3]=_uTrim(f[3]);if(f[3]&&f[3]!="") s+="&utmipn="+escape(f[3]);f[4]=_uTrim(f[4]);if(f[4]&&f[4]!="") s+="&utmiva="+escape(f[4]);f[5]=_uTrim(f[5]);if(f[5]&&f[5]!="") s+="&utmipr="+escape(f[5]);f[6]=_uTrim(f[6]);if(f[6]&&f[6]!="") s+="&utmiqt="+escape(f[6])}
if(_userv==0||_userv==2){i[ii]=new Image(1,1);i[ii].src=_ugifpath+"?"+"utmwv="+_uwv+s;i[ii].onload=function(){_uVoid()}}
if(_userv==1||_userv==2){i2[ii]=new Image(1,1);i2[ii].src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+c;i2[ii].onload=function(){_uVoid()}}}
return}
function _uFlash(){var f="-",n=navigator;if(n.plugins&&n.plugins.length){for(var ii=0;ii<n.plugins.length;ii++){if(n.plugins[ii].name.indexOf('Shockwave Flash')!=-1){f=n.plugins[ii].description.split('Shockwave Flash ')[1];break}}} else if(window.ActiveXObject){for(var ii=10;ii>=2;ii--){try{var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");if(fl){f=ii+'.0';break}}
catch(e){}}}
return f}
function __utmLinker(l){var p,a="-",b="-",c="-",z="-",v="-";var dc=_ubd.cookie;if(l&&l!=""){if(dc){a=_uGC(dc,"__utma="+_udh,";");b=_uGC(dc,"__utmb="+_udh,";");c=_uGC(dc,"__utmc="+_udh,";");z=_uGC(dc,"__utmz="+_udh,";");v=_uGC(dc,"__utmv="+_udh,";");p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+escape(z)+"&__utmv="+escape(v)}
if(p){if(l.indexOf("?")<=-1){document.location=l+"?"+p}
else{document.location=l+"&"+p}} else{document.location=l}}}
function __utmLinkPost(f){var p,a="-",b="-",c="-",z="-",v="-";var dc=_ubd.cookie;if(!f||!f.action) return;if(dc){a=_uGC(dc,"__utma="+_udh,";");b=_uGC(dc,"__utmb="+_udh,";");c=_uGC(dc,"__utmc="+_udh,";");z=_uGC(dc,"__utmz="+_udh,";");v=_uGC(dc,"__utmv="+_udh,";");p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+escape(z)+"&__utmv="+escape(v)}
if(p){if(f.action.indexOf("?")<=-1) f.action+="?"+p;else f.action+="&"+p}
return}
function __utmSetVar(v){if(!v||v=="") return;var r=Math.round(Math.random() * 2147483647);_ubd.cookie="__utmv="+_udh+"."+escape(v)+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+_udo;var s="&utmt=var&utmn="+r;if(_userv==0||_userv==2){var i=new Image(1,1);i.src=_ugifpath+"?"+"utmwv="+_uwv+s;i.onload=function(){_uVoid()}}
if(_userv==1||_userv==2){var i2=new Image(1,1);i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();i2.onload=function(){_uVoid()}}}
function _uGCS(){var t,c="",dc=_ubd.cookie;if((t=_uGC(dc,"__utma="+_udh,";"))!="-") c+=escape("__utma="+t+";+");if((t=_uGC(dc,"__utmb="+_udh,";"))!="-") c+=escape("__utmb="+t+";+");if((t=_uGC(dc,"__utmc="+_udh,";"))!="-") c+=escape("__utmc="+t+";+");if((t=_uGC(dc,"__utmz="+_udh,";"))!="-") c+=escape("__utmz="+t+";+");if((t=_uGC(dc,"__utmv="+_udh,";"))!="-") c+=escape("__utmv="+t+";");if(c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);return c}
function _uGC(l,n,s){if(!l||l==""||!n||n==""||!s||s=="") return "-";var i,i2,i3,c="-";i=l.indexOf(n);i3=n.indexOf("=")+1;if(i>-1){i2=l.indexOf(s,i);if(i2<0){i2=l.length}
c=l.substring((i+i3),i2)}
return c}
function _uDomain(){if(!_udn||_udn==""||_udn=="none"){_udn="";return 1}
if(_udn=="auto"){var d=_ubd.domain;if(d.substring(0,4)=="www."){d=d.substring(4,d.length)}
_udn=d}
if(_uhash=="off") return 1;return _uHash(_udn)}
function _uHash(d){if(!d||d=="") return 1;var h=0,g=0;for(var i=d.length-1;i>=0;i--){var c=parseInt(d.charCodeAt(i));h=((h<<6)&0xfffffff)+c+(c<<14);if((g=h&0xfe00000)!=0) h=(h ^(g>>21))}
return h}
function _uFixA(c,s,t){if(!c||c==""||!s||s==""||!t||t=="") return "-";var a=_uGC(c,"__utma="+_udh,s);var lt=0,i=0;if((i=a.lastIndexOf("."))>9){_uns=a.substring(i+1,a.length);_uns=(_uns*1)+1;a=a.substring(0,i);if((i=a.lastIndexOf("."))>7){lt=a.substring(i+1,a.length);a=a.substring(0,i)}
if((i=a.lastIndexOf("."))>5){a=a.substring(0,i)}
a+="."+lt+"."+t+"."+_uns}
return a}
function _uTrim(s){if(!s||s=="") return "";while((s.charAt(0)==' ')||(s.charAt(0)=='\n')||(s.charAt(0,1)=='\r')) s=s.substring(1,s.length);while((s.charAt(s.length-1)==' ')||(s.charAt(s.length-1)=='\n')||(s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);return s}
function _uEC(s){var n="";if(!s||s=="") return "";for(var i=0;i<s.length;i++){if(s.charAt(i)==" ") n+="+";else n+=s.charAt(i)}
return n}
function __utmVisitorCode(){var r=0,t=0,i=0,i2=0,m=31;var a=_uGC(_ubd.cookie,"__utma="+_udh,";");if((i=a.indexOf(".",0))<0) return;if((i2=a.indexOf(".",i+1))>0) r=a.substring(i+1,i2);else return "";if((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i);else return "";var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m]}


/* - ++resource++carousel.js - */
// http://www.healthsystem.virginia.edu/pub/portal_javascripts/++resource++carousel.js?original=1
var carousel_interval;if(jq('#carousel')){var carousel_rotate=function(){features=jq('.carousel-banner');if(features.length<2)
return;jq('.carousel-banner:visible').fadeOut(300);jq('.carousel-button.selected').removeClass('selected');next=jq('.carousel-banner:visible').next('.carousel-banner');if(next.length){next.fadeIn(300);jq('#carousel-button-'+next.attr('id').substr(16)).addClass('selected')} else{jq('#carousel-banner-0').fadeIn(300);jq('.carousel-button:first').addClass('selected')}};jq(function(){carousel_interval=setInterval(carousel_rotate,8000);setTimeout(function(){jq('#carousel .link-https, #carousel .link-external').each( function(){jq(this).replaceWith(jq(this).html())})},1000);jq('#carousel').hover(
function(){clearInterval(carousel_interval)},
function(){carousel_interval=setInterval(carousel_rotate,8000)})})}


/* - jquery.corner.js - */
/*!
 * jQuery corner plugin: simple corner rounding
 * Examples and documentation at: http://jquery.malsup.com/corner/
 * version 2.12 (23-MAY-2011)
 * Requires jQuery v1.3.2 or later
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Authors: Dave Methvin and Mike Alsup
 */

/**
 *  corner() takes a single string argument:  $('#myDiv').corner("effect corners width")
 *
 *  effect:  name of the effect to apply, such as round, bevel, notch, bite, etc (default is round). 
 *  corners: one or more of: top, bottom, tr, tl, br, or bl.  (default is all corners)
 *  width:   width of the effect; in the case of rounded corners this is the radius. 
 *           specify this value using the px suffix such as 10px (yes, it must be pixels).
 */

;(function($) { 

var style = document.createElement('div').style,
    moz = style['MozBorderRadius'] !== undefined,
    webkit = style['WebkitBorderRadius'] !== undefined,
    radius = style['borderRadius'] !== undefined || style['BorderRadius'] !== undefined,
    mode = document.documentMode || 0,
    noBottomFold = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8),

    expr = $.browser.msie && (function() {
        var div = document.createElement('div');
        try { div.style.setExpression('width','0+0'); div.style.removeExpression('width'); }
        catch(e) { return false; }
        return true;
    })();

$.support = $.support || {};
$.support.borderRadius = moz || webkit || radius; // so you can do:  if (!$.support.borderRadius) $('#myDiv').corner();

function sz(el, p) { 
    return parseInt($.css(el,p))||0; 
};
function hex2(s) {
    s = parseInt(s).toString(16);
    return ( s.length < 2 ) ? '0'+s : s;
};
function gpc(node) {
    while(node) {
        var v = $.css(node,'backgroundColor'), rgb;
        if (v && v != 'transparent' && v != 'rgba(0, 0, 0, 0)') {
            if (v.indexOf('rgb') >= 0) { 
                rgb = v.match(/\d+/g); 
                return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
            }
            return v;
        }
        if (node.nodeName.toLowerCase() == 'html')
            break;
        node = node.parentNode; // keep walking if transparent
    }
    return '#ffffff';
};

function getWidth(fx, i, width) {
    switch(fx) {
    case 'round':  return Math.round(width*(1-Math.cos(Math.asin(i/width))));
    case 'cool':   return Math.round(width*(1+Math.cos(Math.asin(i/width))));
    case 'sharp':  return width-i;
    case 'bite':   return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
    case 'slide':  return Math.round(width*(Math.atan2(i,width/i)));
    case 'jut':    return Math.round(width*(Math.atan2(width,(width-i-1))));
    case 'curl':   return Math.round(width*(Math.atan(i)));
    case 'tear':   return Math.round(width*(Math.cos(i)));
    case 'wicked': return Math.round(width*(Math.tan(i)));
    case 'long':   return Math.round(width*(Math.sqrt(i)));
    case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
    case 'dogfold':
    case 'dog':    return (i&1) ? (i+1) : width;
    case 'dog2':   return (i&2) ? (i+1) : width;
    case 'dog3':   return (i&3) ? (i+1) : width;
    case 'fray':   return (i%2)*width;
    case 'notch':  return width; 
    case 'bevelfold':
    case 'bevel':  return i+1;
    case 'steep':  return i/2 + 1;
    case 'invsteep':return (width-i)/2+1;
    }
};

$.fn.corner = function(options) {
    // in 1.3+ we can fix mistakes with the ready state
    if (this.length == 0) {
        if (!$.isReady && this.selector) {
            var s = this.selector, c = this.context;
            $(function() {
                $(s,c).corner(options);
            });
        }
        return this;
    }

    return this.each(function(index){
        var $this = $(this),
            // meta values override options
            o = [$this.attr($.fn.corner.defaults.metaAttr) || '', options || ''].join(' ').toLowerCase(),
            keep = /keep/.test(o),                       // keep borders?
            cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]),  // corner color
            sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]),  // strip color
            width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10, // corner width
            re = /round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog|invsteep|steep/,
            fx = ((o.match(re)||['round'])[0]),
            fold = /dogfold|bevelfold/.test(o),
            edges = { T:0, B:1 },
            opts = {
                TL:  /top|tl|left/.test(o),       TR:  /top|tr|right/.test(o),
                BL:  /bottom|bl|left/.test(o),    BR:  /bottom|br|right/.test(o)
            },
            // vars used in func later
            strip, pad, cssHeight, j, bot, d, ds, bw, i, w, e, c, common, $horz;
        
        if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
            opts = { TL:1, TR:1, BL:1, BR:1 };
            
        // support native rounding
        if ($.fn.corner.defaults.useNative && fx == 'round' && (radius || moz || webkit) && !cc && !sc) {
            if (opts.TL)
                $this.css(radius ? 'border-top-left-radius' : moz ? '-moz-border-radius-topleft' : '-webkit-border-top-left-radius', width + 'px');
            if (opts.TR)
                $this.css(radius ? 'border-top-right-radius' : moz ? '-moz-border-radius-topright' : '-webkit-border-top-right-radius', width + 'px');
            if (opts.BL)
                $this.css(radius ? 'border-bottom-left-radius' : moz ? '-moz-border-radius-bottomleft' : '-webkit-border-bottom-left-radius', width + 'px');
            if (opts.BR)
                $this.css(radius ? 'border-bottom-right-radius' : moz ? '-moz-border-radius-bottomright' : '-webkit-border-bottom-right-radius', width + 'px');
            return;
        }
            
        strip = document.createElement('div');
        $(strip).css({
            overflow: 'hidden',
            height: '1px',
            minHeight: '1px',
            fontSize: '1px',
            backgroundColor: sc || 'transparent',
            borderStyle: 'solid'
        });
    
        pad = {
            T: parseInt($.css(this,'paddingTop'))||0,     R: parseInt($.css(this,'paddingRight'))||0,
            B: parseInt($.css(this,'paddingBottom'))||0,  L: parseInt($.css(this,'paddingLeft'))||0
        };

        if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE
        if (!keep) this.style.border = 'none';
        strip.style.borderColor = cc || gpc(this.parentNode);
        cssHeight = $(this).outerHeight();

        for (j in edges) {
            bot = edges[j];
            // only add stips if needed
            if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {
                strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
                d = document.createElement('div');
                $(d).addClass('jquery-corner');
                ds = d.style;

                bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);

                if (bot && cssHeight != 'auto') {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.bottom = ds.left = ds.padding = ds.margin = '0';
                    if (expr)
                        ds.setExpression('width', 'this.parentNode.offsetWidth');
                    else
                        ds.width = '100%';
                }
                else if (!bot && $.browser.msie) {
                    if ($.css(this,'position') == 'static')
                        this.style.position = 'relative';
                    ds.position = 'absolute';
                    ds.top = ds.left = ds.right = ds.padding = ds.margin = '0';
                    
                    // fix ie6 problem when blocked element has a border width
                    if (expr) {
                        bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth');
                        ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"');
                    }
                    else
                        ds.width = '100%';
                }
                else {
                    ds.position = 'relative';
                    ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' : 
                                        (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';                
                }

                for (i=0; i < width; i++) {
                    w = Math.max(0,getWidth(fx,i, width));
                    e = strip.cloneNode(false);
                    e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
                    bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
                }
                
                if (fold && $.support.boxModel) {
                    if (bot && noBottomFold) continue;
                    for (c in opts) {
                        if (!opts[c]) continue;
                        if (bot && (c == 'TL' || c == 'TR')) continue;
                        if (!bot && (c == 'BL' || c == 'BR')) continue;
                        
                        common = { position: 'absolute', border: 'none', margin: 0, padding: 0, overflow: 'hidden', backgroundColor: strip.style.borderColor };
                        $horz = $('<div/>').css(common).css({ width: width + 'px', height: '1px' });
                        switch(c) {
                        case 'TL': $horz.css({ bottom: 0, left: 0 }); break;
                        case 'TR': $horz.css({ bottom: 0, right: 0 }); break;
                        case 'BL': $horz.css({ top: 0, left: 0 }); break;
                        case 'BR': $horz.css({ top: 0, right: 0 }); break;
                        }
                        d.appendChild($horz[0]);
                        
                        var $vert = $('<div/>').css(common).css({ top: 0, bottom: 0, width: '1px', height: width + 'px' });
                        switch(c) {
                        case 'TL': $vert.css({ left: width }); break;
                        case 'TR': $vert.css({ right: width }); break;
                        case 'BL': $vert.css({ left: width }); break;
                        case 'BR': $vert.css({ right: width }); break;
                        }
                        d.appendChild($vert[0]);
                    }
                }
            }
        }
    });
};

$.fn.uncorner = function() { 
    if (radius || moz || webkit)
        this.css(radius ? 'border-radius' : moz ? '-moz-border-radius' : '-webkit-border-radius', 0);
    $('div.jquery-corner', this).remove();
    return this;
};

// expose options
$.fn.corner.defaults = {
    useNative: true, // true if plugin should attempt to use native browser support for border radius rounding
    metaAttr:  'data-corner' // name of meta attribute to use for options
};
    
})(jQuery);


/* - roundedcorners_imageresize.js - */
(function($) {
// NO LONGER USING JQUERY.CORNER OR THE FOLLOWING FOR ROUNDING CORNERS IN IE8 AND BELOW. 
// CONFLICT WITH EDITOR DRAWERS.
 $(document).ready( function(){
 $('.portletWrapper').corner("12px");
 $('#content').corner(" round 12px");
 $('.button').corner("round 7px");
 $('.template-division_homepage #content').uncorner()              
 $('.template-division_homepage #content').corner("round br 12px")

   $('#portlet-prefs').corner("12px");
   $('#portlets-above').corner("12px");
  		 $('.portletsAboveContentA').corner("12px");
  		 $('.portletsAboveContentB').corner("12px");
  		 $('.portletsAboveContentC').corner("12px");
  		 $('.portletsAboveContentD').corner("12px");
   $('#portlets-below').corner("12px");
	  	 $('.portletsBelowContentA').corner("12px");
	  	 $('.portletsBelowContentB').corner("12px");
	  	 $('.portletsBelowContentC').corner("12px");
	  	 $('.portletsBelowContentD').corner("12px"); 

 $('#carousel').corner("round tl br 12px")
 $('.template-division_homepage #carousel').uncorner()              
 $('.template-division_homepage #carousel').corner("round tl 12px")

 });	

oldOnLoad = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = function() {     
		 var imgwidth = $('.carousel-banner img').width();
		 var imgheight = $('.carousel-banner img').height();
		 var divwidth = $('.carousel-banner').width();
		 var divheight = divwidth*imgheight/imgwidth; //Aspect Ratio conversion
		 $('#carousel-banners').height(divheight);		
    };
  } else {
    window.onload = function() {
      oldOnLoad();     
	 var imgwidth = $('.carousel-banner img').width();
	 var imgheight = $('.carousel-banner img').height();
	 var divwidth = $('.carousel-banner').width();
	 var divheight = divwidth*imgheight/imgwidth; //Aspect Ratio conversion
	 $('#carousel-banners').height(divheight);	
    };
  }

window.onresize = function(event) {
    var imgwidth = $('.carousel-banner img').width();
    var imgheight = $('.carousel-banner img').height();
    var divwidth = $('.carousel-banner').width();
    var divheight = divwidth*imgheight/imgwidth; //Aspect Ratio conversion
    $('#carousel-banners').height(divheight);
}

})(jQuery);


