From 3c4c71fc19865bfb75231c425fae31c6b2c211de Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Tue, 9 Feb 2010 16:48:38 -0500 Subject: started working towards skinning forum app - first step - move templates to app --- forum/templates/content/js/com.cnprog.utils.js | 128 +++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 forum/templates/content/js/com.cnprog.utils.js (limited to 'forum/templates/content/js/com.cnprog.utils.js') diff --git a/forum/templates/content/js/com.cnprog.utils.js b/forum/templates/content/js/com.cnprog.utils.js new file mode 100644 index 00000000..4c3aafba --- /dev/null +++ b/forum/templates/content/js/com.cnprog.utils.js @@ -0,0 +1,128 @@ +//var $, scriptUrl; +var showMessage = function(object, msg) { + var div = $('

' + msg + '

(' + + $.i18n._('click to close') + ')
'); + + div.click(function(event) { + $(".vote-notification").fadeOut("fast", function() { $(this).remove(); }); + }); + + object.parent().append(div); + div.fadeIn("fast"); +}; + +var notify = function() { + var visible = false; + return { + show: function(html) { + if (html) { + $("body").css("margin-top", "2.2em"); + $(".notify span").html(html); + } + $(".notify").fadeIn("slow"); + visible = true; + }, + close: function(doPostback) { + if (doPostback) { + $.post(scriptUrl + $.i18n._("messages/") + + $.i18n._("markread/"), { formdata: "required" }); + } + $(".notify").fadeOut("fast"); + $("body").css("margin-top", "0"); + visible = false; + }, + isVisible: function() { return visible; } + }; +} (); + +function appendLoader(containerSelector) { + $(containerSelector).append('' +
+		$.i18n._('loading...') +
+		''); +} + +function removeLoader() { + $("img.ajax-loader").remove(); +} + +function setSubmitButtonDisabled(formSelector, isDisabled) { + $(formSelector).find("input[type='submit']").attr("disabled", isDisabled ? "true" : ""); +} + +function enableSubmitButton(formSelector) { + setSubmitButtonDisabled(formSelector, false); +} + +function disableSubmitButton(formSelector) { + setSubmitButtonDisabled(formSelector, true); +} + +function setupFormValidation(formSelector, validationRules, validationMessages, onSubmitCallback) { + enableSubmitButton(formSelector); + $(formSelector).validate({ + rules: (validationRules ? validationRules : {}), + messages: (validationMessages ? validationMessages : {}), + errorElement: "span", + errorClass: "form-error", + errorPlacement: function(error, element) { + var span = element.next().find("span.form-error"); + if (span.length === 0) { + span = element.parent().find("span.form-error"); + } + span.replaceWith(error); + }, + submitHandler: function(form) { + disableSubmitButton(formSelector); + + if (onSubmitCallback){ + onSubmitCallback(); + } + else{ + form.submit(); + } + } + }); +} + +var CPValidator = function(){ + return { + getQuestionFormRules : function(){ + return { + tags: { + required: true, + maxlength: 105 + }, + text: { + required: true, + minlength: 10 + }, + title: { + required: true, + minlength: 10 + } + }; + }, + getQuestionFormMessages: function(){ + return { + tags: { + required: " " + $.i18n._('tags cannot be empty'), + maxlength: " " + $.i18n._('tablimits info') + }, + text: { + required: " " + $.i18n._('content cannot be empty'), + minlength: $.format(' ' + $.i18n._('content minchars')) + }, + title: { + required: " " + $.i18n._('please enter title'), + minlength: $.format(' ' + $.i18n._('title minchars')) + } + }; + } + }; +}(); +//Search Engine Keyword Highlight with Javascript +//http://scott.yang.id.au/code/se-hilite/ +Hilite={elementid:"content",exact:true,max_nodes:1000,onload:true,style_name:"hilite",style_name_suffix:true,debug_referrer:""};Hilite.search_engines=[["local","q"],["cnprog\\.","q"],["google\\.","q"],["search\\.yahoo\\.","p"],["search\\.msn\\.","q"],["search\\.live\\.","query"],["search\\.aol\\.","userQuery"],["ask\\.com","q"],["altavista\\.","q"],["feedster\\.","q"],["search\\.lycos\\.","q"],["alltheweb\\.","q"],["technorati\\.com/search/([^\\?/]+)",1],["dogpile\\.com/info\\.dogpl/search/web/([^\\?/]+)",1,true]];Hilite.decodeReferrer=function(d){var g=null;var e=new RegExp("");for(var c=0;c2&&f[2]){a=decodeURIComponent(a)}a=a.replace(/\'|"/g,"");a=a.split(/[\s,\+\.]+/);return a}break}}return null};Hilite.decodeReferrerQS=function(f,d){var b=f.indexOf("?");var c;if(b>=0){var a=new String(f.substring(b+1));b=0;c=0;while((b>=0)&&((c=a.indexOf("=",b))>=0)){var e,g;e=a.substring(b,c);b=a.indexOf("&",c)+1;if(e==d){if(b<=0){return a.substring(c+1)}else{return a.substring(c+1,b-1)}}else{if(b<=0){return null}}}}return null};Hilite.hiliteElement=function(f,e){if(!e||f.childNodes.length==0){return}var c=new Array();for(var b=0;b0){c++;if(c>=Hilite.max_nodes){var b=function(){Hilite.walkElements(d,f,e)};setTimeout(b,50);return}if(d.nodeType==1){if(!a.test(d.tagName)&&d.childNodes.length>0){d=d.childNodes[0];f++;continue}}else{if(d.nodeType==3){d=e(d)}}if(d.nextSibling){d=d.nextSibling}else{while(f>0){d=d.parentNode;f--;if(d.nextSibling){d=d.nextSibling;break}}}}};if(Hilite.onload){if(window.attachEvent){window.attachEvent("onload",Hilite.hilite)}else{if(window.addEventListener){window.addEventListener("load",Hilite.hilite,false)}else{var __onload=window.onload;window.onload=function(){Hilite.hilite();__onload()}}}}; -- cgit v1.2.3-1-g7c22