/*
 * 	Character Count Plugin - jQuery plugin
 * 	Dynamic character count for text areas and input fields
 *	written by Alen Grakalic
 *	http://cssglobe.com/post/7161/jquery-plugin-simplest-twitterlike-dynamic-character-count-for-textareas
 *
 *	Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *
 */
var is_warning = 0;
(function($) {

	$.fn.charCount = function(options){

		// default configuration properties
		var defaults = {
			allowed: 1050,
			warning: 890,
			css: 'counter',
			counterElement: 'span',
			cssWarning: 'warning',
			cssExceeded: 'exceeded',
			counterText: 'Kalan karakter:',
            signCount: 0,
            signElement: 'pre_sign_label',
            messageBoxElement: 'message',
            isSendTurkishMessage: 0
		};

		var options = $.extend(defaults, options);

		function calculate(obj){

			var count = $(obj).val().length;
            if(options.signElement=='pre_sign_label')
                var signCount = $('#'+options.signElement).val().length;
            else
                var signCount = 0;

            if(options.isSendTurkishMessage==1) {
                var message = $('#'+options.messageBoxElement).val();
                var is_turkish = null; //message.match(/[ÖÇŞİĞÜğüşıöç]/g);

                if(is_turkish!=null) {
                    options.warning = 980;
                }
            }

			var available = options.allowed - count - signCount;
			if(available <= options.warning && available >= 0){
                if(is_warning==0) {
                    alert('1. SMS 160 karakter sınırı aşıldı,mesajınız gönderilecek ancak, bakiyenizden 2 SMS düşülecektir.Bundan sonraki her 153 karakter için sms bakiyenizden 1 sms daha düşecektir.'); //$(obj).next().addClass(options.cssWarning);
			        is_warning = 1;
                }
            } else {
				//$(obj).next().removeClass(options.cssWarning);
			}

            if(is_warning==1) {
                var smsCount = Math.ceil((options.allowed-available) / 153);
            } else {
                var smsCount = '1';
            }

            $('#smsCount').html(smsCount);

			if(available < 0){
				var content = $(obj).val(); //next().addClass(options.cssExceeded);
                substr_content = content.substr(0,options.allowed);
                $(obj).val(substr_content);
                available = 0;
            } else {
				$(obj).next().removeClass(options.cssExceeded);
			}
			$(obj).next().html(options.counterText + available);
		};

		this.each(function() {
			$(this).after('<'+ options.counterElement +' class="' + options.css + '">'+ options.counterText +'</'+ options.counterElement +'>');
			calculate(this);
			$(this).keyup(function(){calculate(this)});
			$(this).change(function(){calculate(this)});
		});

	};

})(jQuery);

