// Uprava hodnot
function Trim(S) {
  S = S.replace(/^\s*/g, '');
  S = S.replace(/\s*$/g, '');
  return(S);
}

function TrimNumber(S) {
  S = S.replace(/\s*/g, '');
  return(S);
}

function LPad(S, Char, Len) {
	S = S + '';
	while (S.length < Len) {
		S = Char + S;
	}
	return S;
}

// Test hodnot
function TestInteger(N, Min, Max) {
  return ((parseInt(N)==N) && (N >=Min) && (N <= Max));
}

function TestFloat(N, Min, Max) {
  N = N.replace(/\./g, 'b');
  N = N.replace(/,/g, '.');
  return ((N >=Min) && (N <= Max) && (parseFloat(N)==N));
}

function TestEMail(Address) {
  re = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,4}$");
  return re.test(Address)
}

// Test prvků formuláře
function TestTextElement(Element, Message) {
  with (Element) {
    value = Trim(value);
    if (!value) {alert(Message); focus(); return false;}
    else return true;
  }
}

function TestEmailElement(Element) {
  with (Element) {
    value = Trim(value);
    if (!value) {alert('Musíte vyplnit e-mail'); focus(); return false;}
    else if (!TestEMail(value)) {alert('Zadaný e-mail se nejeví jako emailová adresa.'); focus(); return false;}
    else return true;
  }
}

function TestPasswordElement(Element1, Element2) {
  with (Element1) {
    if (!value) {alert('Musíte si zvolit nějaké heslo.'); focus(); return false;}
    else if (value!=Element2.value) {alert('Zadaná hesla se neshodují.'); Element2.focus(); return false;}
    else return true;
  }
}

function TestIntegerElement(Element, Min, Max, Message) {
  with (Element) {
    value = Trim(value);
    if (!value || !TestInteger(value, Min, Max)) {alert(Message); focus(); return false;}
    else {value = parseInt(value); return true;}
  }
}

function TestZIPElement(Element) {
  with (Element) {
    value = TrimNumber(value);
    if (!value) {alert('Musíte vyplnit PSČ'); focus(); return false;}
    else if (parseInt(value) != value || value.length != 5) {alert('PSČ musí obsahovat pět číslic.'); focus(); return false;}
    else {value = value.substr(0,3) + ' ' + value.substr(3,2); return true;}
  }
}


