$(document).ready(function(){
	initNews();
	$('input.customCheckbox').customCheckbox();
	$('select.customSelect').customSelect();

        $(".menu2 li ul").css("display","none");
        $(".menu2 li ul li a.active").parent().parent().css("display","block");

        $(".menu2 li a.active").parent().parent().parent().addClass("show_menu");
        $(".menu2 li.show_menu > a").addClass("active");

        $(".menu2 li > a.active").parent().addClass("show_menu");
        $(".menu2 li.show_menu ul").css("display","block");

	$('#fade').cycle({
	    fx:      'fade',
	    speed:    1000,
	    timeout:  6000
	});

			$("a[rel=fancy]").fancybox({
				'titleShow'		: false
			});


	function mycarousel_initCallback(carousel) {
	    jQuery('#mycarousel-next').bind('click', function() {
	        carousel.next();
	        return false;
	    });
	    jQuery('#mycarousel-prev').bind('click', function() {
	        carousel.prev();
	        return false;
	    });
	};

    jQuery("#mycarousel").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback,
        // This tells jCarousel NOT to autobuild prev/next buttons
        buttonNextHTML: null,
        buttonPrevHTML: null
    });


    $("div.all").click(function () {
	    //$(".qu").removeClass("open");
		$(this).parent().addClass("open");
		$(".open .an").slideDown("slow");
    });
    $(".clos a").click(function () {
		$(this).parent().parent().slideUp("slow");
	    $(this).parent().parent().parent().removeClass("open");
    });


/*RELOAD CAPTCHA*/
var symbols ="abcdefghjklmnopqrstuvwxyz0123456789"
var length = 32;
function generatePassword(symbols, length) {
 var result = "";
 for (var i=0; i<length; i++) {
 result += symbols.charAt(Math.floor(Math.random()*symbols.length));
 };
 return result;
 }

$(".captcha .refresh").click(function(){
 var captcha_code = generatePassword(symbols, length);
 var c = "/bitrix/tools/captcha.php?captcha_sid=" + captcha_code ;
 $(".captcha img").attr("src", c)
 $(".captcha input").attr("value", captcha_code)
})


// this one requires the value to be the same as the first parameter



    //Проверка полей формы регистрации
	  $.validator.addMethod('validName', function (value) {
	      var result = true;
	      var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?"+" ";
	      for (var i = 0; i < value.length; i++) {
	          if (iChars.indexOf(value.charAt(i)) != -1) {
	              return false;
	          }
	      }
	      return result;
	  }, '');


	  $("#form_name").validate({
		   submitHandler: function(form) {
		       // do other stuff for a valid form
		   	form.submit();
		   },
		//debug: true,
	    focusInvalid: false,
	    focusCleanup: true,

	    rules: {
	      name: {
	           required: true,
	           validName: true,
	      },
	      name2: {
	           required: true,
	           validName: true,
	      },
	      name3: {
	           required: true,
	           validName: true,
	      },
	      name30: {
	           required: true,
	      },

	      adres1: {
	           required: true,
	           validName: true,
	      },

	      adres2: {
	           required: true,
	           validName: true,
	      },
	      adres3: {
	           required: true,
	           validName: true,
	      },
	      adres4: {
	           required: true,
	           validName: true,
	      },

	      email: {
	           required: true,
	           email: true
	      },
	      email_check: {
	           required: true,
	           email: true,
	           equalTo: "#email"
	      },

	      phone1: {required: true},
	      phone2: {required: true},
	      phone3: {required: true},
	      timephone: {required: true, validName: true},


	    },
	    messages: {
	      name: {
	        required: "Введите имя",
	        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены.",
	      },
	      name2: {
	        required: "Введите отчество",
	        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены.",
	      },
	      name3: {
	        required: "Введите фамилию",
	        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены.",
	      },
	      name30: {
	        required: "Введите текст отзыв",
	      },

	      email: {
	        required: "Введите адрес ящика",
	        email: "Введите корректный адрес"
	      },
	      email_check: {
	        required: "Введите адрес ящика повторно",
	        email: "Введите корректный адрес",
	        equalTo: "Ящик неправильно введён повторно"
	      },

	      adres1: {
	        required: "Введите Область/Край",
	        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены.",
	      },
	      adres2: {
	        required: "Введите Индекс",
	        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены.",
	      },
	      adres3: {
	        required: "Введите Город",
	        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены.",
	      },
	      adres4: {
	        required: "Введите Адрес",
	        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены.",
	      },
	      phone1: {required: "например: (342) 789-89-89",},
	      phone2: {required: "например: (342) 789-89-89",},
	      phone3: {required: "например: +7912 78 78989",},

	      timephone: {required: "например: с 20-00 до 22-00", validName: "например: с 20-00 до 22-00",},

	    },
	    errorPlacement: function(error, element) {
	      error.appendTo(element.parent().parent().addClass("error"));
	      $("input.error").parent().parent().addClass("error");
	    },
		success: function(label) {
		   label.html("&nbsp;").addClass("checked");
		   $(".error.checked").parent().removeClass("error");
		   $(".error.checked").parent().addClass("ok");
		}
	  });

       $("input#phone1").mask("(999) 999-9999");
       $("input#phone2").mask("(999) 999-9999");
       $("input#phone3").mask("(999) 999-9999");

});

function initNews(){
	var news = $('div.news-hold');
	var place = $('div.news-place');
	var h = news.outerHeight();

	place.css({height:h});
}

jQuery.fn.customSelect = function(_options) {
var _options = jQuery.extend({
	selectStructure: '<div class="selectArea"><div class="selected"></div></div>',
	selectText: '.selected',
	selectBtn: '.selected',
	selectDisabled: '.disabled',
	optStructure: '<div class="select-sub"><ul></ul></div>',
	optList: 'ul'
}, _options);
return this.each(function() {
	var select = jQuery(this);
	if(!select.hasClass('outtaHere')) {
		if(select.is(':visible')) {
			var replaced = jQuery(_options.selectStructure);
			var selectText = replaced.find(_options.selectText);
			var selectBtn = replaced.find(_options.selectBtn);
			var selectDisabled = replaced.find(_options.selectDisabled).hide();
			var optHolder = jQuery(_options.optStructure);
			var optList = optHolder.find(_options.optList);
			if(select.attr('disabled')) selectDisabled.show();
			select.find('option').each(function() {
				var selOpt = $(this);
				var _opt = jQuery('<li><a href="#">' + selOpt.html() + '</a></li>');
				if(selOpt.attr('selected')) {
					selectText.html(selOpt.html());
					_opt.addClass('selected');
				}
				_opt.children('a').click(function() {
					optList.find('li').removeClass('selected');
					select.find('option').removeAttr('selected');
					$(this).parent().addClass('selected');
					selOpt.attr('selected', 'selected');
					selectText.html(selOpt.html());
					select.change();
					optHolder.hide();
					return false;
				});
				optList.append(_opt);
			});
			if (select.attr('title')) selectText.html(select.attr('title'));
			replaced.width(select.outerWidth());
			replaced.insertBefore(select);
			replaced.addClass(select.attr('class'));
				optHolder.css({
					width: select.outerWidth()+4,
					display: 'none',
					position: 'absolute',
					zIndex: 4000
				});
			optHolder.addClass(select.attr('class'));
			jQuery(document.body).append(optHolder);

			var optTimer;
			replaced.hover(function() {
				if(optTimer) clearTimeout(optTimer);
			}, function() {
				optTimer = setTimeout(function() {
					optHolder.hide();
				}, 200);
			});
			optHolder.hover(function(){
				if(optTimer) clearTimeout(optTimer);
			}, function() {
				optTimer = setTimeout(function() {
					optHolder.hide();
				}, 200);
			});
			selectBtn.click(function() {
				if(optHolder.is(':visible')) {
					optHolder.hide();
				}
				else{
					optHolder.children('ul').css({height:'auto', overflow:'hidden'});
					optHolder.css({
						top: replaced.offset().top + replaced.outerHeight() +2,
						left: replaced.offset().left,
						display: 'block'
					});
					//if(optHolder.children('ul').height() > 100) optHolder.children('ul').css({height:100, overflow:'auto'});
				}
				return false;
			});
			select.addClass('outtaHere');
		}
	}
});
}
jQuery.fn.customRadio = function(_options){
	var _options = jQuery.extend({
		radioStructure: '<span></span>',
		radioDisabled: 'disabled',
		radioDefault: 'radioArea',
		radioChecked: 'radioAreaChecked'
	}, _options);
	return this.each(function(){
		var radio = jQuery(this);
		if(!radio.hasClass('outtaHere') && radio.is(':radio')){
			var replaced = jQuery(_options.radioStructure);
			replaced.addClass(radio.attr('class'));
			this._replaced = replaced;
			if(radio.is(':disabled')) replaced.addClass(_options.radioDisabled);
			else if(radio.is(':checked')) replaced.addClass(_options.radioChecked);
			else replaced.addClass(_options.radioDefault);
			replaced.click(function(){
				if($(this).hasClass(_options.radioDefault)){
					radio.change();
					radio.attr('checked', 'checked');
					changeRadio(radio.get(0));
				}
			});
			radio.click(function(){
				changeRadio(this);
			});
			replaced.insertBefore(radio);
			radio.addClass('outtaHere');
		}
	});
	function changeRadio(_this){
		$('input:radio[name='+$(_this).attr("name")+']').not(_this).each(function(){
			if(this._replaced && !$(this).is(':disabled')) this._replaced.removeClass('radioAreaChecked').removeClass('radioArea').addClass(_options.radioDefault);
		});
		_this._replaced.removeClass('radioAreaChecked').removeClass('radioArea').addClass(_options.radioChecked);
	}
}
jQuery.fn.customCheckbox = function(_options){
	var _options = jQuery.extend({
		checkboxStructure: '<span></span>',
		checkboxDisabled: 'disabled',
		checkboxDefault: 'checkboxArea',
		checkboxChecked: 'checkboxAreaChecked'
	}, _options);
	return this.each(function(){
		var checkbox = jQuery(this);
		if(!checkbox.hasClass('outtaHere') && checkbox.is(':checkbox')){
			var replaced = jQuery(_options.checkboxStructure);
			replaced.addClass(checkbox.attr('class'));
			this._replaced = replaced;
			if(checkbox.is(':disabled')) replaced.addClass(_options.checkboxDisabled);
			else if(checkbox.is(':checked')) replaced.addClass(_options.checkboxChecked);
			else replaced.addClass(_options.checkboxDefault);

			replaced.click(function(){
				if(checkbox.is(':checked')) checkbox.removeAttr('checked');
				else checkbox.attr('checked', 'checked');
				changeCheckbox(checkbox);
			});
			checkbox.click(function(){
				changeCheckbox(checkbox);
			});
			replaced.insertBefore(checkbox);
			checkbox.addClass('outtaHere');
		}
	});
	function changeCheckbox(_this){
		if(_this.is(':checked')) _this.get(0)._replaced.removeClass('checkboxArea').removeClass('checkboxAreaChecked').addClass(_options.checkboxChecked);
		else _this.get(0)._replaced.removeClass('checkboxArea').removeClass('checkboxAreaChecked').addClass(_options.checkboxDefault);
	}

}

