function isInteger(s) {
	var i;
	for (i = 0; i < s.length; i++)  {
		var c = s.charAt(i);
		if (c == " ") continue;
		if (((c < "0") || (c > "9"))) return false;
	}
	return true;
}

function checkForm(form) {
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;	
	var numExp = /^[0-9\ \.\-]+$/;
	var alphanumExp = /^[^!\?#%\*;<>=\[\]\^\{\}\|~]+$/;
	
	if (form.subject.value=='') { alert("Please enter a subject (title of problem)."); form.subject.focus(); return false;}
	if (!form.subject.value.match(alphanumExp)) { alert("Please don't use special characters in subject."); form.subject.focus(); return false;}
	if (form.subject.value.length > 80) { alert("Please enter subject at least 80 characters long"); form.subject.focus(); return false;}
	if (form.country.value=='') { alert("Please select country."); form.country.focus(); return false;}
	if (form.contact_f.value=='') { alert("Please enter your first name."); form.contact_f.focus(); return false;}
	if (!form.contact_f.value.match(alphanumExp)) { alert("Please enter only letters in your first name."); form.contact_f.focus(); return false;}
	if (form.contact_f.value.length > 80) { alert("Please enter your first name at least 80 characters long."); form.contact_f.focus(); return false;}
	if (form.contact_l.value=='') { alert("Please enter your last name."); form.contact_l.focus(); return false;}
	if (!form.contact_l.value.match(alphanumExp)) { alert("Please enter only letters in your last name."); form.contact_l.focus(); return false;}
	if (form.contact_l.value.length > 80) { alert("Please enter your last name at least 80 characters long."); form.contact_l.focus(); return false;}
	if (form.email.value=='') { alert("Please enter your E-mail."); form.email.focus(); return false;}
	if (!form.email.value.match(emailExp)) { alert("Your E-mail address is not valid."); form.email.focus(); return false;}
	if (form.email.value!=form.conf_email.value) { alert("Your E-mail addresses don't match. Please, check your E-mail."); form.email.focus(); return false;}
	if (form.buy_product[0].checked==false && form.buy_product[1].checked==false) { alert("Please enter where you bought the product."); form.buy_product[0].focus(); form.buy_product[0].checked=false; return false;}
	if (form.buy_product[0].checked==true && form.purchase.value=='') { alert("Please enter where you bought the product."); form.purchase.focus(); return false;}
	if (form.purchase.value!='' && !form.purchase.value.match(alphanumExp)) { alert("Please don't enter special characters where you bought the product."); form.purchase.focus(); return false;}
	if (form.purchdate.value=='') { alert("Please enter date of purchasing."); form.purchdate.focus(); return false;}
	if (form.purchdate.value=='' && !form.purchdate.value.match(alphanumExp)) { alert("Please, don't use any special characters."); form.purchdate.focus(); return false; }	
	if (form.rcarddate_sent[0].checked==false && form.rcarddate_sent[1].checked==false) { alert("Please enter date of sending registration card."); form.rcarddate_sent[0].focus(); form.rcarddate_sent[0].checked=false; return false;}
	if (form.rcarddate_sent[0].checked==true && form.rcarddate.value=='') { alert("Please enter date of sending registration card."); form.rcarddate.focus(); return false;}
	if (form.rcarddate.value!='' && !form.rcarddate.value.match(alphanumExp)) { alert("Please enter correct date of sendind registration card (dd-mm-yyy)"); form.rcarddate.focus(); return false; }
	if (form.prog.value=='') { alert("Please select programmer."); form.prog.focus(); return false;}
	if (form.serial.value=='') { alert("Please enter serial number."); form.serial.focus(); return false;}
	if (!form.serial.value.match(numExp)) { alert("Please enter serial number from bottom side of programmer (000-00000)."); form.serial.focus(); return false;}
	if (form.version.value=='') { alert("Please enter version of control program."); form.version.focus(); return false;}
	if (!form.version.value.match(alphanumExp)) { alert("Please enter correct version of control program PG4UW (0.00)."); form.version.focus(); return false;}
	if (form.device.value=='') { alert("Please enter device type."); form.device.focus(); return false;}
	if (form.device.value.length > 80) { alert("Please enter device type at least 80 characters long"); form.device.focus(); return false;}
	if (form.vendor.value=='') { alert("Please enter vendor."); form.vendor.focus(); return false;}
	if (form.vendor.value.length > 80) { alert("Please enter vendor at least 80 characters long"); form.vendor.focus(); return false;}
	if (form.packg.value=='') { alert("Please enter package."); form.packg.focus(); return false;}
	if (form.packg.value.length > 80) { alert("Please enter package at least 80 characters long"); form.packg.focus(); return false;}
	if (form.prog_type.value == '') { alert("Please select the way of chip programming."); form.prog_type.focus(); return false; }
	if (form.rating.value=='') { alert("Please enter precedence rating."); form.rating.focus(); return false;}
	if (!isInteger(form.rating.value)) { alert( "Precedence rating has to be a number."); form.rating.focus(); return false;}
	if (form.rating_dwm.value=='') { alert("Please enter precedence rating."); form.rating_dwm.focus(); return false;}
	if (form.verify[0].checked==false && form.verify[1].checked==false) {alert("Please enter whether you verified the latest version of control program doesn't support this device."); form.verify[0].focus(); form.verify[0].checked=false; return false;}
	if (form.often.value=='') { alert("Please select how often the device will be programmed."); form.often.focus(); return false;}
	if (form.number.value=='') { alert("Please enter number of programmed devices."); form.number.focus(); return false;}
	if (! isInteger(form.number.value)) { alert( "Amount of programmed devices has to be a number."); form.number.focus(); return false;}
	if (form.samples[0].checked==false && form.samples[1].checked==false && form.samples[2].checked==false) { alert("Please enter whether samples are available."); form.samples[0].focus(); form.samples[0].checked=false; return false;}
	if (form.security_code.value=='') { alert("Please enter control code from picture."); form.security_code.focus(); return false;}
	return true;
}
  
function checkFormSk(form) {
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;	
	var numExp = /^[0-9\ \.\-]+$/;
	var alphanumExp = /^[^!\?#%\*;<>=\[\]\^\{\}\|~]+$/;
	
	if (form.subject.value=='') { alert("Prosím zadajte vec (názov problému)"); form.subject.focus(); return false;}
	if (!form.subject.value.match(alphanumExp)) { alert("Prosím nepoužívajte špeciálne znaky v názve problému."); form.subject.focus(); return false;}
	if (form.subject.value.length > 80) { alert("Prosím zadajte vec na max. 80 znakov"); form.subject.focus(); return false;}
	if (form.country.value=='') { alert("Prosím vyberte štát."); form.country.focus(); return false;}
	if (form.contact_f.value=='') { alert("Prosím zadajte Vaše meno."); form.contact_f.focus(); return false;}
	if (!form.contact_f.value.match(alphanumExp)) { alert("Prosím nepoužívajte špeciálne znaky vo Vašom mene."); form.contact_f.focus(); return false;}
	if (form.contact_f.value.length > 80) { alert("Prosím zadajte Vaše meno na max.80 znakov."); form.contact_f.focus(); return false;}
	if (form.contact_l.value=='') { alert("Prosím zadajte Vaše priezvisko."); form.contact_l.focus(); return false;}
	if (!form.contact_l.value.match(alphanumExp)) { alert("Prosím nepoužívajte špeciálne znaky vo Vašom priezvisku."); form.contact_l.focus(); return false;}
	if (form.contact_l.value.length > 80) { alert("Prosím zadajte Vaše priezvisko na max.80 znakov."); form.contact_l.focus(); return false;}
	if (form.email.value=='') { alert("Prosím zadajte Vašu E-mailovú adresu."); form.email.focus(); return false;}
	if (!form.email.value.match(emailExp)) { alert("Vaša E-mailová adresa je nesprávna."); form.email.focus(); return false;}
	if (form.email.value!=form.conf_email.value) { alert("Zadané E-mailové adresy nie sú rovnaké. Prosím skontrolujte Váš E-mail."); form.email.focus(); return false;}
	if (form.buy_product[0].checked==false && form.buy_product[1].checked==false) { alert("Prosím zadajte kde ste zakúpili výrobok."); form.buy_product[0].focus(); form.buy_product[0].checked=false; return false;}
	if (form.buy_product[0].checked==true && form.purchase.value=='') { alert("Prosím zadajte kde ste zakúpili výrobok."); form.purchase.focus(); return false;}
	if (form.purchase.value!='' && !form.purchase.value.match(alphanumExp)) { alert("Prosím nepoužívajte špecálne znaky kde ste zakúpili výrobok."); form.purchase.focus(); return false;}
	if (form.purchdate.value=='') { alert("Prosím zadajte dátum zakúpenia."); form.purchdate.focus(); return false;}
	if (form.purchdate.value=='' && !form.purchdate.value.match(alphanumExp)) { alert("Prosím nepoužívajte špeciálne znaky v dátume zakúpenia."); form.purchdate.focus(); return false; }	
	if (form.rcarddate_sent[0].checked==false && form.rcarddate_sent[1].checked==false) { alert("Prosím zadajte dátum zaslania registračnej karty."); form.rcarddate_sent[0].focus(); form.rcarddate_sent[0].checked=false; return false;}
	if (form.rcarddate_sent[0].checked==true && form.rcarddate.value=='') { alert("Prosím zadajte dátum zaslania registračnej karty."); form.rcarddate.focus(); return false;}
	if (form.rcarddate.value!='' && !form.rcarddate.value.match(alphanumExp)) { alert("Prosím zadajte korektný dátum zaslania registračnej karty (dd-mm-yyy)"); form.rcarddate.focus(); return false; }
	if (form.prog.value=='') { alert("Prosím vyberte programátor."); form.prog.focus(); return false;}
	if (form.serial.value=='') { alert("Prosím zadajte sériové číslo."); form.serial.focus(); return false;}
	if (!form.serial.value.match(numExp)) { alert("Prosím zadajte sériové číslo zo spodnej strany programátora (000-00000)."); form.serial.focus(); return false;}
	if (form.version.value=='') { alert("Prosím zadajte verziu ovládacieho programu."); form.version.focus(); return false;}
	if (!form.version.value.match(alphanumExp)) { alert("Prosím zadajte správnu verziu ovládacieho programu PG4UW (0.00)."); form.version.focus(); return false;}
	if (form.device.value=='') { alert("Prosím zadajte typ obvodu."); form.device.focus(); return false;}
	if (form.device.value.length > 80) { alert("Prosím zadajte typ obvodu na max.80 znakov"); form.device.focus(); return false;}
	if (form.vendor.value=='') { alert("Prosím zadajte výrobcu."); form.vendor.focus(); return false;}
	if (form.vendor.value.length > 80) { alert("Prosím zadajte výrobcu na max.80 znakov"); form.vendor.focus(); return false;}
	if (form.packg.value=='') { alert("Prosím zadajte púzdrenie."); form.packg.focus(); return false;}
	if (form.packg.value.length > 80) { alert("Prosím zadajte púzdrenie na max.80 znakov"); form.packg.focus(); return false;}
	if (form.rating.value=='') { alert("Prosím zadajte aktuálnosť problému."); form.rating.focus(); return false;}
	if (! isInteger(form.rating.value)) { alert( "Aktuálnosť problému musí byť číselná hodnota."); form.rating.focus(); return false;}
	if (form.rating_dwm.value=='') { alert("Prosím zadajte aktuálnosť problému."); form.rating_dwm.focus(); return false;}
	if (form.verify[0].checked==false && form.verify[1].checked==false) {alert("Prosím zadajte či ste overili, či aktuálna verzia ovládacieho programu nepodporuje požadovaný obvod."); form.verify[0].focus(); form.verify[0].checked=false; return false;}
	if (form.often.value=='') { alert("Prosím vyberte ako často plánujete programovať požadovaný obvod."); form.often.focus(); return false;}
	if (form.number.value=='') { alert("Prosím zadajte počet programovaných obvodov."); form.number.focus(); return false;}
	if (! isInteger(form.number.value)) { alert( "Počet programovaných obvodov musí byť číselná hodnota."); form.number.focus(); return false;}
	if (form.samples[0].checked==false && form.samples[1].checked==false && form.samples[2].checked==false) { alert("Prosím zadajte či máte vzorku."); form.samples[0].focus(); form.samples[0].checked=false; return false;}
	if (form.security_code.value=='') { alert("Prosím vložte kontrolný kód z obrázka."); form.security_code.focus(); return false;}
	return true;
}