function checkform(f) 
{
  var errMSG = "";
  for (var i = 0; i<f.elements.length; i++) 
    // если текущий элемент имеет атрибут required
    // т.е. обязательный для заполнения
    if (null!=f.elements[i].getAttribute("required")) 
        // проверяем, заполнен ли он в форме
        if (isEmpty(f.elements[i].value)) // пустой
        {
            if (f.elements[i].name=="link_title") errElement="link title";
            if (f.elements[i].name=="link_site") errElement="site url";
            if (f.elements[i].name=="link_description") errElement="link description";
            if (f.elements[i].name=="link_email") errElement="email";
            errMSG += " - " + errElement + "\n"; // формируем сообщение
                                                 // об ошибке, перечисляя 
                                                 // незаполненные поля
        }
        // если сообщение об ошибке не пусто,
        // выводим его, и возвращаем false     
        if ("" != errMSG) {
            alert("Incorrect fields:\n" + errMSG);
            return false;
        }

    // Проверка Email
    if (!isValidEmail(f.link_email.value)) {

        alert("Incorrect email address");
        return false;

    }

    // Проверка SITE URL
    if (!strstr(f.link_site.value,"http://")) {
    
        alert("Incorrect site url");
        return false;
    }

    // Проверка OUR BANNER URL
    if (!isEmpty(f.link_banner_our.value)&&!strstr(f.link_banner_our.value,"http://")) {
    
        alert("Incorrect our link url");
        return false;
    }

}

function isEmpty(str) 
{
   for (var i = 0; i < str.length; i++)
      if (" " != str.charAt(i))
          return false;
      return true;
}

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    }
    
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}


/** Проверка даты **/
        function check_day_arr()
        {
                day = new Array;
                for (i=0; i<=31; i++) {
                    day[i]=i+1;
                }

            var date=form.arrival_Day.selectedIndex;
            var mouns=form.arrival_Month.selectedIndex;
            var year=form.arrival_Year.selectedIndex;
            var maxday;

        if (mouns == 0 || mouns ==2 || mouns ==4 || mouns ==6 || mouns ==7 || mouns ==9 || mouns ==11) {

            maxday=30;

        }

        if (mouns == 3 || mouns ==5 || mouns ==8 || mouns ==10) {

            maxday=29;
        }

        if (mouns == 1)
        {
            if (year==0 || year==3)
            {
                maxday=28;
            }
            
            if (year==1 || year==2)
            {
                maxday=27;
            }
        }

        for (i=0; i<=maxday; i++)
        {
            day[i]=new Option(i+1);
        }

        for (i = 31; i >= 0; i--)
        {
            document.form.arrival_Day.options[i] = null;
        }

        for (i = 0; i <= maxday; i++)
        { 
            document.form.arrival_Day.options[i]=day[i];
        }

        if (document.form.arrival_Day.options[date]==null)
        {
            document.form.arrival_Day.options[maxday].selected= true;
        }
        else
        {
            document.form.arrival_Day.options[date].selected = true;
        }

        }
        
        function check_day_dep()
        {
                day = new Array;
                for (i=0; i<=31; i++) {
                    day[i]=i+1;
                }

            var date=form.departure_Day.selectedIndex;
            var mouns=form.departure_Month.selectedIndex;
            var year=form.departure_Year.selectedIndex;
            var maxday;

        if (mouns == 0 || mouns ==2 || mouns ==4 || mouns ==6 || mouns ==7 || mouns ==9 || mouns ==11) {

            maxday=30;

        }

        if (mouns == 3 || mouns ==5 || mouns ==8 || mouns ==10) {

            maxday=29;
        }

        if (mouns == 1)
        {
            if (year==0 || year==3)
            {
                maxday=28;
            }
            
            if (year==1 || year==2)
            {
                maxday=27;
            }
        }

        for (i=0; i<=maxday; i++)
        {
            day[i]=new Option(i+1);
        }

        for (i = 31; i >= 0; i--)
        {
            document.form.departure_Day.options[i] = null;
        }

        for (i = 0; i <= maxday; i++)
        { 
            document.form.departure_Day.options[i]=day[i];
        }

        if (document.form.departure_Day.options[date]==null)
        {
            document.form.departure_Day.options[maxday].selected= true;
        }
        else
        {
            document.form.departure_Day.options[date].selected = true;
        }

        }
        
        

/** Проверка формы reservation tour **/
    function validate()
    {
    if (document.form.last_name.value.length<1){
       alert("Please enter your Last name");
       return false;
       }
    if (document.form.first_name.value.length<1){
       alert("Please enter your First name");
       return false;
       }
    if (document.form.citizenship.value.length<2){
       alert("Please enter your Citizenship");
       return false;
       }
    if (!isValidEmail(document.form.e_mail.value)){
       alert("Please enter your E-mail address");
       return false;
       }
    if (document.form.phone.value.length<2){
       alert("Please enter your Phone number");
       return false;
       }
    if (document.form.payment.selectedIndex == 0){
       alert("Please enter your Form of payment");
       return false;
       }
    return true;
    }

/** Проверка формы reservation tour **/
    function validateOrder()
    {
    if (document.form.last_name.value.length<1){
       alert("Please enter your Last name");
       return false;
       }
    if (document.form.first_name.value.length<1){
       alert("Please enter your First name");
       return false;
       }
    if (document.form.citizenship.value.length<2){
       alert("Please enter your Citizenship");
       return false;
       }
    if (document.form.room_type.selectedIndex == 0){
       alert("Please enter Room Type");
       return false;
       }
    if (!isValidEmail(document.form.e_mail.value)){
       alert("Please enter your E-mail address");
       return false;
       }
    if (document.form.phone.value.length<2){
       alert("Please enter your Phone number");
       return false;
       }
    if (document.form.payment.selectedIndex == 0){
       alert("Please enter your Form of payment");
       return false;
       }

    return true;
    }

/** Проверка на невозможность кол-во человек=1 and room type=2**/
    function checkRoomType() {

        if ((document.form.number_of_guests.selectedIndex == 0)
            &&(document.form.room_type.selectedIndex == 2)) {

            alert("You Can't do this");
            document.form.room_type.options[0].selected = true;
        }

    }