var captchaValidated;
var captchaAjaxLock = false;
$(function() {     

    $(document).ready(function(){
		//getting schedule availability
		var scheduleIds = []; 
		$('.schedule_row ul li ul li').each(function() { 
			scheduleIds[scheduleIds.length] = this.id; 
		});
		
		
		if(scheduleIds.length > 0) {
			scheduleIds = JSON.stringify(scheduleIds);
			//console.log(scheduleIds);
			$.post('/cinema/getseancesavailabilities/', {
					seanceIds: scheduleIds
			}, function(data) {
				try {
					var response = JSON.parse(data);
				} catch(e) {
					//console.log(data);
				}
				//console.log(data);
				if (response !== undefined && response.result == 'success') { //успешно получили занятость
				//console.log(response);
					if(response.seances !==undefined && $.isArray(response.seances)) { //даже какие-то сеансы вернулись
						
						$(response.seances).each(function(key, val) {
							//console.log(val.id+':'+val.s);
							$('#'+val.id+' .fill_level span').css('height', val.s+'%');
						});
					}
				} else {
					//что-то пошло не так. ничего не делаем

				}
			});
		}
		
	
		//making seances inactive in schedules
		var nowDate = new Date();
		var nowDay = nowDate.getDate();
		var nowMonth = nowDate.getMonth()+1;
		var nowYear = nowDate.getFullYear();
		$('ul.times.today li').each(function(){
			var seanceDate = new Date(nowMonth+'/'+nowDay+'/'+nowYear+' '+ $('a', this).text());
			var diff = nowDate - seanceDate;
			if(diff > 0) {
				$(this).html($('a', this).text());
			} else {
				
			}
		});
		
		$('li.today ul li').each(function(){
			var seanceDate = new Date(nowMonth+'/'+nowDay+'/'+nowYear+' '+ $('a strong', this).text());
			var diff = nowDate - seanceDate;
			if(diff > 0) {
				$(this).html($('a strong', this).text());
			} else {
				
			}
		});
	
		if ($.isFunction($(".quick_print").printPage)) {
			/* quick print links */    
			$(".quick_print").printPage({
				message: "Информация передается на печать" 
			});
		}
	
        if ($.isFunction($.colorbox)) {
            $("a.colorboxed").colorbox({
                transition:"elastic",
                speed: 500,
                opacity: 0.90,
                current: 'Изображение <span class="c_bordeaux">{current}</span> из {total}',
                width:"80%",
                height:"95%"
            });
        }
        
        if(typeof $.galleriffic == 'object') {
            // We only want these styles applied when javascript is enabled
				$('div.slideshow-content').css('display', 'block');

				// Initially set opacity on thumbs and add
				// additional styling for hover effect on thumbs
				var onMouseOutOpacity = 0.67;
				$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
					mouseOutOpacity:   onMouseOutOpacity,
					mouseOverOpacity:  1.0,
					fadeSpeed:         'fast',
					exemptionSelector: '.selected'
				});
				
				// Initialize Advanced Galleriffic Gallery
				var gallery = $('#thumbs').galleriffic({
					delay:                     2500,
					numThumbs:                 3,
					preloadAhead:              10,
					enableTopPager:            false,
					enableBottomPager:         false,
					imageContainerSel:         '#slideshow',
					controlsContainerSel:      '#controls',
					captionContainerSel:       '#caption',
					loadingContainerSel:       '#loading',
					renderSSControls:          true,
					renderNavControls:         true,
					playLinkText:              'Включить слайдшоу',
					pauseLinkText:             'Вылючить слайдшоу',
					prevLinkText:              '&lsaquo; Previous Photo',
					nextLinkText:              'Next Photo &rsaquo;',
					nextPageLinkText:          'Next &rsaquo;',
					prevPageLinkText:          '&lsaquo; Prev',
					enableHistory:             true,
					autoStart:                 false,
					syncTransitions:           true,
					defaultTransitionDuration: 900,
					onSlideChange:             function(prevIndex, nextIndex) {
						// 'this' refers to the gallery, which is an extension of $('#thumbs')
						this.find('ul.thumbs').children()
							.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
							.eq(nextIndex).fadeTo('fast', 1.0);

						// Update the photo index display
						this.$captionContainer.find('div.photo-index')
							.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
					},
					onPageTransitionOut:       function(callback) {
						this.fadeTo('fast', 0.0, callback);
					},
					onPageTransitionIn:        function() {
						var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
						var nextPageLink = this.find('a.next').css('visibility', 'hidden');
						
						// Show appropriate next / prev page links
						if (this.displayedPage > 0)
							prevPageLink.css('visibility', 'visible');

						var lastPage = this.getNumPages() - 1;
						if (this.displayedPage < lastPage)
							nextPageLink.css('visibility', 'visible');

						this.fadeTo('fast', 1.0);
					}
				});

				/**************** Event handlers for custom next / prev page links **********************/

				gallery.find('a.prev').click(function(e) {
					gallery.previousPage();
					e.preventDefault();
				});

				gallery.find('a.next').click(function(e) {
					gallery.nextPage();
					e.preventDefault();
				});

				/****************************************************************************************/

				/**** Functions to support integration of galleriffic with the jquery.history plugin ****/

				// PageLoad function
				// This function is called when:
				// 1. after calling $.historyInit();
				// 2. after calling $.historyLoad();
				// 3. after pushing "Go Back" button of a browser
				function pageload(hash) {
					// alert("pageload: " + hash);
					// hash doesn't contain the first # character.
					if(hash) {
						$.galleriffic.gotoImage(hash);
					} else {
						gallery.gotoIndex(0);
					}
				}

				// Initialize history plugin.
				// The callback is called at once by present location.hash. 
				$.historyInit(pageload, "advanced.html");

				// set onlick event for buttons using the jQuery 1.3 live method
				$("a[rel='history']").live('click', function(e) {
					if (e.button != 0) return true;

					var hash = this.href;
					hash = hash.replace(/^.*#/, '');

					// moves to a new page. 
					// pageload is called at once. 
					// hash don't contain "#", "?"
					$.historyLoad(hash);

					return false;
				});

				/****************************************************************************************/
        }
    });

	/* images post load during page scrolling  */	
	/*$("img").lazyload({
		threshold : 200,
		effect : "fadeIn"
		}); 
	*/

	/* buy me blink */
    $(".buy_me .blink_182").click(function(){
        $(this).toggleClass("opened");
		$(this).parent(".buy_me").toggleClass("fly");
		$(this).nextAll(".schedule").toggleClass("on");
    });
	
	$(".buy_me .schedule .close").click(function(){
		$(this).parent(".schedule").removeClass("on");
		$(this).parent().siblings(".blink_182").removeClass("opened");
		$(this).parents(".buy_me").removeClass("fly");
    });
	
	/* timetable anchor scroll
	http://jquerylist.ru/scroll/smooth-vertical-or-horizontal-page-scrolling-with-jquery.html
	*/
	$('a.smooth_scroll').bind('click',function(event){
		var $anchor = $(this);
		
		/*$('html, body').stop().animate({
			scrollTop: $($anchor.attr('href')).offset().top
		}, 1500,'easeInOutExpo');*/
		/* if you don't want to use the easing effects:*/
		$('html, body').stop().animate({
			scrollTop: $($anchor.attr('href')).offset().top
		}, 1600);

		event.preventDefault();
	});
	
    
    /* opened list */
	$(".open_list dt strong").click(function(){
        $(this).parent().toggleClass("opened");
        $(this).parent().next("dd").slideToggle("normal");
    });
    
    /* show lost-password form */
    $(".show_lost_password").click(function(){
        $(this).toggleClass("shown");
        $(".lost_password").slideToggle("slow");
        return false;
    });
    
});

function checkCaptcha(field, rules, i, option) {
	var captcha = field.val();
	var answer;
	if(!captchaAjaxLock) {
		//$('.kaptcha_input_wrap').append('<img src="/html/img/ajax-loader-small.gif" id="preloader" />');
		captchaAjaxLock = true;
		$.ajax({
			url: "/check_captcha.php",
			async: false,
			data: { 
				captcha: captcha
			},
			success: function(data){
				var answr = $.parseJSON(data);
				captchaAjaxLock = false;
				//$('#preloader').remove();
				if(answr.result == 'success') {
					captchaValidated = true
					answer = ''; 
				} else {
					captchaValidated = false;
					answer = '* Символы не соответствуют изображению';
				}
			}
		});
		if(answer.length > 0) {
			return answer;
		} else {
			return;
		}
		
	}
}
function checkCaptchas(field, rules, i, option) {
	if(captchaValidated) {
		
	} else {
		return '* Символы не соответствуют изображению';
	}
}
