function send (type) {
  sd = document.senddata;
  sm = sd.Submit;

  if (checkform (type) == 1) {
    if (sm.length) {
      for (i=0; i<=(sm.length-1); i++) {
        sm[i].disabled = true;
      }
    }
    else {
      sm.disabled = true;
    }
    sd.submit();
  }
}

function checkform (type) {
	var counter = 1;
	if (type == 'question'){
		if (!sd.name.value || sd.name.value.length < 2) {
      alert('Вы забыли ввести имя!');
      sd.name.focus();
      return 0;
    }
    else if (!check_email(sd.mail.value) || sd.mail.value == null || sd.mail.value.length < 6) {
      alert('Введите правильный email!');
      sd.mail.focus();
      return 0;
    }
    else if (!sd.text.value || sd.text.value.length < 7) {
      alert('Вы не ввели текст вопроса!');
      sd.text.focus();
      return 0;
    }
    else if (!sd.tel.value || sd.tel.value.length < 7) {
    	alert('Ошибочные данные в поле "Ваш телефон"');
    	sd.tel.focus();
    	return 0;
    }

    else {return 1}
	}
	else if (type == 'bug'){

    if (sd.name.value == null || sd.name.value.length < 2) {
    	alert('Ошибочные данные в поле "Ваше имя"');
    	sd.name.focus();
    	return 0;
    }
    else if (sd.mail.value == null || sd.mail.value.length < 6) {
    	alert('Ошибочные данные в поле "Ваш e-mail"');
    	sd.mail.focus();
    	return 0;
    }
    else if (!check_email(sd.mail.value)) {
    	alert('Введите правильный email!');
    	sd.mail.focus();
    	return 0;
    }
    else if (sd.tel.value == null || sd.tel.value.length < 7) {
    	alert('Ошибочные данные в поле "Ваш телефон"');
    	sd.tel.focus();
    	return 0;
    }
    else if (sd.city.value == null) {
    	alert('Ошибочные данные в поле "Город"');
    	sd.city.focus();
    	return 0;
    }
    else if(sd.p_type.value == null) {
    	alert('Ошибочные данные в поле "Марка и модель телефона"');
    	sd.p_type.focus();
    	return 0;
    }
    else if (sd.ssms.value == null) {
    	alert('Ошибочные данные в поле "Текст SMS, которую Вы отправили"');
    	sd.ssms.focus();
    	return 0;
    }
    else if (sd.nsms.value == null) {
    	alert('Ошибочные данные в поле "Номер, на который Вы отправили SMS"');
    	sd.nsms.focus();
    	return 0;
    }
    else if (sd.rsms.value == null) {
    	alert('Ошибочные данные в поле "Текст SMS, которую Вы получили в ответ"');
    	sd.rsms.focus();
    	return 0;
    }
    else {return 1;}
  }
  else if (type == 'login'){
		if (!sd.logname.value) {
    	alert('Вы забыли ввести логин!');
    	sd.logname.focus();
      return 0;
    }
    else if (!sd.logpass.value) {
      alert('Вы забыли ввести пароль!');
      sd.logpass.focus();
      return 0;
    }
    else {return 1}
  }
  else if (type == 'account'){
  	if (sd.paytype.selectedIndex != '0') {
    	sd.purse.value = sd.prs[sd.paytype.selectedIndex - 1].value;
    }
    else {
    	sd.purse.value = '';
    }

		if (!sd.login.value || sd.login.value.length < 2) {
    	alert('Вы забыли ввести логин!');
    	sd.login.focus();
      return 0;
    }
    else if (!check_email(sd.mail.value) || sd.mail.value == null || sd.mail.value.length < 6) {
      alert('Введите правильный email!');
      sd.mail.focus();
      return 0;
    }
    else if (!sd.name.value || sd.name.value.length < 2) {
      alert('Вы забыли ввести имя!');
      sd.name.focus();
      return 0;
    }
    else if (!sd.sites.value || sd.sites.value.length < 5) {
      alert('Введите данные о Вашем(их) сайте(ах)!');
      sd.sites.focus();
      counter = 0;
    }
    else if (!sd.pass.value) {
      alert('Вы забыли ввести пароль!');
      sd.pass.focus();
      return 0;
    }
    else {return 1}
  }
	else {
    if (!sd.login.value || sd.login.value.length < 2) {
    	alert('Вы забыли ввести логин!');
    	sd.login.focus();
      return 0;
    }
    else if (!check_abc(sd.login.value,0)) {
    	alert('Недопустимый символ в логине!');
    	sd.login.focus();
      return 0;
    }
    else if (!sd.pass.value) {
      alert('Вы забыли ввести пароль!');
      sd.pass.focus();
      return 0;
    }
    else if (!check_abc(sd.pass.value,1)) {
    	alert('Недопустимый символ в пароле!');
    	sd.pass.focus();
      return 0;
    }
    else if (!check_email(sd.mail.value) || sd.mail.value == null || sd.mail.value.length < 6) {
      alert('Введите правильный email!');
      sd.mail.focus();
      return 0;
    }
    else if (!sd.name.value || sd.name.value.length < 2) {
      alert('Вы забыли ввести имя!');
      sd.name.focus();
      return 0;
    }
    else if (!sd.tel.value || sd.tel.value.length < 7) {
    	alert('Ошибочные данные в поле "Ваш телефон"');
    	sd.tel.focus();
    	return 0;
    }

    if (sd.p_type.value == 'person') {
    	if (!sd.sites.value || sd.sites.value.length < 5) {
        alert('Введите данные о Вашем(их) сайте(ах)!');
        sd.sites.focus();
        counter = 0;
      }
    }
    else if (sd.p_type.value == 'organis') {
    	if (!sd.proj_desc.value || sd.proj_desc.value.length < 5) {
        alert('Введите данные о Ваших проектах!');
        sd.proj_desc.focus();
        counter = 0;
      }
      else if (!sd.organis_name.value) {
        alert('Введите название Вашей организации!');
        sd.organis_name.focus();
        counter = 0;
      }
    }
    if (counter == 0) {return 0}

    if (sd.agree.checked != true) {
      alert('Вы должны принять условия соглашения о предоставлении услуг, чтобы зарегистрироваться!');
    }
    else {return 1}
  }
}

function check_abc(_txt,ext) {
  var letters;
  if(ext) letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789~!#@\"$%^&*()+=[]{}|;:<>,?/";
  else    letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789";

  var i = 0, j = 0;
  var match = false;
  if (_txt.length == 0) return false;
  for (i = 0; i < _txt.length; i++) {
    match = false;
    for (j = 0; j < letters.length; j++) {
      if (_txt.charAt(i) == letters.charAt(j)) {
        match = true;
        break;
      }
    };
    if (!match) {
      if (_txt.charAt(i) == '.')
        match = true;
    };
    if (!match) break;
  };

  if (!match) return false;
  return true;
}

function check_email(_email) {
  var letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789";
  var i = 0, j = 0;
  var match = false;
  if (_email.length == 0) return false;
  for (i = 0; i < _email.length; i++) {
    match = false;
    for (j = 0; j < letters.length; j++) {
      if (_email.charAt(i) == letters.charAt(j)) {
        match = true;
        break;
      }
    };
    if (!match) {
      if (_email.charAt(i) == '.')
        match = true;
    };
    if (!match) break;
  };
  if ( i >= _email.length )
    return false;
  if ( _email.charAt(i++) != '@' )
    return false;
  var dotpassed = false;
  while(i < _email.length) {
    var match = false;
    for (j = 0; j < letters.length; j++) {
      if (_email.charAt(i) == letters.charAt(j)) {
      	match = true;
      	break;
      }
    };
    if (!match) {
      if (_email.charAt(i) == '.') {
      	dotpassed = true;
      	match = true;
      };
    };
    if (!match) return false;
    i++;
  };
  if (dotpassed) return true;
  return false;
}

function button_state() {
  sd = document.senddata;
  sm = sd.Submit;

  if (sd.agree.checked == true) {
  	if (sm.length) {
  	  for (i = 0; i < (sm.length); i++) {
        sm[i].disabled = false;
      }
    }
    else {
      sm.disabled = false;
    }
  }
  else {
  	if (sm.length) {
  	  for (i = 0; i < (sm.length); i++) {
        sm[i].disabled = true;
      }
    }
    else {
      sm.disabled = true;
    }
  }
}

function select_tab(formtype) {
  sd = document.senddata;
  if (formtype == 'account') {
  	document.getElementById('p_wmr').style.display = 'none';
  	document.getElementById('s_wmr').style.display = 'none';
  	document.getElementById('p_wmz').style.display = 'none';
  	document.getElementById('s_wmz').style.display = 'none';
  	document.getElementById('p_wme').style.display = 'none';
  	document.getElementById('s_wme').style.display = 'none';
  	document.getElementById('p_yand').style.display = 'none';
  	document.getElementById('s_yand').style.display = 'none'
		document.getElementById('p_phone').style.display = 'none';
		document.getElementById('s_phone').style.display = 'none';
		document.getElementById('p_cless').style.display = 'none';
		document.getElementById('s_cless').style.display = 'none';
	  
  	if (sd.paytype.value != 'cless' && sd.paytype.value != 'none') {
  	  document.getElementById('p_'+sd.paytype.value).style.display = 'block';
  	  document.getElementById('s_'+sd.paytype.value).style.display = 'block';
    }
	  return false;
  }
	else if (formtype == 'reg') {
	  if (sd.p_type.value == 'person') {
    	document.getElementById('t_person').style.display = 'block';
  		document.getElementById('t_organis').style.display = 'none';
  	}
	  else if (sd.p_type.value == 'organis') {
	  	document.getElementById('t_person').style.display = 'none';
	  	document.getElementById('t_organis').style.display = 'block';
  	}
	
  	document.getElementById('pur_wmr').style.display = 'none';
  	document.getElementById('pur_wmz').style.display = 'none';
  	document.getElementById('pur_wme').style.display = 'none';
  	document.getElementById('pur_ya').style.display = 'none';
		document.getElementById('tel_num').style.display = 'none';
		document.getElementById('ca_less').style.display = 'none';
  	document.getElementById('pu_tab').style.display = 'none';

    if (sd.paytype.value == 'wmr') {
  	  document.getElementById('pur_wmr').style.display = 'block';
  		document.getElementById('pu_tab').style.display = 'block';
	  }
	  else if (sd.paytype.value == 'wmz') {
  	  document.getElementById('pur_wmz').style.display = 'block';
  		document.getElementById('pu_tab').style.display = 'block';
	  }
	  else if (sd.paytype.value == 'wme') {
  	  document.getElementById('pur_wme').style.display = 'block';
  		document.getElementById('pu_tab').style.display = 'block';
	  }
	  else if (sd.paytype.value == 'yand') {
  	  document.getElementById('pur_ya').style.display = 'block';
  		document.getElementById('pu_tab').style.display = 'block';
	  }
	  else if (sd.paytype.value == 'phone') {
		  document.getElementById('tel_num').style.display = 'block';
		  document.getElementById('pu_tab').style.display = 'block';
  	}
  	else if (sd.paytype.value == 'cless') {
		  document.getElementById('ca_less').style.display = 'block';
  		document.getElementById('pu_tab').style.display = 'block';
	  }
	  return false;
  }
}

function calc () {
	sd = document.senddata;
	var numbers = "0123456789";
	var v1, v2;
	var v3 = 0;
	var v4 = 0;
	var check = 0;

  if (sd.p.value) {
    for (i = 0; i < sd.p.value.length; i++) {
    	match = false;
      for (j = 0; j < numbers.length; j++) {
        if (sd.p.value.charAt(i) == numbers.charAt(j)) {
          match = true;
          break;
        }
      }
      if (!match) {break}
    }
  }

  for (var i=0; i<sd.c.length; i++) {
  	if (sd.c[i].checked && sd.c[i].type != 'hidden') {
  	  document.getElementById('l_'+i).style.color = '#1d3233';
  	  check = 1;
  	}
  	else if (!sd.c[i].checked && sd.c[i].type != 'hidden') {
  		document.getElementById('l_'+i).style.color = 'gray';
  	}
  }

	if (sd.s.value == 0) {
		document.getElementById('result').innerHTML = 'Выберите тематику сайта';
    return false;
  }
  else if (sd.p.value == 0) {
		document.getElementById('result').innerHTML = 'Введите посещаемость сайта';
    return false;
  }
  else if (!match) {
		document.getElementById('result').innerHTML = 'Введите числовое значение посещаемости сайта';
    return false;
  }
  else if (sd.p.value <= 99) {
		document.getElementById('result').innerHTML = 'Посещаемость сайта недостаточна для прогноза дохода';
    return false;
  }
  else if (sd.p.value >= 1000000) {
		document.getElementById('result').innerHTML = 'Посещаемость сайта слишком велика для прогноза дохода';
    return false;
  }
  else if (check == 0) {
		document.getElementById('result').innerHTML = 'Выберите галочками подключаемые сервисы';
    return false;
  }
  else {
		s = sd.s.value;
  	p = (sd.p.value / 1000) * 16;
    
		for (i=0; i<sd.c.length; i++) {
      if (sd.c[i].checked && sd.c[i].type != 'hidden') {
        v1 = Math.round(sd.c[i].value * p * s /10)*10;
        v2 = Math.round(sd.c[i+1].value * p * s/10 + 1)*10;
        document.getElementById('r_'+i).innerHTML = v1+' .. '+v2;
        v3 += v1;
        v4 += v2;
      }
      if (!sd.c[i].checked && sd.c[i].type != 'hidden') {
      	document.getElementById('r_'+i).innerHTML = '0 .. 0';
      }
    }
    document.getElementById('result').innerHTML = 'Сумма от <b>'+v3+'</b> до <b>'+v4+'</b> рублей в месяц';
    return false;
  }
}

function login () {
  sd = document.loginform;
  if (checkform ('login') == 1) {return true;}
  else {return false;}
}

function externalFlashWriter (flashSource){
	document.write(flashSource);
}

function cur (state) {
	document.getElementById('cur').style.cursor = state;
}

function wh () {
  WinW=(document.all)? document.body.clientWidth : window.innerWidth;
  var l = (WinW - 700) * 0.8;
  var m = (WinW - 460) * 0.4;
  var s = (WinW - 250) * 0.25;
  if (l <= 210) {l = 210;}
  if (m <= 200) {m = 200;}
  if (s <= 185) {s = 185;}
  document.getElementById('ball_l').style.left = l;
  document.getElementById('ball_m').style.left = m;
  document.getElementById('ball_s').style.left = s;
}