function check_form ( formname ) {

  var f = document.forms[ formname ];
  var l = f.elements.length;

  for ( $i = 0; $i < l; $i++ ) { 
    var optional = 0;

    if ( ( f.elements[$i].value == "" ) || ( f.elements[$i].value == null ) ) {
      if ( !f.elements[$i].disabled ) {

        for ( $j = 1; $j < check_form.arguments.length; $j++ ) {
          if ( f.elements[$i].name == check_form.arguments[$j] ) {
            optional = 1;
            break;
          }
        }

        if ( !optional ) {
          window.alert ("Ошибка: Вы заполнили не все обязтельные поля.");
          f.elements[$i].focus();
          return false;
        }
      }
    }
  }

  return true;
}


function check_order ( formname ) {

  var f = document.forms[ formname ];
  var check = check_form ( formname, 'info', 'email' );

  if ( !check ) {
    return false;
  }

  var date = new Date();
  var cur_year = date.getFullYear();
  var cur_month = date.getMonth() + 1;
  var cur_day = date.getDate();

  var ins_year = f.elements[ "year" ].value;
  var ins_month = f.elements[ "month" ].value;
  var ins_day = f.elements[ "day" ].value;

  var people = f.elements[ "psum" ].value;
  var phonecode = f.elements[ "phonecode" ].value;
  var phone = f.elements[ "phone" ].value;

  daysinmonth = new Array ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );

  if ( 0 == ins_year % 4 ) {
    daysinmonth [ 1 ] = 29;
  }

  if ( ins_year < cur_year ) {
    window.alert ("Ошибка: Вы выбрали неправильный год. Значение не может быть меньше текущего года.");
    return false;
  }

  if ( ( ins_year == cur_year ) && ( ins_month < cur_month ) ) {
    window.alert ("Ошибка: Вы выбрали неправильный месяц. Значение не может быть меньше текущего месяц.");
    return false;
  }

  if ( ( ins_month == cur_month ) && ( ins_day < cur_day ) ) {
    window.alert ("Ошибка: Вы выбрали неправильный день. Значение не может быть меньше текущего дня.");
    return false;
  }

  if ( phonecode.length < 3 ) {
    window.alert ("Ошибка: Вы ввели слишком короткое значение кода телефона.");
    f [ 'phonecode' ].focus();
    return false;
  }

  if ( phone.length < 7 ) {
    window.alert ("Ошибка: Вы ввели слишком короткое значение телефона.");
    f[ 'phone' ].focus();
    return false;
  }

  return true;
}

function testKey ( e ) {

  var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);

  if ( e.ctrlKey || e.altKey || key < 32 ) {
    return true;
  }

  key = String.fromCharCode( key );

  return /[\d]/.test(key);
}

function getBrowserInfo() {
 var t,v = undefined;
 if (window.opera) t = 'Opera';
 else if (document.all) {
  t = 'IE';
  var nv = navigator.appVersion;
  var s = nv.indexOf('MSIE')+5;
  v = nv.substring(s,s+1);
 }
 else if (navigator.appName) t = 'Netscape';
 return {type:t,version:v};
}
 
function bookmark ( a ) {
 var url = window.document.location;
 var title = window.document.title;
 var b = getBrowserInfo();
 if ( b.type == 'IE' && 7 > b.version && b.version >= 4) window.external.AddFavorite( url, title );
 else if ( b.type == 'Opera') {
  a.href = url;
  a.rel = "sidebar";
  a.title = title;
  return true;
 }
 else if ( b.type == "Netscape") window.sidebar.addPanel( title, url, "" );
 else window.external.AddFavorite( url, title );
 return false;
}
