(function ($) {
    $.isJSON = function (json) {
        json = json.replace(/\\["\\\/bfnrtu]/g, '@');
        json = json.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']');
        json = json.replace(/(?:^|:|,)(?:\s*\[)+/g, '');
        return (/^[\],:{}\s]*$/.test(json))
    }

$.fn.isJSON = function () {
        var json = this;
        if (jQuery(json).is(":input")) {
            json = jQuery(json).val();
            json = new String(json);
            return jQuery.isJSON(json)
        } else {
            throw new SyntaxError("$(object).isJSON only accepts fields!");
        }
    }

    String.prototype.isJSON = function () {
        var y = this;
        return jQuery.isJSON(y);
    }


})(jQuery);

if(typeof(displayInterstitial)=='undefined'){
	var displayInterstitial = false;
}

var CrisisManagement = {
	cookieName : 'stadefrance-crisis',
	cookieExpire : 3600 * 24 * 1000,
	initialize: function() {
	    if(! $.cookie(this.cookieName)) {
            var myself = this;
			$.ajax({
				type :"GET",
				url :'/crisis/',
				success : function(data) {
					if(data.length) {
						var date = new Date();
						$.fancybox(
                                                    data,
                                                    {padding:22}
                                                );
			            date.setTime(date.getTime() + myself.cookieExpire);
						$.cookie(myself.cookieName, 'true', {expires: date, path: '/'});
					}
				}
			});
		}
	},
	open: function() {
	    $('#overlay').show();
	    setOverlaySize();
	    $('#overlaybox').show();
	    setOverlayPosition();
	    $('#overlaybox a.close').click(function(){
		    $('#overlay').hide();
		    $('#overlaybox').hide();
            $('select, iframe').css('visibility', 'visible');
	    });
	}
}

var url = window.location.toString();
var Interstitial = {
	cookieName : 'stadefrance-interstitial',
	cookieExpire : 3600 * 6 * 1000,
	initialize: function() {

            var isiPad = navigator.userAgent.match(/iPad/i) != null; 	
            var isiPhone = navigator.userAgent.match(/iPhone/i) != null; 	
            var isiPod = navigator.userAgent.match(/iPod/i) != null;
            if ((isiPad || isiPhone || isiPod || !FlashDetect.installed) && $('#flash_file').length){
                displayInterstitial = false;
            }

		if (url.indexOf('noredir',0) < 1) {
			if(! displayInterstitial || $.cookie(this.cookieName) || $('#homeFb').length || $('#evtFb').length) {
				displayInterstitial = false;
			}
			if(displayInterstitial) {
				window.location = "/interstitial.html?page=" + encodeURIComponent(window.location.href);
				var date = new Date();
				date.setTime(date.getTime() + this.cookieExpire);
				$.cookie(this.cookieName, 'true', {expires: date, path: '/'});
			}
		}
                if (!displayInterstitial) {
                    CrisisManagement.initialize();
                }
	}
}

var Connection = {
	cookieName : 'stadefrance-',
	cookieExpire :  3600 * 24 * 1000,
	cookiesList : ['press', 'customers', 'groups'],
	initialize: function() {
		var date = new Date();
		date.setTime(date.getTime() + this.cookieExpire);
		var env = $('body').attr('class');
        var cookieName = this.cookieName + env;
		var realLogged = false;
		if($('#connection.logged').length) {
			realLogged = true;
		}
		if(null === $.cookie(cookieName)) {
                        var today = new Date();
                        if((env === 'customers' && $.cookie('logged-CSDF-INT1') != 0 && $.cookie('logged-CSDF-INT1') > (today.getTime()/1000)) || (env === 'groups' && $.cookie('logged-CSDF-SPRO1') != 0 && $.cookie('logged-CSDF-SPRO1') > (today.getTime()/1000))) {
				var redir = window.location;
				var params = 'environment=' + env + '&redir=' + encodeURIComponent(redir);
				getAjaxContent(params, 'Connection.redirectTo', {url: '/cas/get-connect-url/format/json'});
			}
                        if (env === 'press') {
                            $('.link_medias').hide();
                        }
		}

        if($.cookie(cookieName) && ! realLogged) {
            var jsonCookie = eval("(" + $.cookie(cookieName).replace(/\n/g, "") + ")");
            $('#header .tools#connection').replaceWith(decodeURIComponent(jsonCookie.connection));
            /*if(jsonCookie.tools) {
                $('#tools').replaceWith(decodeURIComponent(jsonCookie.tools));
            }*/
        }

        if($.cookie(cookieName + '-alerting')) {
        	var jsonCookie = eval("(" + $.cookie(cookieName + '-alerting').replace(/\n/g, "") + ")");
        	if(jsonCookie.event) {
        		var parameters = "environment=" + jsonCookie.environment;
    		    parameters += '&event=' + jsonCookie.event;
    		    parameters += '&clearCookie=1';
        		getAjaxContent(parameters, 'displayFancyContent', {url: '/newsletter/add-alert/format/json'});
        	}
        }
		$('#connection').show();
	},
    redirectTo: function(resp) {
		if(resp.url) {
			window.location = resp.url;
			return false;
		}
    },
	removeAll : function() {
		var cookieName = "";
		for(var i in this.cookiesList) {
			cookieName = this.cookieName + this.cookiesList[i];
			$.cookie(cookieName, null, {path: '/'});
		}
	}
}

$.fn.swapImg = function( src, alt ) {
    var $img = this;
    var img = $('<img src="' + src + '" />');
    $img.fadeTo('slow', 0.0, next );
    
    function next() {
        $img.attr({src: src, alt: alt}).fadeTo('slow', 1.0 );
    }
};

function bindSeatingForm() {
    if($(".seating-search #eventType").length) {
		$(".seating-search #eventType").change(setMap);
		$(".moteur input[type='text']").each(function(element) {
			$("#" + this.id).keyup(setMarker);
		});
		$(".moteur input#valid").click(function() {setMarker(true);return false;});
		setMarker();
    }
}

$(document).ready(function () {

    Connection.initialize();
    PmuOdds.initialize();
    bindSeatingForm();

    if($("#account .newsletter").length || $("#alert-box:not(.customers) a").length || $(".evenement-list .alert:not(.customers)").length || $("#curently-offers .alert:not(.customers)").length) {
        $("#account .newsletter span:first, #alert-box:not(.customers) a, .evenement-list .alert:not(.customers), #curently-offers .alert:not(.customers)").click(function() {
	    if ($("body").attr('class') == 'societies' && $('.serviceform').length) {
	        document.location = $('.serviceform').attr('href');
	        return false;
	    }
	    var parameters = "environment=" + $("body").attr('class');
            if ($(this).hasClass('newsletter-subscribe')) {
                parameters += '&type=newsletter';
            } else if($('#alert-box a').length || $('.evenement-list .alert').length || $("#curently-offers .alert").length) {
	        parameters += '&type=alert-event';
	    }
	    getAjaxContent(parameters, 'displayFancyContent', {url: '/newsletter/infos/format/json'});
	    return false;
	    });
    }

    if($('.evenement-list .alert.customers, #curently-offers .alert.customers, #alert-box.customers a').length) {
	    $('.evenement-list .alert.customers, #curently-offers .alert.customers, #alert-box.customers a').click(function() {
	    	var environment = $("body").attr('class');
	    	var parameters = "environment=" + environment;
		    var eventId = $(this).attr('class').replace('alert', '').replace(environment, "").replace('event_', '');
		    parameters += '&event=' + eventId;
		    parameters += '&url=' + encodeURIComponent(window.location.href);
		    getAjaxContent(parameters, 'displayFancyContent', {url: '/newsletter/add-alert/format/json'});
		    return false;
    	});
    }
    
    $('#connection form input').each(function() {
    	$(this).val($(this).prev('label').text());
    	$(this).click(function() {
    		if(! $(this).hasClass('clicked')) {
	    		$(this).val("");
	    		$(this).addClass('clicked');
    		}
    	});
    });
    
    Interstitial.initialize();

    if($('#accordion .slideshow ul').size() && (! displayInterstitial || $.cookie('stadefrance-interstitial'))) {
        var itemsList = new Array();
        $('#accordion .slideshow ul li a').each(function(index) {
            itemsList[index] = $(this);
        });
            $('#accordion .slideshow ul').jcarousel({
                wrap: 'circular',
                animation: 'slow',
                scroll: 1,
                buttonPrevHTML: null,
                buttonNextHTML: null,
                itemVisibleInCallback:{onAfterAnimation: function(carousel, item, i, state, evt) {
                    $(".slideshow ul li a").fancybox({
                        'titlePosition' : 'inside',
                        'titleFormat'   : formatTitle,
                        'padding' : 22
                    });
                }},
                initCallback: function(carousel) {
                    if($('.slideshow .next').size()) {
                        $('.slideshow .next').bind('click', function() {
                            carousel.next();
                            return false;
                        });
                    }
                    if($('.slideshow .previous').size()) {
                        $('.slideshow .previous').bind('click', function() {
                            carousel.prev();
                            return false;
                        });
                    }
                    $(".slideshow ul li a").fancybox({
                        'titlePosition' : 'inside',
                        'titleFormat'   : formatTitle,
                        'padding' : 22
                    });
                }
            });
    }

    if ($('#right-column .illustration').size()) {
        $('#right-column .illustration').jcarousel({
            auto: 4,
            wrap: 'circular',
            animation: 'slow',
            scroll: 1
        });
    } else {
        if($('.illustration').size()) {
            if($('.illustration img').size() > 1 && (! displayInterstitial || $.cookie('stadefrance-interstitial'))) {
    		$('.img-nav').show();
	        var imagesPageList = new Array();
	        $('.illustration ul li img').each(function(index) {
	        	imagesPageList[index] = $(this);
	        });

	    	$('.illustration').jcarousel({
	    		auto: 4,
	    		wrap: 'circular',
		        animation: 'slow',
		        scroll: 1,
		        buttonPrevHTML: null,
		        buttonNextHTML: null,
                        itemFallbackDimension:776,
		        itemVisibleInCallback: {onBeforeAnimation: function(carousel, item, i, state, evt) {
		            var idx = carousel.index(i, imagesPageList.length);
		            carousel.add(i, mycarousel_getItemHTML(imagesPageList[idx - 1]));
		            carousel.startAuto();
		        }},
		        itemVisibleOutCallback:{onAfterAnimation: function(carousel, item, i, state, evt) {
		            carousel.remove(i);
		        }},
		        initCallback: function(carousel) {
		            if($('.img-nav .next').size()) {
		                $('.img-nav .next').bind('click', function() {
		                    carousel.startAuto(0);
		                    carousel.next();
		                    return false;
		                });
		            }
		            if($('.img-nav .prev').size()) {
		                $('.img-nav .prev').bind('click', function() {
		                    carousel.startAuto(0);
		                    carousel.prev();
		                    return false;
		                });
		            }
		            carousel.clip.hover(function() {
		                carousel.stopAuto();
		            }, function() {
		                carousel.startAuto();
		            });
		        }
	    	});
            }
        }
    }
   
    if($('#hours li').size() > 1) {
        $('#hours').vTicker({
               speed: 1000,
               pause: 3000
        });
    }
 
    var fancyFormsLinks = new Array('.reservation .sociale-share a.mail', '#connection .email');
    for(var index in fancyFormsLinks) {
        if($(fancyFormsLinks[index]).size()) {
            if($.fancybox) {
                $(fancyFormsLinks[index]).fancybox({
                    'onComplete':function(){
                        $('#fancybox-inner form button').live('click', function(event) {
                            $.post($('#fancybox-inner form').attr('action'), $("#fancybox-inner form").serialize(), function(data){
                                $('#fancybox-inner').html(data);
                                $.fancybox.resize();
                            });
                            return false;
                        });
                    }
                });
            }
        }
    }
    
    resizeText();
    
    //Basket and Order lightbox
    $('#tools ul li a').click(function() {
        $('#overlaybox').remove();
        $('#overlay').remove();
        var content = "";
        var href = $(this).attr('href'); 
		$.ajax({
			type :"GET",
			url :'/index/show-lightbox/?format=ajax',
			success : function(content) {
            	if (content.toString().length > 0) {
		    	    $('body').append('<div id="overlay"></div><div id="overlaybox"><a href="#" class="close">Close X</a><h2><img src="/skins/csdf-2009/images/fr/alaune.gif" alt="" /></h2><div>' + content + '</div></div>');
		            $('#overlay').show();
		            setOverlaySize();
		            $('#overlaybox').show();
		            setOverlayPosition();
		            $('#overlaybox a.close').click(function(){
		    	        $('#overlay').hide();
		    	        $('#overlaybox').hide();
                        $('select, iframe').css('visibility', 'visible');
                        window.location.replace(href);
		            });
            	} else {
                    window.location.replace(href);
            	}
			}
		});
        return false;
    });
   
    // Reseize the body link
    if ($('#backgroundUrl').length) {
        $('#backgroundUrl').height(($(document).height()));
    }
    
    if($('.sold-out a, .sale-disabled a').length) {
    	$('.sold-out a, .sale-disabled a').click(function() {
    		var classes = $(this).parent().attr('class').split(' ');
    		var id = '';
    		var type = '';
    		for(k in classes) {
    			if(classes[k].indexOf('id-') != -1) {
    				id = classes[k].replace('id-', '');
    			}
    			if(classes[k].indexOf('type-') != -1) {
    				type = classes[k].replace('type-', '');
    			}
    		}
    		if(id) {
    			$('#overlaybox').remove();
    	        $('#overlay').remove();
    	        var url = (type != '') ? '/event/index/get-suspension/format/json' : '/event/index/get-content/format/json';
    			var params = 'id=' + id + '&type=' + type;
    			getAjaxContent(params, 'displayFancyContent', {'url': url});
    		}
            return false;
        });
    }
    // TODO: voir si on doit reprendre les selecteurs
    if($('body').hasClass('header-footer')) {
    	$("#menu li a, map[name='banner_map'] area, #footer li.main a:not([target])").each(function() {
    		$(this).attr('target', '_parent');    		
    	});
    }    
    
    
    /* New features */
    $('#my-nav ul li, ul.stade li').hover(function(){
        $(this).addClass('hover');
    }, function () {
        $(this).removeClass('hover');
    });
	
    if ($('#account').length){
        $('#account li.unconnect span').click(function(){
            $('#account li.unconnect ul').slideToggle();
        });
        $('#account li.connect span').click(function(){
            $('#account li.connect ul').slideToggle();
        });
    }
	
    if ($('#organize').length){
        //if ($('#organize li.on').length) {
            $('#organize li h3').click(function() {
                $.fancybox({
                    onComplete: eventFancy.bind,
                    padding:22,
                    type:'ajax',
                    href:$(this).siblings('div').find('a').attr('href'),
                    ajax : {type:"POST"}
                });
            });
        /*} else {
            $('#organize li h3').click(function() {
                $(this).siblings('div').slideToggle();
                $(this).parent().toggleClass('on');
            });
        }*/
    }
    /*---- Accordion ----*/
    initMenu();
    /*---- popin ----------*/
    if ($('a.popin-fancy').length) {
        $('a.popin-fancy').fancybox({
            'titleShow' : false,
            'padding' : 22,
            'onComplete' : function () {$.fancybox.resize();},
            'ajax' : {type:"POST"}
        });
    }
    if( jQuery().fancybox){
        $("#liste_produits .popin").fancybox({'padding':22, 'onComplete' : function () {$.fancybox.resize();}, 'ajax' : {type:"POST"}});
    }
    if($("#facebook:not([class]) #fb_like").length) {
        if ($('body').attr('class') == 'societies') {
            $("#facebook:not([class])").addClass('event');
        } else {
            $("#fb_like").fakeXFBML("like-box", {"href":"http%3A%2F%2Fwww.facebook.com%2FStadeFrance","stream":"false","width":"266","height":"215"});
        }
    }
    if($("#facebook.event #fb_like").length) {
        $("#fb_like").fakeXFBML("like-box", {"href":"http%3A%2F%2Fwww.facebook.com%2FStadeFrance","stream":"false","width":"266","show_faces":"false"});
    }
    $('.search-box input').click(function() {
        $(this).val("");
    });

    if ($('#popinArticleContent').length && $('#popinArticleContent').html().length) {
        $.fancybox($('#popinArticleContent').html(),
                  {padding:22}
        );
    }

    /* End News features */
    
    /* caroussel et slider */  
    if ($("#slider").length) {
        $("#slider").slider({
            step:1,
            min: 1,
            max: $('#mycarousel li').length-4,
            animate: true 
        });
    }
    
    if ($('#mycarousel').length) {
        $('#mycarousel').jcarousel({
            scroll:1, 
            start:1,
            initCallback: mycarousel_initCallback,
            buttonNextHTML:'<div id="n1"><b>></b></div>',
            buttonPrevHTML:'<div id="p1"><b><</b></div>'
        });
    }
    if ($("#slider2").lenth) {
        $("#slider2").slider({
            step:1,
            min: 1,
            max: $('#mycarousel2 li').length-4,
            animate: true 
        });
    }
    
    if ($('#mycarousel2').length) {
        $('#mycarousel2').jcarousel({
            scroll:1, 
            start:1,
            initCallback: mycarousel2_initCallback,
            buttonNextHTML:'<div id="n2"><b>></b></div>',
            buttonPrevHTML:'<div id="p2"><b><</b></div>'
        });
    }
    
    $('#p1').click(function(){
            $("#slider").slider( "value" , $("#slider").slider( "value")-1);
    });
    $('#n1').click(function(){
            $("#slider").slider( "value" , $("#slider").slider( "value")+1);
    });
    $('#p2').click(function(){
            $("#slider2").slider( "value" , $("#slider2").slider( "value")-1);
    });
    $('#n2').click(function(){
            $("#slider2").slider( "value" , $("#slider2").slider( "value")+1);
    });
    /* caroussel et slider */ 
    
});

function mycarousel_initCallback(carousel) {
    $('#slider').bind('slidechange', function(event, ui) {
        carousel.scroll($.jcarousel.intval(ui.value));
    });
}

function mycarousel2_initCallback(carousel) {
    $('#slider2').bind('slidechange', function(event, ui) {
        carousel.scroll($.jcarousel.intval(ui.value));
    });
}

/* New features */
function initMenu() {
    $('#accordion > li > ul:not(.content),#accordion2 > li > ul:not(.content)').hide();
    $('#accordion ul.errors').show();
    var arrayUrl = document.location.toString().split('/');
    var n = arrayUrl[arrayUrl.length-1];
    if (n.length == 0 || (/[^0-9]/).test(n)) {
         arrayUrl = document.location.toString().split('#');
         n = arrayUrl[arrayUrl.length-1];
    }
    if (n.length == 0 || (/[^0-9]/).test(n)) {
        n = 0;
    } else {
        n--;
    }

    $('#accordion >li:eq(' + n + ') ul').show();
    $('#accordion > li:eq(' + n + ')').addClass('on');
    // Si pass visite et pas d'onglet ouvert en particulier, on ouvre aussi le second onglet
    if (n==0 &&  $('#accordion.visit').length) {
        $('#accordion >li:eq(1) ul').show();
        $('#accordion > li:eq(1)').addClass('on');
    }
    if (n>0) {
        $('#accordion2 ul.tab_content:eq(' + n + ')').show();
        $('#accordion2 > li:eq(' + n + ')').addClass('on');
    }
            
    $('#accordion li.accordion-item, #accordion2 li.accordion-item').each(function(index, domElem){
        if ($(this).find('ul.errors').length){
            $('#accordion ul:first,#accordion2 ul:first').hide();
            $('#accordion li:first,#accordion2 li:first').removeClass('on');
            $(this).addClass('on');
            $('ul:first', this).show();
        }else if ($(this).find('p.message').length){
            $('#accordion ul:first,#accordion2 ul:first').hide();
            $('#accordion li:first,#accordion2 li:first').removeClass('on');
            $(this).addClass('on');
            $('ul:first', this).show();
        }
    });

    $('#accordion li h3,#accordion2 li h3').click(function() {
        var checkElement = $(this).next();
        if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
            $(this).parent().removeClass('on');
            checkElement.slideUp('normal');
            return false;
        }
        if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('#accordion ul:visible,#accordion2 ul:visible').slideUp('normal');
            $('#accordion li,#accordion2 li').removeClass('on');
            $(this).parent().addClass('on');
            checkElement.slideDown('normal');
            return false;
        }
    }
    );
}

/* New features */
function initEmotions() {
    $('#accordion2 ul').hide();
    $('#accordion2 ul:first').show();
    $('#accordion2 li:first').addClass('on');
    $('#accordion2 li h3').click(function() {
        var checkElement = $(this).next();
        if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
            return false;
        }
        if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('#accordion2 ul:visible').slideUp('normal');
            $('#accordion2 li').removeClass('on');
            $(this).parent().addClass('on');
            checkElement.slideDown('normal');
            return false;
        }
    }
    );
}

(function($){
    $.fn.fakeXFBML = function( fb_tag , params ){
        var container = $(this);
        params = params || {};
        fb_tag = $("<fb:" + fb_tag + "></fb:" + fb_tag + ">");
        $.each(params, function( key , value ) {
            fb_tag.attr( key , value );
        });
        fb_tag.appendTo(container);
    };
})(jQuery);
/* End News features */

function displayFancyContent(jsonResponse) {
    if(jsonResponse.url) {
        window.location = jsonResponse.url;
    }
	if(jsonResponse.content) {
		if($('#overlaybox').length) {
			$('#overlaybox').replaceWith(jsonResponse.content);
		} else {
			$('body').append(jsonResponse.content);
		}
        $('#overlay').show();
        setOverlaySize();
        $('#overlaybox').show();
        setOverlayPosition();
        $('#overlaybox a.close').click(function(){
	        $('#overlay').hide();
	        $('#overlaybox').hide();
            $('select, iframe').css('visibility', 'visible');
            return false;
        });
	}
}

function resizeText() {
	$('#resizing-tool a:eq(0)').click(function() {
		$('#wrapper').css('fontSize', '1em');
		return false;
	});
	$('#resizing-tool a:eq(1)').click(function() {
		$('#wrapper').css('fontSize', '1.1em');
		return false;
	});
	$('#resizing-tool a:eq(2)').click(function() {
		$('#wrapper').css('fontSize', '1.2em');
		return false;
	});
}

function formatTitle(title, currentArray, currentIndex, currentOpts) {
    return '<div id="slideshow-title">' + (title && title.length ? '<strong>' + title + '</strong> ' : '' ) + '</div>';
}

function mycarousel_getItemHTML(item) {
	if(item[0].tagName.toLowerCase() == 'img') {
		return '<img src="' + item.attr('src') + '" alt="' + item.attr('alt') + '"/>';
	} else {
		var image = item.find('img');
		return '<a href="' + item.attr('href') + '" title="' + item.attr('title') + '"><img src="' + image.attr('src') + '" alt="' + image.attr('alt') + '" /></a>';
	}
}

function isObject(o) {
	return (typeof (o) == "object");
}

function getAjaxContent(parameters, callBack, settings) {
	try {
		var url = '';
		if (settings != null && isObject(settings)) {
			if (settings.parameters) {
				parameters = settings.parameters;
			}
		}
		$.ajax({
			type :"POST",
			data :parameters,
			url :settings.url,
			beforeSend: function() {
				if(settings.loadingSelector) {
					$(settings.loadingSelector).addClass('loading');
				}
			},
			error : function(err) {
				if(settings.loadingSelector) {
					$(settings.loadingSelector).removeClass('loading');
				}
			},
			success : function(data) {
				if(settings.loadingSelector) {
					$(settings.loadingSelector).removeClass('loading');
				}
				if (callBack) {
                                    if (typeof(data) == 'string' && !data.isJSON()) {
                                        var reg = /"/g;
                                        data = data.replace(reg,'\\\"');
                                        reg = /\n/g;
                                        data = '"' + data.replace(reg,' ') + '"';
                                     }
				    try {
					eval(callBack + '(' + data + ')');
				    } catch(err) {
					alert(err);
				    }
				} else {
					// TODO: faire fonctionner le comportement par défaut
					var jsonResult = data.responseText.evalJson();
					if (jsonResult && jsonResult.status == 1) {
						$('#content').html(jsonResult.content);
					}
				}
			}
		});
	} catch (err) {
		alert(err);
	}
}

function getBlockId(element) {
	if(!$(element).length) return false;
	if($(element).filter("[class*='block-']").length) {
		var classes = $(element).attr('class').split(' ');
		for(i in classes) {
			if(classes[i].substr(0, 6) == 'block-') {
				return classes[i].replace('block-', '');
			}
		}
	}
}

function setOverlaySize() {
    var pageSize = getPageSize();
    var scrollPos = getScrollPos();
    $('#overlay').css('height', $('body').css('height'));
    $('select, iframe').css('visibility', 'hidden');
}

function setOverlayPosition() {
    var pageSize = getPageSize();
    var scrollPos = getScrollPos();
    var dialogSize = getElementSize(document.getElementById('overlaybox'));
    var y = (pageSize[1] + scrollPos[1] - dialogSize[1])/2 ;
    $('#overlaybox').css('top', y);
}

getScrollPos = function() {
    var docElem = document.documentElement;
    var scrollX = self.pageXOffset || (docElem && docElem.scrollLeft) || document.body.scrollLeft;
    var scrollY = self.pageYOffset || (docElem && docElem.scrollTop) || document.body.scrollTop;
    var arrayPageScroll = new Array(parseInt(scrollX), parseInt(scrollY));
    return arrayPageScroll;
}

getPageSize = function() {
    var docElem = document.documentElement;
    var width = self.innerWidth || (docElem && docElem.clientWidth) || document.body.clientWidth;
    var height = self.innerHeight || (docElem && docElem.clientHeight) || document.body.clientHeight;
    var ret = new Array(parseInt(width), parseInt(height));
    return ret;
}

getElementSize = function(elem) {
    if(!elem) return false;
    var width = elem.offsetWidth || elem.style.pixelWidth;
    var height = elem.offsetHeight || elem.style.pixelHeight;
    var ret = new Array(parseInt(width), parseInt(height));
    return ret;
}

function setMap() {
    var blockId = getBlockId($(".seatings"));
    var parameters = 'getMap=1&eventType=' + $(this).val() + '&bloc=' + $("#bloc").val() + '&place=' + $("#place").val() + '&rang=' + $("#rang").val();
    if (blockId) {
        parameters = parameters + '&block=' + blockId.toLowerCase();
        getAjaxContent(parameters, 'updateMap', {url: '/block/get/format/json'});
    } else {
        parameters = parameters + '&getData=1';
        getAjaxContent(parameters, 'updateMap', {url: '/seatings/index/where-is-your-seat/format/json'});
    }
}

function updateMap(jsonresult) {
	try {
		if(jsonresult.errorMsg) {
			alert(jsonresult.errorMsg);
			return false;
		}
		if(jsonresult.block) {
			$(".seatings").html(jsonresult.block);
			setMarker();
		} else {
                        if(jsonresult.map) {
                                $("#mapContainer").html('<img src="' + jsonresult.map + '" />');
                                $("#mapContainer img").load(function(){$.fancybox.resize()});
                        }
			if(jsonresult.picture) {
				$("#message").html(jsonresult.picture);
                                $("#message img").load(function(){$.fancybox.resize()});
                                $(".ticket #credit").show();
                                $(".ticket #message").show();
			}
			if(jsonresult.position) {
				$("#form_seatings #point").css('display', 'block').css('top', jsonresult.position.y).css('left', jsonresult.position.x);
			}
		}
	} catch(err) {}
}

function setMarker(force) {
    force = (true == force) ? true : false;
	var launchRequest = true;
    if(force == false) {
        $(".moteur input[type='text']").each(function(element) {
            if(launchRequest && $(this).val() && $(this).val().length >= 2) {
                launchRequest = true;
            } else {
                launchRequest = false;
            }
        });
    } else {
        launchRequest = true;
    }
	if(launchRequest) {
		var parameters = 'bloc=' + $("#bloc").val() + '&place=' + $("#place").val() + '&rang=' + $("#rang").val() + '&selectedEventType=' + $(".seating-search #eventType").val();
		getAjaxContent(parameters, 'updateMap', {url: '/seatings/map/marker/format/json'});
	}
	return false;
}

$('#contact #validate').click( function() {
    $(this).unbind('click').click( function() {return false;}); 
})

var PmuOdds = {
	selector: '.pmu-odds',
	initialize: function() {
		if($(this.selector).length) {
			var eventId = $('#evenement-home.top').attr('class').replace("top", "").replace('event_', '');
			var parameters = 'eventId=' + eventId;
			getAjaxContent(parameters, 'PmuOdds.display', {url: '/event/pmu/get-feed/format/json'});
		}
	},
	display: function(data) {
		$(this.selector).replaceWith(data.content);
                if ($(this.selector).html() != null && !$('.evenement-list .pack-list').length) {
                    $('.fullWidth.tout_compris').addClass('nopack');
                }
	}
};

