$(document).ready(function() {
// Ховер в правой менюшке у тарифов
var rcClass = '';

$("div.rc-menu-container li").hover(function() {
  var rc = $(this);
  rcClass = rc.attr("class");
  
  rc.attr("class", rcClass+"-hover");
  Cufon.replace(rc);   
}, function() {
  var rc = $(this);
  rc.attr("class", rcClass);
  Cufon.replace(rc);
})
  
// тултипы в календаре    
var curTextTooltip = "";
var curClass = "";
$(".stat-icons span").hover(function() {
  cur = $(this);
  curClass = cur.attr("class");
  curParent = cur.parent();
  
  switch (curClass) {
    case "i" : curTextTooltip = "2 ч 15 мин | 4 части"; break;
    case "play" : curTextTooltip = "Просмотреть"; break;
    case "eject" : curTextTooltip = "Выгрузить"; break;
    case "delete" : curTextTooltip = "Удалить"; break;
  }
  curApp = "<div class='tooltip-"+curClass+"'>"+curTextTooltip+"</div>";
  curParent.append(curApp);
  cur.attr("class", curClass + "-active");
}, function() {
  $("div.tooltip-"+curClass).remove();
  cur.attr("class", curClass);
})    
    
// Свернуть/развернуть табличку в истории  
$("div.pc-stat-month .toggle, div.stat-table-footer .toggle").click(function() {
  var cur = $(this);
  var curTxt = cur.html();
  var curPar = cur.parent().parent();
  
  if (curTxt == "развернуть") {
    curPar.find("div.stat-table-footer").css("display", "block");
    curPar.find("table.stat-table").show();
    curPar.find(".title .toggle").html("свернуть");
  }  
  if (curTxt == "свернуть") {
    curPar.find("div.stat-table-footer").css("display", "none");
    curPar.find("table.stat-table").hide();
    curPar.find(".title .toggle").html("развернуть");
  }  
})
  
// Свернуть/развернуть FAQ
$("dl.faq-list dt span.toggle").click(function() {
  var cur = $(this);
  var curTxt = cur.html();
  var curPar = cur.parent();
  
  if (curTxt == "ответ") {
    curPar.next().show();
    cur.html("свернуть");
  }  
  if (curTxt == "свернуть") {
    curPar.next().hide();
    cur.html("ответ");
  }  
})

// Показать/закрыть Тестировать тарифы
$("#testTarifLink").click(function() {
  $(this).hide();
  $(".pc-test-tarif").show();
})
  
$(".pc-test-tarif .close").click(function() {
  $("#testTarifLink").show();
  $(".pc-test-tarif").hide();
})  
  
// Свернуть/развернуть Тестировать тарифы
$(".pc-test-tarif .toggle").click(function() {
  var cur = $(this);
  var curTxt = cur.html();
  var curPar = cur.parent();
    
  if (curTxt == "Развернуть") {
    curPar.next().show();
    cur.html("Свернуть");
  }  
  if (curTxt == "Свернуть") {
    curPar.next().hide();
    cur.html("Развернуть");
  }  
})
    
// Проверка формы в тестировании тарифов    
$("#RegistrationForm").validate({
  rules : {
    'data[Registration][company]' : "required",
    'data[Registration][surname]' : "required",
    'data[Registration][name]' : "required",
    'data[Registration][patronymic]' : "required",
    'data[Registration][position]' : "required",
    'data[Registration][email]' : {
      required : true,
      email : true
    },
    'data[Registration][phoneWork]' : "required",
    'data[Registration][phoneMobile]' : "required",
    'data[Registration][acceptAgreement]' : "required"
  },
  messages : {
    'data[Registration][company]' : "Вы не указали название вашей компании",
    'data[Registration][surname]' : "Вы не указали вашу фамилию",
    'data[Registration][name]' : "Вы не указали ваше имя",
    'data[Registration][patronymic]' : "Вы не указали ваше отчество",
    'data[Registration][position]' : "Вы не указали вашу должность",
    'data[Registration][email]' : {
      required : "Вы не указали ваш email адрес",
      email : "Вы ввели некорректный e-mail адрес"
    },
    'data[Registration][phoneWork]' : "Вы не ввели рабочий телефон",
    'data[Registration][phoneMobile]' : "Вы не ввели мобильный телефон",
    'data[Registration][acceptAgreement]' : "Вы не подтвердили согласие с Договором оферты"
  },
  errorPlacement : function(error, element) {
    error.appendTo(element.parent());
  }
});


// Проверка формы в задать вопрос
$("#askForm").validate({
 // submitHandler : function(form) {
    /*$(form).ajaxSubmit({
      timeout: 9000,
      success : function() {
        $("div.content-container").html("Ваш вопрос принят в обработку. В ближайшее время наш менеджер свяжется с вами.");
      }
    });*/
      
    //$("div.content-container").html("Ваш вопрос принят в обработку. В ближайшее время наш менеджер свяжется с вами.");
 // },
  rules : {
	  "data[Feedback][name]" : "required",
	  "data[Feedback][lastname]" : "required",
	  "data[Feedback][text]" : "required",
	  "data[Feedback][company]" : "required",
	  "data[Feedback][email]" : {
      required : true,
      email : true
    },
    phone : "required"
  },
  messages : {
	  "data[Feedback][name]" : "Вы не указали имя",    
	  "data[Feedback][lastname]" : "Вы не указали фамилию",
	  "data[Feedback][text]" : "Вы не задали вопрос",
	  "data[Feedback][company]" : "Вы не указали компанию",
	  "data[Feedback][email]" : {
      required : "Вы не указали email адрес",
      email : "Вы ввели некорректный e-mail адрес"
    },
    "data[Feedback][phone]" : "Вы не ввели телефон"
  },
  errorPlacement : function(error, element) {
    error.appendTo(element.parent());
  }
});    

// Проверка формы "сообщить о проблеме"
$("#problemForm").validate({
  //submitHandler : function(form) {
    /*$(form).ajaxSubmit({
      timeout: 9000,
      success : function() {
        $("div.content-container").html("Спасибо, за ваше обращение. Наши менеджеры обязательно свяжутся с вами в ближайшее время!");
      }
    });*/
      
   // $("div.content-container").html("Ваша заявка передана в технический отдел. В ближайшее время наш менеджер свяжется с вами.");
 // },
  rules : {
	  "data[Feedback][name]" : "required",
	  "data[Feedback][lastname]" : "required",
	  "data[Feedback][text]" : "required",
	  "data[Feedback][company]" : "required",
	  "data[Feedback][email]" : {
      required : true,
      email : true
    },
    "data[Feedback][phone]": "required"
  },
  messages : {
	  "data[Feedback][name]" : "Вы не указали имя",    
	  "data[Feedback][lastname]" : "Вы не указали фамилию",
	  "data[Feedback][text]" : "Вы не сообщили о проблеме",
	  "data[Feedback][company]" : "Вы не указали компанию",
	  "data[Feedback][email]" : {
      required : "Вы не указали email адрес",
      email : "Вы ввели некорректный e-mail адрес"
    },
    "data[Feedback][phone]": "Вы не ввели телефон"
  },
  errorPlacement : function(error, element) {
    error.appendTo(element.parent());
  }
});    


// Проверка формы "платежные реквизиты"
$("#buyRecvisit1").validate({
  rules : {
    'data[Company][companyname]' : "required",
    'data[Company][inn]' : {
      required : true,
      number : true,
      minlength : 10,
      maxlength : 10
    },
    'data[Company][kpp]' : {
      required : true,
      number : true,
      minlength : 9,
      maxlength : 9
    },
    'data[Company][chieffio]' : "required",
    'data[Company][chiefjob]' : "required",
    'data[Company][companyaddress1]' : "required",
    'data[Company][companyaddress2]' : "required",
    'data[Company][bankname]' : "required",
    'data[Company][banktown]' : "required",
    'data[Company][bik]' : {
      required : true,
      number : true,
      minlength : 9,
      maxlength : 9
    },
    'data[Company][ks]' : {
      required : true,
      number : true,
      minlength : 20,
      maxlength : 20
    },
    'data[Company][rs]' : {
      required : true,
      number : true,
      minlength : 20,
      maxlength : 20
    }
  },
  messages : {
    'data[Company][companyname]' : "Вы не ввели название компании",
    'data[Company][inn]' : {
      required : "Вы не ввели ИНН",
      number : "Можно вводить только цифры",
      minlength : "Номер ИНН должен содержать 10 цифр",
      maxlength : "Номер ИНН должен содержать 10 цифр"
    },
    'data[Company][kpp]' : {
      required : "Вы не ввели КПП",
      number : "Можно вводить только цифры",
      minlength : "Номер КПП должен содержать 9 цифр",
      maxlength : "Номер КПП должен содержать 9 цифр"
    },
    'data[Company][chieffio]' : "Вы не ввели ФИО руководителя",
    'data[Company][chiefjob]' : "Вы не ввели должность руководителя",
    'data[Company][companyaddress1]' : "Вы не ввели юридический адрес компании",
    'data[Company][companyaddress2]' : "Вы не ввели физический адрес компании",
    'data[Company][bankname]' : "Вы не ввели название банка",
    'data[Company][banktown]' : "Вы не ввели город банка",
    'data[Company][bik]' : {
      required : "Вы не ввели БИК",
      number : "Можно вводить только цифры",
      minlength : "Номер БИК должен содержать 9 цифр",
      maxlength : "Номер БИК должен содержать 9 цифр"
    },
    'data[Company][ks]' : {
      required : "Вы не ввели корреспондентский счёт",
      number : "Можно вводить только цифры",
      minlength : "Номер счёта должен содержать 20 цифр",
      maxlength : "Номер счёта должен содержать 20 цифр"
    },
    'data[Company][rs]' : {
      required : "Вы не ввели расчётный счёт",
      number : "Можно вводить только цифры",
      minlength : "Номер счёта должен содержать 20 цифр",
      maxlength : "Номер счёта должен содержать 20 цифр"
    }
  },
  errorPlacement : function(error, element) {
    error.appendTo(element.parent());
  }
});  

$("div.viva-popup .close").click(function() {
  $("div.viva-popup").css("display", "none");
});
$("#exampleTarif").click(function() {
  $("#showExampleTarif").css("display", "block");
}) ;
// Нажатие клавиши Esc
$(document).keydown(function(e){
  if(e.which==27) $("div.viva-popup").css("display", "none");
});
  
// вешаем листенеры на странице тарифа  "оптима" 
addEventListenerTo("to50");
addEventListenerTo("more50");
$('#optimaPayLink').click(function(){$("#optimaFastConfig").submit();});

//Проверка формы "тариф оптима"
$("#optimaFastConfig").validate({
  
  rules : {
    'data[Tarif][duration]' : "required",
    'data[Tarif][name]':'cb_selectone'
   
  },
  messages : {
    'data[Tarif][duration]' : "не выбрана период для тарифа",
    'data[Tarif][name]':'Пожалуйста выберите минимум одну дополнительную опцию'
  },
  errorPlacement : function(error, element) {
	  alert('Пожалуйста выберите минимум одну дополнительную опцию');
	 // error.appendTo(element.parent());
  }
}); 
$("#buyOptions").validate({
	rules : {
		    'data[Tarif][name]':'cb_selectone'
		  },
	messages : {
		    'data[Tarif][name]':'Пожалуйста выберите минимум одну дополнительную опцию'
		  },
	  errorPlacement : function(error, element) {
		  error.appendTo($("#error"));
	  }
	}); 
});
$.validator.addMethod('cb_selectone', function(value,element){
	el = $("input[type=checkbox]");
	if(el.length>0){
        for(var i=0;i<el.length;i++){
            if($(el[i]).is(':checked')){
                return true;
           }
        }
        return false;
    }
    return false;
}, 'Пожалуйста выберите минимум одну дополнительную опцию');
// Шрифты
Cufon.set("fontFamily", "KievitOT-Light");
Cufon.replace("h1");    
Cufon.replace(".title-view h2");

Cufon.set("fontFamily", "KievitOT-Book");
Cufon.replace("ul.bmenu");
Cufon.replace("div.tarif-container-inner div.title span");
Cufon.replace("div.tarif-container-inner div.title2");
Cufon.replace(".tarif-list .name");
Cufon.replace(".tarif-list .text");
Cufon.replace(".tarif-list .price");
Cufon.replace(".rc-menu-container .title span");
Cufon.replace(".rc-menu-container .list li");
Cufon.replace(".tarif-title h1");
Cufon.replace(".tarif-slogan");
Cufon.replace(".tpo-table td span.buy");
Cufon.replace(".title-view h1");
Cufon.replace(".cc-tarif-list .name");

