﻿/**
 * All rights reserved.
 *
 * /!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!
 * /! ---------------- Kopiowanie zabronione zgodnie z Ustawą z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych ---------------- /!
 * /! -- (Dz.U. z 1994r. nr 24, poz.83, nr 43, poz. 170; Dz.U. z 1997 r. nr 43, poz. 272, nr 88. poz. 554; Dz.U. z 2000 r. nr 53, poz. 637) -- /!
 * /!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!/!
 *
*/

(function($)
{$.fn.maxlength=function(options)
{var settings=jQuery.extend({events:[],maxCharacters:10,status:false,statusClass:"",statusText:"",notificationClass:"",showAlert:false,alertText:""},options);$.merge(settings.events,['keyup']);return this.each(function()
{var item=$(this);var charactersLength=$(this).val().length;if(!validateElement())
{return false;}
$.each(settings.events,function(i,n){item.bind(n,function(e){charactersLength=item.val().length;checkChars();});})
if(settings.status)
{item.after($("<div/>").addClass(settings.statusClass).html('-'));updateStatus();}
if(!settings.status)
{var removeThisDiv=item.next("div");if(removeThisDiv){removeThisDiv.remove();}}
function checkChars()
{var valid=true;if(charactersLength>=settings.maxCharacters)
{valid=false;item.addClass(settings.notificationClass);item.val(item.val().substr(0,settings.maxCharacters));showAlert();}
else
{if(item.hasClass(settings.notificationClass))
{item.removeClass(settings.notificationClass);}}
if(settings.status)
{updateStatus();}};function updateStatus()
{var charactersLeft=settings.maxCharacters-charactersLength;if(charactersLeft<0)
{charactersLeft=0;}
item.next("div").html(charactersLeft+" "+settings.statusText);};function showAlert()
{if(settings.showAlert)
{alert(settings.alertText);}};function validateElement()
{var ret=false;if(item.is('textarea')){ret=true;}else if(item.filter("input[type=text]")){ret=true;}else if(item.filter("input[type=password]")){ret=true;}
return ret;};});};})(jQuery);