function isAdresa(string) {
    if (string.search(/^([\w\(-\/])+/) != -1)
        return true;
    else
        return false;
}

function isPSC(string) {
    if (string.search(/^\d+( \d+)?$/) != -1)
        return true;
    else
        return false;
}

function isMesto(string) {
    if (string.search(/^([\w\(-\/\\])+/) != -1)
        return true;
    else
        return false;
}

function isNumber(string) {
    if (string.search(/^\d+$/) != -1)
        return true;
    else
        return false;
}

function isDate(string) {
        var i = string.search(/^(\d{1,2}[,.]{1}\d{1,2}[,.]{1}\d{1,4})$/)
//        alert("i="+i)
    if (i != -1)
        {
                string = string.substr(i)
//                alert("1="+string)
                i = string.search(/[,.]{1}/)
                var den = Number(string.substr(0,i))
//                alert("den"+den)
                if ((den<1) || (den>31))
                        return false
                string = string.substr((i+1))
//                alert("2="+string)
                i = string.search(/[,.]{1}/)
                var mesiac = Number(string.substr(0,i))
//                alert("mes="+mesiac)
                if ((mesiac<1) || (mesiac>12))
                        return false
                var rok = Number(string.substr((i+1)))
//                alert("rok="+rok)
                switch (mesiac)
                {
                        case 2 :
                                if (den>29)
                                        return false
                        case 4 :
                                if (den==31)
                                        return false
                        case 6 :
                                if (den==31)
                                        return false
                        case 9 :
                                if (den==31)
                                        return false
                        case 11 :
                                if (den==31)
                                        return false
                }
        return true;
        }
    else
        return false;
}

function isNowDate(string,date) {
        var datum = string
    if (isDate(string))
        {
//                var i = string.search(/^(\d{1,2}[,.]{1}\d{1,2}[,.]{1}\d{2}|\d{4})$/)
                var i = datum.search(/^(\d{1,2}[,.]{1}\d{1,2}[,.]{1}\d{1,4})$/)
                datum = datum.substr(i)
//                alert("1="+datum)
                i = datum.search(/[,.]{1}/)
                var den = Number(datum.substr(0,i))
//                alert("den="+den)
                datum = datum.substr((i+1))
//                alert("1="+datum)
                i = datum.search(/[,.]{1}/)
                var mesiac = Number(datum.substr(0,i))
//                alert("mes="+mesiac)
                var rok = Number(datum.substr((i+1)))
//                alert("rok="+rok)
                if (rok<100)
                        rok += 2000

                i = date.search(/[,.]{1}/)
                var denNow = Number(date.substr(0,i))
                date = date.substr((i+1))
                i = date.search(/[,.]{1}/)
                var mesiacNow = Number(date.substr(0,i))
                var rokNow = Number(date.substr((i+1)))

                if (rok==rokNow)
                {
                        if (mesiac<mesiacNow)
                                return false
                        else
                                if (mesiac==mesiacNow)
                                {
                                        if (den<denNow)
                                                return false
                                        else
                                                return true
                                }
                                else
                                        return true
                }
                else
                {
                        if (rok==(rokNow+1))
                                return true
                        else
                                return false
                }
        }
    else
        return false;
}

function isEmail(string) {
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@\w+(((\.|-)\w+)*)?\.\w+$/) != -1)
        return true;
    else
        return false;
}

function isProper(string) {
    if (string.search(/^([a-zA-Z0-9.])+/) != -1)
//    if (string.search(/^\w+( \w+)?$/) != -1)
        return true;
    else
        return false;
}

<!-- ------------------------------------------------------ -->
function checkPSC(formElement)
{
    if (isPSC(formElement.value) == false) {
                return false;
    }
        else
                return true
}

function checkEmail(formElement)
{
    if (isEmail(formElement.value) == false) {
        formElement.focus();
                return false;
    }
        else
                return true
}

function checkLogin(formElement)
{
    if (isProper(formElement.value) == false) {
        formElement.focus();
                return false;
    }
        else
                return true
}

function checkPocet(formElement)
{
    if (isNumber(formElement.value) == false) {
        formElement.focus();
                return false;
    }
        else
                return true
}

function checkSuma(formElement)
{
    if (isNumber(formElement.value) == false) {
        formElement.focus();
                return false;
    }
        else
                return true
}

function checkDatum(formElement)
{
    if (isDate(formElement.value) == false) {
        formElement.focus();
                return false;
    }
        else
                return true
}

//function checkMoney(fieldName, fieldValue)
function checkMoney(formElement)
{
        decallowed = 2;  // how many decimals are allowed?

        if (isNaN(formElement.value) || formElement.value == "") {
        formElement.focus();
                return false;
        }
        else {
                if (formElement.value.indexOf('.') == -1) formElement.value += ".";
                dectext = formElement.value.substring(formElement.value.indexOf('.')+1, formElement.value.length);

                if (dectext.length > decallowed)
                {
        formElement.focus();
                return false;
              }
                else {
                return true;
              }
           }
}


/* ========================================================= AJAX FORM SUBMIT ======================================================= */
   var http_request = false;
   function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
	  //alert(url + parameters)
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //result = http_request.responseText;
            document.getElementById('NewsletterSignUp').innerHTML = CheckSignUpForm_alert_success;            
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
   function get(obj, frm) {
   	var getstr = "?";
	if (frm=="NewsletterSignUp") 
		{obj=document.forms.SignUpForm;
		var getstr = "?form=NewsletterSignUp";
		getstr += "&email=" + document.SignUpForm.newslettersignup_email.value;}
      makeRequest('/submit.asp', getstr);
   }



/* ========================================================= FORM CHECKS ======================================================= */

function CheckFlightForm()
{
if (document.FlightForm.df.value.length<3)	
	{ alert(CheckFlightForm_alert_df);
	document.FlightForm.df.focus();
	return false}	
if(eval("checkDatum(document.FlightForm.sd)") == false)
	{ alert(CheckFlightForm_alert_sd);
	document.FlightForm.sd.focus();
	return false}	
if (document.FlightForm.dt.value.length<3)	
	{ alert(CheckFlightForm_alert_dt)
	document.FlightForm.dt.focus()
	return false}	
if(eval("checkDatum(document.FlightForm.ed)") == false && document.FlightForm.ed.value!=CheckFlightForm_alert_ow)
	{ alert(CheckFlightForm_alert_ed)
	document.FlightForm.ed.focus()
	return false}		
return true
}

function CheckContactForm()
{
if (document.ContactForm.firstname.value.length<3)
        { alert(CheckContactForm_alert_firstname)
        document.ContactForm.firstname.focus()
        return false
        }
if (document.ContactForm.lastname.value.length<3)
        { alert(CheckContactForm_alert_lastname)
        document.ContactForm.lastname.focus()
        return false
        }
if (eval("checkEmail(document.ContactForm.email)") == false || document.ContactForm.email.value.length<7)
        { alert(CheckContactForm_alert_email)
        document.ContactForm.email.focus()
        return false}
if (document.ContactForm.type.value=="0")
        { alert(CheckContactForm_alert_typ)
        document.ContactForm.type.focus()
        return false
        }
if (document.ContactForm.message.value.length<3)
        { alert(CheckContactForm_alert_email_message)
        document.ContactForm.message.focus()
        return false
        }	
if (document.ContactForm.captcha.value.length<8)
        { alert(CheckContactForm_alert_email_captcha)
        document.ContactForm.captcha.focus()
        return false
        }								
return true
}

function CheckSignUpForm()
{
if(eval("checkEmail(document.SignUpForm.newslettersignup_email)") == false)
	{ alert(CheckSignUpForm_alert_email)
	document.SignUpForm.newslettersignup_email.focus()
	return false}	
return true
}

function CheckHotelForm()
{
if (document.HotelForm.dt.value.length<3)	
	{ alert(CheckHotelForm_alert_dt)
	document.HotelForm.dt.focus()
	return false}	
if(eval("checkDatum(document.HotelForm.sd)") == false)
	{ alert(CheckHotelForm_alert_sd);
	document.HotelForm.sd.focus();
	return false}	
if(eval("checkDatum(document.HotelForm.ed)") == false)
	{ alert(CheckHotelForm_alert_ed);
	document.HotelForm.ed.focus();
	return false}			
return true
}

function CheckCarForm()
{
if (document.CarForm.df.value.length<3)	
	{ alert(CheckCarForm_alert_df);
	document.CarForm.df.focus();
	return false}	
if(eval("checkDatum(document.CarForm.sd)") == false)
	{ alert(CheckCarForm_alert_sd);
	document.CarForm.sd.focus();
	return false}	
if (document.CarForm.dt.value.length<3)	
	{ alert(CheckCarForm_alert_dt)
	document.CarForm.dt.focus()
	return false}	
if(eval("checkDatum(document.CarForm.ed)") == false)
	{ alert(CheckCarForm_alert_ed)
	document.CarForm.ed.focus()
	return false}		
return true
}