$(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'); } } }); } };