
(function($,prefix,jq){$[jq]=$({});$[jq].extend({invoke:function(nodes){nodes.each(function(){var node=this;var funcs=$(node).attr(prefix).split(',');$(funcs).each(function(){var arg=$(node).attr(prefix+":"+this);if(arg){eval('var options = {'+arg+'}');}else{var options={};}
if($.fn[this]){$(node)[this](options);}});});},invokeElement:function(node){$[jq].invoke($("*["+prefix+"]",node));}});$(document).ready(function(){$[jq].invokeElement(document);});})(jQuery,"jq","jq");(function($){var trailing_whitespace=true;$.fn.truncate=function(options){var opts=$.extend({},$.fn.truncate.defaults,options);$(this).each(function(){var content_length=$.trim(squeeze($(this).text())).length;if(content_length<=opts.max_length)
return;var actual_max_length=opts.max_length;var truncated_node=recursivelyTruncate(this,actual_max_length);var full_node=$(this);truncated_node.insertAfter(full_node);truncated_node.find('p:last').add(truncated_node).eq(0).append(''+opts.more+'');full_node.hide();});}
$.fn.truncate.defaults={max_length:100,more:'...'};function recursivelyTruncate(node,max_length){return(node.nodeType==3)?truncateText(node,max_length):truncateNode(node,max_length);}
function truncateNode(node,max_length){var node=$(node);var new_node=node.clone().html("");node.contents().each(function(){var remaining_length=max_length-new_node.text().length;if(remaining_length==0)return;new_node.append(recursivelyTruncate(this,remaining_length));});return new_node;}
function truncateText(node,max_length){var text=squeeze(node.data);if(trailing_whitespace)
text=text.replace(/^ /,'');trailing_whitespace=!!text.match(/ $/);return text.replace(new RegExp('^(.{'+max_length+',}?)\\b.*'),'$1')}
function squeeze(string){return string.replace(/\s+/g,' ');}})(jQuery);jQuery.fn.center=function(params){var options={vertical:true,horizontal:true}
op=jQuery.extend(options,params);return this.each(function(){var $self=jQuery(this);var width=$self.width();var height=$self.height();var paddingTop=parseInt($self.css("padding-top"));var paddingBottom=parseInt($self.css("padding-bottom"));var borderTop=parseInt($self.css("border-top-width"));var borderBottom=parseInt($self.css("border-bottom-width"));var mediaBorder=(borderTop+borderBottom)/2;var mediaPadding=(paddingTop+paddingBottom)/2;var positionType=$self.parent().css("position");var halfWidth=(width/2)*(-1);var halfHeight=((height/2)*(-1))-mediaPadding-mediaBorder;var cssProp={position:'absolute'};if(op.vertical){cssProp.height=height;cssProp.top='50%';cssProp.marginTop=halfHeight;}
if(op.horizontal){cssProp.width=width;cssProp.left='50%';cssProp.marginLeft=halfWidth;}
if(positionType=='static'){$self.parent().css("position","relative");}
$self.css(cssProp);});};(function($){$.fn.alphanumeric=function(p){p=$.extend({ichars:"!@#$%^&*()+=[]\\\';,/{}|\":<>?~`.- ",nchars:"",allow:""},p);return this.each
(function()
{if(p.nocaps)p.nchars+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";if(p.allcaps)p.nchars+="abcdefghijklmnopqrstuvwxyz";s=p.allow.split('');for(i=0;i<s.length;i++)if(p.ichars.indexOf(s[i])!=-1)s[i]="\\"+s[i];p.allow=s.join('|');var reg=new RegExp(p.allow,'gi');var ch=p.ichars+p.nchars;ch=ch.replace(reg,'');$(this).keypress
(function(e)
{if(!e.charCode)k=String.fromCharCode(e.which);else k=String.fromCharCode(e.charCode);if(ch.indexOf(k)!=-1)e.preventDefault();if(e.ctrlKey&&k=='v')e.preventDefault();});$(this).bind('contextmenu',function(){return false});});};$.fn.numeric=function(p){var az="abcdefghijklmnopqrstuvwxyz";az+=az.toUpperCase();p=$.extend({nchars:az},p);return this.each(function()
{$(this).alphanumeric(p);});};$.fn.alpha=function(p){var nm="1234567890";p=$.extend({nchars:nm},p);return this.each(function()
{$(this).alphanumeric(p);});};})(jQuery);
