// TICKETNET
// Defini les fonctions generales pour le site et charge toutes les fonctions au demarrage de la page


// Identifies IE version
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
	var ie7 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 7.0") != -1);
	var ie8 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 8.0") != -1);


var listTabs;
// Loading all scripts ...
window.onload = function(e) {
	


// positionnement du Timer: A gauche si fenetre < 1240px, à droite si > 1240px
if(jQuery(window).width() > 1240 )
{
jQuery(".timer").css("left",512+(jQuery(window).width()/2));
jQuery(".timer").css("top",jQuery(window).height()-95);
}
else
{
jQuery(".timer").css("left",370+(jQuery(window).width()/2));
jQuery(".timer").css("top",jQuery(window).height()-95);
}
jQuery(".timer").css("visibility","visible")
	


	// Corrects behaviour for IE6/IE7
	if (ie6) {
		inputFix();
		childFix();
		jQuery("#nav li[class!=active]").hover(
     		function () {
				jQuery(this).css("z-index", "60");
				jQuery(this).addClass("over");
     		},
			function(){
				jQuery(this).removeClass("over");
			}
	 	);
		dblClasses();
	}
	if (ie7) {
		inputFix();
		childFix();
		jQuery("#nav li a.close").hover(
			function () {
				jQuery(this).parent('li').removeClass("over");
     		}
		);
		jQuery("#nav li[class!=active]").hover(
     		function () {
					jQuery(this).addClass("over");
     		},
			function(){
					jQuery(this).removeClass("over");
			}
	 	);
	}
	
	if (ie8) {
		jQuery("form :submit").each(function() {
			if(jQuery(this).hasClass("optional")) {
				jQuery(this).parent("li").addClass("btOptional");
			} else {
				jQuery(this).parent("li").addClass("btSubmit");
			}	
		});
		jQuery("form :reset").parent("li").addClass("btReset");
		jQuery("form :disabled").parent("li").addClass("btDisabled");
		jQuery("form :radio").css("border", "none");
		jQuery("form :radio").css("background", "none");
		jQuery("form :checkbox").css("border", "none");
		jQuery("form :checkbox").css("background", "none");
		
		jQuery("#nav li a.close").hover(
			function () {
				jQuery(this).parent('li').removeClass("over");
     		}
		);
		jQuery("#nav li[class!=active]").hover(
     		function () {
					jQuery(this).addClass("over");
     		},
			function(){
					jQuery(this).removeClass("over");
			}
	 	);
	}
	
	// Printing...
	if (jQuery('a').hasClass("print")) {
		jQuery("a.print").click (function(){
			window.print();
		});
	}
	
	// ACCESSIBILITY / Shows main skip link
	jQuery("#nav p.skip").focusin(function() {
		jQuery(this).css({"left":"20px", "top":"140px"});
	});
	
	// DIALOG
	jQuery('a.dialog').each(function() {
			var $link = jQuery(this);
			var $dialog = jQuery('<div></div>')
				.load($link.attr('href') + ' #content')
				.dialog({
					autoOpen: false,
					title: $link.attr('title'),
					width: 600,
					height: 600
				});

			$link.click(function() {
				
				$dialog.dialog('open');

				return false;
			});
		});

	
	// LOGIN PULLOVER
	if(document.getElementById('login-box')) {
		jQuery("#login-box").slideUp("slow");
		jQuery("#login-box p.close").css("display", "block");
		jQuery("#login-box p.close").click(
			function () {
				jQuery("#login-box").slideToggle("slow");
     		}
	 	);
		jQuery("#my-account").hover(
     		function () {
				var vOffset = jQuery(this).offset();
				var vTop = vOffset.top;
				var vTop = vTop + 15;
				var vLeft = vOffset.left;
				var vLeft = vLeft -150;
				jQuery("#login-box").css("position", "absolute");
				jQuery("#login-box").css("top", vTop);
				jQuery("#login-box").css("left", vLeft);
				jQuery("#login-box").slideDown("slow");
     		}
	 	);
		
	}
	
	
	//TABS
	jQuery('div.tabbed-content').each(function(index) {
		divid = "#"+jQuery(this).attr("id");
		jQuery(divid).tabs();
		jQuery(this).removeClass("hidden");
  	});
	
	//Réécriture lorsque les formulaires
     /*jQuery('form').each(function(index) {
            action = jQuery(this).attr("action");
            if (action.indexOf("tknaccesspoint",0) != -1){
                  action = action.substr(action.indexOf("tknaccesspoint",0)-1,action.length);
            }     
            jQuery(this).attr("action",action); 
      });*/


	
	//if(document.getElementById("num1")) {jQuery(function() {jQuery("#num1").tabs();});}
	//if(document.getElementById("num2")) {jQuery(function() {jQuery("#num2").tabs();});}
	
	// Date picker calendar
	//if (!ie6) {
		if (document.getElementById("datepicker")) {
			jQuery.datepicker.regional['fr'] = {
				closeText: 'Fermer',
				prevText: '&#x3c;Préc',
				nextText: 'Suiv&#x3e;',
				currentText: 'Courant',
				monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
				monthNamesShort: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc'],
				dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
				dayNamesShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
				dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
				dateFormat: 'dd/mm/yy',
				firstDay: 1,
				isRTL: false
			};
			jQuery.datepicker.setDefaults(jQuery.datepicker.regional['fr']);
			jQuery("#datepicker").datepicker({
				inline: true,
				onSelect: function(dateText){
					jQuery("#datepicker_input").val(dateText);
				}
			});

		}
	
		
		//jQuery("#datepicker").datepicker("getDate")

	//}
	
}

function Afficher() {
	jQuery(".lftCol").hide();
	jQuery(".rgtCol").hide();
	jQuery("#grandplan").show();
}
function Masquer() {
	jQuery(".lftCol").show();
	jQuery(".rgtCol").show();
	jQuery("#grandplan").hide();
}

function ViderForm(form) {
	var els = form.elements;
	for(i=0;i<els.length;i++) {
		if(els[i].type=="checkbox")
		els[i].checked = false;
		
		if(els[i].type=="textarea")
		els[i].value = "";
		
		if(els[i].type=="text")
		els[i].value = "";
		
		if(els[i].type=="file")
		els[i].value = "";
	}
}

function changerRegion(form) {
	var region = form.regionsField.options[form.regionsField.selectedIndex].value;
	location = region;
}

function init_availability(){
	//SEATS AVAILABITY TABLE
	if (jQuery("table.availability")) {
		jQuery("table.availability").slideUp("slow");
		jQuery("ul.price-data li.availability").css("display", "block");
		jQuery("ul.price-data li.availability").hover(function(){
			var vOffset = jQuery(this).offset();
			var vTop = vOffset.top;
			var vTop = vTop + 28;
			var vLeft = vOffset.left;
			jQuery(this).parent('.price-data').parent('.product-data').siblings("table.availability").attr("id", "available");
			jQuery(this).parent('.price-data').parent('.product-data').siblings("table.availability").css("top", vTop);
			jQuery(this).parent('.price-data').parent('.product-data').siblings("table.availability").css("left", vLeft);
			jQuery(this).parent('.price-data').parent('.product-data').siblings("table.availability").slideDown("slow");
		}, function(){
			jQuery(this).parent('.price-data').parent('.product-data').siblings("table.availability").slideUp("slow");
			//jQuery(this).parent('.price-data').parent('.product-data').siblings("table.availability").attr("id", "");
		});
	}
}

function Affichtfc2(){
	jQuery("#tfc2").show();
	jQuery("#tfc1").hide();
}

function showRegionSelect(){
	jQuery("#chooseRegion").show();
	jQuery("#regionLink").hide();
	jQuery("#region").val("");
}

function showAccountForm(){
	jQuery("#accountForm").show();
	jQuery("#tkn_coord").hide();
}

function showAmexPreSellingBlock() {
	jQuery("#blockPreSellingAmex").show();
	jQuery("#blockEmailAlertAmex").hide();
	jQuery("#blockSessions").hide();
}

function showEmailAlertAmexBlock() {
	jQuery("#blockPreSellingAmex").hide();
	jQuery("#blockEmailAlertAmex").show();
	jQuery("#blockSessions").hide();
}

function showSessionsBlock() {
	jQuery("#blockPreSellingAmex").hide();
	jQuery("#blockEmailAlertAmex").hide();
	jQuery("#blockSessions").show();
}

function dealWithAmexPreSellingResponse() {
	if (jQuery("#ownAmexCardYes").attr("checked")) {
		showSessionsBlock();
	} else {
		showEmailAlertAmexBlock();
	}
}

function displayReadMoreLink() {
	jQuery("#infoPrez").show();
	jQuery("#infoPrezFull").hide();
	jQuery("#readMoreLink").show();
	jQuery("#readLessLink").hide();
}

function displayReadLessLink() {
	jQuery("#infoPrez").hide();
	jQuery("#infoPrezFull").show();
	jQuery("#readMoreLink").hide();
	jQuery("#readLessLink").show();
}


function addEventDeselectTab(idNewLink){
	jQuery("#"+idNewLink).click(
		function(){
			var $lis=jQuery("#"+idNewLink).parent().parent().children();
			$lis.removeClass("tabs-selected");
			jQuery("#"+idNewLink).parent().addClass("tabs-selected");
		}
	);
}

function hideElement(id){
	hideDiv(document.getElementById(id));
}

function hideDiv(myDiv){
	if(myDiv!=null){
		if (myDiv.style.display == '' || myDiv.style.display == 'block') {
			myDiv.style.display = 'none';
		}
		else {
			myDiv.style.display = 'block';
		}
	}
}

function addEventFastReservation(idButton){
	jQuery("#"+idButton).click(
		function(){
			var divTab=document.getElementById('tabs');
			var divMediaZone=document.getElementById('mediaZone');
			
			hideDiv(divTab);
			hideDiv(divMediaZone);			
		}
	);
}

function redirectToZoneError(idZone){
	if ($(idZone)) {
		document.getElementById(idZone).scrollIntoView(true);
	}
}

function updateZonePriceUntil(){
	if (typeof(defaultZoneUpdater)!='undefined') 
		defaultZoneUpdater.updateZone();
	else{
		setTimeout(function(){updateZonePriceUntil();},1000);
	}
}

function addOnloadPriceHandler(func) {
   /*if (ie7 || ie8){
	 updateZonePriceUntil();
   }
   else{
	  Event.observe(window, 'load', func);
   }*/
   updateZonePriceUntil();
}

function initZonePriceLoader(){
	addOnloadPriceHandler(function(){
		defaultZoneUpdater.updateZone();
	});
}


