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,3)!="1.6"){warning="ActiveScaffold Error: Prototype version 1.6.x is required. 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(f,d){f=$(f);if(f.outerHTML){try{f.outerHTML=d.stripScripts()}catch(g){var a=f.tagName;if(a=="TBODY"||a=="TR"||a=="TD"){var c=document.createElement("div");c.innerHTML='<table id="tempTable" style="display: none">'+d.stripScripts()+"</table>";f.parentNode.replaceChild(c.getElementsByTagName(a).item(0),f)}else{throw g}}}else{var b=f.ownerDocument.createRange();b.selectNodeContents(f.parentNode);f.parentNode.replaceChild(b.createContextualFragment(d.stripScripts()),f)}setTimeout(function(){d.evalScripts()},10);return f};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(b,c,d){this.tag=$(b);this.url=this.tag.href;this.target=c;this.loading_indicator=d;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(a){this.open();Event.stop(a)}.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.select(".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 g,e,b,f="",d;switch(typeof a){case"object":if(a){if(a.______array=="______array"){for(e=0;e<a.length;++e){d=this.stringify(a[e]);if(f){f+=","}f+=d}return"["+f+"]"}else{if(typeof a.toString!="undefined"){for(e in a){d=a[e];if(typeof d!="undefined"&&typeof d!="function"){d=this.stringify(d);if(f){f+=","}f+=this.stringify(e)+":"+d}}return"{"+f+"}"}}}return"null";case"number":return isFinite(a)?String(a):"null";case"string":b=a.length;f='"';for(e=0;e<b;e+=1){g=a.charAt(e);if(g>=" "){if(g=="\\"||g=='"'){f+="\\"}f+=g}else{switch(g){case"\b":f+="\\b";break;case"\f":f+="\\f";break;case"\n":f+="\\n";break;case"\r":f+="\\r";break;case"\t":f+="\\t";break;default:g=g.charCodeAt();f+="\\u00"+Math.floor(g/16).toString(16)+(g%16).toString(16)}}}return f+'"';case"boolean":return String(a);default:return"null"}},parse:function(l){var d=0;var a=" ";function k(n){throw {name:"JSONError",message:n,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 o="",m;if(a=="-"){o="-";g()}while(a>="0"&&a<="9"){o+=a;g()}if(a=="."){o+=".";while(g()&&a>="0"&&a<="9"){o+=a}}if(a=="e"||a=="E"){o+="e";g();if(a=="-"||a=="+"){o+=a;g()}while(a>="0"&&a<="9"){o+=a;g()}}m=+o;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(f){}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,i){var c=Math.round(i/100*255);if(this[1]==0){return[c,c,c]}else{var a=this[0]%360;var g=a%60;var h=Math.round((i*(100-d))/10000*255);var e=Math.round((i*(6000-d*g))/600000*255);var b=Math.round((i*(6000-d*(60-g)))/600000*255);switch(Math.floor(a/60)){case 0:return{r:c,g:b,b:h};case 1:return{r:e,g:c,b:h};case 2:return{r:h,g:c,b:b};case 3:return{r:h,g:e,b:c};case 4:return{r:b,g:h,b:c};case 5:return{r:c,g:h,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}};