if(typeof Prototype=="undefined"){warning="ActiveScaffold Error: Prototype could not be found. Please make sure that your application's layout includes prototype.js (e.g. <%= javascript_include_tag :defaults %>) *before* it includes active_scaffold.js (e.g. <%= active_scaffold_includes %>).";alert(warning)}if(Prototype.Version.substring(0,8)=="1.5.0_rc"){warning="ActiveScaffold Error: Prototype 1.5.0_rc is not supported. Please update prototype.js (rake rails:update:javascripts).";alert(warning)}var ActiveScaffold={records_for:function(A){var B=[];var C=$(A).down(".record");while(C){B.push(C);C=C.next(".record")}return B},stripe:function(A){var D=false;var C=this.records_for(A);for(var B=0;B<C.length;B++){var E=C[B];if(E.tagName!="SCRIPT"&&!E.hasClassName("create")&&!E.hasClassName("update")&&!E.hasClassName("inline-adapter")&&!E.hasClassName("active-scaffold-calculations")){if(D){E.addClassName("even-record")}else{E.removeClassName("even-record")}D=!D}}},hide_empty_message:function(A,B){if(this.records_for(A).length!=0){$(B).hide()}},reload_if_empty:function(B,A){var C=B.replace("tbody","content");if(this.records_for(B).length==0){new Ajax.Updater($(C),A,{method:"get",asynchronous:true,evalScripts:true})}},removeSortClasses:function(A){$$("#"+A+" td.sorted").each(function(B){B.removeClassName("sorted")});$$("#"+A+" th.sorted").each(function(B){B.removeClassName("sorted");B.removeClassName("asc");B.removeClassName("desc")})},decrement_record_count:function(A){count=$$("#"+A+" span.active-scaffold-records").first();count.innerHTML=parseInt(count.innerHTML)-1},increment_record_count:function(A){count=$$("#"+A+" span.active-scaffold-records").first();count.innerHTML=parseInt(count.innerHTML)+1},server_error_response:"",report_500_response:function(A){messages_container=$(A).down("td.messages-container");new Insertion.Top(messages_container,this.server_error_response)}};function addActiveScaffoldPageToHistory(D,B){if(typeof dhtmlHistory=="undefined"){return }var G=D.split("?");var A=new Querystring(G[1]);var E=A.get("sort");var C=A.get("sort_direction");var F=A.get("page");if(E||C||F){dhtmlHistory.add(B+":"+F+":"+E+":"+C,D)}}Element.replace=function(E,D){E=$(E);if(E.outerHTML){try{E.outerHTML=D.stripScripts()}catch(F){var A=E.tagName;if(A=="TBODY"||A=="TR"||A=="TD"){var C=document.createElement("div");C.innerHTML='<table id="tempTable" style="display: none">'+D.stripScripts()+"</table>";E.parentNode.replaceChild(C.getElementsByTagName(A).item(0),E)}else{throw F}}}else{var B=E.ownerDocument.createRange();B.selectNodeContents(E.parentNode);E.parentNode.replaceChild(B.createContextualFragment(D.stripScripts()),E)}setTimeout(function(){D.evalScripts()},10);return E};Object.extend(String.prototype,{append_params:function(A){url=this;if(url.indexOf("?")==-1){url+="?"}else{if(url.lastIndexOf("&")!=url.length){url+="&"}}url+=$H(A).collect(function(B){return B.key+"="+B.value}).join("&");return url}});Element.Methods.Simulated={hasAttribute:function(B,C){var A=Element._attributeTranslations;C=(A.names&&A.names[C])||C;try{return $(B).getAttributeNode(C).specified}catch(D){return false}}};ActiveScaffold.Actions=new Object();ActiveScaffold.Actions.Abstract=function(){};ActiveScaffold.Actions.Abstract.prototype={initialize:function(A,C,D,B){this.target=$(C);this.loading_indicator=$(D);this.options=B;this.links=A.collect(function(E){return this.instantiate_link(E)}.bind(this))},instantiate_link:function(A){throw"unimplemented"}};ActiveScaffold.ActionLink=new Object();ActiveScaffold.ActionLink.Abstract=function(){};ActiveScaffold.ActionLink.Abstract.prototype={initialize:function(A,B,C){this.tag=$(A);this.url=this.tag.href;this.target=B;this.loading_indicator=C;this.hide_target=false;this.position=this.tag.getAttribute("position");this.page_link=this.tag.getAttribute("page_link");this.onclick=this.tag.onclick;this.tag.onclick=null;this.tag.observe("click",function(D){this.open();Event.stop(D)}.bind(this));this.tag.action_link=this},open:function(){if(this.is_disabled()){return }if(this.tag.hasAttribute("dhtml_confirm")){if(this.onclick){this.onclick()}return }else{if(this.onclick&&!this.onclick()){return }this.open_action()}},open_action:function(){if(this.position){this.disable()}if(this.page_link){window.location=this.url}else{if(this.loading_indicator){this.loading_indicator.style.visibility="visible"}new Ajax.Request(this.url,{asynchronous:true,evalScripts:true,onSuccess:function(A){if(this.position){this.insert(A.responseText);if(this.hide_target){this.target.hide()}}else{A.evalResponse()}}.bind(this),onFailure:function(A){ActiveScaffold.report_500_response(this.scaffold_id());if(this.position){this.enable()}}.bind(this),onComplete:function(A){if(this.loading_indicator){this.loading_indicator.style.visibility="hidden"}}.bind(this)})}},insert:function(A){throw"unimplemented"},close:function(){this.enable();this.adapter.remove();if(this.hide_target){this.target.show()}},register_cancel_hooks:function(){var A=this;this.adapter.getElementsByClassName("cancel").each(function(B){B.observe("click",this.close_handler.bind(this));B.link=A}.bind(this))},reload:function(){this.close();this.open()},get_new_adapter_id:function(){var B="adapter_";var A=0;while($(B+A)){A++}return B+A},enable:function(){return this.tag.removeClassName("disabled")},disable:function(){return this.tag.addClassName("disabled")},is_disabled:function(){return this.tag.hasClassName("disabled")},scaffold_id:function(){return this.tag.up("div.active-scaffold").id}};ActiveScaffold.Actions.Record=Class.create();ActiveScaffold.Actions.Record.prototype=Object.extend(new ActiveScaffold.Actions.Abstract(),{instantiate_link:function(B){var A=new ActiveScaffold.ActionLink.Record(B,this.target,this.loading_indicator);A.refresh_url=this.options.refresh_url;if(A.position){A.url=A.url.append_params({adapter:"_list_inline_adapter"})}A.set=this;return A}});ActiveScaffold.ActionLink.Record=Class.create();ActiveScaffold.ActionLink.Record.prototype=Object.extend(new ActiveScaffold.ActionLink.Abstract(),{insert:function(A){this.set.links.each(function(B){if(B.url!=this.url&&B.is_disabled()&&B.adapter){B.close()}}.bind(this));if(this.position=="replace"){this.position="after";this.hide_target=true}if(this.position=="after"){new Insertion.After(this.target,A);this.adapter=this.target.next()}else{if(this.position=="before"){new Insertion.Before(this.target,A);this.adapter=this.target.previous()}else{return false}}this.adapter.down("a.inline-adapter-close").observe("click",this.close_handler.bind(this));this.register_cancel_hooks();new Effect.Highlight(this.adapter.down("td"))},close_handler:function(A){this.close_with_refresh();if(A){Event.stop(A)}},close_with_refresh:function(){new Ajax.Request(this.refresh_url,{asynchronous:true,evalScripts:true,onSuccess:function(B){Element.replace(this.target,B.responseText);var A=$(this.target.id);if(this.target.hasClassName("even-record")){A.addClassName("even-record")}this.target=A;this.close()}.bind(this),onFailure:function(A){ActiveScaffold.report_500_response(this.scaffold_id())}})},enable:function(){this.set.links.each(function(A){if(A.url!=this.url){return }A.tag.removeClassName("disabled")}.bind(this))},disable:function(){this.set.links.each(function(A){if(A.url!=this.url){return }A.tag.addClassName("disabled")}.bind(this))}});ActiveScaffold.Actions.Table=Class.create();ActiveScaffold.Actions.Table.prototype=Object.extend(new ActiveScaffold.Actions.Abstract(),{instantiate_link:function(B){var A=new ActiveScaffold.ActionLink.Table(B,this.target,this.loading_indicator);if(A.position){A.url=A.url.append_params({adapter:"_list_inline_adapter"})}return A}});ActiveScaffold.ActionLink.Table=Class.create();ActiveScaffold.ActionLink.Table.prototype=Object.extend(new ActiveScaffold.ActionLink.Abstract(),{insert:function(A){if(this.position=="top"){new Insertion.Top(this.target,A);this.adapter=this.target.immediateDescendants().first()}else{throw'Unknown position "'+this.position+'"'}this.adapter.down("a.inline-adapter-close").observe("click",this.close_handler.bind(this));this.register_cancel_hooks();new Effect.Highlight(this.adapter.down("td"))},close_handler:function(A){this.close();if(A){Event.stop(A)}}});window.dhtmlHistory={initialize:function(){if(this.isInternetExplorer()==false){return }if(historyStorage.hasKey("DhtmlHistory_pageLoaded")==false){this.fireOnNewListener=false;this.firstLoad=true;historyStorage.put("DhtmlHistory_pageLoaded",true)}else{this.fireOnNewListener=true;this.firstLoad=false}},addListener:function(A){this.listener=A;if(this.fireOnNewListener==true){this.fireHistoryEvent(this.currentLocation);this.fireOnNewListener=false}},add:function(C,D){var A=this;var B=function(){if(A.currentWaitTime>0){A.currentWaitTime=A.currentWaitTime-A.WAIT_TIME}C=A.removeHash(C);var F=$(C);if(F!=undefined||F!=null){var E="Exception: History locations can not have the same value as _any_ id's that might be in the document, due to a bug in Internet Explorer; please ask the developer to choose a history location that does not match any HTML id's in this document. The following ID is already taken and can not be a location: "+C;throw E}historyStorage.put(C,D);A.ignoreLocationChange=true;this.ieAtomicLocationChange=true;A.currentLocation=C;window.location.hash=C;if(A.isInternetExplorer()){A.iframe.src="/blank.html?"+C}this.ieAtomicLocationChange=false};window.setTimeout(B,this.currentWaitTime);this.currentWaitTime=this.currentWaitTime+this.WAIT_TIME},isFirstLoad:function(){if(this.firstLoad==true){return true}else{return false}},isInternational:function(){return false},getVersion:function(){return"0.05"},getCurrentLocation:function(){var A=escape(this.removeHash(window.location.hash));return A},currentLocation:null,listener:null,iframe:null,ignoreLocationChange:null,WAIT_TIME:200,currentWaitTime:0,fireOnNewListener:null,firstLoad:null,ieAtomicLocationChange:null,create:function(){var A=this.getCurrentLocation();this.currentLocation=A;if(this.isInternetExplorer()){document.write("<iframe style='border: 0px; width: 1px; height: 1px; position: absolute; bottom: 0px; right: 0px; visibility: visible;' name='DhtmlHistoryFrame' id='DhtmlHistoryFrame' src='/blank.html?"+A+"'></iframe>");this.WAIT_TIME=400}var B=this;window.onunload=function(){B.firstLoad=null};if(this.isInternetExplorer()==false){if(historyStorage.hasKey("DhtmlHistory_pageLoaded")==false){this.ignoreLocationChange=true;this.firstLoad=true;historyStorage.put("DhtmlHistory_pageLoaded",true)}else{this.ignoreLocationChange=false;this.fireOnNewListener=true}}else{this.ignoreLocationChange=true}if(this.isInternetExplorer()){this.iframe=$("DhtmlHistoryFrame")}var B=this;var C=function(){B.checkLocation()};setInterval(C,100)},fireHistoryEvent:function(A){var B=historyStorage.get(A);this.listener.call(null,A,B)},checkLocation:function(){if(this.isInternetExplorer()==false&&this.ignoreLocationChange==true){this.ignoreLocationChange=false;return }if(this.isInternetExplorer()==false&&this.ieAtomicLocationChange==true){return }var A=this.getCurrentLocation();if(A==this.currentLocation){return }this.ieAtomicLocationChange=true;if(this.isInternetExplorer()&&this.getIFrameHash()!=A){this.iframe.src="/blank.html?"+A}else{if(this.isInternetExplorer()){return }}this.currentLocation=A;this.ieAtomicLocationChange=false;this.fireHistoryEvent(A)},getIFrameHash:function(){var A=$("DhtmlHistoryFrame");var C=A.contentWindow.document;var B=new String(C.location.search);if(B.length==1&&B.charAt(0)=="?"){B=""}else{if(B.length>=2&&B.charAt(0)=="?"){B=B.substring(1)}}return B},removeHash:function(A){if(A==null||A==undefined){return null}else{if(A==""){return""}else{if(A.length==1&&A.charAt(0)=="#"){return""}else{if(A.length>1&&A.charAt(0)=="#"){return A.substring(1)}else{return A}}}}},iframeLoaded:function(A){if(this.ignoreLocationChange==true){this.ignoreLocationChange=false;return }var B=new String(A.search);if(B.length==1&&B.charAt(0)=="?"){B=""}else{if(B.length>=2&&B.charAt(0)=="?"){B=B.substring(1)}}if(this.pageLoadEvent!=true){window.location.hash=B}this.fireHistoryEvent(B)},isInternetExplorer:function(){var A=navigator.userAgent.toLowerCase();if(document.all&&A.indexOf("msie")!=-1){return true}else{return false}}};window.historyStorage={debugging:false,storageHash:new Object(),hashLoaded:false,put:function(A,B){this.assertValidKey(A);if(this.hasKey(A)){this.remove(A)}this.storageHash[A]=B;this.saveHashTable()},get:function(A){this.assertValidKey(A);this.loadHashTable();var B=this.storageHash[A];if(B==undefined){return null}else{return B}},remove:function(A){this.assertValidKey(A);this.loadHashTable();delete this.storageHash[A];this.saveHashTable()},reset:function(){this.storageField.value="";this.storageHash=new Object()},hasKey:function(A){this.assertValidKey(A);this.loadHashTable();if(typeof this.storageHash[A]=="undefined"){return false}else{return true}},isValidKey:function(A){return(typeof A=="string")},storageField:null,init:function(){var A="<input type='text' id='historyStorageField' name='historyStorageField' style='display: none;'/>";document.write(A);this.storageField=$("historyStorageField")},assertValidKey:function(A){if(this.isValidKey(A)==false){throw"Please provide a valid key for window.historyStorage, key= "+A}},loadHashTable:function(){if(this.hashLoaded==false){var serializedHashTable=this.storageField.value;if(serializedHashTable!=""&&serializedHashTable!=null){this.storageHash=eval("("+serializedHashTable+")")}this.hashLoaded=true}},saveHashTable:function(){this.loadHashTable();var A=JSON.stringify(this.storageHash);this.storageField.value=A}};Array.prototype.______array="______array";var JSON={org:"http://www.JSON.org",copyright:"(c)2005 JSON.org",license:"http://www.crockford.com/JSON/license.html",stringify:function(A){var F,D,B,E="",C;switch(typeof A){case"object":if(A){if(A.______array=="______array"){for(D=0;D<A.length;++D){C=this.stringify(A[D]);if(E){E+=","}E+=C}return"["+E+"]"}else{if(typeof A.toString!="undefined"){for(D in A){C=A[D];if(typeof C!="undefined"&&typeof C!="function"){C=this.stringify(C);if(E){E+=","}E+=this.stringify(D)+":"+C}}return"{"+E+"}"}}}return"null";case"number":return isFinite(A)?String(A):"null";case"string":B=A.length;E='"';for(D=0;D<B;D+=1){F=A.charAt(D);if(F>=" "){if(F=="\\"||F=='"'){E+="\\"}E+=F}else{switch(F){case"\b":E+="\\b";break;case"\f":E+="\\f";break;case"\n":E+="\\n";break;case"\r":E+="\\r";break;case"\t":E+="\\t";break;default:F=F.charCodeAt();E+="\\u00"+Math.floor(F/16).toString(16)+(F%16).toString(16)}}}return E+'"';case"boolean":return String(A);default:return"null"}},parse:function(L){var D=0;var A=" ";function K(M){throw {name:"JSONError",message:M,at:D-1,text:L}}function G(){A=L.charAt(D);D+=1;return A}function I(){while(A!=""&&A<=" "){G()}}function J(){var O,P="",N,M;if(A=='"'){outer:while(G()){if(A=='"'){G();return P}else{if(A=="\\"){switch(G()){case"b":P+="\b";break;case"f":P+="\f";break;case"n":P+="\n";break;case"r":P+="\r";break;case"t":P+="\t";break;case"u":M=0;for(O=0;O<4;O+=1){N=parseInt(G(),16);if(!isFinite(N)){break outer}M=M*16+N}P+=String.fromCharCode(M);break;default:P+=A}}else{P+=A}}}}K("Bad string")}function H(){var M=[];if(A=="["){G();I();if(A=="]"){G();return M}while(A){M.push(C());I();if(A=="]"){G();return M}else{if(A!=","){break}}G();I()}}K("Bad array")}function E(){var M,N={};if(A=="{"){G();I();if(A=="}"){G();return N}while(A){M=J();I();if(A!=":"){break}G();N[M]=C();I();if(A=="}"){G();return N}else{if(A!=","){break}}G();I()}}K("Bad object")}function F(){var N="",M;if(A=="-"){N="-";G()}while(A>="0"&&A<="9"){N+=A;G()}if(A=="."){N+=".";while(G()&&A>="0"&&A<="9"){N+=A}}if(A=="e"||A=="E"){N+="e";G();if(A=="-"||A=="+"){N+=A;G()}while(A>="0"&&A<="9"){N+=A;G()}}M=+N;if(!isFinite(M)){K("Bad number")}else{return M}}function B(){switch(A){case"t":if(G()=="r"&&G()=="u"&&G()=="e"){G();return true}break;case"f":if(G()=="a"&&G()=="l"&&G()=="s"&&G()=="e"){G();return false}break;case"n":if(G()=="u"&&G()=="l"&&G()=="l"){G();return null}break}K("Syntax error")}function C(){I();switch(A){case"{":return E();case"[":return H();case'"':return J();case"-":return F();default:return A>="0"&&A<="9"?F():B()}}return C()}};function Querystring(A){this.params=new Object();this.get=Querystring_get;if(A==null){A=location.search.substring(1,location.search.length)}if(A.length==0){return }A=A.replace(/\+/g," ");A=A.replace(/&amp;/g,"&");var C=A.split("&");for(var D=0;D<C.length;D++){var E;var F=C[D].split("=");var B=unescape(F[0]);if(F.length==2){E=unescape(F[1])}else{E=B}this.params[B]=E}}function Querystring_get(A,B){if(B==null){B=null}var C=this.params[A];if(C==null){C=B}return C}window.historyStorage.init();window.dhtmlHistory.create();function initialize(){dhtmlHistory.initialize();dhtmlHistory.addListener(handleHistoryChange)}function handleHistoryChange(A,B){if(!B){return }var C=A.split(":");var D=C[0];B+="&_method=get";new Ajax.Updater(D+"-content",B,{asynchronous:true,evalScripts:true,onLoading:function(E){Element.show(D+"-pagination-loading-indicator")}})}Event.observe(window,"load",initialize,false);TextFieldWithExample=Class.create();TextFieldWithExample.prototype={initialize:function(A,C,B){this.setOptions(B);this.input=$(A);this.name=this.input.name;this.defaultText=C;this.createHiddenInput();this.checkAndShowExample();Event.observe(this.input,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.input,"focus",this.onFocus.bindAsEventListener(this));Event.observe(this.input,"select",this.onFocus.bindAsEventListener(this));Event.observe(this.input,"keydown",this.onKeyPress.bindAsEventListener(this));Event.observe(this.input,"click",this.onClick.bindAsEventListener(this))},createHiddenInput:function(){this.hiddenInput=document.createElement("input");this.hiddenInput.type="hidden";this.hiddenInput.value="";this.input.parentNode.appendChild(this.hiddenInput)},setOptions:function(A){this.options={exampleClassName:"example"};Object.extend(this.options,A||{})},onKeyPress:function(B){if(!B){var B=window.event}var A=(B.which)?B.which:B.keyCode;if(this.isAlphanumeric(A)){this.removeExample()}},onBlur:function(A){this.checkAndShowExample()},onFocus:function(A){if(this.exampleShown()){this.removeExample()}},onClick:function(A){this.removeExample()},isAlphanumeric:function(A){return A>=40&&A<=90},checkAndShowExample:function(){if(this.input.value==""){this.input.value=this.defaultText;this.input.name=null;this.hiddenInput.name=this.name;Element.addClassName(this.input,this.options.exampleClassName)}},removeExample:function(){if(this.exampleShown()){this.input.value="";this.input.name=this.name;this.hiddenInput.name=null;Element.removeClassName(this.input,this.options.exampleClassName)}},exampleShown:function(){return Element.hasClassName(this.input,this.options.exampleClassName)}};Form.disable=function(C){var D=this.getElements(C);for(var B=0;B<D.length;B++){var A=D[B];try{A.blur()}catch(E){}A.disabled="disabled";Element.addClassName(A,"disabled")}};Form.enable=function(C){var D=this.getElements(C);for(var B=0;B<D.length;B++){var A=D[B];A.disabled="";Element.removeClassName(A,"disabled")}};var Rico={Version:"1.1.0",prototypeVersion:parseFloat(Prototype.Version.split(".")[0]+"."+Prototype.Version.split(".")[1])};Rico.Color=Class.create();Rico.Color.prototype={initialize:function(C,B,A){this.rgb={r:C,g:B,b:A}},blend:function(A){this.rgb.r=Math.floor((this.rgb.r+A.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+A.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+A.rgb.b)/2)},asRGB:function(){return"rgb("+this.rgb.r+","+this.rgb.g+","+this.rgb.b+")"},asHex:function(){return"#"+this.rgb.r.toColorPart()+this.rgb.g.toColorPart()+this.rgb.b.toColorPart()},asHSB:function(){return Rico.Color.RGBtoHSB(this.rgb.r,this.rgb.g,this.rgb.b)},toString:function(){return this.asHex()}};Rico.Color.createFromHex=function(D){if(D.length==4){var B=D;var D="#";for(var C=1;C<4;C++){D+=(B.charAt(C)+B.charAt(C))}}if(D.indexOf("#")==0){D=D.substring(1)}var F=D.substring(0,2);var E=D.substring(2,4);var A=D.substring(4,6);return new Rico.Color(parseInt(F,16),parseInt(E,16),parseInt(A,16))};Rico.Color.createColorFromBackground=function(D){var B=$(D).getStyle("backgroundColor");if(B=="transparent"&&D.parentNode){return Rico.Color.createColorFromBackground(D.parentNode)}if(B==null){return new Rico.Color(255,255,255)}if(B.indexOf("rgb(")==0){var A=B.substring(4,B.length-1);var C=A.split(",");return new Rico.Color(parseInt(C[0]),parseInt(C[1]),parseInt(C[2]))}else{if(B.indexOf("#")==0){return Rico.Color.createFromHex(B)}else{return new Rico.Color(255,255,255)}}};Rico.Color.HSBtoRGB=function(A,D,H){var C=Math.round(H/100*255);if(this[1]==0){return[C,C,C]}else{var A=this[0]%360;var F=A%60;var G=Math.round((H*(100-D))/10000*255);var E=Math.round((H*(6000-D*F))/600000*255);var B=Math.round((H*(6000-D*(60-F)))/600000*255);switch(Math.floor(A/60)){case 0:return{r:C,g:B,b:G};case 1:return{r:E,g:C,b:G};case 2:return{r:G,g:C,b:B};case 3:return{r:G,g:E,b:C};case 4:return{r:B,g:G,b:C};case 5:return{r:C,g:G,b:E}}}return false};Rico.Color.RGBtoHSB=function(B,C,J){var G,F,H;var I=Math.max(B,C,J),E=Math.min(B,C,J);var K=I-E;H=I/255;F=(I!=0)?K/I:0;if(F==0){G=0}else{var D=(I-B)/K;var A=(I-C)/K;var L=(I-J)/K;if(B==I){G=L-A}else{if(C==I){G=2+D-L}else{G=4+A-D}}G/=6;if(G<0){G++}}return{h:Math.round(G*360),s:Math.round(F*100),b:Math.round(H*100)}};Rico.Corner={round:function(D,B){var D=$(D);this._setOptions(B);var A=this.options.color;if(this.options.color=="fromElement"){A=this._background(D)}var C=this.options.bgColor;if(this.options.bgColor=="fromParent"){C=this._background(D.offsetParent)}this._roundCornersImpl(D,A,C)},_roundCornersImpl:function(C,A,B){if(this.options.border){this._renderBorder(C,B)}if(this._isTopRounded()){this._roundTopCorners(C,A,B)}if(this._isBottomRounded()){this._roundBottomCorners(C,A,B)}},_renderBorder:function(D,E){var B="1px solid "+this._borderColor(E);var A="border-left: "+B;var F="border-right: "+B;var C="style='"+A+";"+F+"'";D.innerHTML="<div "+C+">"+D.innerHTML+"</div>"},_roundTopCorners:function(C,A,E){var D=this._createCorner(E);for(var B=0;B<this.options.numSlices;B++){D.appendChild(this._createCornerSlice(A,E,B,"top"))}C.style.paddingTop=0;C.insertBefore(D,C.firstChild)},_roundBottomCorners:function(C,A,E){var D=this._createCorner(E);for(var B=(this.options.numSlices-1);B>=0;B--){D.appendChild(this._createCornerSlice(A,E,B,"bottom"))}C.style.paddingBottom=0;C.appendChild(D)},_createCorner:function(B){var A=document.createElement("div");A.style.backgroundColor=(this._isTransparent()?"transparent":B);return A},_createCornerSlice:function(C,D,G,A){var E=document.createElement("span");var B=E.style;B.backgroundColor=C;B.display="block";B.height="1px";B.overflow="hidden";B.fontSize="1px";var F=this._borderColor(C,D);if(this.options.border&&G==0){B.borderTopStyle="solid";B.borderTopWidth="1px";B.borderLeftWidth="0px";B.borderRightWidth="0px";B.borderBottomWidth="0px";B.height="0px";B.borderColor=F}else{if(F){B.borderColor=F;B.borderStyle="solid";B.borderWidth="0px 1px"}}if(!this.options.compact&&(G==(this.options.numSlices-1))){B.height="2px"}this._setMargin(E,G,A);this._setBorder(E,G,A);return E},_setOptions:function(A){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false};Object.extend(this.options,A||{});this.options.numSlices=this.options.compact?2:4;if(this._isTransparent()){this.options.blend=false}},_whichSideTop:function(){if(this._hasString(this.options.corners,"all","top")){return""}if(this.options.corners.indexOf("tl")>=0&&this.options.corners.indexOf("tr")>=0){return""}if(this.options.corners.indexOf("tl")>=0){return"left"}else{if(this.options.corners.indexOf("tr")>=0){return"right"}}return""},_whichSideBottom:function(){if(this._hasString(this.options.corners,"all","bottom")){return""}if(this.options.corners.indexOf("bl")>=0&&this.options.corners.indexOf("br")>=0){return""}if(this.options.corners.indexOf("bl")>=0){return"left"}else{if(this.options.corners.indexOf("br")>=0){return"right"}}return""},_borderColor:function(A,B){if(A=="transparent"){return B}else{if(this.options.border){return this.options.border}else{if(this.options.blend){return this._blend(B,A)}else{return""}}}},_setMargin:function(D,E,B){var C=this._marginSize(E);var A=B=="top"?this._whichSideTop():this._whichSideBottom();if(A=="left"){D.style.marginLeft=C+"px";D.style.marginRight="0px"}else{if(A=="right"){D.style.marginRight=C+"px";D.style.marginLeft="0px"}else{D.style.marginLeft=C+"px";D.style.marginRight=C+"px"}}},_setBorder:function(D,E,B){var C=this._borderSize(E);var A=B=="top"?this._whichSideTop():this._whichSideBottom();if(A=="left"){D.style.borderLeftWidth=C+"px";D.style.borderRightWidth="0px"}else{if(A=="right"){D.style.borderRightWidth=C+"px";D.style.borderLeftWidth="0px"}else{D.style.borderLeftWidth=C+"px";D.style.borderRightWidth=C+"px"}}if(this.options.border!=false){D.style.borderLeftWidth=C+"px"}D.style.borderRightWidth=C+"px"},_marginSize:function(E){if(this._isTransparent()){return 0}var D=[5,3,2,1];var A=[3,2,1,0];var C=[2,1];var B=[1,0];if(this.options.compact&&this.options.blend){return B[E]}else{if(this.options.compact){return C[E]}else{if(this.options.blend){return A[E]}else{return D[E]}}}},_borderSize:function(E){var D=[5,3,2,1];var B=[2,1,1,1];var A=[1,0];var C=[0,2,0,0];if(this.options.compact&&(this.options.blend||this._isTransparent())){return 1}else{if(this.options.compact){return A[E]}else{if(this.options.blend){return B[E]}else{if(this.options.border){return C[E]}else{if(this._isTransparent()){return D[E]}}}}}return 0},_hasString:function(B){for(var A=1;A<arguments.length;A++){if(B.indexOf(arguments[A])>=0){return true}}return false},_blend:function(C,A){var B=Rico.Color.createFromHex(C);B.blend(Rico.Color.createFromHex(A));return B},_background:function(A){try{return Rico.Color.createColorFromBackground(A).asHex()}catch(B){return"#ffffff"}},_isTransparent:function(){return this.options.color=="transparent"},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr")},_isBottomRounded:function(){return this._hasString(this.options.corners,"all","bottom","bl","br")},_hasSingleTextChild:function(A){return A.childNodes.length==1&&A.childNodes[0].nodeType==3}};