function browserdetect(){var agent=navigator.userAgent.toLowerCase();this.isIE=agent.indexOf("msie")>-1;this.ieVer=this.isIE?/msie\s(\d\.\d)/.exec(agent)[1]:0;this.isMoz=agent.indexOf("firefox")!=-1;this.isSafari=agent.indexOf("safari")!=-1;this.quirksMode=this.isIE&&(!document.compatMode||document.compatMode.indexOf("BackCompat")>-1);this.isOp="opera" in window;this.isWebKit=agent.indexOf("webkit")!=-1;if(this.isIE){this.get_style=function(obj,prop){if(!(prop in obj.currentStyle)){return""}var matches=/^([\d.]+)(\w*)/.exec(obj.currentStyle[prop]);if(!matches){return obj.currentStyle[prop]}if(matches[1]==0){return"0"}if(matches[2]&&matches[2]!=="px"){var style=obj.style.left;var rtStyle=obj.runtimeStyle.left;obj.runtimeStyle.left=obj.currentStyle.left;obj.style.left=matches[1]+matches[2];matches[0]=obj.style.pixelLeft;obj.style.left=style;obj.runtimeStyle.left=rtStyle}return matches[0]}}else{this.get_style=function(obj,prop){prop=prop.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();return document.defaultView.getComputedStyle(obj,"").getPropertyValue(prop)}}}var curvyBrowser=new browserdetect;if(curvyBrowser.isIE){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}function curvyCnrSpec(selText){this.selectorText=selText;this.tlR=this.trR=this.blR=this.brR=0;this.tlu=this.tru=this.blu=this.bru="";this.antiAlias=true}curvyCnrSpec.prototype.setcorner=function(tb,lr,radius,unit){if(!tb){this.tlR=this.trR=this.blR=this.brR=parseInt(radius);this.tlu=this.tru=this.blu=this.bru=unit}else{propname=tb.charAt(0)+lr.charAt(0);this[propname+"R"]=parseInt(radius);this[propname+"u"]=unit}};curvyCnrSpec.prototype.get=function(prop){if(/^(t|b)(l|r)(R|u)$/.test(prop)){return this[prop]}if(/^(t|b)(l|r)Ru$/.test(prop)){var pname=prop.charAt(0)+prop.charAt(1);return this[pname+"R"]+this[pname+"u"]}if(/^(t|b)Ru?$/.test(prop)){var tb=prop.charAt(0);tb+=this[tb+"lR"]>this[tb+"rR"]?"l":"r";var retval=this[tb+"R"];if(prop.length===3&&prop.charAt(2)==="u"){retval+=this[tb="u"]}return retval}throw new Error("Don't recognize property "+prop)};curvyCnrSpec.prototype.radiusdiff=function(tb){if(tb!=="t"&&tb!=="b"){throw new Error("Param must be 't' or 'b'")}return Math.abs(this[tb+"lR"]-this[tb+"rR"])};curvyCnrSpec.prototype.setfrom=function(obj){this.tlu=this.tru=this.blu=this.bru="px";if("tl" in obj){this.tlR=obj.tl.radius}if("tr" in obj){this.trR=obj.tr.radius}if("bl" in obj){this.blR=obj.bl.radius}if("br" in obj){this.brR=obj.br.radius}if("antiAlias" in obj){this.antiAlias=obj.antiAlias}};curvyCnrSpec.prototype.cloneOn=function(box){var props=["tl","tr","bl","br"];var converted=0;var i,propu;for(i in props){if(!isNaN(i)){propu=this[props[i]+"u"];if(propu!==""&&propu!=="px"){converted=new curvyCnrSpec;break}}}if(!converted){converted=this}else{var propi,propR,save=curvyBrowser.get_style(box,"left");for(i in props){if(!isNaN(i)){propi=props[i];propu=this[propi+"u"];propR=this[propi+"R"];if(propu!=="px"){var save=box.style.left;box.style.left=propR+propu;propR=box.style.pixelLeft;box.style.left=save}converted[propi+"R"]=propR;converted[propi+"u"]="px"}}box.style.left=save}return converted};curvyCnrSpec.prototype.radiusSum=function(tb){if(tb!=="t"&&tb!=="b"){throw new Error("Param must be 't' or 'b'")}return this[tb+"lR"]+this[tb+"rR"]};curvyCnrSpec.prototype.radiusCount=function(tb){var count=0;if(this[tb+"lR"]){++count}if(this[tb+"rR"]){++count}return count};curvyCnrSpec.prototype.cornerNames=function(){var ret=[];if(this.tlR){ret.push("tl")}if(this.trR){ret.push("tr")}if(this.blR){ret.push("bl")}if(this.brR){ret.push("br")}return ret};function operasheet(sheetnumber){var txt=document.styleSheets.item(sheetnumber).ownerNode.text;txt=txt.replace(/\/\*(\n|\r|.)*?\*\//g,"");var pat=new RegExp("^s*([\\w.#][-\\w.#, ]+)[\\n\\s]*\\{([^}]+border-((top|bottom)-(left|right)-)?radius[^}]*)\\}","mg");var matches;this.rules=[];while((matches=pat.exec(txt))!==null){var pat2=new RegExp("(..)border-((top|bottom)-(left|right)-)?radius:\\s*([\\d.]+)(in|em|px|ex|pt)","g");var submatches,cornerspec=new curvyCnrSpec(matches[1]);while((submatches=pat2.exec(matches[2]))!==null){if(submatches[1]!=="z-"){cornerspec.setcorner(submatches[3],submatches[4],submatches[5],submatches[6])}}this.rules.push(cornerspec)}}operasheet.contains_border_radius=function(sheetnumber){return/border-((top|bottom)-(left|right)-)?radius/.test(document.styleSheets.item(sheetnumber).ownerNode.text)};function curvyCorners(){var i,j,boxCol,settings,startIndex;if(typeof arguments[0]!=="object"){throw curvyCorners.newError("First parameter of curvyCorners() must be an object.")}if(arguments[0] instanceof curvyCnrSpec){settings=arguments[0];if(!settings.selectorText&&typeof arguments[1]==="string"){settings.selectorText=arguments[1]}}else{if(typeof arguments[1]!=="object"&&typeof arguments[1]!=="string"){throw curvyCorners.newError("Second parameter of curvyCorners() must be an object or a class name.")}j=arguments[1];if(typeof j!=="string"){j=""}if(j!==""&&j.charAt(0)!=="."&&"autoPad" in arguments[0]){j="."+j}settings=new curvyCnrSpec(j);settings.setfrom(arguments[0])}if(settings.selectorText){startIndex=0;var args=settings.selectorText.replace(/\s+$/,"").split(/,\s*/);boxCol=new Array;function idof(str){var ret=str.split("#");return(ret.length===2?"#":"")+ret.pop()}for(i=0;i<args.length;++i){var arg=idof(args[i]);var argbits=arg.split(" ");switch(arg.charAt(0)){case"#":j=argbits.length===1?arg:argbits[0];j=document.getElementById(j.substr(1));if(j===null){curvyCorners.alert("No object with ID "+arg+" exists yet.\nCall curvyCorners(settings, obj) when it is created.")}else{if(argbits.length===1){boxCol.push(j)}else{boxCol=boxCol.concat(curvyCorners.getElementsByClass(argbits[1],j))}}break;default:if(argbits.length===1){boxCol=boxCol.concat(curvyCorners.getElementsByClass(arg))}else{var encloser=curvyCorners.getElementsByClass(argbits[0]);for(j=0;j<encloser.length;++j){boxCol=boxCol.concat(curvyCorners.getElementsByClass(argbits[1],encloser))}}}}}else{startIndex=1;boxCol=arguments}for(i=startIndex,j=boxCol.length;i<j;++i){if(boxCol[i]&&(!("IEborderRadius" in boxCol[i].style)||boxCol[i].style.IEborderRadius!="set")){if(boxCol[i].className&&boxCol[i].className.indexOf("curvyRedraw")!==-1){if(typeof curvyCorners.redrawList==="undefined"){curvyCorners.redrawList=new Array}curvyCorners.redrawList.push({node:boxCol[i],spec:settings,copy:boxCol[i].cloneNode(false)})}boxCol[i].style.IEborderRadius="set";var obj=new curvyObject(settings,boxCol[i]);obj.applyCorners()}}}curvyCorners.prototype.applyCornersToAll=function(){curvyCorners.alert("This function is now redundant. Just call curvyCorners(). See documentation.")};curvyCorners.redraw=function(){if(!curvyBrowser.isOp&&!curvyBrowser.isIE){return}if(!curvyCorners.redrawList){throw curvyCorners.newError("curvyCorners.redraw() has nothing to redraw.")}var old_block_value=curvyCorners.bock_redraw;curvyCorners.block_redraw=true;for(var i in curvyCorners.redrawList){if(isNaN(i)){continue}var o=curvyCorners.redrawList[i];if(!o.node.clientWidth){continue}var newchild=o.copy.cloneNode(false);for(var contents=o.node.firstChild;contents!=null;contents=contents.nextSibling){if(contents.className==="autoPadDiv"){break}}if(!contents){curvyCorners.alert("Couldn't find autoPad DIV");break}o.node.parentNode.replaceChild(newchild,o.node);while(contents.firstChild){newchild.appendChild(contents.removeChild(contents.firstChild))}o=new curvyObject(o.spec,o.node=newchild);o.applyCorners()}curvyCorners.block_redraw=old_block_value};curvyCorners.adjust=function(obj,prop,newval){if(curvyBrowser.isOp||curvyBrowser.isIE){if(!curvyCorners.redrawList){throw curvyCorners.newError("curvyCorners.adjust() has nothing to adjust.")}var i,j=curvyCorners.redrawList.length;for(i=0;i<j;++i){if(curvyCorners.redrawList[i].node===obj){break}}if(i===j){throw curvyCorners.newError("Object not redrawable")}obj=curvyCorners.redrawList[i].copy}if(prop.indexOf(".")===-1){obj[prop]=newval}else{eval("obj."+prop+"='"+newval+"'")}};curvyCorners.handleWinResize=function(){if(!curvyCorners.block_redraw){curvyCorners.redraw()}};curvyCorners.setWinResize=function(onoff){curvyCorners.block_redraw=!onoff};curvyCorners.newError=function(errorMessage){return new Error("curvyCorners Error:\n"+errorMessage)};curvyCorners.alert=function(errorMessage){if(typeof curvyCornersVerbose==="undefined"||curvyCornersVerbose){alert(errorMessage)}};function curvyObject(){var boxDisp;this.box=arguments[1];this.settings=arguments[0];this.topContainer=this.bottomContainer=this.shell=boxDisp=null;var boxWidth=this.box.clientWidth;if(!boxWidth&&curvyBrowser.isIE){this.box.style.zoom=1;boxWidth=this.box.clientWidth}if(!boxWidth){if(!this.box.parentNode){throw this.newError("box has no parent!")}for(boxDisp=this.box;;boxDisp=boxDisp.parentNode){if(!boxDisp||boxDisp.tagName==="BODY"){this.applyCorners=function(){};curvyCorners.alert(this.errmsg("zero-width box with no accountable parent","warning"));return}if(boxDisp.style.display==="none"){break}}boxDisp.style.display="block";boxWidth=this.box.clientWidth}if(arguments[0] instanceof curvyCnrSpec){this.spec=arguments[0].cloneOn(this.box)}else{this.spec=new curvyCnrSpec("");this.spec.setfrom(this.settings)}var borderWidth=curvyBrowser.get_style(this.box,"borderTopWidth");var borderWidthB=curvyBrowser.get_style(this.box,"borderBottomWidth");var borderWidthL=curvyBrowser.get_style(this.box,"borderLeftWidth");var borderWidthR=curvyBrowser.get_style(this.box,"borderRightWidth");var borderColour=curvyBrowser.get_style(this.box,"borderTopColor");var borderColourB=curvyBrowser.get_style(this.box,"borderBottomColor");var borderColourL=curvyBrowser.get_style(this.box,"borderLeftColor");var boxColour=curvyBrowser.get_style(this.box,"backgroundColor");var backgroundImage=curvyBrowser.get_style(this.box,"backgroundImage");var backgroundRepeat=curvyBrowser.get_style(this.box,"backgroundRepeat");if(this.box.currentStyle&&this.box.currentStyle.backgroundPositionX){var backgroundPosX=curvyBrowser.get_style(this.box,"backgroundPositionX");var backgroundPosY=curvyBrowser.get_style(this.box,"backgroundPositionY")}else{var backgroundPosX=curvyBrowser.get_style(this.box,"backgroundPosition");backgroundPosX=backgroundPosX.split(" ");var backgroundPosY=backgroundPosX[1];backgroundPosX=backgroundPosX[0]}var boxPosition=curvyBrowser.get_style(this.box,"position");var topPadding=curvyBrowser.get_style(this.box,"paddingTop");var bottomPadding=curvyBrowser.get_style(this.box,"paddingBottom");var leftPadding=curvyBrowser.get_style(this.box,"paddingLeft");var rightPadding=curvyBrowser.get_style(this.box,"paddingRight");var border=curvyBrowser.get_style(this.box,"border");filter=curvyBrowser.ieVer>7?curvyBrowser.get_style(this.box,"filter"):null;var topMaxRadius=this.spec.get("tR");var botMaxRadius=this.spec.get("bR");var styleToNPx=function(val){if(typeof val==="number"){return val}if(typeof val!=="string"){throw new Error("unexpected styleToNPx type "+typeof val)}var matches=/^[-\d.]([a-z]+)$/.exec(val);if(matches&&matches[1]!="px"){throw new Error("Unexpected unit "+matches[1])}if(isNaN(val=parseInt(val))){val=0}return val};var min0Px=function(val){return val<=0?"0":val+"px"};try{this.borderWidth=styleToNPx(borderWidth);this.borderWidthB=styleToNPx(borderWidthB);this.borderWidthL=styleToNPx(borderWidthL);this.borderWidthR=styleToNPx(borderWidthR);this.boxColour=curvyObject.format_colour(boxColour);this.topPadding=styleToNPx(topPadding);this.bottomPadding=styleToNPx(bottomPadding);this.leftPadding=styleToNPx(leftPadding);this.rightPadding=styleToNPx(rightPadding);this.boxWidth=boxWidth;this.boxHeight=this.box.clientHeight;this.borderColour=curvyObject.format_colour(borderColour);this.borderColourB=curvyObject.format_colour(borderColourB);this.borderColourL=curvyObject.format_colour(borderColourL);this.borderString=this.borderWidth+"px solid "+this.borderColour;this.borderStringB=this.borderWidthB+"px solid "+this.borderColourB;this.backgroundImage=((backgroundImage!="none")?backgroundImage:"");this.backgroundRepeat=backgroundRepeat}catch(e){throw this.newError("getMessage" in e?e.getMessage():e.message)}var clientHeight=this.boxHeight;var clientWidth=boxWidth;if(curvyBrowser.isOp){backgroundPosX=styleToNPx(backgroundPosX);backgroundPosY=styleToNPx(backgroundPosY);if(backgroundPosX){var t=clientWidth+this.borderWidthL+this.borderWidthR;if(backgroundPosX>t){backgroundPosX=t}backgroundPosX=(t/backgroundPosX*100)+"%"}if(backgroundPosY){var t=clientHeight+this.borderWidth+this.borderWidthB;if(backgroundPosY>t){backgroundPosY=t}backgroundPosY=(t/backgroundPosY*100)+"%"}}if(curvyBrowser.quirksMode){}else{this.boxWidth-=this.leftPadding+this.rightPadding;this.boxHeight-=this.topPadding+this.bottomPadding}this.contentContainer=document.createElement("div");if(filter){this.contentContainer.style.filter=filter}while(this.box.firstChild){this.contentContainer.appendChild(this.box.removeChild(this.box.firstChild))}if(boxPosition!="absolute"){this.box.style.position="relative"}this.box.style.padding="0";this.box.style.border=this.box.style.backgroundImage="none";this.box.style.backgroundColor="transparent";this.box.style.width=(clientWidth+this.borderWidthL+this.borderWidthR)+"px";this.box.style.height=(clientHeight+this.borderWidth+this.borderWidthB)+"px";var newMainContainer=document.createElement("div");newMainContainer.style.position="absolute";if(filter){newMainContainer.style.filter=filter}if(curvyBrowser.quirksMode){newMainContainer.style.width=(clientWidth+this.borderWidthL+this.borderWidthR)+"px"}else{newMainContainer.style.width=clientWidth+"px"}newMainContainer.style.height=min0Px(clientHeight+this.borderWidth+this.borderWidthB-topMaxRadius-botMaxRadius);newMainContainer.style.padding="0";newMainContainer.style.top=topMaxRadius+"px";newMainContainer.style.left="0";if(this.borderWidthL){newMainContainer.style.borderLeft=this.borderWidthL+"px solid "+this.borderColourL}if(this.borderWidth&&!topMaxRadius){newMainContainer.style.borderTop=this.borderWidth+"px solid "+this.borderColour}if(this.borderWidthR){newMainContainer.style.borderRight=this.borderWidthR+"px solid "+this.borderColourL}if(this.borderWidthB&&!botMaxRadius){newMainContainer.style.borderBottom=this.borderWidthB+"px solid "+this.borderColourB}newMainContainer.style.backgroundColor=boxColour;newMainContainer.style.backgroundImage=this.backgroundImage;newMainContainer.style.backgroundRepeat=this.backgroundRepeat;this.shell=this.box.appendChild(newMainContainer);boxWidth=curvyBrowser.get_style(this.shell,"width");if(boxWidth===""||boxWidth==="auto"||boxWidth.indexOf("%")!==-1){throw this.newError("Shell width is "+boxWidth)}this.boxWidth=(boxWidth!=""&&boxWidth!="auto"&&boxWidth.indexOf("%")==-1)?parseInt(boxWidth):this.shell.clientWidth;this.applyCorners=function(){if(this.backgroundObject){var bgOffset=function(style,imglen,boxlen){if(style===0){return 0}var retval;if(style==="right"||style==="bottom"){return boxlen-imglen}if(style==="center"){return(boxlen-imglen)/2}if(style.indexOf("%")>0){return(boxlen-imglen)*100/parseInt(style)}return styleToNPx(style)};this.backgroundPosX=bgOffset(backgroundPosX,this.backgroundObject.width,clientWidth);this.backgroundPosY=bgOffset(backgroundPosY,this.backgroundObject.height,clientHeight)}else{if(this.backgroundImage){this.backgroundPosX=styleToNPx(backgroundPosX);this.backgroundPosY=styleToNPx(backgroundPosY)}}if(topMaxRadius){newMainContainer=document.createElement("div");newMainContainer.style.width=this.boxWidth+"px";newMainContainer.style.fontSize="1px";newMainContainer.style.overflow="hidden";newMainContainer.style.position="absolute";newMainContainer.style.paddingLeft=this.borderWidth+"px";newMainContainer.style.paddingRight=this.borderWidth+"px";newMainContainer.style.height=topMaxRadius+"px";newMainContainer.style.top=-topMaxRadius+"px";newMainContainer.style.left=-this.borderWidthL+"px";this.topContainer=this.shell.appendChild(newMainContainer)}if(botMaxRadius){var newMainContainer=document.createElement("div");newMainContainer.style.width=this.boxWidth+"px";newMainContainer.style.fontSize="1px";newMainContainer.style.overflow="hidden";newMainContainer.style.position="absolute";newMainContainer.style.paddingLeft=this.borderWidthB+"px";newMainContainer.style.paddingRight=this.borderWidthB+"px";newMainContainer.style.height=botMaxRadius+"px";newMainContainer.style.bottom=-botMaxRadius+"px";newMainContainer.style.left=-this.borderWidthL+"px";this.bottomContainer=this.shell.appendChild(newMainContainer)}var corners=this.spec.cornerNames();for(var i in corners){if(!isNaN(i)){var cc=corners[i];var specRadius=this.spec[cc+"R"];var bwidth,bcolor,borderRadius,borderWidthTB;if(cc=="tr"||cc=="tl"){bwidth=this.borderWidth;bcolor=this.borderColour;borderWidthTB=this.borderWidth}else{bwidth=this.borderWidthB;bcolor=this.borderColourB;borderWidthTB=this.borderWidthB}borderRadius=specRadius-borderWidthTB;var newCorner=document.createElement("div");newCorner.style.height=this.spec.get(cc+"Ru");newCorner.style.width=this.spec.get(cc+"Ru");newCorner.style.position="absolute";newCorner.style.fontSize="1px";newCorner.style.overflow="hidden";var intx,inty,outsideColour;var trans=filter?parseInt(/alpha\(opacity.(\d+)\)/.exec(filter)[1]):100;for(intx=0;intx<specRadius;++intx){var y1=(intx+1>=borderRadius)?-1:Math.floor(Math.sqrt(Math.pow(borderRadius,2)-Math.pow(intx+1,2)))-1;if(borderRadius!=specRadius){var y2=(intx>=borderRadius)?-1:Math.ceil(Math.sqrt(Math.pow(borderRadius,2)-Math.pow(intx,2)));var y3=(intx+1>=specRadius)?-1:Math.floor(Math.sqrt(Math.pow(specRadius,2)-Math.pow((intx+1),2)))-1}var y4=(intx>=specRadius)?-1:Math.ceil(Math.sqrt(Math.pow(specRadius,2)-Math.pow(intx,2)));if(y1>-1){this.drawPixel(intx,0,this.boxColour,trans,(y1+1),newCorner,true,specRadius)}if(borderRadius!=specRadius){if(this.spec.antiAlias){for(inty=y1+1;inty<y2;++inty){if(this.backgroundImage!=""){var borderFract=curvyObject.pixelFraction(intx,inty,borderRadius)*100;this.drawPixel(intx,inty,bcolor,trans,1,newCorner,borderFract>=30,specRadius)}else{if(this.boxColour!=="transparent"){var pixelcolour=curvyObject.BlendColour(this.boxColour,bcolor,curvyObject.pixelFraction(intx,inty,borderRadius));this.drawPixel(intx,inty,pixelcolour,trans,1,newCorner,false,specRadius)}else{this.drawPixel(intx,inty,bcolor,trans>>1,1,newCorner,false,specRadius)}}}if(y3>=y2){if(y2==-1){y2=0}this.drawPixel(intx,y2,bcolor,trans,(y3-y2+1),newCorner,false,0)}outsideColour=bcolor;inty=y3}else{if(y3>y1){this.drawPixel(intx,(y1+1),bcolor,trans,(y3-y1),newCorner,false,0)}}}else{outsideColour=this.boxColour;inty=y1}if(this.spec.antiAlias){while(++inty<y4){this.drawPixel(intx,inty,outsideColour,(curvyObject.pixelFraction(intx,inty,specRadius)*trans),1,newCorner,borderWidthTB<=0,specRadius)}}}for(var t=0,k=newCorner.childNodes.length;t<k;++t){var pixelBar=newCorner.childNodes[t];var pixelBarTop=parseInt(pixelBar.style.top);var pixelBarLeft=parseInt(pixelBar.style.left);var pixelBarHeight=parseInt(pixelBar.style.height);if(cc=="tl"||cc=="bl"){pixelBar.style.left=(specRadius-pixelBarLeft-1)+"px"}if(cc=="tr"||cc=="tl"){pixelBar.style.top=(specRadius-pixelBarHeight-pixelBarTop)+"px"}pixelBar.style.backgroundRepeat=this.backgroundRepeat;if(this.backgroundImage){switch(cc){case"tr":pixelBar.style.backgroundPosition=(this.backgroundPosX-this.borderWidthL+specRadius-clientWidth-pixelBarLeft)+"px "+(this.backgroundPosY+pixelBarHeight+pixelBarTop+this.borderWidth-specRadius)+"px";break;case"tl":pixelBar.style.backgroundPosition=(this.backgroundPosX-specRadius+pixelBarLeft+this.borderWidthL)+"px "+(this.backgroundPosY-specRadius+pixelBarHeight+pixelBarTop+this.borderWidth)+"px";break;case"bl":pixelBar.style.backgroundPosition=(this.backgroundPosX-specRadius+pixelBarLeft+1+this.borderWidthL)+"px "+(this.backgroundPosY-clientHeight-this.borderWidth+(curvyBrowser.quirksMode?pixelBarTop:-pixelBarTop)+specRadius)+"px";break;case"br":if(curvyBrowser.quirksMode){pixelBar.style.backgroundPosition=(this.backgroundPosX+this.borderWidthL-clientWidth+specRadius-pixelBarLeft)+"px "+(this.backgroundPosY-clientHeight-this.borderWidth+pixelBarTop+specRadius)+"px"}else{pixelBar.style.backgroundPosition=(this.backgroundPosX-this.borderWidthL-clientWidth+specRadius-pixelBarLeft)+"px "+(this.backgroundPosY-clientHeight-this.borderWidth+specRadius-pixelBarTop)+"px"}}}}switch(cc){case"tl":newCorner.style.top=newCorner.style.left="0";this.topContainer.appendChild(newCorner);break;case"tr":newCorner.style.top=newCorner.style.right="0";this.topContainer.appendChild(newCorner);break;case"bl":newCorner.style.bottom=newCorner.style.left="0";this.bottomContainer.appendChild(newCorner);break;case"br":newCorner.style.bottom=newCorner.style.right="0";this.bottomContainer.appendChild(newCorner)}}}var radiusDiff={t:this.spec.radiusdiff("t"),b:this.spec.radiusdiff("b")};for(z in radiusDiff){if(typeof z==="function"){continue}if(!this.spec.get(z+"R")){continue}if(radiusDiff[z]){if(this.backgroundImage&&this.spec.radiusSum(z)!==radiusDiff[z]){curvyCorners.alert(this.errmsg("Not supported: unequal non-zero top/bottom radii with background image"))}var smallerCornerType=(this.spec[z+"lR"]<this.spec[z+"rR"])?z+"l":z+"r";var newFiller=document.createElement("div");newFiller.style.height=radiusDiff[z]+"px";newFiller.style.width=this.spec.get(smallerCornerType+"Ru");newFiller.style.position="absolute";newFiller.style.fontSize="1px";newFiller.style.overflow="hidden";newFiller.style.backgroundColor=this.boxColour;switch(smallerCornerType){case"tl":newFiller.style.bottom=newFiller.style.left="0";newFiller.style.borderLeft=this.borderString;this.topContainer.appendChild(newFiller);break;case"tr":newFiller.style.bottom=newFiller.style.right="0";newFiller.style.borderRight=this.borderString;this.topContainer.appendChild(newFiller);break;case"bl":newFiller.style.top=newFiller.style.left="0";newFiller.style.borderLeft=this.borderStringB;this.bottomContainer.appendChild(newFiller);break;case"br":newFiller.style.top=newFiller.style.right="0";newFiller.style.borderRight=this.borderStringB;this.bottomContainer.appendChild(newFiller)}}var newFillerBar=document.createElement("div");if(filter){newFillerBar.style.filter=filter}newFillerBar.style.position="relative";newFillerBar.style.fontSize="1px";newFillerBar.style.overflow="hidden";newFillerBar.style.width=this.fillerWidth(z);newFillerBar.style.backgroundColor=this.boxColour;newFillerBar.style.backgroundImage=this.backgroundImage;newFillerBar.style.backgroundRepeat=this.backgroundRepeat;switch(z){case"t":if(this.topContainer){if(curvyBrowser.quirksMode){newFillerBar.style.height=100+topMaxRadius+"px"}else{newFillerBar.style.height=100+topMaxRadius-this.borderWidth+"px"}newFillerBar.style.marginLeft=this.spec.tlR?(this.spec.tlR-this.borderWidthL)+"px":"0";newFillerBar.style.borderTop=this.borderString;if(this.backgroundImage){var x_offset=this.spec.tlR?(this.backgroundPosX-(topMaxRadius-this.borderWidthL))+"px ":"0 ";newFillerBar.style.backgroundPosition=x_offset+this.backgroundPosY+"px";this.shell.style.backgroundPosition=this.backgroundPosX+"px "+(this.backgroundPosY-topMaxRadius+this.borderWidthL)+"px"}this.topContainer.appendChild(newFillerBar)}break;case"b":if(this.bottomContainer){if(curvyBrowser.quirksMode){newFillerBar.style.height=botMaxRadius+"px"}else{newFillerBar.style.height=botMaxRadius-this.borderWidthB+"px"}newFillerBar.style.marginLeft=this.spec.blR?(this.spec.blR-this.borderWidthL)+"px":"0";newFillerBar.style.borderBottom=this.borderStringB;if(this.backgroundImage){var x_offset=this.spec.blR?(this.backgroundPosX+this.borderWidthL-botMaxRadius)+"px ":this.backgroundPosX+"px ";newFillerBar.style.backgroundPosition=x_offset+(this.backgroundPosY-clientHeight-this.borderWidth+botMaxRadius)+"px"}this.bottomContainer.appendChild(newFillerBar)}}}this.contentContainer.style.position="absolute";this.contentContainer.className="autoPadDiv";this.contentContainer.style.left=this.borderWidthL+"px";this.contentContainer.style.paddingTop=this.topPadding+"px";this.contentContainer.style.top=this.borderWidth+"px";this.contentContainer.style.paddingLeft=this.leftPadding+"px";this.contentContainer.style.paddingRight=this.rightPadding+"px";z=clientWidth;if(!curvyBrowser.quirksMode){z-=this.leftPadding+this.rightPadding}this.contentContainer.style.width=z+"px";this.contentContainer.style.textAlign=curvyBrowser.get_style(this.box,"textAlign");this.box.style.textAlign="left";this.box.appendChild(this.contentContainer);if(boxDisp){boxDisp.style.display="none"}};if(this.backgroundImage){backgroundPosX=this.backgroundCheck(backgroundPosX);backgroundPosY=this.backgroundCheck(backgroundPosY);if(this.backgroundObject){this.backgroundObject.holdingElement=this;this.dispatch=this.applyCorners;this.applyCorners=function(){if(this.backgroundObject.complete){this.dispatch()}else{this.backgroundObject.onload=new Function("curvyObject.dispatch(this.holdingElement);")}}}}}curvyObject.prototype.backgroundCheck=function(style){if(style==="top"||style==="left"||parseInt(style)===0){return 0}if(!(/^[-\d.]+px$/.test(style))&&!this.backgroundObject){this.backgroundObject=new Image;var imgName=function(str){var matches=/url\("?([^'"]+)"?\)/.exec(str);return(matches?matches[1]:str)};this.backgroundObject.src=imgName(this.backgroundImage)}return style};curvyObject.dispatch=function(obj){if("dispatch" in obj){obj.dispatch()}else{throw obj.newError("No dispatch function")}};curvyObject.prototype.drawPixel=function(intx,inty,colour,transAmount,height,newCorner,image,cornerRadius){var pixel=document.createElement("div");pixel.style.height=height+"px";pixel.style.width="1px";pixel.style.position="absolute";pixel.style.fontSize="1px";pixel.style.overflow="hidden";var topMaxRadius=this.spec.get("tR");pixel.style.backgroundColor=colour;if(image&&this.backgroundImage!=""){pixel.style.backgroundImage=this.backgroundImage;pixel.style.backgroundPosition="-"+(this.boxWidth-(cornerRadius-intx)+this.borderWidth)+"px -"+((this.boxHeight+topMaxRadius+inty)-this.borderWidth)+"px"}if(transAmount!=100){curvyObject.setOpacity(pixel,transAmount)}pixel.style.top=inty+"px";pixel.style.left=intx+"px";newCorner.appendChild(pixel)};curvyObject.prototype.fillerWidth=function(tb){var bWidth=curvyBrowser.quirksMode?0:this.spec.radiusCount(tb)*this.borderWidthL;return(this.boxWidth-this.spec.radiusSum(tb)+bWidth)+"px"};curvyObject.prototype.errmsg=function(msg,gravity){var extradata="\ntag: "+this.box.tagName;if(this.box.id){extradata+="\nid: "+this.box.id}if(this.box.className){extradata+="\nclass: "+this.box.className}var parent;if((parent=this.box.parentNode)===null){extradata+="\n(box has no parent)"}else{extradata+="\nParent tag: "+parent.tagName;if(parent.id){extradata+="\nParent ID: "+parent.id}if(parent.className){extradata+="\nParent class: "+parent.className}}if(gravity===undefined){gravity="warning"}return"curvyObject "+gravity+":\n"+msg+extradata};curvyObject.prototype.newError=function(msg){return new Error(this.errmsg(msg,"exception"))};curvyObject.IntToHex=function(strNum){var hexdig=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];return hexdig[strNum>>>4]+""+hexdig[strNum&15]};curvyObject.BlendColour=function(Col1,Col2,Col1Fraction){if(Col1==="transparent"||Col2==="transparent"){throw this.newError("Cannot blend with transparent")}if(Col1.charAt(0)!=="#"){Col1=curvyObject.format_colour(Col1)}if(Col2.charAt(0)!=="#"){Col2=curvyObject.format_colour(Col2)}var red1=parseInt(Col1.substr(1,2),16);var green1=parseInt(Col1.substr(3,2),16);var blue1=parseInt(Col1.substr(5,2),16);var red2=parseInt(Col2.substr(1,2),16);var green2=parseInt(Col2.substr(3,2),16);var blue2=parseInt(Col2.substr(5,2),16);if(Col1Fraction>1||Col1Fraction<0){Col1Fraction=1}var endRed=Math.round((red1*Col1Fraction)+(red2*(1-Col1Fraction)));if(endRed>255){endRed=255}if(endRed<0){endRed=0}var endGreen=Math.round((green1*Col1Fraction)+(green2*(1-Col1Fraction)));if(endGreen>255){endGreen=255}if(endGreen<0){endGreen=0}var endBlue=Math.round((blue1*Col1Fraction)+(blue2*(1-Col1Fraction)));if(endBlue>255){endBlue=255}if(endBlue<0){endBlue=0}return"#"+curvyObject.IntToHex(endRed)+curvyObject.IntToHex(endGreen)+curvyObject.IntToHex(endBlue)};curvyObject.pixelFraction=function(x,y,r){var fraction;var rsquared=r*r;var xvalues=new Array(2);var yvalues=new Array(2);var point=0;var whatsides="";var intersect=Math.sqrt(rsquared-Math.pow(x,2));if(intersect>=y&&intersect<(y+1)){whatsides="Left";xvalues[point]=0;yvalues[point]=intersect-y;++point}intersect=Math.sqrt(rsquared-Math.pow(y+1,2));if(intersect>=x&&intersect<(x+1)){whatsides+="Top";xvalues[point]=intersect-x;yvalues[point]=1;++point}intersect=Math.sqrt(rsquared-Math.pow(x+1,2));if(intersect>=y&&intersect<(y+1)){whatsides+="Right";xvalues[point]=1;yvalues[point]=intersect-y;++point}intersect=Math.sqrt(rsquared-Math.pow(y,2));if(intersect>=x&&intersect<(x+1)){whatsides+="Bottom";xvalues[point]=intersect-x;yvalues[point]=0}switch(whatsides){case"LeftRight":fraction=Math.min(yvalues[0],yvalues[1])+((Math.max(yvalues[0],yvalues[1])-Math.min(yvalues[0],yvalues[1]))/2);break;case"TopRight":fraction=1-(((1-xvalues[0])*(1-yvalues[1]))/2);break;case"TopBottom":fraction=Math.min(xvalues[0],xvalues[1])+((Math.max(xvalues[0],xvalues[1])-Math.min(xvalues[0],xvalues[1]))/2);break;case"LeftBottom":fraction=yvalues[0]*xvalues[1]/2;break;default:fraction=1}return fraction};curvyObject.rgb2Array=function(rgbColour){var rgbValues=rgbColour.substring(4,rgbColour.indexOf(")"));return rgbValues.split(", ")};curvyObject.rgb2Hex=function(rgbColour){try{var rgbArray=curvyObject.rgb2Array(rgbColour);var red=parseInt(rgbArray[0]);var green=parseInt(rgbArray[1]);var blue=parseInt(rgbArray[2]);var hexColour="#"+curvyObject.IntToHex(red)+curvyObject.IntToHex(green)+curvyObject.IntToHex(blue)}catch(e){var msg="getMessage" in e?e.getMessage():e.message;throw new Error("Error ("+msg+") converting RGB value to Hex in rgb2Hex")}return hexColour};curvyObject.setOpacity=function(obj,opacity){opacity=(opacity==100)?99.999:opacity;if(curvyBrowser.isSafari&&obj.tagName!="IFRAME"){var rgbArray=curvyObject.rgb2Array(obj.style.backgroundColor);var red=parseInt(rgbArray[0]);var green=parseInt(rgbArray[1]);var blue=parseInt(rgbArray[2]);obj.style.backgroundColor="rgba("+red+", "+green+", "+blue+", "+opacity/100+")"}else{if(typeof obj.style.opacity!=="undefined"){obj.style.opacity=opacity/100}else{if(typeof obj.style.MozOpacity!=="undefined"){obj.style.MozOpacity=opacity/100}else{if(typeof obj.style.filter!="undefined"){obj.style.filter="alpha(opacity="+opacity+")"}else{if(typeof obj.style.KHTMLOpacity!="undefined"){obj.style.KHTMLOpacity=opacity/100}}}}}};function curvyaddEvent(elm,evType,fn,useCapture){if(elm.addEventListener){elm.addEventListener(evType,fn,useCapture);return true}if(elm.attachEvent){return elm.attachEvent("on"+evType,fn)}elm["on"+evType]=fn;return false}curvyObject.getComputedColour=function(colour){var d=document.createElement("DIV");d.style.backgroundColor=colour;document.body.appendChild(d);if(window.getComputedStyle){var rtn=document.defaultView.getComputedStyle(d,null).getPropertyValue("background-color");d.parentNode.removeChild(d);if(rtn.substr(0,3)==="rgb"){rtn=curvyObject.rgb2Hex(rtn)}return rtn}else{var rng=document.body.createTextRange();rng.moveToElementText(d);rng.execCommand("ForeColor",false,colour);var iClr=rng.queryCommandValue("ForeColor");var rgb="rgb("+(iClr&255)+", "+((iClr&65280)>>8)+", "+((iClr&16711680)>>16)+")";d.parentNode.removeChild(d);rng=null;return curvyObject.rgb2Hex(rgb)}};curvyObject.format_colour=function(colour){if(colour!=""&&colour!="transparent"){if(colour.substr(0,3)==="rgb"){colour=curvyObject.rgb2Hex(colour)}else{if(colour.charAt(0)!=="#"){colour=curvyObject.getComputedColour(colour)}else{if(colour.length===4){colour="#"+colour.charAt(1)+colour.charAt(1)+colour.charAt(2)+colour.charAt(2)+colour.charAt(3)+colour.charAt(3)}}}}return colour};curvyCorners.getElementsByClass=function(searchClass,node){var classElements=new Array;if(node===undefined){node=document}searchClass=searchClass.split(".");var tag="*";if(searchClass.length===1){tag=searchClass[0];searchClass=false}else{if(searchClass[0]){tag=searchClass[0]}searchClass=searchClass[1]}var i,els,elsLen;if(tag.charAt(0)==="#"){els=document.getElementById(tag.substr(1));if(els){classElements.push(els)}}else{els=node.getElementsByTagName(tag);elsLen=els.length;if(searchClass){var pattern=new RegExp("(^|\\s)"+searchClass+"(\\s|$)");for(i=0;i<elsLen;++i){if(pattern.test(els[i].className)){classElements.push(els[i])}}}else{for(i=0;i<elsLen;++i){classElements.push(els[i])}}}return classElements};if(curvyBrowser.isMoz||curvyBrowser.isWebKit){var curvyCornersNoAutoScan=true}else{curvyCorners.scanStyles=function(){function units(num){var matches=/^[\d.]+(\w+)$/.exec(num);return matches[1]}var t,i,j;if(curvyBrowser.isIE){function procIEStyles(rule){var style=rule.style;if(curvyBrowser.ieVer>6){var allR=style["-webkit-border-radius"]||0;var tR=style["-webkit-border-top-right-radius"]||0;var tL=style["-webkit-border-top-left-radius"]||0;var bR=style["-webkit-border-bottom-right-radius"]||0;var bL=style["-webkit-border-bottom-left-radius"]||0}else{var allR=style["webkit-border-radius"]||0;var tR=style["webkit-border-top-right-radius"]||0;var tL=style["webkit-border-top-left-radius"]||0;var bR=style["webkit-border-bottom-right-radius"]||0;var bL=style["webkit-border-bottom-left-radius"]||0}if(allR||tL||tR||bR||bL){var settings=new curvyCnrSpec(rule.selectorText);if(allR){settings.setcorner(null,null,parseInt(allR),units(allR))}else{if(tR){settings.setcorner("t","r",parseInt(tR),units(tR))}if(tL){settings.setcorner("t","l",parseInt(tL),units(tL))}if(bL){settings.setcorner("b","l",parseInt(bL),units(bL))}if(bR){settings.setcorner("b","r",parseInt(bR),units(bR))}}curvyCorners(settings)}}for(t=0;t<document.styleSheets.length;++t){if(document.styleSheets[t].imports){for(i=0;i<document.styleSheets[t].imports.length;++i){for(j=0;j<document.styleSheets[t].imports[i].rules.length;++j){procIEStyles(document.styleSheets[t].imports[i].rules[j])}}}for(i=0;i<document.styleSheets[t].rules.length;++i){procIEStyles(document.styleSheets[t].rules[i])}}}else{if(curvyBrowser.isOp){for(t=0;t<document.styleSheets.length;++t){if(operasheet.contains_border_radius(t)){j=new operasheet(t);for(i in j.rules){if(!isNaN(i)){curvyCorners(j.rules[i])}}}}}else{curvyCorners.alert("Scanstyles does nothing in Webkit/Firefox")}}};curvyCorners.init=function(){if(arguments.callee.done){return}arguments.callee.done=true;if(curvyBrowser.isWebKit&&curvyCorners.init.timer){clearInterval(curvyCorners.init.timer);curvyCorners.init.timer=null}curvyCorners.scanStyles()}}if(typeof curvyCornersNoAutoScan==="undefined"||curvyCornersNoAutoScan===false){if(curvyBrowser.isOp){document.addEventListener("DOMContentLoaded",curvyCorners.init,false)}else{curvyaddEvent(window,"load",curvyCorners.init,false)}};
