// *** JSF Check
// *** (c) feel by fish 
// *** http://www.imagen.pl
// *** 2005.04.27
// *** GNU GPL distribution

// -> walidacja lancuchow
// na bazie wyrazen regularnych

var reWhitespace = "^\\s+$";
var reInteger = "^\\d+$";
var reSignedInteger = "^(\\+|\\-)?\\d+$";
var reFloat = "^((\\d+(\\.\\d*)?)|((\\d*\\.)?\\d+))$";
var reSignedFloat = "^(((\\+|\\-)?\d+(\\.\\d*)?)|((\\+|\\-)?(\\d*\\.)?\\d+))$";
var reAlphabetic = "^[a-zA-Z±ćęłńó¶ĽżˇĆĘŁŃÓ¦¬ŻąśźĄŚŹ]+$";
var reAlphanumeric = "^[a-zA-Z0-9±ćęłńó¶ĽżˇĆĘŁŃÓ¦¬ŻąśźĄŚŹ]+$";
var reAlphanumericNoPL = "^[a-zA-Z0-9]+$";
var rePassword = "^[a-zA-Z0-9!@#$%^&*()\\[\\],.;:]+$";
var reEmail = "^[a-zA-Z0-9.\\_\\-]+@([a-zA-Z0-9\\-]+\\.)+[a-zA-Z]{2,4}$";
var reNazwisko = "^([a-zA-Z±ćęłńó¶ĽżˇĆĘŁŃÓ¦¬ŻąśźĄŚŹ']+[ \-]{0,1})+[a-zA-Z±ćęłńó¶ĽżˇĆĘŁŃÓ¦¬ŻąśźĄŚŹ']+$";
var reTelefon = "^[\\(\\+]{0,1}([0-9 ]+[\\/\\-\\(\\)]{0,1})+[0-9]$";
var reKod = "^\\d{2}\\-\\d{3}$";

// trzeba kompilowac od nowa..
function isEmpty(s) {return ((s == null) || (s.length == 0))}
function isWhitespace(s) {return (isEmpty(s) || new RegExp(reWhitespace).test(s));}
function isInteger(s) {return new RegExp(reInteger).test(s);}
function isSignedInteger(s) {return new RegExp(reSignedInteger).test(s);}
function isFloat(s) {return new RegExp(reFloat).test(s);}
function isSignedFloat(s) {return new RegExp(reSignedFloat).test(s);}
function isAlphabetic(s) {return new RegExp(reAlphabetic).test(s);}
function isAlphanumeric(s) {return new RegExp(reAlphanumeric).test(s);}
function isAlphanumericNoPL(s) {return new RegExp(reAlphanumericNoPL).test(s);}
function isPassword(s) {return new RegExp(rePassword).test(s);}
function isEmail(s) {return new RegExp(reEmail,"gi").test(s);}
function isNazwisko(s) {return new RegExp(reNazwisko,"gi").test(s);}
function isTelefon(s) {return new RegExp(reTelefon).test(s);}
function isKod(s) {return new RegExp(reKod).test(s);}

function isChecked(obj) {
	multi = true;
	if (obj.type == 'radio' || obj.type == 'checkbox') multi = false;
	
	var checked = false;
	if (multi) {
	   	for (var i = 0; i < obj.length; i++)
	   		if (obj[i].checked) {checked = true; break}
	}
	else checked = obj.checked;
	return checked;
}

function checkMsg(text, field) {
	alert(text);
	try {
		field.focus(); 
		field.select();
	} catch(e) {}
	return false;
}


// modfish: load part
if (window.Modules!=null) {
	Modules[Modules.length] = "jsf-check";
	loadModules();
}
