$(document).ready(function() {

$('.online-form a.submit').click(function(){
	var getSelected = $('.online-form select option:selected').attr('value');
	$(this).attr('href','https://tickets1.basicorange.com/theateraandeparade/loader.asp?target=hall.asp%3Fevent%3D'+getSelected+'%26language%3D3%26interface%3D4');
});



    // tag delete **************************************************************
    /*$('div.delete-box li').each(function() {
        var _tag = $(this),
			_delete = $('a.btn-close', this);
        _delete.click(function() {
            _tag.fadeOut(300, function() {
                $(this).remove();
            })
            return false;
        });
    });*/

    
		
		initHomepageProgramTips();
		initHomepageTabs();

    // promo slide show ********************************************************
    $('div.gallery').galleryCircle({
        btPrev: 'a.btn-prev',
        btNext: 'a.btn-next',
        holderList: 'div.holder',
        scrollElParent: '> ul',
        scrollEl: '> li',
        duration: 500,
        slideNum: 'ul.pager li a',
        step: false,
        autoRotation: 4000
    });

    /* Youtube overlay werking */
    initYoutubeLinks();
    /* Faq module */
    initFaq();  
    initTellaFriend(); 
    initInviteFriend();
    initSubmitPopup();
    initWerkwijze();
		initNs();
		initProgramOverwievTable();
});

/* Youtube werking MartijnC www.tribal.nl*/

function initYoutubeLinks() {
    $("html").find("a.youtube-film").click(function(e) {
        e.preventDefault();
        var youtubeId = $(this).attr("rel");
        if (youtubeId != "") {
            var youtubeCode = buildYoutubeVideo(youtubeId);

            $("body").overlay({
                window_width: '510',
                window_height: '440',
                window_background_color: '#000',
                close_img: '/images/overlay-close-btn.gif',
                src: '<div style="margin-left: 15px;">' + youtubeCode + '</div>'
            });
        }
    });
}
function buildYoutubeVideo(id) {
    var code = '<object width="480" height="385">' +
		'<param name="movie" value="http://www.youtube.com/v/' + id + '&hl=nl_NL&fs=1&"></param>' +
		'<param name="allowFullScreen" value="true"></param>' +
		'<param name="allowscriptaccess" value="always"></param>' +
		'<embed src="http://www.youtube.com/v/' + id + '&hl=nl_NL&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>' +
	'</object>';

    return code;
}

/* Einde youtube werking MartijnC www.tribal.nl*/

/* Faq module werking MartijnC www.tribal.nl */

function initFaq() {
    $("#faq").find(".question:first").parent().addClass("active");
    $("#faq").find(".question:first").siblings(".answer").addClass("answer-active");
    $("#faq").find(".question:first").siblings(".answer").slideDown("fast");
    $("#faq").find(".question").click(function(e) {
        e.preventDefault();
        $(this).parent().addClass("active");
        $(this).siblings(".answer").slideDown("fast").addClass("answer-active");
        $(this).parent().siblings("li.active").removeClass("active").children(".answer").slideUp("fast").removeClass("answer-active");
    });
}

/* Einde faq module werking MartijnC www.tribal.nl */


/* Program overwiev www.tribal.nl */

function initProgramOverwievTable() {
  if ($("#program-overwiev").length > 0) {
		$("#program-overwiev .select-table tbody > tr:has(.voorstelling > a) > td:not(.buy)")
			.css("cursor", "pointer")
			.click(function() {
				window.location = $(this).parent().find(".voorstelling > a").attr("href");
			});
	
	}
}

/* Program overwiev www.tribal.nl */



/* 
* jQuery slideShow v1.3.0
*/

jQuery.fn.slideShow = function(_options) {
    // defaults options	    
    var _options = jQuery.extend({
        slideEl: 'div.slide',
        linkNext: 'a.next',
        linkPrev: 'a.prev',
        linkPause: 'a.pause',
        numElement: 'div.slideNav li a',
        duration: 500,
        autoSlideShow: false,
        switchTime: 3000,
        noCicle: false,
        disableClass: 'no-active',
        event: 'click',
        currentEl: 'span.cur',
        allEl: 'span.all',
        hideBeforeShow: false,
        hoverStopGallery: true
    }, _options);
    return this.each(function() {
        var _THIS = jQuery(this),
			_slideEl = jQuery(_options.slideEl, _THIS),
			_linkNext = jQuery(_options.linkNext, _THIS),
			_linkPrev = jQuery(_options.linkPrev, _THIS),
			_linkPause = jQuery(_options.linkPause, _THIS),
			_numElement = jQuery(_options.numElement, _THIS),
			_currentEl = jQuery(_options.currentEl, _THIS),
			_allEl = jQuery(_options.allEl, _THIS),
			_duration = _options.duration,
			_switchTime = _options.switchTime,
			_numElActive, _timer = false, _hover = false, _current = 0, _next = 0, _pause = true;

        if (!_slideEl.filter('.active').length) {
            _slideEl.eq(0).addClass('active');
            _current = 0;
        } else {
            _current = _slideEl.index(_slideEl.filter('.active'));
        }
        _slideEl.not(".active").hide();

        if (jQuery(_numElement).length && _options.numElement) activeNumEl();
        if (_options.autoSlideShow) {
            _pause = false;
            _timer = setTimeout(function() { nextEl() }, _switchTime);
            if (_linkPause.length && _options.linkPause) _linkPause.addClass('play')
            if (_options.hoverStopGallery) contentHover();
        }
        if (_options.currentEl && _currentEl.length) {
            _allEl.html(_slideEl.length);
            currentNum();
        }
        if (_linkNext.length && _options.linkNext) {
            _linkNext.click(function() {
                nextEl();
                return false;
            });
        }
        if (_options.noCicle) {
            _linkPrev.addClass('prev-' + _options.disableClass);
        }
        if (_linkPrev.length && _options.linkPrev) {
            _linkPrev.click(function() {
                _linkNext.removeClass('next-' + _options.disableClass);
                if (!_slideEl.is(':animated') && !jQuery(this).hasClass('prev-' + _options.disableClass)) {
                    if (_timer) clearTimeout(_timer);
                    _next = _current - 1;
                    if (_next < 0) _next = _slideEl.length - 1;
                    if (_options.noCicle && _next - 1 < 0) {
                        jQuery(this).addClass('prev-' + _options.disableClass);
                    }
                    fadeElement();
                    activeNumEl();
                    pauseCode();
                }
                return false;
            });
        }
        if (_numElement.length && _options.numElement) {
            _numElement.bind(_options.event, function() {
                if (!_slideEl.is(':animated')) {
                    _next = _numElement.index(jQuery(this));
                    _linkNext.removeClass('next-' + _options.disableClass);
                    _linkPrev.removeClass('prev-' + _options.disableClass);
                    if (_options.noCicle && _next + 1 >= _slideEl.length) _linkNext.addClass('next-' + _options.disableClass);
                    if (_options.noCicle && _next - 1 < 0) _linkPrev.addClass('prev-' + _options.disableClass);
                    if (_timer) clearTimeout(_timer);
                    if (!_slideEl.eq(_next).hasClass("active")) {
                        fadeElement();
                        activeNumEl();
                        pauseCode();
                    }
                }
                return false;
            });
        }
        if (_linkPause.length && _options.linkPause) {
            _linkPause.click(function() {
                if (!_pause) {
                    jQuery(this).removeClass('play');
                    clearTimeout(_timer);
                    _pause = true;
                } else {
                    jQuery(this).addClass('play');
                    _timer = setTimeout(function() { nextEl() }, _switchTime);
                    _pause = false;
                }
                return false;
            });
        }
        function fadeElement() {
            if (_current != _next) {
                _slideEl.removeClass('active');
                _slideEl.eq(_current).addClass('hide');

                if (!_options.hideBeforeShow) {
                    _slideEl.eq(_next).fadeIn(_duration, function() {
                        _slideEl.filter('.hide').hide().removeClass('hide');
                    }).addClass('active');
                } else {
                    _slideEl.filter('.hide').fadeOut(_duration, function() {
                        _slideEl.eq(_next).fadeIn(_duration);
                    }).removeClass('hide');
                }
                _current = _next;
                if (_options.currentEl && _currentEl.length) currentNum();
            }
        };
        function currentNum() {
            _currentEl.html(_current + 1);
        }
        function activeNumEl() {
            _numElement.parent().removeClass("active");
            _numElement.eq(_current).parent().addClass("active");
        };
        function nextEl() {
            _linkPrev.removeClass('prev-' + _options.disableClass);
            if (!_slideEl.is(':animated') && !_linkNext.hasClass('next-' + _options.disableClass)) {
                if (_timer) clearTimeout(_timer);
                _next = _current + 1;
                if (_next == _slideEl.length) _next = 0;
                if (_options.noCicle && _next + 1 >= _slideEl.length) {
                    _linkNext.addClass('next-' + _options.disableClass);
                }
                fadeElement();
                activeNumEl();
                pauseCode();
            }
        };
        function pauseCode() {
            if (!_pause) {
                if (_linkPause.length && _options.linkPause) {
                    if (_linkPause.hasClass('play')) {
                        _timer = setTimeout(function() { nextEl() }, _switchTime);
                    }
                } else {
                    _timer = setTimeout(function() { nextEl() }, _switchTime);
                }
            }
        }
        function contentHover() {
            _hover = true;
            _slideEl.mouseenter(function() {
                if (_timer) clearTimeout(_timer);
            }).mouseleave(function() {
                pauseCode();
            });
        }
    });
}

/*
* jQuery galleryCircle v1.1.2
*/

jQuery.fn.galleryCircle = function(_options) {
    // defaults options	
    var _options = jQuery.extend({
        btPrev: 'a.prev',
        btNext: 'a.next',
        holderList: 'div',
        scrollElParent: 'ul',
        scrollEl: 'li',
        duration: 1000,
        slideNum: false,
        step: false,
        autoRotation: false
    }, _options);

    return this.each(function() {
        var _this = jQuery(this);
        var _next = $(_options.btNext, _this).length ? $(_options.btNext, _this) : false;
        var _prev = $(_options.btPrev, _this).length ? $(_options.btPrev, _this) : false;
        var _holderList = $(_options.holderList, _this);
        var _scrollElParent = $(_options.scrollElParent, _holderList);
        var _scrollEl = $(_options.scrollEl, _scrollElParent);
        var _cloneEl = _scrollEl.clone();
        var _cloneEl2 = _scrollEl.clone();
        var _scrollElWidth = _scrollEl.outerWidth(true);

        var _widthSum = _scrollElWidth * _scrollEl.length;
        var _step = _holderList.outerWidth();
        var _margin = _widthSum;
        if (_options.step) {
            _step = _scrollEl.eq(0).outerWidth(true) * _options.step;
        }

        _scrollElParent.append(_cloneEl);
        _scrollElParent.prepend(_cloneEl2);
        _scrollElParent.css('marginLeft', -_margin);

        if (_options.btNext) {
            _next.click(function() {
                if (!_scrollElParent.is(':animated')) {
                    nextSlides();
                }
                return false;
            });
        }
        if (_options.btPrev) {
            _prev.click(function() {
                if (!_scrollElParent.is(':animated')) {
                    prevSlides();
                }
                return false;
            });
        }

        var _timer = false;
        if (_options.autoRotation) {
            _timer = setInterval(function() { nextSlides(); }, _options.autoRotation);
        }

        if (_options.slideNum) {
            if (!$(_options.slideNum, _this).is('a')) {
                var _lis = '<ul>';
                for (var i = 0; i < _widthSum / _step; i++) {
                    _lis += '<li><a href="#">' + i + '</a></li>';
                }
                _lis += '</ul>';
                $(_options.slideNum, _this).append(_lis);
                var _tabs = $(_options.slideNum + ' a', _this);
            } else _tabs = $(_options.slideNum, _this)
            _tabs.eq(0).parent().addClass('active');
            _tabs.each(function(i) {
                $(this).click(function() {
                    if (!_scrollElParent.is(':animated')) {
                        setActive(i);
                        if (_timer) {
                            clearInterval(_timer);
                            _timer = setInterval(function() { nextSlides(); }, _options.autoRotation);
                        }
                        _margin = _widthSum + _step * i;
                        _scrollElParent.animate({ 'marginLeft': -_margin }, { duration: _options.duration });
                    }
                    return false;
                });
            });
            function setActive(_i) {
                _tabs.parent().removeClass('active');
                if (_i != null) _tabs.eq(_i).parent().addClass('active');
                else {
                    _tabs.eq((_margin - _widthSum) / _step).parent().addClass('active');
                }
            }
        }

        function nextSlides() {
            if (_timer) {
                clearInterval(_timer);
                _timer = setInterval(function() { nextSlides(); }, _options.autoRotation);
            }
            _margin += _step;
            _scrollElParent.animate({ 'marginLeft': -_margin }, { duration: _options.duration, complete: function() {
                if (_margin >= _widthSum * 2) {
                    _margin = _widthSum + (_margin - _widthSum * 2);
                }
                if (_options.slideNum)
                    setActive();
                _scrollElParent.css({ 'marginLeft': -_margin });
            } 
            });
        }
        function prevSlides() {
            if (_timer) {
                clearInterval(_timer);
                _timer = setInterval(function() { nextSlides(); }, _options.autoRotation);
            }
            _margin -= _step;
            _scrollElParent.animate({ 'marginLeft': -_margin }, { duration: _options.duration, complete: function() {
                if (_margin < _widthSum) {
                    _margin = _widthSum * 2 - (_widthSum - _margin);
                }
                if (_options.slideNum)
                    setActive();
                _scrollElParent.css({ 'marginLeft': -_margin });
            } 
            });
        }


    });
}

function initTellaFriend(){

	$(".user-form").find(".submit-tellafriend").click(function(e){
		e.preventDefault();

		var naam_vriend = $("#naam_vriend").val();
		var email_vriend = $("#email_vriend").val();
		var naam = $("#naam").val();
		var email = $("#email").val();
		
		var url = "http://tb.axendo.net/vriend-uitnodigen?naam="+naam+"&amp;email="+email+"&amp;vriend_naam="+naam_vriend+"&amp;vriend_email="+email_vriend;
	
		$("body").overlay({
			src : '<iframe src="'+url+'" height="400px" width="100%" frameborder="0"></iframe>',
			window_height: '400'
		});
	});
}

function initInviteFriend() {

    $(".user-form").find(".submit-invitefriend").click(function(e) {
        e.preventDefault();

        var naam_vriend = $(".InviteRN").val();
        var email_vriend = $(".InviteRE").val();
        var naam = $(".InviteSN").val();
        var email = $(".InviteSE").val();

        var nodeId = $(this).attr("title");

        var url = "http://www.festivalboulevard.nl/vriend-uitnodigen?sn=" + naam + "&amp;se=" + email + "&amp;rn=" + naam_vriend + "&amp;re=" + email_vriend + "&amp;pi=" + nodeId;

        $("body").overlay({
            src: '<iframe src="' + url + '" height="400px" width="100%" frameborder="0"></iframe>',
            window_height: '400'
        });

    });
}

function initSubmitPopup() {
    $(".online-form").find(".submit-popup").click(function(e) {
        e.preventDefault();
        var url = $(this).attr("href");

        $("body").overlay({
            src: '<iframe src="' + url + '" height="400px" width="100%" frameborder="0"></iframe>',
            window_height: '400'
        });

    });
}

function initWerkwijze(){

	$(".online-form").find(".submit-werkwijze").click(function(e){
		e.preventDefault();
		
		var href = $(this).attr('href');
	
		$("body").overlay({
			src : '<iframe src="'+href+'" height="400px" width="100%" frameborder="0"></iframe>',
			window_height: '400'
		});
	});
}

function initNs(){
	$("h4").each(function(){
		if ($(this).text() == "NS Reisplanner")
		{
			$(this).siblings("p").children("a").click(function(e){
				e.preventDefault();
				$("body").overlay({
					window_width: '420',
					window_height: '450',
					src : '<iframe src="/ns-widget.html" style="margin-left: 10px;" width="400" height="415" frameborder="none" scrolling="no"></iframe>'
				});
			});	
		}
	});
}

function initHomepageTabs(){
	if ($('#homepage-tabs').length > 0) {
		var tabContainers = $('#homepage-tabs .tab-content');
		
		$('#homepage-tabs .tab-content:eq(0)').slideShow({
			slideEl: 'ul.rotatebox li',
			linkNext: 'a.next',
			linkPrev: 'a.prev',
			linkPause: 'a.pause',
			numElement: 'ul.pager li a',
			duration: 200,
			autoSlideShow: true,
			switchTime: 4000,
			noCicle: false,
			disableClass: 'no-active',
			event: 'click',
			currentEl: 'span.cur',
			allEl: 'span.all',
			hideBeforeShow: true,
			hoverStopGallery: true
		});
	
		$('#homepage-tabs .tab-navigation a').click(function () {
			tabContainers.addClass("visually-hidden");
			
			if (!tabContainers.filter(this.hash).hasClass("slider-enabled")) {
				tabContainers.filter(this.hash)
					.addClass("slider-enabled")
					.slideShow({
						slideEl: 'ul.rotatebox li',
						linkNext: 'a.next',
						linkPrev: 'a.prev',
						linkPause: 'a.pause',
						numElement: 'ul.pager li a',
						duration: 200,
						autoSlideShow: true,
						switchTime: 4000,
						noCicle: false,
						disableClass: 'no-active',
						event: 'click',
						currentEl: 'span.cur',
						allEl: 'span.all',
						hideBeforeShow: true,
						hoverStopGallery: true
					});
			}
			tabContainers.filter(this.hash).removeClass("visually-hidden");
			
			$('#homepage-tabs .tab-navigation li').removeClass('active');
			$(this).parent().addClass('active');
			return false;
		}).filter(':first').click();
	}
}

function initHomepageProgramTips() {
	var maxHeight = 0;
	$('.program-tips .rotatebox li').each(function() {
		if ($(this).outerHeight() > maxHeight) {
			maxHeight = $(this).outerHeight();
		}
	});
	$('.program-tips .rotatebox').height(maxHeight);
	
	// PROGRAM TIPS ***************		
	$('.program-tips').slideShow({
		slideEl: 'ul.rotatebox li',
		linkNext: 'a.next',
		linkPrev: 'a.prev',
		linkPause: 'a.pause',
		numElement: 'ul.pager li a',
		duration: 200,
		autoSlideShow: true,
		switchTime: 4000,
		noCicle: false,
		disableClass: 'no-active',
		event: 'click',
		currentEl: 'span.cur',
		allEl: 'span.all',
		hideBeforeShow: true,
		hoverStopGallery: true
	});
}

