function validateReference_form(dealer){
  if(dealer.name.value == ""){
    alert("Položku \"Vaše jméno\" musíte vyplnit.");
		dealer.name.focus();
		return false;
  }else if(dealer.email.value== ""){
    alert("Položku \"Vaše e-mailová adresa\" musíte vyplnit.");
		dealer.email.focus();
		return false;
  }else if(!isEmail(dealer.email.value)){
    alert('Vyplňte platnou e-mailovou adresu!');     
    dealer.email.focus();
	 return false;
	}else{
    return true;
  }
}
function validateDealer_form(reference){
  if(reference.name.value == ""){
    alert("Položku \"Vaše jméno\" musíte vyplnit.");
		reference.name.focus();
		return false;
  }else if(reference.email.value== ""){
    alert("Položku \"Vaše e-mailová adresa\" musíte vyplnit.");
		reference.email.focus();
		return false;
  }else if(!isEmail(reference.email.value)){
    alert('Vyplňte platnou e-mailovou adresu!');     
    reference.email.focus();
	 return false;
	}else{
    return true;
  }
}
function validateRegister_support(reference){
  if(reference.problem.value == ""){
    alert("Položku \"Stručný popis problému\" musíte vyplnit.");
		reference.problem.focus();
		return false;
  }else if(reference.name.value == ""){
    alert("Položku \"Vaše jméno\" musíte vyplnit.");
		reference.name.focus();
		return false;
  }else if(reference.email.value== ""){
    alert("Položku \"Vaše e-mailová adresa\" musíte vyplnit.");
		reference.email.focus();
		return false;
  }else if(!isEmail(reference.email.value)){
    alert('Vyplňte platnou e-mailovou adresu!');     
    reference.email.focus();
	 return false;
	}else{
    return true;
  }
}
function validatedemo_send(register){
  if(register.company.value == ""){
    alert("Položku \"Název společnosti\" musíte vyplnit.");
		register.company.focus();
		return false;
  }else if(register.name.value == ""){
    alert("Položku \"Vaše jméno\" musíte vyplnit.");
		register.name.focus();
		return false;
  }else if(register.street.value == ""){
    alert("Položku \"Ulice\" musíte vyplnit.");
		register.street.focus();
		return false;
  }else if(register.town.value == ""){
    alert("Položku \"Město\" musíte vyplnit.");
		register.town.focus();
		return false;
  }else if(register.zip.value == "" || isNaN(register.zip.value)){
    alert("Položku \"PSČ\" musíte vyplnit v pětimístné číselné podobě.");
		register.zip.focus();
		return false;
  }else if(register.zip.value.length < 5 || register.zip.value.length > 5){
    alert("Položku \"PSČ\" musíte vyplnit v pětimístné číselné podobě.");
		register.zip.focus();
		return false;
  }else if(register.email.value== ""){
    alert("Položku \"Vaše e-mailová adresa\" musíte vyplnit.");
		register.email.focus();
		return false;
  }else if(!isEmail(register.email.value)){
    alert('Vyplňte platnou e-mailovou adresu!');     
    register.email.focus();
	 return false;
	}else{
    return true;
  }
}
function validateorder_iden(register){
  if(register.company.value == ""){
    alert("Položku \"Název společnosti\" musíte vyplnit.");
		register.company.focus();
		return false;
  }else if(register.name.value == ""){
    alert("Položku \"Vaše jméno\" musíte vyplnit.");
		register.name.focus();
		return false;
  }else if(register.street.value == ""){
    alert("Položku \"Ulice\" musíte vyplnit.");
		register.street.focus();
		return false;
  }else if(register.town.value == ""){
    alert("Položku \"Město\" musíte vyplnit.");
		register.town.focus();
		return false;
  }else if(register.zip.value == "" || isNaN(register.zip.value)){
    alert("Položku \"PSČ\" musíte vyplnit v pětimístné číselné podobě.");
		register.zip.focus();
		return false;
  }else if(register.zip.value.length < 5 || register.zip.value.length > 5){
    alert("Položku \"PSČ\" musíte vyplnit v pětimístné číselné podobě.");
		register.zip.focus();
		return false;
  }else if(register.email.value== ""){
    alert("Položku \"Vaše e-mailová adresa\" musíte vyplnit.");
		register.email.focus();
		return false;
  }else if(!isEmail(register.email.value)){
    alert('Vyplňte platnou e-mailovou adresu!');     
    register.email.focus();
	 return false;
	}else if(register.card.value !="" && isNaN(register.card.value)){
    alert("Počet kusů musíte vyplnit v číselné podobě.");
		register.card.focus();
		return false;
  }else if(register.charm.value !="" && isNaN(register.charm.value)){
    alert("Počet kusů musíte vyplnit v číselné podobě.");
		register.charm.focus();
		return false;
  }else if(register.chip.value !="" && isNaN(register.chip.value)){
    alert("Počet kusů musíte vyplnit v číselné podobě.");
		register.chip.focus();
		return false;
  }else{
    return true;
  }
}
function validatePricelist_form(register){
  if(register.company.value == ""){
    alert("Položku \"Název společnosti\" musíte vyplnit.");
		register.company.focus();
		return false;
  }else if(register.street.value == ""){
    alert("Položku \"Ulice\" musíte vyplnit.");
		register.street.focus();
		return false;
  }else if(register.town.value == ""){
    alert("Položku \"Město\" musíte vyplnit.");
		register.town.focus();
		return false;
  }else if(register.zip.value == "" || isNaN(register.zip.value)){
    alert("Položku \"PSČ\" musíte vyplnit v pětimístné číselné podobě.");
		register.zip.focus();
		return false;
  }else if(register.zip.value.length < 5 || register.zip.value.length > 5){
    alert("Položku \"PSČ\" musíte vyplnit v pětimístné číselné podobě.");
		register.zip.focus();
		return false;
  }else if(register.name.value == ""){
    alert("Položku \"Vaše jméno\" musíte vyplnit.");
		register.name.focus();
		return false;
  }else if(register.email.value== ""){
    alert("Položku \"Vaše e-mailová adresa\" musíte vyplnit.");
		register.email.focus();
		return false;
  }else if(!isEmail(register.email.value)){
    alert('Vyplňte platnou e-mailovou adresu!');     
    register.email.focus();
	 return false;
	}else{
    return true;
  }
}


function isEmail(who) {
	function isEmpty(who) {
		var testArr=who.split("");
		if(testArr.length==0)
			return true;
		var toggle=0;
		for(var i=0; i<testArr.length; i++) {
			if(testArr[i]==" ") {
				toggle=1;
				break;
			}
		}
		if(toggle)
			return true;
		return false;
	}

	function isValid(who) {
		var invalidChars=new Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",","\"","'","|","{","}","\\","/","<",">","?");
		var testArr=who.split("");
		for(var i=0; i<testArr.length; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[i]==invalidChars[j]) {
					return false;
				}
			}
		}
		return true;
	}

	function isfl(who) {
		var invalidChars=new Array("-","_",".");
		var testArr=who.split("");
		which=0;
		for(var i=0; i<2; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[which]==invalidChars[j]) {
					return false;
				}
			}
			which=testArr.length-1;
		}
		return true;
	}

	function isDomain(who) {
		var invalidChars=new Array("-","_",".");
		var testArr=who.split("");
		if(testArr.length<2||testArr.length>4) {
			return false;
		}
		for(var i=0; i<testArr.length; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[i]==invalidChars[j]) {
					return false;
				}
			}
		}
		return true;
	}


	var testArr=who.split("@");
	if(testArr.length<=1||testArr.length>2) {
		return false;
	}
	else {
		if(isValid(testArr[0])&&isfl(testArr[0])&&isValid(testArr[1])) {
			if(!isEmpty(testArr[testArr.length-1])&&!isEmpty(testArr[0])) {
				var testArr2=testArr[testArr.length-1].split(".");
				if(testArr2.length>=2) {
					var toggle=1;
					for(var i=0; i<testArr2.length; i++) {
						if(isEmpty(testArr2[i])||!isfl(testArr2[i])) {
							toggle=0;
							break;
						}
					}
					if(toggle&&isDomain(testArr2[testArr2.length-1]))
						return true;
					return false;
				}
				return false;
			}
		}
	}
}
