function updateTagClouds(a){var b=jQuery(a);if(b.length==1){var c=b.val().split(/\s+/);jQuery.each(jQuery("div.hTagcloud a"),function(){jQuery.inArray(jQuery(this).text(),c)!=-1?jQuery(this).addClass("selected"):jQuery(this).removeClass("selected")})}}function toggleTagOnCloud(a,b){var c=jQuery(a);if(c.length==1){var d=c.val().split(/\s+/),e=jQuery.inArray(b,d);e==-1?d.push(b):d.splice(e,1);for(var f=0;f<d.length;++f)(d[f].match(/\s+/)||d[f]=="")&&d.splice(f--,1);c.val(d.join(" ")+" "),c.blur().focus()}}$(function(){$("textarea.wysiwyg").wysiwyg({controls:{underline:{visible:!0},insertOrderedList:{visible:!0},insertUnorderedList:{visible:!0},insertImage:{visible:!1},separator05:{visible:!1},separator06:{visible:!1},separator08:{visible:!1},separator09:{visible:!1},increaseFontSize:{visible:!1},decreaseFontSize:{visible:!1},increaseFontSize:{visible:!1},h1mozilla:{visible:!1},h2mozilla:{visible:!1},h3mozilla:{visible:!1},h1safari:{visible:!1},h2safari:{visible:!1},h3safari:{visible:!1},h1:{visible:!1},h2:{visible:!1},h3:{visible:!1},removeFormat:{visible:!0}},css:typeof current_platform_string!="undefined"?"/assets/"+current_platform_string+"/wysiwygplatforms.css":""}),$("input, textarea").focus(function(){$(this).siblings("[class=field_help]").show()}).blur(function(){$(this).siblings("[class=field_help]").hide()})}),function(a){function b(a,c){return this instanceof b?this.init(a,c):new b(a,c)}a.fn.document=function(){var b=this[0];return b.nodeName.toLowerCase()=="iframe"?b.contentWindow.document:a(this)},a.fn.documentSelection=function(){var a=this[0];return a.contentWindow.document.selection?a.contentWindow.document.selection.createRange().text:a.contentWindow.getSelection().toString()},a.fn.wysiwyg=function(c){if(arguments.length>0&&arguments[0].constructor==String){var d=arguments[0].toString(),e=[];for(var f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d in b?this.each(function(){a.data(this,"wysiwyg").designMode(),b[d].apply(this,e)}):this}var g={};if(c&&c.controls){var g=c.controls;delete c.controls}var c=a.extend({html:'<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">STYLE_SHEET</head><body>INITIAL_CONTENT</body></html>',css:{},debug:!1,autoSave:!0,rmUnwantedBr:!0,brIE:!0,controls:{},messages:{}},c);c.messages=a.extend(!0,c.messages,b.MSGS_EN),c.controls=a.extend(!0,c.controls,b.TOOLBAR);for(var h in g)h in c.controls?a.extend(c.controls[h],g[h]):c.controls[h]=g[h];return this.each(function(){b(this,c)})},a.extend(b,{insertImage:function(c,d){var e=a.data(this,"wysiwyg");if(e.constructor==b&&c&&c.length>0)if(d){e.editorDoc.execCommand("insertImage",!1,"#jwysiwyg#");var f=e.getElementByAttributeValue("img","src","#jwysiwyg#");if(f){f.src=c;for(var g in d)f.setAttribute(g,d[g])}}else e.editorDoc.execCommand("insertImage",!1,c)},createLink:function(c){var d=a.data(this,"wysiwyg");if(d.constructor==b&&c&&c.length>0){var e=a(d.editor).documentSelection();e.length>0?(d.editorDoc.execCommand("unlink",!1,[]),d.editorDoc.execCommand("createLink",!1,c)):d.options.messages.nonSelection&&alert(d.options.messages.nonSelection)}},setContent:function(b){var c=a.data(this,"wysiwyg");c.setContent(b),c.saveContent()},clear:function(){var b=a.data(this,"wysiwyg");b.setContent(""),b.saveContent()},MSGS_EN:{nonSelection:"select the text you wish to link"},TOOLBAR:{bold:{visible:!0,tags:["b","strong"],css:{fontWeight:"bold"}},italic:{visible:!0,tags:["i","em"],css:{fontStyle:"italic"}},strikeThrough:{visible:!1,tags:["s","strike"],css:{textDecoration:"line-through"}},underline:{visible:!1,tags:["u"],css:{textDecoration:"underline"}},separator00:{visible:!1,separator:!0},justifyLeft:{visible:!1,css:{textAlign:"left"}},justifyCenter:{visible:!1,tags:["center"],css:{textAlign:"center"}},justifyRight:{visible:!1,css:{textAlign:"right"}},justifyFull:{visible:!1,css:{textAlign:"justify"}},separator01:{visible:!1,separator:!0},indent:{visible:!1},outdent:{visible:!1},separator02:{visible:!1,separator:!0},subscript:{visible:!1,tags:["sub"]},superscript:{visible:!1,tags:["sup"]},separator03:{visible:!1,separator:!0},undo:{visible:!1},redo:{visible:!1},separator04:{visible:!1,separator:!0},insertOrderedList:{visible:!1,tags:["ol"]},insertUnorderedList:{visible:!1,tags:["ul"]},insertHorizontalRule:{visible:!1,tags:["hr"]},separator05:{separator:!0},createLink:{visible:!0,exec:function(){var b=a(this.editor).documentSelection();if(b.length>0)if(a.browser.msie)this.editorDoc.execCommand("createLink",!0,null);else{var c=prompt("URL","http://");c&&c.length>0&&(this.editorDoc.execCommand("unlink",!1,[]),this.editorDoc.execCommand("createLink",!1,c))}else this.options.messages.nonSelection&&alert(this.options.messages.nonSelection)},tags:["a"]},insertImage:{visible:!0,exec:function(){if(a.browser.msie)this.editorDoc.execCommand("insertImage",!0,null);else{var b=prompt("URL","http://");b&&b.length>0&&this.editorDoc.execCommand("insertImage",!1,b)}},tags:["img"]},separator06:{separator:!0},h1mozilla:{visible:a.browser.mozilla,className:"h1",command:"heading",arguments:["h1"],tags:["h1"]},h2mozilla:{visible:a.browser.mozilla,className:"h2",command:"heading",arguments:["h2"],tags:["h2"]},h3mozilla:{visible:a.browser.mozilla,className:"h3",command:"heading",arguments:["h3"],tags:["h3"]},h1safari:{visible:a.browser.safari,className:"h1",command:"formatBlock",arguments:["h1"],tags:["h1"]},h2safari:{visible:a.browser.safari,className:"h2",command:"formatBlock",arguments:["h2"],tags:["h2"]},h3safari:{visible:a.browser.safari,className:"h3",command:"formatBlock",arguments:["h3"],tags:["h3"]},h1:{visible:!a.browser.mozilla&&!a.browser.safari,className:"h1",command:"formatBlock",arguments:"<H1>",tags:["h1"]},h2:{visible:!a.browser.mozilla&&!a.browser.safari,className:"h2",command:"formatBlock",arguments:"<H2>",tags:["h2"]},h3:{visible:!a.browser.mozilla&&!a.browser.safari,className:"h3",command:"formatBlock",arguments:"<H3>",tags:["h3"]},separator07:{visible:!1,separator:!0},cut:{visible:!1},copy:{visible:!1},paste:{visible:!1},separator08:{separator:!a.browser.msie},increaseFontSize:{visible:!a.browser.msie,tags:["big"]},decreaseFontSize:{visible:!a.browser.msie,tags:["small"]},separator09:{separator:!0},html:{visible:!1,exec:function(){this.viewHTML?(this.setContent(a(this.original).val()),a(this.original).hide()):(this.saveContent(),a(this.original).show()),this.viewHTML=!this.viewHTML}},removeFormat:{visible:!0,exec:function(){this.editorDoc.execCommand("removeFormat",!1,[]),this.editorDoc.execCommand("unlink",!1,[])}}}}),a.extend(b.prototype,{original:null,options:{},element:null,editor:null,init:function(b,c){var d=this;this.editor=b,this.options=c||{},a.data(b,"wysiwyg",this);var e=a(b).attr("cwidth"),f=a(b).attr("cheight"),g=e||b.width||b.clientWidth||parseInt(a(b).css("width")),h=f||b.height||b.clientHeight||parseInt(a(b).css("height"));if(b.nodeName.toLowerCase()=="textarea"){this.original=b,g==0&&b.cols&&(g=b.cols*8+21),h==0&&b.rows&&(h=b.rows*16+16);var i=this.editor=a("<iframe></iframe>").css({height:(h-31).toString()+"px",width:(g-8).toString()+"px"}).attr("id",a(b).attr("id")+"IFrame");a.browser.msie&&this.editor.css("height",h.toString()+"px")}var j=this.panel=a("<ul></ul>").addClass("panel");this.appendControls(),this.element=a("<div></div>").css({width:g>0?g.toString()+"px":"100%"}).addClass("wysiwyg").append(j).append(a("<div><!-- --></div>").css({clear:"both"})).append(i),a(b).hide().before(this.element),this.viewHTML=!1,this.initialHeight=h-8,this.initialContent=a(b).val(),this.initFrame(),this.initialContent.length==0&&this.setContent(""),this.options.autoSave&&a("form").submit(function(){d.saveContent()}),a("form").bind("reset",function(){d.setContent(d.initialContent),d.saveContent()})},initFrame:function(){var b=this,c="";this.options.css&&this.options.css.constructor==String&&(c='<link rel="stylesheet" type="text/css" media="screen" href="'+this.options.css+'" />'),this.editorDoc=a(this.editor).document(),this.editorDoc_designMode=!1;try{this.editorDoc.designMode="on",this.editorDoc_designMode=!0}catch(d){a(this.editorDoc).focus(function(){b.designMode()})}this.editorDoc.open(),this.editorDoc.write(this.options.html.replace(/INITIAL_CONTENT/,this.initialContent).replace(/STYLE_SHEET/,c)),this.editorDoc.close(),this.editorDoc.contentEditable="true";try{this.editorDoc.execCommand("styleWithCSS",!1,!1)}catch(d){}a.browser.msie&&setTimeout(function(){a(b.editorDoc.body).css("border","none")},0),a(this.editorDoc).click(function(a){b.checkTargets(a.target?a.target:a.srcElement)}),a(this.original).focus(function(){a(b.editorDoc.body).focus()}),this.options.autoSave&&a(this.editorDoc).keydown(function(){b.saveContent()}).keyup(function(){b.saveContent()}).mousedown(function(){b.saveContent()}),this.options.css&&setTimeout(function(){b.options.css.constructor!=String&&a(b.editorDoc).find("body").css(b.options.css)},0),a(this.editorDoc).keydown(function(c){if(a.browser.msie&&b.options.brIE&&c.keyCode==13){var d=b.getRange();return d.pasteHTML("<br />"),d.collapse(!1),d.select(),!1}})},designMode:function(){if(!this.editorDoc_designMode)try{this.editorDoc.designMode="on",this.editorDoc_designMode=!0}catch(a){}},getSelection:function(){return window.getSelection?window.getSelection():document.selection},getRange:function(){var a=this.getSelection();return a?a.rangeCount>0?a.getRangeAt(0):a.createRange():null},getContent:function(){return a(a(this.editor).document()).find("body").html()},setContent:function(b){a(a(this.editor).document()).find("body").html(b)},saveContent:function(){if(this.original){var b=this.getContent();this.options.rmUnwantedBr&&(b=b.substr(-4)=="<br>"?b.substr(0,b.length-4):b),a(this.original).val(b)}},appendMenu:function(b,c,d,e){var f=this,c=c||[];a("<li></li>").append(a("<a><!-- --></a>").addClass(d||b)).mousedown(function(){e?e.apply(f):f.editorDoc.execCommand(b,!1,c),f.options.autoSave&&f.saveContent()}).appendTo(this.panel)},appendMenuSeparator:function(){a('<li class="separator"></li>').appendTo(this.panel)},appendControls:function(){for(var a in this.options.controls){var b=this.options.controls[a];b.separator?b.visible!==!1&&this.appendMenuSeparator():b.visible&&this.appendMenu(b.command||a,b.arguments||[],b.className||b.command||a||"empty",b.exec)}},checkTargets:function(b){for(var c in this.options.controls){var d=this.options.controls[c],e=d.className||d.command||c||"empty";a("."+e,this.panel).removeClass("active");if(d.tags){var f=b;do{if(f.nodeType!=1)break;a.inArray(f.tagName.toLowerCase(),d.tags)!=-1&&a("."+e,this.panel).addClass("active")}while(f=f.parentNode)}if(d.css){var f=a(b);do{if(f[0].nodeType!=1)break;for(var g in d.css)f.css(g).toString().toLowerCase()==d.css[g]&&a("."+e,this.panel).addClass("active")}while(f=f.parent())}}},getElementByAttributeValue:function(b,c,d){var e=this.editorDoc.getElementsByTagName(b);for(var f=0;f<e.length;f++){var g=e[f].getAttribute(c);a.browser.msie&&(g=g.substr(g.length-d.length));if(g==d)return e[f]}return!1}})}(jQuery);var qq=qq||{};qq.extend=function(a,b){for(var c in b)a[c]=b[c]},qq.indexOf=function(a,b,c){if(a.indexOf)return a.indexOf(b,c);c=c||0;var d=a.length;c<0&&(c+=d);for(;c<d;c++)if(c in a&&a[c]===b)return c;return-1},qq.getUniqueId=function(){var a=0;return function(){return a++}}(),qq.attach=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c)},qq.detach=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.attachEvent&&a.detachEvent("on"+b,c)},qq.preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},qq.insertBefore=function(a,b){b.parentNode.insertBefore(a,b)},qq.remove=function(a){a.parentNode.removeChild(a)},qq.contains=function(a,b){return a==b?!0:a.contains?a.contains(b):!!(b.compareDocumentPosition(a)&8)},qq.toElement=function(){var a=document.createElement("div");return function(b){a.innerHTML=b;var c=a.firstChild;return a.removeChild(c),c}}(),qq.css=function(a,b){b.opacity!=null&&typeof a.style.opacity!="string"&&typeof a.filters!="undefined"&&(b.filter="alpha(opacity="+Math.round(100*b.opacity)+")"),qq.extend(a.style,b)},qq.hasClass=function(a,b){var c=new RegExp("(^| )"+b+"( |$)");return c.test(a.className)},qq.addClass=function(a,b){qq.hasClass(a,b)||(a.className+=" "+b)},qq.removeClass=function(a,b){var c=new RegExp("(^| )"+b+"( |$)");a.className=a.className.replace(c," ").replace(/^\s+|\s+$/g,"")},qq.setText=function(a,b){a.innerText=b,a.textContent=b},qq.children=function(a){var b=[],c=a.firstChild;while(c)c.nodeType==1&&b.push(c),c=c.nextSibling;return b},qq.getByClass=function(a,b){if(a.querySelectorAll)return a.querySelectorAll("."+b);var c=[],d=a.getElementsByTagName("*"),e=d.length;for(var f=0;f<e;f++)qq.hasClass(d[f],b)&&c.push(d[f]);return c},qq.obj2url=function(a,b,c){var d=[],e="&",f=function(a,c){var e=b?/\[\]$/.test(b)?b:b+"["+c+"]":c;e!="undefined"&&c!="undefined"&&d.push(typeof a=="object"?qq.obj2url(a,e,!0):Object.prototype.toString.call(a)==="[object Function]"?encodeURIComponent(e)+"="+encodeURIComponent(a()):encodeURIComponent(e)+"="+encodeURIComponent(a))};if(!c&&b)e=/\?/.test(b)?/\?$/.test(b)?"":"&":"?",d.push(b),d.push(qq.obj2url(a));else if(Object.prototype.toString.call(a)==="[object Array]"&&typeof a!="undefined")for(var g=0,h=a.length;g<h;++g)f(a[g],g);else if(typeof a!="undefined"&&a!==null&&typeof a=="object")for(var g in a)f(a[g],g);else d.push(encodeURIComponent(b)+"="+encodeURIComponent(a));return d.join(e).replace(/^&/,"").replace(/%20/g,"+")};var qq=qq||{};qq.FileUploaderBasic=function(a){this._options={debug:!0,action:"/server/upload",params:{},button:null,multiple:!0,csrf:!0,maxConnections:3,allowedExtensions:[],sizeLimit:0,minSizeLimit:0,onSubmit:function(a,b){},onProgress:function(a,b,c,d){},onComplete:function(a,b,c){},onCancel:function(a,b){},messages:{typeError:"{file} has invalid extension. Only {extensions} are allowed.",sizeError:"{file} is too large, maximum file size is {sizeLimit}.",minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",onLeave:"The files are being uploaded, if you leave now the upload will be cancelled."},showMessage:function(a){alert(a)}},qq.extend(this._options,a),this._filesInProgress=0,this._handler=this._createUploadHandler(),this._options.button&&(this._button=this._createUploadButton(this._options.button)),this._preventLeaveInProgress()},qq.FileUploaderBasic.prototype={setParams:function(a){this._options.params=a},getInProgress:function(){return this._filesInProgress},_createUploadButton:function(a){var b=this;return new qq.UploadButton({element:a,multiple:this._options.multiple&&qq.UploadHandlerXhr.isSupported(),onChange:function(a){b._onInputChange(a)}})},_createUploadHandler:function(){var a=this,b;qq.UploadHandlerXhr.isSupported()?b="UploadHandlerXhr":b="UploadHandlerForm";var c=new qq[b]({debug:this._options.debug,action:this._options.action,maxConnections:this._options.maxConnections,onProgress:function(b,c,d,e){a._onProgress(b,c,d,e),a._options.onProgress(b,c,d,e)},onComplete:function(b,c,d){a._onComplete(b,c,d),a._options.onComplete(b,c,d)},onCancel:function(b,c){a._onCancel(b,c),a._options.onCancel(b,c)},csrf:this._options.csrf});return c},_preventLeaveInProgress:function(){var a=this;qq.attach(window,"beforeunload",function(b){if(!a._filesInProgress)return;var b=b||window.event;return b.returnValue=a._options.messages.onLeave,a._options.messages.onLeave})},_onSubmit:function(a,b){this._filesInProgress++},_onProgress:function(a,b,c,d){},_onComplete:function(a,b,c){this._filesInProgress--,c.error&&this._options.showMessage(c.error)},_onCancel:function(a,b){this._filesInProgress--},_onInputChange:function(a){this._handler instanceof qq.UploadHandlerXhr?this._uploadFileList(a.files):this._validateFile(a)&&this._uploadFile(a),this._button.reset()},_uploadFileList:function(a){for(var b=0;b<a.length;b++)if(!this._validateFile(a[b]))return;for(var b=0;b<a.length;b++)this._uploadFile(a[b])},_uploadFile:function(a){var b=this._handler.add(a),c=this._handler.getName(b);this._options.onSubmit(b,c)!==!1&&(this._onSubmit(b,c),this._handler.upload(b,this._options.params))},_validateFile:function(a){var b,c;return a.value?b=a.value.replace(/.*(\/|\\)/,""):(b=a.fileName!=null?a.fileName:a.name,c=a.fileSize!=null?a.fileSize:a.size),this._isAllowedExtension(b)?c===0?(this._error("emptyError",b),!1):c&&this._options.sizeLimit&&c>this._options.sizeLimit?(this._error("sizeError",b),!1):c&&c<this._options.minSizeLimit?(this._error("minSizeError",b),!1):!0:(this._error("typeError",b),!1)},_error:function(a,b){function d(a,b){c=c.replace(a,b)}var c=this._options.messages[a];d("{file}",this._formatFileName(b)),d("{extensions}",this._options.allowedExtensions.join(", ")),d("{sizeLimit}",this._formatSize(this._options.sizeLimit)),d("{minSizeLimit}",this._formatSize(this._options.minSizeLimit)),this._options.showMessage(c)},_formatFileName:function(a){return a.length>33&&(a=a.slice(0,19)+"..."+a.slice(-13)),a},_isAllowedExtension:function(a){var b=-1!==a.indexOf(".")?a.replace(/.*[.]/,"").toLowerCase():"",c=this._options.allowedExtensions;if(!c.length)return!0;for(var d=0;d<c.length;d++)if(c[d].toLowerCase()==b)return!0;return!1},_formatSize:function(a){var b=-1;do a/=1024,b++;while(a>99);return Math.max(a,.1).toFixed(1)+["kB","MB","GB","TB","PB","EB"][b]}},qq.FileUploader=function(a){qq.FileUploaderBasic.apply(this,arguments),qq.extend(this._options,{element:null,listElement:null,template:'<div class="qq-uploader"><div class="qq-upload-drop-area"><span>Drop files here to upload</span></div><div class="qq-upload-button">Upload a file</div><ul class="qq-upload-list"></ul></div>',fileTemplate:'<li><span class="qq-upload-file"></span><span class="qq-upload-spinner"></span><span class="qq-upload-size"></span><a class="qq-upload-cancel" href="#">Cancel</a><span class="qq-upload-failed-text">Failed</span></li>',classes:{button:"qq-upload-button",drop:"qq-upload-drop-area",dropActive:"qq-upload-drop-area-active",list:"qq-upload-list",file:"qq-upload-file",spinner:"qq-upload-spinner",size:"qq-upload-size",cancel:"qq-upload-cancel",success:"qq-upload-success",fail:"qq-upload-fail"}}),qq.extend(this._options,a),this._element=this._options.element,this._element.innerHTML=this._options.template,this._listElement=this._options.listElement||this._find(this._element,"list"),this._classes=this._options.classes,this._button=this._createUploadButton(this._find(this._element,"button")),this._bindCancelEvent(),this._setupDragDrop()},qq.extend(qq.FileUploader.prototype,qq.FileUploaderBasic.prototype),qq.extend(qq.FileUploader.prototype,{_find:function(a,b){var c=qq.getByClass(a,this._options.classes[b])[0];if(!c)throw new Error("element not found "+b);return c},_setupDragDrop:function(){var a=this,b=this._find(this._element,"drop"),c=new qq.UploadDropZone({element:b,onEnter:function(c){qq.addClass(b,a._classes.dropActive),c.stopPropagation()},onLeave:function(a){a.stopPropagation()},onLeaveNotDescendants:function(c){qq.removeClass(b,a._classes.dropActive)},onDrop:function(c){b.style.display="none",qq.removeClass(b,a._classes.dropActive),a._uploadFileList(c.dataTransfer.files)}});b.style.display="none",qq.attach(document,"dragenter",function(a){if(!c._isValidFileDrag(a))return;b.style.display="block"}),qq.attach(document,"dragleave",function(a){if(!c._isValidFileDrag(a))return;var d=document.elementFromPoint(a.clientX,a.clientY);if(!d||d.nodeName=="HTML")b.style.display="none"})},_onSubmit:function(a,b){qq.FileUploaderBasic.prototype._onSubmit.apply(this,arguments),this._addToList(a,b)},_onProgress:function(a,b,c,d){qq.FileUploaderBasic.prototype._onProgress.apply(this,arguments);var e=this._getItemByFileId(a),f=this._find(e,"size");f.style.display="inline";var g;c!=d?g=Math.round(c/d*100)+"% from "+this._formatSize(d):g=this._formatSize(d),qq.setText(f,g)},_onComplete:function(a,b,c){qq.FileUploaderBasic.prototype._onComplete.apply(this,arguments);var d=this._getItemByFileId(a);qq.remove(this._find(d,"cancel")),qq.remove(this._find(d,"spinner")),c.success?qq.addClass(d,this._classes.success):qq.addClass(d,this._classes.fail)},_addToList:function(a,b){var c=qq.toElement(this._options.fileTemplate);c.qqFileId=a;var d=this._find(c,"file");qq.setText(d,this._formatFileName(b)),this._find(c,"size").style.display="none",this._listElement.appendChild(c)},_getItemByFileId:function(a){var b=this._listElement.firstChild;while(b){if(b.qqFileId==a)return b;b=b.nextSibling}},_bindCancelEvent:function(){var a=this,b=this._listElement;qq.attach(b,"click",function(b){b=b||window.event;var c=b.target||b.srcElement;if(qq.hasClass(c,a._classes.cancel)){qq.preventDefault(b);var d=c.parentNode;a._handler.cancel(d.qqFileId),qq.remove(d)}})}}),qq.UploadDropZone=function(a){this._options={element:null,onEnter:function(a){},onLeave:function(a){},onLeaveNotDescendants:function(a){},onDrop:function(a){}},qq.extend(this._options,a),this._element=this._options.element,this._disableDropOutside(),this._attachEvents()},qq.UploadDropZone.prototype={_disableDropOutside:function(a){qq.UploadDropZone.dropOutsideDisabled||(qq.attach(document,"dragover",function(a){a.dataTransfer&&(a.dataTransfer.dropEffect="none",a.preventDefault())}),qq.UploadDropZone.dropOutsideDisabled=!0)},_attachEvents:function(){var a=this;qq.attach(a._element,"dragover",function(b){if(!a._isValidFileDrag(b))return;var c=b.dataTransfer.effectAllowed;c=="move"||c=="linkMove"?b.dataTransfer.dropEffect="move":b.dataTransfer.dropEffect="copy",b.stopPropagation(),b.preventDefault()}),qq.attach(a._element,"dragenter",function(b){if(!a._isValidFileDrag(b))return;a._options.onEnter(b)}),qq.attach(a._element,"dragleave",function(b){if(!a._isValidFileDrag(b))return;a._options.onLeave(b);var c=document.elementFromPoint(b.clientX,b.clientY);if(qq.contains(this,c))return;a._options.onLeaveNotDescendants(b)}),qq.attach(a._element,"drop",function(b){if(!a._isValidFileDrag(b))return;b.preventDefault(),a._options.onDrop(b)})},_isValidFileDrag:function(a){var b=a.dataTransfer,c=navigator.userAgent.indexOf("AppleWebKit")>-1;return b&&b.effectAllowed!="none"&&(b.files||!c&&b.types.contains&&b.types.contains("Files"))}},qq.UploadButton=function(a){this._options={element:null,multiple:!1,name:"file",onChange:function(a){},hoverClass:"qq-upload-button-hover",focusClass:"qq-upload-button-focus"},qq.extend(this._options,a),this._element=this._options.element,this._input=this._createInput()},qq.UploadButton.prototype={getInput:function(){return this._input},reset:function(){this._input.parentNode&&qq.remove(this._input),qq.removeClass(this._element,this._options.focusClass),this._input=this._createInput()},_createInput:function(){var a=document.createElement("input");this._options.multiple&&a.setAttribute("multiple","multiple"),a.setAttribute("type","file"),a.setAttribute("name",this._options.name),a.setAttribute("class","file"),this._element.appendChild(a);var b=this;return qq.attach(a,"change",function(){b._options.onChange(a)}),qq.attach(a,"mouseover",function(){qq.addClass(b._element,b._options.hoverClass)}),qq.attach(a,"mouseout",function(){qq.removeClass(b._element,b._options.hoverClass)}),qq.attach(a,"focus",function(){qq.addClass(b._element,b._options.focusClass)}),qq.attach(a,"blur",function(){qq.removeClass(b._element,b._options.focusClass)}),window.attachEvent&&a.setAttribute("tabIndex","-1"),a}},qq.UploadHandlerAbstract=function(a){this._options={debug:!1,action:"/upload.php",maxConnections:999,onProgress:function(a,b,c,d){},onComplete:function(a,b,c){},onCancel:function(a,b){}},qq.extend(this._options,a),this._queue=[],this._params=[]},qq.UploadHandlerAbstract.prototype={log:function(a){this._options.debug&&window.console&&console.log("[uploader] "+a)},add:function(a){},upload:function(a,b){var c=this._queue.push(a),d={};qq.extend(d,b),this._params[a]=d,c<=this._options.maxConnections&&this._upload(a,this._params[a])},cancel:function(a){this._cancel(a),this._dequeue(a)},cancelAll:function(){for(var a=0;a<this._queue.length;a++)this._cancel(this._queue[a]);this._queue=[]},getName:function(a){},getSize:function(a){},getQueue:function(){return this._queue},_upload:function(a){},_cancel:function(a){},_dequeue:function(a){var b=qq.indexOf(this._queue,a);this._queue.splice(b,1);var c=this._options.maxConnections;if(this._queue.length>=c){var d=this._queue[c-1];this._upload(d,this._params[d])}}},qq.UploadHandlerForm=function(a){qq.UploadHandlerAbstract.apply(this,arguments),this._inputs={}},qq.extend(qq.UploadHandlerForm.prototype,qq.UploadHandlerAbstract.prototype),qq.extend(qq.UploadHandlerForm.prototype,{add:function(a){a.setAttribute("name","qqfile");var b="qq-upload-handler-iframe"+qq.getUniqueId();return this._inputs[b]=a,a.parentNode&&qq.remove(a),b},getName:function(a){return this._inputs[a].value.replace(/.*(\/|\\)/,"")},_cancel:function(a){this._options.onCancel(a,this.getName(a)),delete this._inputs[a];var b=document.getElementById(a);b&&(b.setAttribute("src","javascript:false;"),qq.remove(b))},_upload:function(a,b){var c=this._inputs[a];if(!c)throw new Error("file with passed id was not added, or already uploaded or cancelled");var d=this.getName(a),e=this._createIframe(a),f=this._createForm(e,b);f.appendChild(c);var g=this;return this._attachLoadEvent(e,function(){g.log("iframe loaded");var b=g._getIframeContentJSON(e);g._options.onComplete(a,d,b),g._dequeue(a),delete g._inputs[a],setTimeout(function(){qq.remove(e)},1)}),f.submit(),qq.remove(f),a},_attachLoadEvent:function(a,b){qq.attach(a,"load",function(){if(!a.parentNode)return;if(a.contentDocument&&a.contentDocument.body&&a.contentDocument.body.innerHTML=="false")return;b()})},_getIframeContentJSON:function(iframe){var doc=iframe.contentDocument?iframe.contentDocument:iframe.contentWindow.document,response;this.log("converting iframe's innerHTML to JSON"),this.log("innerHTML = "+doc.body.innerHTML);try{response=eval("("+doc.body.innerHTML+")")}catch(err){response={}}return response},_createIframe:function(a){var b=qq.toElement('<iframe src="javascript:false;" name="'+a+'" />');return b.setAttribute("id",a),b.style.display="none",document.body.appendChild(b),b},_createForm:function(a,b){var c=qq.toElement('<form method="post" enctype="multipart/form-data"></form>'),d=qq.obj2url(b,this._options.action);return c.setAttribute("action",d),c.setAttribute("target",a.name),c.style.display="none",document.body.appendChild(c),c}}),qq.UploadHandlerXhr=function(a){qq.UploadHandlerAbstract.apply(this,arguments),this._files=[],this._xhrs=[],this._loaded=[]},qq.UploadHandlerXhr.isSupported=function(){var a=document.createElement("input");return a.type="file","multiple"in a&&typeof File!="undefined"&&typeof (new XMLHttpRequest).upload!="undefined"},qq.extend(qq.UploadHandlerXhr.prototype,qq.UploadHandlerAbstract.prototype),qq.extend(qq.UploadHandlerXhr.prototype,{add:function(a){if(a instanceof File)return this._files.push(a)-1;throw new Error("Passed obj in not a File (in qq.UploadHandlerXhr)")},getName:function(a){var b=this._files[a];return b.fileName!=null?b.fileName:b.name},getSize:function(a){var b=this._files[a];return b.fileSize!=null?b.fileSize:b.size},getLoaded:function(a){return this._loaded[a]||0},_upload:function(a,b){var c=this._files[a],d=this.getName(a),e=this.getSize(a);this._loaded[a]=0;var f=this._xhrs[a]=new XMLHttpRequest,g=this;f.upload.onprogress=function(b){b.lengthComputable&&(g._loaded[a]=b.loaded,g._options.onProgress(a,d,b.loaded,b.total))},f.onreadystatechange=function(){f.readyState==4&&g._onComplete(a,f)},b=b||{},b.qqfile=d;var h=qq.obj2url(b,this._options.action);f.open("POST",h,!0),f.setRequestHeader("X-Requested-With","XMLHttpRequest"),f.setRequestHeader("X-File-Name",encodeURIComponent(d)),f.setRequestHeader("Content-Type","application/octet-stream"),this._options.csrf&&f.setRequestHeader("X-CSRF-Token",$("meta[name='csrf-token']").attr("content")),f.send(c)},_onComplete:function(id,xhr){if(!this._files[id])return;var name=this.getName(id),size=this.getSize(id);this._options.onProgress(id,name,size,size);if(xhr.status==200){this.log("xhr - server response received"),this.log("responseText = "+xhr.responseText);var response;try{response=eval("("+xhr.responseText+")")}catch(err){response={}}this._options.onComplete(id,name,response)}else this._options.onComplete(id,name,{});this._files[id]=null,this._xhrs[id]=null,this._dequeue(id)},_cancel:function(a){this._options.onCancel(a,this.getName(a)),this._files[a]=null,this._xhrs[a]&&(this._xhrs[a].abort(),this._xhrs[a]=null)}}),function(a){function c(a){var b,c,d=[];for(c=0;c<a.length;c++)b=a[c],typeof a[c]=="object"&&(b=a[c].tag),d.push(b.toLowerCase());return d}var b=[];window.setGlobalTags=function(a){b=c(a)},a.fn.tagSuggest=function(d){var e={matchClass:"tagMatches",tagContainer:"span",tagWrap:"span",sort:!0,tags:null,url:null,delay:0,separator:" "},f,g,h=[],i=a.extend({},e,d);return i.tags?h=c(i.tags):h=b,this.each(function(){function l(a,b){i.delay?(c.timer&&clearTimeout(c.timer),c.timer=setTimeout(function(){m(a,b)},i.delay)):m(a,b)}function m(b,c){g=b.value.split(i.separator),d=[];var e,l="",m={},o=!1;j={position:currentTags.length-1,tag:""};for(e=0;e<currentTags.length&&e<g.length;e++)!o&&currentTags[e].toLowerCase()!=g[e].toLowerCase()&&(j={position:e,tag:g[e].toLowerCase()},o=!0),m[currentTags[e].toLowerCase()]=!0;if(j.tag){if(i.url)a.ajax({url:i.url,dataType:"json",data:{tag:j.tag},async:!1,success:function(a){d=a}});else for(e=0;e<h.length;e++)h[e].indexOf(j.tag)===0&&d.push(h[e]);d=a.grep(d,function(a,b){return!m[a.toLowerCase()]}),i.sort&&(d=d.sort());for(e=0;e<d.length;e++)l+="<"+i.tagWrap+' class="_tag_suggestion">'+d[e]+"</"+i.tagWrap+">";k.html(l),f=!!d.length}else n()}function n(){k.empty(),d=[],f=!1}function o(){var a=b.val();a==b.attr("title")&&b.is(".hint")&&(a=""),currentTags=a.split(i.separator),n()}function p(a){var c,d;for(c=0;c<currentTags.length;c++)if(currentTags[c].toLowerCase()!=g[c].toLowerCase()){d=c;break}d==g.length-1&&(a+=i.separator),g[c]=a,b.val(g.join(i.separator)),b.blur().focus(),o()}function q(a){e=!1;var b=a.type,c=!1;switch(a.keyCode){case 37:case 38:case 39:case 40:return n(),!0;case 224:case 17:case 16:case 18:return!0;case 8:if(this.value=="")return n(),o(),!0;b="keyup",c=!0,l(this);break;case 9:case 13:return f?(p(d[0]),e=!0,!1):!0;case 27:return n(),o(),!0;case 32:return o(),!0}if(b=="keyup"){switch(a.charCode){case 9:case 13:return!0}c&&o(),l(this,a.charCode)}}var b=a(this),c=this,d,e=!1,f=!1,g=[],j={position:0,tag:""},k=document.createElement(i.tagContainer);b.after(k).keypress(q).keyup(q).blur(function(){if(e==1||f)e=!1,b.focus()}),k=a(k).click(function(b){b.target.nodeName==i.tagWrap.toUpperCase()&&a(b.target).is("._tag_suggestion")&&p(b.target.innerHTML)}).addClass(i.matchClass),o()})}}(jQuery),function(a){a.Updater=function(b,c,d){function h(){a.ajax(g)}var e=jQuery.extend(!0,{url:b,method:"get",data:"",type:"json",interval:"3000"},c),f=e.interval,g=jQuery.extend(!0,{},e);g.dataType=e.type,g.type=e.method,g.success=function(a){PeriodicalTimer=setTimeout(h,e.interval),d&&d(a,e)},a(function(){h()})}}(jQuery),function(a){a.fn.simplyCountable=function(b){b=a.extend({counter:"#counter",countType:"characters",wordSeparator:" ",maxCount:140,strictMax:!1,countDirection:"down",safeClass:"safe",overClass:"over",thousandSeparator:",",onOverCount:function(){},onSafeCount:function(){},onMaxCount:function(){}},b);var c=this,d=a(b.counter);regex=new RegExp("["+b.wordSeparator+"]+");var e=function(){var d=a(b.counter),e,f,g=function(a){return a-a*2+b.maxCount},h=function(){return b.countDirection==="up"?f:e},i=function(a){if(b.thousandSeparator){a=a.toString();for(var c=a.length-3;c>0;c-=3)a=a.substr(0,c)+b.thousandSeparator+a.substr(c)}return a};b.countType==="words"?(e=b.maxCount-a.trim(c.val()).split(regex).length,c.val()===""&&(e+=1)):e=b.maxCount-c.val().length,f=g(e);if(b.strictMax&&e<=0){var j=c.val();(e<0||j.match(new RegExp("["+b.wordSeparator+"]$")))&&b.onMaxCount(h(),c,d),b.countType==="words"?c.val(j.split(regex).slice(0,b.maxCount).join(b.wordSeparator)):c.val(j.substring(0,b.maxCount)),e=0,f=b.maxCount}d.text(i(h())),!d.hasClass(b.safeClass)&&!d.hasClass(b.overClass)?e<0?d.addClass(b.overClass):d.addClass(b.safeClass):e<0&&d.hasClass(b.safeClass)?(d.removeClass(b.safeClass).addClass(b.overClass),b.onOverCount(h(),c,d)):e>=0&&d.hasClass(b.overClass)&&(d.removeClass(b.overClass).addClass(b.safeClass),b.onSafeCount(h(),c,d))}
;e(),c.focus(e),c.keyup(e)}}(jQuery)
