var asset_browser_target;function show_asset_browser(target){$('asset_browser_form').onsubmit();$('shade').appear({duration:0.5});$('asset_browser').show();asset_browser_target=target;}
function hide_asset_browser(){$('asset_browser').hide();$('shade').fade({duration:0.5});}
function insert_asset(value){insert_at_cursor(asset_browser_target,value);}
function insert_at_cursor(myField,myValue){if(document.selection){myField.focus();sel=document.selection.createRange();sel.text=myValue;}
else if(myField.selectionStart||myField.selectionStart=='0'){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;myField.value=myField.value.substring(0,startPos)
+myValue
+myField.value.substring(endPos,myField.value.length);}else{myField.value+=myValue;}
$(myField).focus();}
function limitText(limitField,limitCount,limitNum){if(limitField.value.length>limitNum){limitField.value=limitField.value.substring(0,limitNum);limitCount.value='0';}else{limitCount.value=limitNum-limitField.value.length;}}
function limitTextBetter(limitField,limitCount,limitNum){if(limitField.value.length>limitNum){limitField.value=limitField.value.substring(0,limitNum);limitCount.innerHTML='0';}else{limitCount.innerHTML=limitNum-limitField.value.length;}}
function show_loading_notice(id){$(id).innerHTML='<span>verifying...</span>'}
function update_loading_notice(id,message){$(id).innerHTML='<span>'+message+'</span>'}
function wrapAtCursor(myField,openText,closeText){if(document.selection){myField.focus();sel=document.selection.createRange();sel.text=openText+sel.text+closeText;}
else if(myField.selectionStart||myField.selectionStart=='0'){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;myField.value=myField.value.substring(0,startPos)
+openText
+myField.value.substring(startPos,endPos)
+closeText
+myField.value.substring(endPos,myField.value.length);}else{myField.value+=myValue;}
myField.selectionStart=myField.selectionStart+openText.length
myField.selectionEnd=myField.selectionStart+myField.value.substring(startPos,endPos).length
$(myField).focus();}
function insertTextile(textarea,type){var startTag=''
var endTag=''
var message='Type your text'
var startPoint=1
var endPoint=14
textarea=$(textarea)
switch(type){case'bold':startTag='*'
endTag='*'
break
case'italics':startTag='_'
endTag='_'
break
case'code':startTag='@'
endTag='@'
break
case'codeblock':startTag='<pre><code>'
endTag='</code></pre>'
startPoint=11
break
case'h4':case'h5':startTag='\n\n'+type+'. '
endTag=''
startPoint=6
endPoint=endPoint+4
break
case'link':textarea.selectionStart=textarea.selectionEnd
break
case'list':startTag='\n* '
endTag=''
startPoint=3
case'blank':textarea.selectionStart=textarea.selectionEnd
break}
if(textarea.selectionStart==textarea.selectionEnd){switch(type){case'link':var link=prompt('Type the URL that you want to link to.')
var text=prompt('Type the text you want displayed as a link')
message='"'+text+'":'+link
startPoint=3+text.length+link.length
endPoint=3+text.length+link.length
break
case'blank':startTag='<notextile>__________'
endTag='</notextile>'
message=''
break}
insert_at_cursor(textarea,startTag+message+endTag)
textarea.selectionStart=textarea.selectionStart+startPoint
textarea.selectionEnd=textarea.selectionStart+endPoint}else{wrapAtCursor(textarea,startTag,endTag)}}
if(!window["$TRAN"])
window["$TRAN"]=new Hash();String.prototype.t=function(arg){var trans=$TRAN[this]||this;if(arg)
return trans.sub('%s',arg);else
return trans;};function checkEnter(e){var characterCode
if(e&&e.which){characterCode=e.which}
else{characterCode=e.keyCode}
if(characterCode==13){return true}
else{return false}}
function nextOnEnter(event,id){if(checkEnter(event)){var eventTarget;if(event.target)eventTarget=event.target;else if(event.srcElement)eventTarget=event.srcElement;if(eventTarget){switch(eventTarget.tagName.toLowerCase()){case'input':case'select':$(id).onclick();break;}}}}
function callInProgress(xmlhttp){switch(xmlhttp.readyState){case 1:case 2:case 3:return true;break;default:return false;break;}}
Ajax.Responders.register({onCreate:function(request){if(request.options['timeout']){request['timeoutId']=window.setTimeout(function(){if(callInProgress(request.transport)){request.transport.abort();}},request.options['timeout']);}},onComplete:function(request,response){if((request.transport.status==0||response.responseText=="")&&request.options['onFailure']){request.options['onFailure'](response);}
if(request.options['timeout'])
window.clearTimeout(request['timeoutId']);}});