
var zones = "";
for(el in allowed_domains){
	if(allowed_domains[el] != "рф"){
		zones += allowed_domains[el] + "|";
	}
}
zones = zones.substring(0,zones.length-1);

function checkDomainName(name){
	

	var msg = "";

	var correctRe = new RegExp('^[A-Za-z0-9]([A-Za-z0-9-]){2,}[A-Za-z0-9]([\.](' + zones + '))?$', 'i');
	
	/* console.log('11111');
	console.log(correctRe.test("dfdfdfdfdf.рф")); return; */
	
	
	//подлатать чтобы были только буквы и цифры в начале
	var correctReRf = new RegExp('^[А-Яа-я0-9-]{3,}\.(рф)?$', 'i');
		
	var name = $.trim(name);
	
	if(name == ""){
		msg = "Введите имя домена!";
	}
	else if(!correctRe.test(name)){

		if($.inArray("рф", allowed_domains) == -1 || !correctReRf.test(name)){
			msg = "Имя домена некорректно!";
		}
	}
	
	//alert(msg); return;
	return msg;	
}

function whoisSubmit(){

	var form = $("#whois_form");	
	var domain_name = $("input[name=domain_name]", form);
		
	var domains_checkboxes = $("input[type='checkbox'][name*=domains]", form);

	if(domains_checkboxes.size() == 0){
		
		msg = checkDomainName(domain_name.attr("value"));
		if(msg != ""){
			//alert('dfdfdfd');
			jAlert(msg, 'Ошибка!');
			return false;
		}
		form.append(" <input type='hidden' name='domains_default' value='1' /> ");

		form.unbind();
		form.submit();
	}
	else{
	
	
		//alert($.trim(domain_name.attr("value")));
		
		var domains_checked = $("input[type='checkbox'][name*=domains]:checked", form);
		
		//либо имя домена без имени зоны, либо имя домена с одной из дозволенных зон
		//var correctRe = new RegExp('^[A-Za-z0-9-]+(\.(' + zones + '))?$', 'i');
		
		//проверяем имя домена
		msg = checkDomainName(domain_name.attr("value"));
		if(msg != ""){
			//alert(msg);
			jAlert(msg, 'Ошибка!');
			return false;
		}
		else{
			//если выбрано кириллическое имя домена и некириллические зоны, снимаем галки со всех зон кроме рф
			var invalid_cyr_re = new RegExp('^[А-Яа-я-]+([\.](' + zones + '))?$', 'i');
			
			//если выбрано некириллическое имя домена и зона рф, то снимаем галку с зоны рф
			var invalid_uncyr_re = new RegExp('^[A-Za-z-]+([\.](рф))?$', 'i');
			
			if(invalid_cyr_re.test($.trim(domain_name.attr("value"))) == true){
				
				var rf_checked = false;
				
				domains_checked.each(
					function(){
						if(this.value != "рф"){
							//alert(this.value + this.checked);
							this.checked = false;
							//updateButton();
							//bind();
							Custom.init;
						}
						else{
							rf_checked = true;
						}
					}
				);
				
				if(rf_checked == false){
					jAlert('Выберите хотя бы одну доменную зону', 'Ошибка!');
					return false;
				}
			}
			
			if(invalid_uncyr_re.test($.trim(domain_name.attr("value"))) == true){
				var uncyr_checked = false;
				
				domains_checked.each(
					function(){
						if(this.value == "рф"){
							//alert(this.value + this.checked);
							this.checked = false;
							//updateButton();
							//bind();
							Custom.init;
						}
						else{
							uncyr_checked = true;
						}
					}
				);
				
				if(uncyr_checked == false){
					jAlert('Выберите хотя бы одну доменную зону', 'Ошибка!');
					return false;
				}
			}
					
			
			//lert($.dump(invalid_cyr_re.test($.trim(domain_name.attr("value")))));
			//return false;
			
			//alert($.trim(domain_name.attr("value")));
			
			var rre = new RegExp('^.+\\.('+ zones +')$', 'i');
			var res = rre.exec($.trim(domain_name.attr("value")));
			
			//для рф доменов
			if(res == null){
				var rreRf = new RegExp('^[А-Яа-я-]+\.(рф)$', 'i');
				res = rreRf.exec($.trim(domain_name.attr("value")));
			}
			
			if(res){
				var input_domain = res[1].toLowerCase();
				
				//alert(input_domain); return;
				
				$("input[type='checkbox'][name*=domains]").attr("checked", false);
				$("input[type='checkbox'][value=" + input_domain + "]").attr("checked", true);
			}
			else if(domains_checked.size() == 0){
				//alert("Выберите хотя бы одну доменную зону!");
				jAlert("Выберите хотя бы одну доменную зону!", 'Ошибка');
				return false;
			}
			
			form.unbind();
			form.submit();
		}
	}
	
}

$(
	function(){
	
		var form = $("#whois_form");
		form.bind(
			"submit",
			whoisSubmit
		 );
		
		var whois_button = $("#whois_submit_link");
		whois_button.bind(
			"click",
			whoisSubmit
		);
	}
);

