function stripChars (s, bag)

{   var i;
    var returnString = "";

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}

function stripCharsExclude (s, bag)

{   var i;
    var returnString = "";

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }

    return returnString;
}


function checkField (theField,s)
{
	var pom = '';
	var isOK = false;

	pom = theField.value;

	if (s =='empty') {
		isOK = (pom.length > 0);
	}
	if (s =='alpha') {
		var regex=/^[A-Za-z _]+$/i;
		isOK = pom.match(regex);
	}
	if (s =='num') {
		var regex=/^[\d]+$/i;
		isOK = pom.match(regex);
	}
	if (s =='alphanum') {
		var regex=/^[\w ]+$/i;
		isOK = pom.match(regex);
	}
	if (s =='mail') {
		var regex=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		isOK = pom.match(regex);
	}

	if (s =='cz_zip') {
		pom = stripCharsExclude(theField.value,'1234567890');
		
		if (pom.length == 5) isOK = true;

		if (isOK) {
			pom = pom.substr(0,3)+' '+pom.substr(3,2);
		}
	}
	if (s =='cz_phone') {
		pom = stripCharsExclude(theField.value,'1234567890+');
		
		if (pom.length == 9) isOK = true;
		else if ((pom.length == 13) && pom.indexOf("+420")==0) isOK = true;
		else if ((pom.length == 14) && pom.indexOf("00420")==0) isOK = true;

		if (isOK) {
			pom = pom.substr(pom.length-9,9);
			if ((pom.indexOf("2")==0) ||		// Praha
				(pom.indexOf("31")==0) ||		// Stredocesky
				(pom.indexOf("32")==0) ||		
				(pom.indexOf("38")==0) ||		// Jihocesky
				(pom.indexOf("39")==0) ||		
				(pom.indexOf("37")==0) ||		// Plzensky
				(pom.indexOf("35")==0) ||		// Karlovarsky
				(pom.indexOf("41")==0) ||		// Ustecky
				(pom.indexOf("47")==0) ||		
				(pom.indexOf("48")==0) ||		// Liberecky
				(pom.indexOf("49")==0) ||		// Kralovehradecky
				(pom.indexOf("46")==0) ||		// Pardubicky
				(pom.indexOf("56")==0) ||		// Vysocina
				(pom.indexOf("51")==0) ||		// Jihomoravsky
				(pom.indexOf("53")==0) ||
				(pom.indexOf("54")==0) ||
				(pom.indexOf("58")==0) ||		// Olomoucky
				(pom.indexOf("55")==0) ||		// Moravskoslezsky
				(pom.indexOf("59")==0) ||
				(pom.indexOf("57")==0) ||		// Zlinsky

				//-- Mobilni operatori --

				(pom.indexOf("608")==0) ||		// Oskar
				(pom.indexOf("776")==0) ||
				(pom.indexOf("777")==0) ||
				(pom.indexOf("603")==0) ||		// T-mobile
				(pom.indexOf("604")==0) ||
				(pom.indexOf("605")==0) ||
				(pom.indexOf("73")==0) ||
				(pom.indexOf("601")==0) ||		// Eurotel
				(pom.indexOf("602")==0) ||
				(pom.indexOf("606")==0) ||
				(pom.indexOf("607")==0) ||
				(pom.indexOf("72")==0)) isOK = true;
			else {
				alert('Spatna predvolba');
				return false;
			}

			pom = '+420 '+ pom.substr(0,3)+' '+pom.substr(3,3)+' '+pom.substr(6,3);
		}
	}

	if (isOK) {
		theField.value = pom;
		return true;
	}
	else {
		theField.focus();
		return false;
	}
}

