$(document).ready(function() {
// Drop down menu
$("#menu_top .mt_inner > ul > li > a").mouseover(function() {
$(this).next().slideDown();
});
$("#menu_top .mt_inner > ul > li").mouseleave(function() {
$(this).find(".sub_menu").hide();
});
// Switch search-text
$("#search .input input").focus(function(){
if($(this).val()=="Поиск по сайту") $(this).val("");
});
$("#search .input input").blur(function(){
if($(this).val()=="") $(this).val("Поиск по сайту");
});
// Switch show info help
$(".show_info_help a").click(function(){
$(this).toggleClass("exp").next().slideToggle();
$(".text_info_help").slideToggle();
return false;
});
// Switch resieved
$(".resieved span").click(function(){
$(this).addClass("check").siblings().removeClass("check");
$(this).siblings('input').val($(this).html());
});
// Accordion
$("#acc_list li h4").click(function(){
$(this).next().slideToggle().parent().toggleClass("act").siblings().removeClass("act");
$("#acc_list li").each(function(){
if(!($(this).hasClass("act"))) {
$(this).find(".forms-block").slideUp();
}
});
return false;
});
// Activate datepicker plagin
if($(".datepicker").datepicker) {
$(".datepicker").datepicker({
onSelect: function(dateText, inst) {
$(this).removeClass("d_val");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
});
$.datepicker.regional['ru'] = {
closeText: 'Закрыть',
prevText: '',
nextText: '',
currentText: 'Сегодня',
monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
'Июл','Авг','Сен','Окт','Ноя','Дек'],
dayNames: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
weekHeader: 'Не',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['ru']);
}
// Activate fancybox plagin
if($("#instructions").size()!=0) {
$("#instructions").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none',
'overlayColor' : '#000',
'overlayOpacity' : '0.2'
});
}
// Show personal cabiner
$('#showLoginForm').live('click', function(){
$(".back_fon").show().height($("#all").height());
$(".pc").show().css({
"left" : $(this).offset().left-216,
"top" : $(this).offset().top+30
});
$('#sirenaLoginForm input[type!="hidden"]').val('');
return false;
});
$(".pc_close, .back_fon").click(function(){
hideLoginForm();
return false;
});
// switch color in default values
def_val($(".search_form .input2 input.d_val"));
//def_val($(".textarea textarea.d_val"));
$(".selectBox").each(function(){
var val = $(this).prev().attr("title");
if (val=="") alert('required default value in select attribute title');
$(this).find(".selectBox-label").addClass("d_val").text(val);
});
// swithc tabs
$(".tabs_body .body_item:first").show()
$(".tabs_head span").click(function(){
var index = $(".tabs_head span").index(this);
$(this).addClass("check").siblings().removeClass("check");
$(".tabs_body .body_item").eq(index).show().siblings().hide();
});
if ($("#navArea").length > 0) {
$("#navArea").imageNavigator({
loaderUrl:"/_img/official/loader.gif",
areaWidth: 615,
areaHeight:615,
draggerStyle:"1px solid red",
navOpacity:1
});
}
$('a[rel*="pic"]').fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'titlePosition' : 'over'
});
// SHEME PLACES
$(".sheme_block a").live('click',function(e){
e.preventDefault();
});
});
// FUNCTIONS
/**
* Закрытие окна с формой логина
*/
function hideLoginForm()
{
$('#sirenaLoginForm .error_text').hide();
$('.pc_inner .ajax-loader').hide();
$('.back_fon').hide();
$('.pc').hide();
}
function def_val(obj) {
if(obj.length!=0) {
obj.each(function(){
var d_value = $(this).val();
$(this).bind('focus', function() {
if($(this).val()==d_value) {
$(this).removeClass("d_val").val("")
}
});
$(this).bind('blur', function() {
if($(this).val()=="") {
$(this).addClass("d_val").val(d_value);
}
});
});
} else {
return false
}
}
//Validation
//проверяет обязательные для заполнения поля (для всех элементов формы)
var validateRequired = function(formId, inputName, mes) {
validateRequiredInput(formId, inputName, mes);
validateRequiredSelect (formId, inputName, mes);
validateRequiredTextarea(formId, inputName, mes);
validateRequiredDatepicker(formId, inputName, mes);
};
//валидация Email
var validateEmail = function(formId, inputName, mes)
{
obj = $('#' + formId + ' input[name="' + inputName + '"]');
if(obj.length!=0) {
var errorHtml = '
'+ mes;
var testEmail = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
obj.bind('click', function() {
if (!$(this).hasClass('d_val')) {
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
});
obj.bind('blur', function() {
if (!$(this).hasClass('d_val')) {
if (testEmail.test($(this).val())) {
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
else {
$(this).parent().siblings('.error_text').show();
$(this).parent().siblings('.error_text').html(errorHtml);
$(this).parents('.f-block').addClass('error');
}
}
});
}
};
//проверяет форму перед submit
var validateForm = function(formId) {
//проверка обязательных для заполнения элементов.
isValid = true;
obj = $('#' + formId + ' .required:not(:disabled)');
if (obj.length>0) {
obj.each(function(){
if ($(this).hasClass('d_val') || ($(this).is('select') && $(this).val()=='')) {
$(this).parent().siblings('.error_text').show();
$(this).parents('.f-block').addClass('error');
$(this).parents('.textarea-block').addClass('error');
isValid = false;
}
if ($(this).parents('.error').length>0) {
isValid = false;
}
});
}
return isValid;
};
var validateRequiredInput = function(formId, inputName, mes)
{
obj = $('#' + formId + ' input[name="' + inputName + '"]:not(.datepicker)');
var errorHtml = '
'+ mes;
obj.addClass('required');
if (obj.length!=0 && obj.hasClass('d_val')) {
var d_value = obj.val();
obj.parent().siblings('.error_text').html(errorHtml);
obj.bind('click', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
$(this).parents('.capcha').removeClass('error');
}
});
obj.bind('focus', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
$(this).parents('.capcha').removeClass('error');
}
});
obj.bind('blur', function() {
if($(this).val()=="") {
$(this).addClass("d_val").val(d_value);
$(this).parent().siblings('.error_text').show();
$(this).parents('.f-block').addClass('error');
$(this).parents('.capcha').addClass('error');
}
else {
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
});
}
};
var validateRequired1of2Input = function(formId, inputName1, inputName2, mes)
{
var obj1 = $('#' + formId + ' input[name="' + inputName1 + '"]');
var obj2 = $('#' + formId + ' input[name="' + inputName2 + '"]');
if (typeof mes != 'undefined') {
var errorHtml = '
'+ mes;
}
obj1.addClass('required');
if (obj1.length!=0 && obj2.length!=0 && obj1.hasClass('d_val') && obj2.hasClass('d_val')) {
var d_value = obj1.val();
if (typeof mes != 'undefined') {
obj1.parent().siblings('.error_text').html(errorHtml);
}
obj1.bind('click', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(obj2).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
$(obj2).parents('.f-block').removeClass('error');
}
});
obj1.bind('focus', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(obj2).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
$(obj2).parents('.f-block').removeClass('error');
}
});
obj1.bind('blur', function() {
if($(this).val()=="") {
$(this).addClass("d_val").val(d_value);
if (obj2.hasClass('d_val')) {
$(this).parent().siblings('.error_text').show();
$(obj2).parent().siblings('.error_text').show();
$(this).parents('.f-block').addClass('error');
$(obj2).parents('.f-block').addClass('error');
$(obj2).addClass('required');
}
}
else {
$(this).parent().siblings('.error_text').hide();
$(obj2).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
$(obj2).parents('.f-block').removeClass('error');
$(obj2).removeClass('required');
}
});
}
};
var validateRequiredSelect = function(formId, inputName, mes)
{
obj = $('#' + formId + ' select[name="' + inputName + '"]:not(.combobox)');
if (obj.length!=0) {
obj.addClass('required');
var errorHtml = '
'+ mes;
var d_value = obj.val();
obj.parent().siblings('.error_text').html(errorHtml);
obj.bind('click', function() {
if($(this).val()=='') {
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
});
obj.bind('blur', function() {
if ($(this).val()=="") {
$(this).parent().siblings('.error_text').show();
$(this).parents('.f-block').addClass('error');
}
else {
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
});
}
};
var validateRequiredTextarea = function(formId, inputName, mes)
{
obj = $('#' + formId + ' textarea[name="' + inputName + '"]');
var errorHtml = '
'+ mes;
if (obj.length!=0 && obj.hasClass('d_val')) {
obj.addClass('required');
obj.parent().siblings('.error_text').html(errorHtml);
var d_value = obj.html();
obj.bind('click', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.textarea-block').removeClass('error');
}
});
obj.bind('focus', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.textarea-block').removeClass('error');
}
});
obj.bind('blur', function() {
if($(this).val()=="") {
$(this).addClass("d_val").val(d_value);
$(this).parent().siblings('.error_text').show();
$(this).parents('.textarea-block').addClass('error');
}
else {
$(this).parent().siblings('.error_text').hide();
$(this).parents('.textarea-block').removeClass('error');
}
});
}
};
var validateRequiredDatepicker = function(formId, inputName, mes)
{
var obj = $('#' + formId + ' input[name="' + inputName + '"].datepicker');
var errorHtml = '
'+ mes;
if (obj.length!=0 && obj.hasClass('d_val')) {
obj.addClass('required');
var d_value = obj.val();
obj.parent().siblings('.error_text').html(errorHtml);
obj.bind('click', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
});
obj.bind('focus', function() {
if($(this).val()==d_value || $(this).val()=='') {
$(this).removeClass("d_val").val("");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
});
obj.datepicker('destroy');
obj.datepicker({
minDate: obj.hasClass('curdate') ? 0 : null,
onSelect: function(dateText, inst) {
$(this).removeClass("d_val");
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
if ($(this).hasClass('fromdate')) {
var index = $('.fromdate').index($(this));
var instance = $( this ).data( "datepicker" ),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
dateText, instance.settings );
$('.todate').eq(index).datepicker( "option", 'minDate', date );
if($('.todate').eq(index).hasClass("d_val")) {
$('.todate').eq(index).removeClass("d_val").val($(this).val());
$('.todate').eq(index).parent().siblings('.error_text').hide();
$('.todate').eq(index).parents('.f-block').removeClass('error');
}
}
},
onClose: function(dateText, inst) {
if($(this).val()=="") {
$(this).addClass("d_val").val(d_value);
$(this).parent().siblings('.error_text').show();
$(this).parents('.f-block').addClass('error');
}
else {
$(this).parent().siblings('.error_text').hide();
$(this).parents('.f-block').removeClass('error');
}
}
});
}
};