/*
* Funkcja liczaca znaki wpisywane do textarea.
* (zmodyfikowana funkcja textCounter)  
*
* @param field - id pola textarea, do ktorego wpisujemy liczone znaki
* @param maxLimit - maksymalny limit znakow do wpsiania
* @param countDisplay - id tag'u, w ktorym bedzie wyswietlana pozostala liczba znakow do wpisania
* @param messageDisplay - id tag'u, w ktorym bedzie wyswietlana informacja
* @param messageBefore - komunikat przed przekroczeniem dopuszczalnej liczby znakow
* @param messageAfter - komunikat po przekroczeniu dopuszczalne liczby znakow
*/
function textareaCounter(field, maxLimit, countDisplay, messageDisplay, messageBefore, messageAfter) {
	if (field.value==null) { field.value=""; }

	newstr = field.value;
	
	//znak nowej linii liczymy jako dwa znaki
	strlen = newstr.replace(/\r\n/g, "12").replace(/\n/g, "12").length;

	var i=maxLimit-strlen;
	if (strlen > maxLimit) {
		$(messageDisplay).update(messageAfter);
		$(countDisplay).update(strlen-maxLimit);
	} else {
		$(messageDisplay).update(messageBefore);
		$(countDisplay).update(i);
	}
}//end of textareaCounter 


/*
* funkcja liczaca znaki wpisywane np. do textarea.
* parametry:
* field - pole, do ktorego wpisujemy liczone znaki
* countDisplay - pole, w ktorym bedzie wyswietlana pozostala liczba znakow do wpisania
* maxLimit - maksymalny limit znakow do wpsiania
* messageDisplay - pole, w ktorym bedzie wyswietlana informacja o przekroczeniu limitu wpisywanych znakow
* message - informacja do wyswietlenia
*/
function textCounter(field, countDisplay, maxLimit, messageDisplay, message) {

	if (field.value==null) { field.value=""; }
	
	newstr = field.value;
	strlen = newstr.replace(/\r\n/g, "12").replace(/\n/g, "12").length;
	
	var i=maxLimit-strlen;
	if (strlen > maxLimit) {
		field.value = field.value.substring(0, maxLimit);
		$(messageDisplay).update(message);
	} else {
		$(messageDisplay).update("");
		$(countDisplay).update(i);
	}
}

/*
* funkcja ograniczajaca znaki wpisywane np. do textarea.
* parametry:
* field - pole, do ktorego wpisujemy liczone znaki
* maxLimit - maksymalny limit znakow do wpsiania
* messageDisplay - pole, w ktorym bedzie wyswietlana informacja o przekroczeniu limitu wpisywanych znakow
* message - informacja do wyswietlenia
*/
function textLimiter(field, maxLimit, messageDisplay, message) {

	if (field.value==null) { field.value=""; }
	
	newstr = field.value;
	strlen = newstr.replace(/\r\n/g, "12").replace(/\n/g, "12").length;

	if (strlen > maxLimit) {
		field.value = field.value.substring(0, maxLimit);
		$(messageDisplay).update(message);
	} else {
		if (strlen < maxLimit) {
			$(messageDisplay).update("");
		}
	}
}
 /*
* Funkcja liczaca znaki wpisywane do textarea. 
* W odroznieniu id textareaCounter, ucina wartosc zbyt dlugiego pola 
* (zmodyfikowana funkcja textCounter)  
*
* @param field - id pola textarea, do ktorego wpisujemy liczone znaki
* @param maxLimit - maksymalny limit znakow do wpsiania
* @param countDisplay - id tag'u, w ktorym bedzie wyswietlana pozostala liczba znakow do wpisania
* @param messageDisplay - id tag'u, w ktorym bedzie wyswietlana informacja
* @param messageBefore - komunikat przed przekroczeniem dopuszczalnej liczby znakow
* @param messageAfter - komunikat po przekroczeniu dopuszczalne liczby znakow
*/
function textareaCounterAndCutter(field, maxLimit, countDisplay, messageDisplay, messageBefore, messageAfter) {
	if (field.value==null) { field.value=""; }

	newstr = field.value;
	
	//znak nowej linii liczymy jako dwa znaki
	strlen = newstr.replace(/\r\n/g, "12").replace(/\n/g, "12").length;

	var i=maxLimit-strlen;
	if (strlen > maxLimit) {
 	    field.value = field.value.substring(0, maxLimit);
		$(messageDisplay).update(messageAfter);
		$(countDisplay).update("");
	} else {
		$(messageDisplay).update("");
		$(countDisplay).update(messageBefore+" "+i);
	}
}//end of textareaCounter 