//Функция подставения DNS имен и ip в поля при заказе DNS поддержки
function check(showns,namedns1,ipdns1,namedns2,ipdns2) {    
	if(showns.checked) {
       eval("namedns1.value='beta.tagtech.ru';");      
	   eval("ipdns1.value='195.7.162.244';");      
	   eval("namedns2.value='gamma.tagtech.ru';");      
	   eval("ipdns2.value='195.42.69.18';");      
     }else{
       eval("namedns1.value='';");
	   eval("ipdns1.value='';");    
	   eval("namedns2.value='';");
	   eval("ipdns2.value='';");
     }
}

function swapMenu(menuItem)
{
	if (menuItem.className == 'item')
		menuItem.className = 'over';
	else if (menuItem.className == 'over')
		menuItem.className = 'item';
}

function checkForm9(name,text) {
	var flag1 = checkLen(eval(name),1);
	var flag2 = checkLen(eval(text),1);
	var errorMessage = "Ошибка!\n";
	if (!flag1) errorMessage += "\n- Поле Имя не может быть пустым\n";
	if (!flag2) errorMessage += "\n- Поле Текст вашего сообщения не может быть пустым\n";
	if (flag1 && flag2){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}

function checkForm8(mail,subject,text) {
	var flag1 = mailcheck(eval(mail));
	var flag2 = checkLen(eval(subject),1);
	var flag3 = checkLen(eval(text),1);
	var errorMessage = "Ошибка!\n";
	if (!flag1) errorMessage += "\n- Данные в поле e-mail, не соответствуют e-mail адресу'а\n";
	if (!flag2) errorMessage += "\n- Поле Тема не может быть пустым\n";
	if (!flag3) errorMessage += "\n- Поле Текст вашего сообщения не может быть пустым\n";
	if (flag1 && flag2 && flag3){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}

function checkForm7(personr,mail) {
	var flag1 = checkLen(eval(personr),1);
	var flag2 = mailcheck(eval(mail));
	var errorMessage = "Ошибка!\n";
	if (!flag1) errorMessage += "\n- Поле personr не может быть пустым\n";
	if (!flag2) errorMessage += "\n- Данные в поле e-mail, не соответствуют e-mail адресу'а\n";
	if (flag1 && flag2){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}	

function checkForm6() {
	var checkDomainFlag = checkDomain('form6.domain',3);
	var flag1 = mailcheck('form6.email');
	var errorMessage = "Ошибка!\n";

	if (!flag1) errorMessage += "\n- Данные в поле e-mail не соответствуют e-mail адресу.\n";
	if (checkDomainFlag!=true) errorMessage += "\n"+checkDomainFlag+"\n";
	if (flag1 && checkDomainFlag==true){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}

function checkForm5(org,orgr,code,kpp,address,paddress,contacts,phone) {
	var flag1 = checkLen(eval(org),1);
	var flag2 = checkLen(eval(orgr),1);
	var flag3 = checkLen(eval(code),1);
	var flag4 = checkLen(eval(kpp),1);
	var flag5 = checkLen(eval(address),1);
	var flag6 = checkLen(eval(paddress),1);
	var flag7 = checkLen(eval(contacts),1);
	var flag8 = checkLen(eval(phone),1);
	var errorMessage = "Ошибка!\n";
	if (!flag1) errorMessage += "\n- Поле org не может быть пустым\n";
	if (!flag2) errorMessage += "\n- Поле orgr не может быть пустым\n";
	if (!flag3) errorMessage += "\n- Поле code не может быть пустым\n";
	if (!flag4) errorMessage += "\n- Поле kpp не может быть пустым\n";
	if (!flag5) errorMessage += "\n- Поле address не может быть пустым\n";
	if (!flag6) errorMessage += "\n- Поле p-address не может быть пустым\n";
	if (!flag7) errorMessage += "\n- Поле contact не может быть пустым\n";
	if (!flag8) errorMessage += "\n- Поле phone не может быть пустым\n";
	if (flag1 && flag2 && flag3 && flag4 && flag5 && flag6 && flag7 && flag8){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}	

function checkForm4(person,personr,passport,code,birthdate,paddress,phone) {
	var flag1 = checkLen(eval(person),1);
	var flag2 = checkLen(eval(personr),1);
	var flag3 = checkLen(eval(passport),1);
	var flag4 = checkLen(eval(code),1);
	var flag6 = checkLen(eval(birthdate),1);
	var flag7 = checkLen(eval(paddress),1);
	var flag8 = checkLen(eval(phone),1);
	var errorMessage = "Ошибка!\n";
	if (!flag1) errorMessage += "\n- Поле person не может быть пустым\n";
	if (!flag2) errorMessage += "\n- Поле personr не может быть пустым\n";
	if (!flag3) errorMessage += "\n- Поле passport не может быть пустым\n";
	if (!flag4) errorMessage += "\n- Поле code не может быть пустым\n";
	if (!flag6) errorMessage += "\n- Поле birth-date не может быть пустым\n";
	if (!flag7) errorMessage += "\n- Поле p-address не может быть пустым\n";
	if (!flag8) errorMessage += "\n- Поле phone не может быть пустым\n";
	if (flag1 && flag2 && flag3 && flag4 && flag6 && flag7 && flag8){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}	

function checkForm3(person,personr,passport,birthdate,paddress,phone) {
	var flag1 = checkLen(eval(person),1);
	var flag2 = checkLen(eval(personr),1);
	var flag3 = checkLen(eval(passport),1);
	var flag4 = checkLen(eval(birthdate),1);
	var flag5 = checkLen(eval(paddress),1);
	var flag6 = checkLen(eval(phone),1);
	var errorMessage = "Ошибка!\n";
	if (!flag1) errorMessage += "\n- Поле person не может быть пустым\n";
	if (!flag2) errorMessage += "\n- Поле personr не может быть пустым\n";
	if (!flag3) errorMessage += "\n- Поле passport не может быть пустым\n";
	if (!flag4) errorMessage += "\n- Поле birth-date не может быть пустым\n";
	if (!flag5) errorMessage += "\n- Поле p-address не может быть пустым\n";
	if (!flag6) errorMessage += "\n- Поле phone не может быть пустым\n";
	if (flag1 && flag2 && flag3 && flag4 && flag5 && flag6){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}	


//Проверка формы номер два, сборка разных функций и вывод алерта
function checkForm2() {
	var checkValueFlag = checkLen('form2.domain',1);
	var mailcheckFlag = mailcheck('form2.domain');
	var checkDomainInMailFlag = checkDomainInMail('form2.domain', "mail");
	var errorMessage = "Ошибка!\n";
	if (!checkValueFlag) errorMessage += "\n- Поле не может быть пустым\n";
	if (!mailcheckFlag) errorMessage += "\n- Данные в поле e-mail, не соответствуют e-mail адресу'а\n";
	if (checkValueFlag && mailcheckFlag){
		if (checkDomainInMailFlag && confirm("Вы уверены, что правильно указали домен в e-mail'е?")) {
			return true;
		} else if (!checkDomainInMailFlag) {
			return true;
		} else {
			return false;
		}
	} else {
		alert(errorMessage);
		return false;
	}
}
//Проверка значения поля по шаблону
function checkPattern(obj, pat) {
	var re = new RegExp(pat, "gi");
	return (!obj.value.match(re))? true : false;
}
//Проверка e-mail
function mailcheck(obj) {
    obj = eval(obj);
	var re =/^[\w-](\.?[\w-])*@([A-Za-z]{2,}|[\w-](\.?[\w-])*\.[A-Za-z]{2,4})$/i;
	return (re.test(obj.value))? true : false;
}
//Проверка наличия имени домена в указанном поле типа e-mail
function checkDomainInMail(obj, domain) {
	obj = eval(obj);
	return (checkPattern(obj, ".*@"+domain+"\.?.*"))? false : true;
}
//Проверка формы номер один, сборка разных функций и вывод алерта
function checkForm(obj,zone) {
	var errorMessage = "Ошибка!\n";
  if(zone.value=='.su' || zone.value=='.biz' || zone.value=='.info' || zone.value=='.me' ||
	 zone.value=='su' || zone.value=='biz' || zone.value=='info' || zone.value=='me') len=3;
  else len=2;
  /*domain=obj.value;
  domain=domain.substring(0,domain.lastIndexOf(".ru"));
	domain=domain.substring(0,domain.lastIndexOf(".su"));
	domain=domain.substring(0,domain.lastIndexOf(".com"));
	domain=domain.substring(0,domain.lastIndexOf(".net"));
	domain=domain.substring(0,domain.lastIndexOf(".org"));
	domain=domain.substring(0,domain.lastIndexOf(".biz"));
	domain=domain.substring(0,domain.lastIndexOf(".info"));
	domain=domain.substring(0,domain.lastIndexOf(".org.ru"));
	domain=domain.substring(0,domain.lastIndexOf(".com.ru"));
	domain=domain.substring(0,domain.lastIndexOf(".net.ru"));
	domain=domain.substring(0,domain.lastIndexOf(".pp.ru"));    */
	var checkDomainFlag = checkDomain(obj,len);
	if (checkDomainFlag!=true) {
		errorMessage += "\n "+checkDomainFlag+"\n"
		alert(errorMessage);
		return false;
	} else { return true; }
}
//Проверка поля на домен, сборка функций по проверке домена
function checkDomain(obj,len) {
	//obj = eval(obj);
	var checkLenFlag = checkLen(obj, eval(len));
	var checkPatternFlag = checkPattern(obj, "[^a-z0-9-]");
	var checkDomainSyntaxFlag = checkDomainSyntax(obj);
	var errorMessage="";
	if(!checkLenFlag) errorMessage += "- Длина имени домена должна быть не менее "+len+" символов.\n";
	
	if(!checkPatternFlag) errorMessage += "\n- В  имени   домена    разрешены   лишь  латинские буквы\n  от \"a\"  до \"z\",  цифры от 0 до  9 и  символ \"-\". Остальные\n  символы запрещены для ввода.\n";	
	
	if (checkDomainSyntaxFlag!=true) errorMessage += "\n- "+checkDomainSyntaxFlag;
	
	if(checkLenFlag && checkPatternFlag && checkDomainSyntaxFlag==true) { return true; } else { return errorMessage; }
}
//Проверка на длину поля
function checkLen(obj,len) {
	obj = eval(obj);
	return (obj.value.length>=len)? true : false;
}
//Проверка синтаксиса поля с типом Домен
function checkDomainSyntax(obj) {
	var re = new RegExp("^-.*", "gi");
	var re2 = new RegExp(".*-$", "gi");
	var re3 = new RegExp("-{2}", "gi");
	var errorMessage = "Недопустимо использование:";
	if (obj.value.match(re))  errorMessage += "\n    * дефиса в начале имени домена";
	if (obj.value.match(re2)) errorMessage += "\n    * дефиса в конце имени домена";
	//if (obj.value.match(re3)) errorMessage += "\n    * двух дефисов подряд в имени домена";
	return (!obj.value.match(re) && !obj.value.match(re2)/* && !obj.value.match(re3)*/)? true : errorMessage;
}

function checkFormSend(mail)
{
	var flag = mailcheck(eval(mail));
	var errorMessage = "Ошибка!\n";
	if (!flag) errorMessage += "\n- Данные в поле e-mail, не соответствуют e-mail адресу'а\n";
	if (flag){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}
function checkZone(domain)
{
	var reg = new RegExp("/.ru$/", "gi");
//	var reg="/.ru$/";	
	var flag=domain.match(reg);
	var errorMessage = "Ошибка!\n";
	if(!flag) errorMessage+="Неверная зона";
	if (flag){
		alert("true");
		return true;
	}
	else{
		alert(errorMessage);
		return false;
	}
}
function checkForm1(domain) {
	var errorMessage = "Ошибка!\n";		
	var checkDomainFlag = checkDomain(domain,3);
//	alert(checkDomainFlag);
	if (checkDomainFlag!=true)
	{
		errorMessage += "\n "+checkDomainFlag+"\n";
		alert(errorMessage);
		return false;
	} 
	else  return true; 
}

function checkForm10(url,phone,email) {	
	var flag1 = checkLen(eval(url),1);
	var flag2 = checkLen(eval(phone),1);
	var flag3 = mailcheck(eval(email));
	var errorMessage = "Ошибка!\n";	
	if (!flag1) errorMessage += "\n- Поле Адрес сайта не может быть пустым\n";
	if (!flag2) errorMessage += "\n- Поле Контактный телефон не может быть пустым\n";
	if (!flag3) errorMessage += "\n- Данные в поле e-mail, не соответствуют e-mail адресу'а\n";
	if (flag1 && flag2 && flag3){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}
function priceRecalc()
{
	eval("curr=document.current_curr.curr.value");
	if((curr=='ue') || (curr=="ru")){				
		for(var i=0; i<20;i++){
			if(div=document.getElementById('price_'+i)){				
				price=div.innerHTML;
				price=price.replace(",",".");
				price=parseFloat(price);
				if(curr=='ru') price=eval(price/30);						
				else price=eval(price*30);
				price=Number(price).toFixed(2)+"";		
				price=price.replace(".",",");
				div.innerHTML=price;			
			}
		}
		if(div=document.getElementById('showPrice')){
			if(curr=='ru') div.innerHTML='<p><a onClick="priceRecalc();" style="color:#900; text-decoration:underline;">Показать цены в рублях</a></p>';
			else div.innerHTML='<p><a onClick="priceRecalc();" style="color:#900; text-decoration:underline;">Показать цены в у.е.</a></p>';
		}
		for(i=0; i<10;i++){
			if(div=document.getElementById('ue_'+i)){
				if(curr=='ru') div.innerHTML=' у.е.';
				else div.innerHTML=' руб.';
			}
		}
		if(curr=='ru') curr='ue';
		else curr='ru';
		eval("document.current_curr.curr.value=curr");
	}
}

function checkForm11(url,name,email)
{
	var flag1 = checkLen(eval(url),1);
	var flag2 = checkLen(eval(name),1);
	var flag3 = mailcheck(eval(email));
	var errorMessage = "Ошибка!\n";
	if (!flag1) errorMessage += "\n- Поле Адрес сайта не может быть пустым\n";
	if (!flag2) errorMessage += "\n- Поле Название организации не может быть пустым\n";
	if (!flag3) errorMessage += "\n- Данные в поле e-mail, не соответствуют e-mail адресу'а\n";
	if (flag1 && flag2 && flag3){
		return true;
	}else{
		alert(errorMessage);
		return false;
	}
}
function $(id) {
    return document.getElementById(id);
}
function checkFormWhois(domain)
{	
	val=domain.value;
	var domainLen=2;
	if(val.lastIndexOf(".org.ru")!=-1)
		val=val.substring(0,val.lastIndexOf(".org.ru"));
	if(val.lastIndexOf(".com.ru")!=-1)
		val=val.substring(0,val.lastIndexOf(".com.ru"));
	if(val.lastIndexOf(".net.ru")!=-1)
		val=val.substring(0,val.lastIndexOf(".net.ru"));
	if(val.lastIndexOf(".pp.ru")!=-1)
		val=val.substring(0,val.lastIndexOf(".pp.ru"));
	if(val.lastIndexOf(".ru")!=-1)
		val=val.substring(0,val.lastIndexOf(".ru"));	
	if(val.lastIndexOf(".com")!=-1)
		val=val.substring(0,val.lastIndexOf(".com"));
	if(val.lastIndexOf(".net")!=-1)
		val=val.substring(0,val.lastIndexOf(".net"));
	if(val.lastIndexOf(".org")!=-1)
		val=val.substring(0,val.lastIndexOf(".org"));	
	if(val.lastIndexOf(".su")!=-1){
		val=val.substring(0,val.lastIndexOf(".su"));
		domainLen=3;
	}
	if(val.lastIndexOf(".biz")!=-1){
		val=val.substring(0,val.lastIndexOf(".biz"));
		domainLen=3;
	}
	if(val.lastIndexOf(".info")!=-1){
		val=val.substring(0,val.lastIndexOf(".info"));
		domainLen=3;
	}
	if(val.lastIndexOf(".me")!=-1){
		val=val.substring(0,val.lastIndexOf(".me"));
		domainLen=3;
	}
	if(($("su")!=null && $("su").checked) || 
		($("biz")!=null && $("biz").checked) ||
		($("info")!=null && $("info").checked) ||
		($("me")!=null && $("me").checked)) domainLen=3;
	if($("zone_w")!=null && ($("zone_w").value=="su" || $("zone_w").value=="biz" || $("zone_w").value=="info" || $("zone_w").value=="me")) domainLen=3;
	var checkLenFlag = val.length>=domainLen ? true : false;
    var re = new RegExp("[^a-z0-9-]", "gi");	
	var checkPatternFlag =(!val.match(re))? true : false;	
	re = new RegExp("^-.*", "gi");
	var re2 = new RegExp(".*-$", "gi");
	var re3 = new RegExp("-{2}", "gi");
	var errorMessage1 = "Недопустимо использование:";
	if (val.match(re))  errorMessage1 += "\n    * дефиса в начале имени домена";
	if (val.match(re2)) errorMessage1 += "\n    * дефиса в конце имени домена";
	//if (val.match(re3)) errorMessage1 += "\n    * двух дефисов подряд в имени домена";
	var checkDomainSyntaxFlag = (!val.match(re) && !val.match(re2)/* && !val.match(re3)*/)? true : errorMessage1;

	var errorMessage="Ошибка!\n";
	if(!checkLenFlag) errorMessage += "- Длина имени домена должна быть не менее "+domainLen+" символов.\n";
	
	if(!checkPatternFlag) errorMessage += "\n- В  имени   домена    разрешены   лишь  латинские буквы\n  от \"a\"  до \"z\",  цифры от 0 до  9 и  символ \"-\". Остальные\n  символы запрещены для ввода.\n";	
	
	if (checkDomainSyntaxFlag!=true) errorMessage += "\n- "+errorMessage1;
	
	if(checkLenFlag && checkPatternFlag && checkDomainSyntaxFlag==true) { return true; } else { alert(errorMessage); return false; }
		
}

function to_translit( s )
{
	s = s.replace(/^\s*ИП\s+/i, "");
	s = s.replace(/^\s+/, "");
	s = s.replace(/\s+$/, "");
	s = s.replace(/\s+/g, " ");
	s2 = s.split(/\s+/);

	result = "";

	if (s2.length == 3)
	{
		result = wtt2(s2[1])
			+ " " + wtt2(s2[2].charAt(0))
			+ " " + wtt2(s2[0]);
	}
	else
	{
//		result = wtt2(s);
		result=wtt2(s2[0]);
		for(i=1;i<s2.length;i++){
			result+=" "+wtt2(s2[i]);
		}
	}
	return result;
}

function wtt2( s )
{


	from	= "абвгдзийклмнопрстуфыэ";
	to		= "abvgdziyklmnoprstufye";
	dbl		= {
		'ж' : 'zh',
		'х' : 'kh',
		'ц' : 'ts',
		'ч' : 'ch',
		'ш' : 'sh',
		'щ' : 'shch',
		'ю' : 'yu',
		'я' : 'ya'
	};
	excl		={
		'юрий' : 'Yuri',
//		'юлия' : 'Julia',
		'максим' : 'Maxim',
		'оксана' : 'Oxana',
		'алексей' : 'Alexey',
		'александр' : 'Alexander',
		'александра' : 'Alexandra',
		'людмила' : 'Liudmila',
		'вячеслав' : 'Viatcheslav',
		'акулина':'Akoulina',
		'анатолий':'Anatoly',
		'анисий':'Anisy',
		'арсентий':'Arsenty',
		'афанасий':'Afanasy',
		'василий':'Vasily',
		'виталий':'Vitaly',
		'геннадий':'Gennady',
		'георгий':'Georgy',
		'григорий':'Grigory',
		'дмитрий':'Dmitry',
		'зиновий':'Zinovy',
		'илья':'Ilya',
		'клементий':'Klementy',
		'лаврентий':'Lavrenty',
		'леонтий':'Leonty',
		'любовь':'Liubov',
		'надежда':'Nadezda',
		'филипп':'Philipp'
	};
	substr		={
		'алекс' : 'alex',
		'виктор' : 'victor',
		'максим' : 'maxim',
		'яков' : 'iakov'
	};
	s=s.toLowerCase();	
	if(excl[s]){
		return excl[s];
	}else{
	 	for(i in substr){
			s=s.replace(i,substr[i]);
		}
	}
	// а также:
	// Е,Ё = УE после гласных и Ь,Ъ и в начале слова
	// Е,Ё = E в ост случаях
	
	s = s.replace( /([аеёиоуыюяьъ])[её]/g, "$1ye");
//	s = s.replace( /^[её]/g, "Ye");
	s = s.replace( /[её]/g, "e");
//	s = s.replace( /[иы][й]/g, "y");
	s = s.replace( /[ь][я]/g, "ia");
	s = s.replace( /[и][я]$/g, "ia");
	s = s.replace( /[ьъ]/g, "");
	
	//transliterating
	tmp = "";
	for ( i=0; i<s.length; i++)
	{
	   c = s.charAt(i);
	   k = from.indexOf(c);
	   if ( k != -1 )
	   {
	   	   // простые буквы
	   	   tmp += to.charAt(k);
	   }
	   else
	   {
	   	   if ( dbl[c] )
	   	   {
	   	   	   // двойные символы
	   	   	   tmp += dbl[c];
	   	   }
	   	   else 
	   	   {
	   	   	   tmp += c;
	   	   }
	   }
	}
	tmp=tmp.charAt(0).toUpperCase()+tmp.substring(1,tmp.length);
	return tmp;
}	

function Translit()
{
  personr=document.getElementById('personr').value;				
  person=document.getElementById('person');
  person.value=to_translit(personr);
}

function setPriceDelim(price)
{
   res='';   
   str=price+"";
   var k=str.length%3;
   var i=0;
   while(ch=str.substr(i,1))
   {
	  if((i>=k) && ((i-k)%3==0)) res+=" ";
	  res+=ch;	  
	  i++;
   }
   return res;  
}

function ShowNetCatPrice()
{
	var netcat=document.getElementById("netcat");
	var price="";
	switch(netcat.value)
	{
		case "Standard": 
			price="5 880";
			break;
		case "SEO":
			price="9 520";
			break;
		case "Corporate":
			price="15 120";
			break;
		case "Community":
			price="20 720";
			break;
		case "E-Commerce":
			price="21 280";
			break;
		case "Extra":
			price="32 200";
			break;		
	}
	var spanPrice=document.getElementById("netcatprice");	
	if(price.length>4)
		price=setPriceDelim(price);	
	spanPrice.innerHTML = price;
}