/*

13twelve vs. JQuery

This javascript is the main javascript for the sites actions.

*/

// --------------------------------------------------------------------------------------------------------------
// set up variables

var isSafari = false;
var isSafari3 = false;
var isSafari4 = false;
var isIE = false;
var isIE6 = false;
var isIE7 = false;
var isIE8 = false;
var isMozilla = false;
var isOpera = false;
var isChrome = false;
var isMac = false;
var isiphone = false;
var isFirstCallLightboxes = true;
var ssoStatus = '';
var sesStatus = '';
var webtvStatus = '';
var webtvUrlSouscription = '';
var mpid = '';
var pgid = '';
var dfid = '';
var tpid = '';
var flux ='';
var tableau = new Array();
var tabNumReponse=new Array();
jQuery.ajaxSetup({ cache: true });


// --------------------------------------------------------------------------------------------------------------
// what to do on DOM ready
jQuery(document).ready(function(){
	runOnDOMready();
});

// --------------------------------------------------------------------------------------------------------------
function runOnDOMready() {
	browserTest();
	setUpClasses();
	ieNavClasses();
	if (typeof sUrlSite != "string") {
		switch (tpid) {
			case "589": // home v3
			homepage();
			break;
			case "593": // home cinema v3
			case "596": // home crea+ v3
			case "597": // home divertissement v3
			case "607": // home série v3
			sectionHomepages();
			break;
			case "594":
			tvGrid();
			break;
			case "598": // films du moment
			case "600": // programmes du moment
			lesFilmsDuMois();
			case "599": // recherche programme
			programmes();
			break;
			case "603": // programme
			leGrandJournal();
			break;
			case "608": // video v3
			videoV3();
			break;
			case "609": // home sport v3
			homepageSport();
			break;
			case "614": // sport vidéo v3
			SportVideo();
			break;
			case "616": // mes enregistrements
			mesEnregistrements();
			break;
			case "630": // live canal
			templateLive();
			break;
			case "632": // generique v3
			generiqueV3();
			break;
			case "633": // programme v3
			emissionProgramme();
			break;
			case "650": // live tv premium
			livePremium();
			break;
			default:
			indispensableFunctions();
			customDropDown();
			break;
		}
	}
}

// --------------------------------------------------------------------------------------------------------------
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ application wide functions */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (remember to test if the elements you are messing with exist) */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ( eg. if ((jQuery('body.homepage'))!=""){ } ) */

function browserTest() {

	/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ some simple browser testing */
	// are we on a Mac ?
	if (navigator.appVersion.indexOf("Mac")!=-1) {
		isMac = true;
		jQuery('body').addClass("isMac");
	}

	function searchVersion(browser) {
		var dataString = navigator.userAgent;
		var index = dataString.indexOf(browser);
		if (index == -1) return;
		var bVersion = parseFloat(dataString.substring(index+browser.length+1));
		return bVersion.toString().split(".")[0];
	}

	// Safari versioning
	isSafari =  jQuery.browser.safari;
	if (isSafari) {
		jQuery('body').addClass("isSafari");
		version = searchVersion("Version") || + "";
		jQuery('body').addClass("isSafari"+version);
		isSafari3 = (version == 3) ? true : false;
		isSafari4 = (version == 4) ? true : false;
	}

	// IE versioning
	isIE = jQuery.browser.msie;
	if (isIE) {
		jQuery('body').addClass("isIE");
		version = searchVersion("MSIE") || "";
		jQuery('body').addClass("isIE"+version);
		isIE6 = (version == 6) ? true : false;
		isIE7 = (version == 7) ? true : false;
		isIE8 = (version == 8) ? true : false;
	}

	// Mozilla versioning
	isMozilla = jQuery.browser.mozilla;
	if (isMozilla) {
		jQuery('body').addClass("isMozilla");
		version = searchVersion("Firefox") || "";
		jQuery('body').addClass("isMozilla"+version);
	}

	// Opera versioning
	isOpera = jQuery.browser.opera;
	if (isOpera) {
		jQuery('body').addClass("isOpera");
	}

	// Chrome
	if (navigator.userAgent.indexOf("Chrome") != -1) {
		isChrome = true;
		jQuery('body').addClass("isChrome");
	}

	// iPhone
	if (navigator.userAgent.indexOf("iPhone") != -1) {
		isiphone = true;
		jQuery('body').addClass("isIphone");
	}

}

function setUpClasses() {
	jQuery('li:nth-child(even)').addClass("even");
	jQuery('li:first-child').addClass("first");
	jQuery('li:last-child').addClass("last");
	jQuery("input[type=submit]").hover(function(){
		jQuery(this).addClass("submitHover");
	}, function() {
		jQuery(this).removeClass("submitHover");
	});
	jQuery('a[class*="ch-sm-"]').addClass("ch-sm");
}

// this function search and replaces a string and returns the new string
// http://www.daveshuck.com/blog/index.cfm/2006/12/13/Javascript-examples--removeElement-and-replaceAll
function replaceAll( str, searchTerm, replaceWith, ignoreCase )   {
	var regex = "/"+searchTerm+"/g";
	if( ignoreCase ) regex += "i";
	return str.replace( eval(regex), replaceWith );
}


function searchBox() {
	var timer1 = microtime(true);
	if (jQuery("div#nav input[type=text]").val() != "Rechercher") {
		jQuery("div#nav input[type=text]").addClass("searchFor");
	}
	jQuery("div#nav input[type=text]").focus(function(e){
		if (jQuery(e.target).val() == "Rechercher") {
			jQuery(e.target).val("").addClass("searchFor");
		}
	});
	jQuery("div#nav input[type=text]").blur(function(e){
		if (jQuery(e.target).val() == "") {
			jQuery(e.target).val("Rechercher").removeClass("searchFor");
		}
	});

	if (jQuery("div.section-subFeatures div.rechercherFilm form fieldset input[type=text]").val() != "Rechercher") {
		jQuery("div.section-subFeatures div.rechercherFilm form fieldset input[type=text]").addClass("searchFor");
	}
	jQuery("div.section-subFeatures div.rechercherFilm form fieldset input[type=text]").focus(function(e){
		if (jQuery(e.target).val() == "Rechercher") {
			jQuery(e.target).val("").addClass("searchFor");
		}
	});
	jQuery("div.section-subFeatures div.rechercherFilm form fieldset input[type=text]").blur(function(e){
		if (jQuery(e.target).val() == "") {
			jQuery(e.target).val("Rechercher").removeClass("searchFor");
		}
	});

	if (jQuery("div.planifier div.planifier-header div.rechercherUnProgramme form fieldset input[type=text]").val() != "Rechercher un programme") {
		jQuery("div.planifier div.planifier-header div.rechercherUnProgramme form fieldset input[type=text]").addClass("searchFor");
	}
	jQuery("div.planifier div.planifier-header div.rechercherUnProgramme form fieldset input[type=text]").focus(function(e){
		if (jQuery(e.target).val() == "Rechercher un programme") {
			jQuery(e.target).val("").addClass("searchFor");
		}
	});
	jQuery("div.planifier div.planifier-header div.rechercherUnProgramme form fieldset input[type=text]").blur(function(e){
		if (jQuery(e.target).val() == "") {
			jQuery(e.target).val("Rechercher un programme").removeClass("searchFor");
		}
	});
	var timer2 = microtime(true);
	totalTimer["searchBox"] = (timer2-timer1);
}

function filterClasses(klass) {
	if(isIE6) {
		klass = replaceAll(klass, ieNavClass[0], "");
		klass = replaceAll(klass, ieNavClass[1], "");
	}
	klass = replaceAll(klass, "first", "");
	klass = replaceAll(klass, "last", "");
	klass = replaceAll(klass, "even", "");
	klass = replaceAll(klass, "current", "");
	klass = replaceAll(klass, "dropdown", "");
	klass = replaceAll(klass, " ", "");
	return klass;
}

var ieNavClass = new Array();
function ieNavClasses() {
	// function to sort fix IE6's lack of multiple CSS class selector
	if (isIE6) {
		//
		jQuery("."+ieNavClass[0]).removeClass(ieNavClass[0]);
		jQuery("."+ieNavClass[1]).removeClass(ieNavClass[1]);
		//
		jQuery("#nav ul li.current").each(function(i,val) {
			var klass = jQuery(this).attr("class");
			klass = filterClasses(klass);
			klass = klass + "-current";
			jQuery(this).addClass(klass);
			ieNavClass[0] = klass;
		});
		jQuery("#nav ul li.dropdown").each(function(i,val) {
			var klass = jQuery(this).attr("class");
			klass = filterClasses(klass);
			klass = klass + "-dropdown";
			jQuery(this).addClass(klass);
			ieNavClass[1] = klass;
		});
	}
}

var shadowObject = null;
var shadowCurrentIteration = 1;
var shadowMaxIteration = 3;
var shadowPeriod = 75;
function shadow() {
	jQuery(shadowObject).each(function() {
		if (jQuery(this).hasClass("shadow")) {
			jQuery(this).removeClass("shadow");
		} else {
			jQuery(this).addClass("shadow");
		}
	});
	if (shadowCurrentIteration == shadowMaxIteration*2) {
		shadowCurrentIteration = 1;
	} else {
		shadowCurrentIteration += 1;
		setTimeout("shadow()", shadowPeriod);
	}
}

function dropdowns() {

	var timer1 = microtime(true);
	var etat="";
	jQuery("#nav div.dropdown h2").hide();
	var animating = false;
	var currentWas = "";
	var navlink6WasCurrent = "";
	var navlink7WasCurrent = "";
	//
	jQuery("#nav > ul li a._nav").each(function(i,val){
		jQuery(this).click(function(e) {
			if (!animating) {
				animating = true;
				var el = jQuery(this);
				var klass = el.parent("li").attr("class");
				klass = filterClasses(klass);
				if (klass != "") {
					dd_Klass = ".dropdown-" + klass;
					// check that the clicked option has a coressponding dropdown div
					// it does this off the name, not off the array index
					if (jQuery(dd_Klass).length > 0) {
						e.preventDefault();
						if (jQuery("#nav > ul li.dropdown").length > 0) {
							// one already open, so close it up, then open the next,
							// but wait, is this the same one being clicked?
							if (!el.parent("li").hasClass("dropdown")) {
								jQuery("#nav > ul li.dropdown").removeClass("dropdown");
								el.parent("li").addClass("dropdown");
								jQuery("#nav").addClass("heightFix");
								ieNavClasses();
								jQuery(".dropdown-open").fadeOut("normal", function(){
									jQuery(".dropdown-open").removeClass("dropdown-open");
									// open next
									jQuery(dd_Klass).fadeIn("normal", function(){
										jQuery(dd_Klass).addClass("dropdown-open");
										animating = false;
									});
								});
							} else {
								// its the same, so close the open one
								jQuery("#nav > ul li.dropdown").removeClass("dropdown");
								jQuery("#nav").removeClass("heightFix");
								ieNavClasses();
								jQuery(".dropdown-open").slideUp("normal", function(){
									jQuery(".dropdown-open").removeClass("dropdown-open");
									jQuery("#nav").removeClass("dd-open");
									if (currentWas != "" || navlink6WasCurrent != "" || navlink7WasCurrent != "") {
										if(currentWas != "") {
											jQuery("#nav > ul li."+currentWas).addClass("current");
										}
										if(navlink6WasCurrent != "") {
											jQuery('#navlink6').parent().addClass("current");
										}
										if(navlink7WasCurrent != "") {
											jQuery('#navlink7').parent().addClass("current");
										}
										ieNavClasses();
										currentWas = "";
										navlink6WasCurrent = "";
										navlink7WasCurrent = "";
									}
									animating = false;
								});

							}
						} else {
							// none already open, just open one up
							el.parent("li").addClass("dropdown");
							jQuery("#nav").addClass("dd-open");
							//
							if(el.parent().parent().find("li.current").length > 0 || jQuery('#navlink6').parent().hasClass('current') || jQuery('#navlink7').parent().hasClass('current')) {
								if (el.parent().parent().find("li.current").length > 0) {
									currentWas = filterClasses(el.parent().parent().find("li.current").attr("class"));
								}
								if(jQuery('#navlink6').parent().hasClass('current')) {
									navlink6WasCurrent = 'true';
								}
								if(jQuery('#navlink7').parent().hasClass('current')) {
									navlink7WasCurrent = 'true';
								}
								el.parent().parent().find("li.current").removeClass("current");
								ieNavClasses();
							}
							//
							jQuery(dd_Klass).slideDown("normal", function(){
								ieNavClasses();
								jQuery(dd_Klass).addClass("dropdown-open");
								animating = false;
							});
						}
					}
				}
			}
		});
	});
	jQuery("#nav").find(".a_close_nav").click(function(e) {
		e.preventDefault();
		jQuery("#nav > ul li.dropdown").removeClass("dropdown");
		jQuery("#nav").removeClass("heightFix");
		ieNavClasses();
		jQuery(".dropdown-open").slideUp("normal", function(){
			jQuery(".dropdown-open").removeClass("dropdown-open");
			jQuery("#nav").removeClass("dd-open");

			if (currentWas != "" || navlink6WasCurrent != "" || navlink7WasCurrent != "") {
				if(currentWas != "") {
					jQuery("#nav > ul li."+currentWas).addClass("current");
				}
				if(navlink6WasCurrent != "") {
					jQuery('#navlink6').parent().addClass("current");
				}
				if(navlink7WasCurrent != "") {
					jQuery('#navlink7').parent().addClass("current");
				}
				ieNavClasses();
				currentWas = "";
				navlink6WasCurrent = "";
				navlink7WasCurrent = "";
			}
		});
	});
	var timer2 = microtime(true);
	totalTimer["dropdow"] = (timer2-timer1);
}

function lightboxes() {
	var timer1 = microtime(true);
	var _eY = 0;
	var _tab = 0;
	var _epgid = "";

	function showMask() {
		if (isIE6) {
			var h = jQuery("body").height();
			jQuery("div#lb-mask").height(h);
		}
		jQuery("div#lb-mask").show();
		if (tpid == "650") {
			jQuery("div.live-premium-player").find("*").css("visibility", "hidden");
		}
	}

	function hideMask() {
		jQuery("div#lb-mask").hide();
		if (tpid == "650") {
			jQuery("div.live-premium-player").find("*").css("visibility", "visible");
		}
	}

	function hideLBs() {
		jQuery("div.lb").hide();
	}

	function clearBreveSport() {
		if(jQuery("#breveSportDropDown").is(":visible")){
			customDropDown("brevesportDropDown");
		}
		jQuery("#brevesport-inner").html("");
	}

	function clearProgramDetail() {
		if(jQuery("#detailProgramDropDown").is(":visible")){
			customDropDown("detailProgramDropDown");
		}
		jQuery("#detailprogram-inner").html("");
		FlashPlayerPause();
	}

	// update show detail program after ajax complete
	function update(textStatus,href,tab) {
		if (textStatus == "success") {
			liBrevesInitUserCookie();
			if(jQuery("#detailProgramDropDown").is(":visible")){
				customDropDown("detailProgramDropDown");
			}
			tabs(tab);
			updatePopupEPG(tab);
			labelMessages();
		} else {
			window.location = href;
		}
	}

	function positionPopup(id) {
		var _parent = jQuery(id).parent('.lb');
		_parent.show();
		var h = jQuery(window).height();
		var h2 = parseFloat(_parent.height());
		var windowTopOffset = jQuery(window).scrollTop();
		if ((h-h2) < 80) {
			windowTopOffset = windowTopOffset + 40;
		} else {
			windowTopOffset = windowTopOffset + ((h-h2) / 2);
		}
		_parent.css('top', windowTopOffset + 'px');
	}

	function openPopup(id, type) {

		function _openPopup(id, type) {
			var params = "";
			if (type == "rec") {
				params = params + "rec=1";
			}
			if (type == "live") {
				params = params + "live=1";
			}
			if (type == "live-premium") {
				params = params + "live=1&premium=1";
				if (_epgid != "") {
					params = params + "&epgid=" + _epgid;
				}
			}
			if (type == "match") {
				params = params + "match=1";
			}
			if (typeof pid == "string") {
				if (params != "") {
					params = params + "&";
				}
				params = params + "pid=" + pid;
			}
			if (typeof cid == "string") {
				if (params != "") {
					params = params + "&";
				}
				params = params + "cid=" + cid;
			}

			if (isFirstCallLightboxes) {
				if (typeof init == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "init=" + init;
				}
				if (typeof lck == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "lck=" + lck;
				}
				if (typeof mc == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "mc=" + mc;
				}
				if (typeof mesinc == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "mesinc=" + mesinc;
				}
				if (typeof remember == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "remember=" + remember;
				}
				if (typeof exist == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "exist=" + exist;
				}
				if (typeof live == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "live=" + live;
				}
				if (typeof premium == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "premium=" + premium;
				}
				if (typeof epgid == "string") {
					if (params != "") {
						params = params + "&";
					}
					params = params + "epgid=" + epgid;
				}
			}

			if (id == "compte-login") {
				var _id = "#lb-login";
			} else {
				var _id = "#lb-" + id;
			}

			if (id == "forget-password" || id == "login" || id == "compte-login") {
				if (authentif || authentif_light) {
					if (params != "") {
						params = params + "&";
					}
					params = params + "authentif_light=1";
				}
				if (typeof sUrlSite == "string") {
					var url = sUrlSite + "/partner/partner_popin.js.php?id=" + id + "&" + params;
					jQuery.getScript(url, function() {
						positionPopup(_id);
						if (id == "compte-login" && (!isSafari || isChrome)) {
							jQuery(_id + " input[name=SUBSCRIBER_EMAIL]").remove();
							jQuery(_id + " input[name=SUBSCRIBER_EMAIL_DISABLED]").removeAttr("disabled");
							jQuery(_id + " input[name=SUBSCRIBER_EMAIL_DISABLED]").attr("name", "SUBSCRIBER_EMAIL");
						}
						jQuery(_id + " input[name=from_url]").val(from_url);
						jQuery(_id + " input:enabled:first").focus();
						jQuery(_id + " input:enabled:first").select();
						jQuery("#a_compte-login-forget").click(function(e) {
							e.preventDefault();
							hideLBs();
							openPopup("compte-login");
						});
						jQuery("#a_forget-password").click(function(e) {
							e.preventDefault();
							hideLBs();
							openPopup("forget-password");
						});
						jQuery("#a_register-forget").click(function(e) {
							e.preventDefault();
							hideLBs();
							openPopup("register");
						});
						jQuery("#a_register-signup").click(function(e) {
							e.preventDefault();
							hideLBs();
							openPopup("register");
						});
						jQuery("#lb-close-login, #lb-close-forget-password").click(function(e) {
							e.preventDefault();
							hideMask();
							hideLBs();
						});
					});
				} else {
					if (id == "forget-password") {
						var _href = "/forget.ajax.php";
					} else {
						var _href = "/login.ajax.php";
					}
				}
			}
			if (id == "register" || id == "compte") {
				if (typeof sUrlSite == "string") {
					var _src = sUrlSiteSecure + "/index.php?pid=" + pid + "&cid=" + cid + "&tpl=10&par=CPLUS&url_retour=" + encodeURIComponent(from_url);
					if (id == "register") {
						var _height = 975;
					}
					if (id == "compte") {
						var _height = 810;
					}
					jQuery(_id).css("height", _height + "px");
					jQuery(_id).html('<p class="close" style="top: 54px;"><a href="#" id="lb-close">Fermer</a></p><iframe width="660" height="' + _height + '" frameborder="0" scrolling="auto" src="' + _src + '">');
					jQuery("#lb-close").click(function(e) {
						jQuery("div#lb-mask").hide();
						jQuery("div.lb").hide();
					});
				} else {
					var _href = "/compte.ajax.php";
				}
			}

			if (typeof _href == "string" && typeof from_url == "string") {
				if (params != "") {
					_href += "?" + params;
				}
				jQuery(_id).load(_href,
				function(responseText, textStatus, XMLHttpRequest) {
					positionPopup(_id);
					jQuery(_id + " input[name=from_url]").val(from_url);
					jQuery(_id + " input:enabled:first").focus();
					jQuery(_id + " input:enabled:first").select();
					if (type == "rec" && id == "compte") {
						jQuery(_id + " input[type=radio][name=SUBSCRIBER_FLAG_ABO]").each(function(){
							if (jQuery(this).val() == "0") {
								jQuery(this).removeAttr("checked");
							}
							if (jQuery(this).val() == "1") {
								jQuery(this).attr("checked", "checked");
							}
						});
						jQuery(_id + " input[name=SUBSCRIBER_NUMBER]").focus();
						jQuery(_id + " input[name=SUBSCRIBER_NUMBER]").select();
					}
					if (type == "rec" && (id == "login" || id == "compte-login" || id == "compte")) {
						var _html = '';
						if (id == "login" || id == "compte-login") {
							_html += '<p class="service">Pour enregistrer ce programme, nous vous invitons à vous identifier.</p>';
						}
						_html += '<input type="hidden" name="rec" value="1" /><input type="hidden" name="mpid" value="'+mpid+'" /><input type="hidden" name="pgid" value="'+pgid+'" /><input type="hidden" name="dfid" value="'+dfid+'" />';
						if (jQuery("div.semaine-slider").is(":visible")) {
							var date = jQuery("div.semaine-slider ul li.current").attr("id").replace("nav-", "");
							_html += '<input type="hidden" name="date" value="'+date+'" />';
						}
						jQuery(_id + " form").prepend(_html);
					}
					if (type == "match" && (id == "login" || id == "compte-login")) {
						var _html = '<input type="hidden" name="match" value="1" />';
						jQuery(_id + " form").prepend(_html);
					}
					jQuery("#a_compte-login-forget").click(function(e) {
						e.preventDefault();
						hideLBs();
						openPopup("compte-login", type);
					});
					jQuery("#a_forget-password").click(function(e) {
						e.preventDefault();
						hideLBs();
						openPopup("forget-password", type);
					});
					jQuery("#a_register-forget").click(function(e) {
						e.preventDefault();
						hideLBs();
						openPopup("register", type);
					});
					jQuery("#a_register-signup").click(function(e) {
						e.preventDefault();
						hideLBs();
						openPopup("register", type);
					});
					jQuery("#lb-close, #lb-close-button, #lb-close-login, #lb-close-forget-password").click(function(e) {
						e.preventDefault();
						hideMask();
						hideLBs();
					});
				}
				);
			} else {
				positionPopup(_id);
			}
		}

		if (id == "compte" && typeof sUrlSiteSecure == "string") {
			if (typeof sUrlSite == "string") {
				var url = sUrlSiteSecure + "/lib/front_tools/ajax/check_sso.php";
				jQuery.getScript(url, function(){
					if (ssoStatus == "2") {
						id = "login";
					} else {
						if (ssoStatus == "1") {
							id = "compte-login";
						} else {
							id = "compte";
						}
					}
					_openPopup(id, type);
				});
			} else {
				var url = "/lib/front_tools/ajax/check_session.php";
				jQuery.getScript(url, function(){
					var url = sUrlSiteSecure + "/lib/front_tools/ajax/check_sso.php";
					jQuery.getScript(url, function(){
						if (ssoStatus == "2") {
							id = "login";
						} else {
							if (ssoStatus == "1") {
								id = "compte-login";
							} else {
								if (sesStatus == "1") {
									id = "compte";
								} else {
									id = "login";
								}
							}
						}
						_openPopup(id, type);
					});
				});
			}
		} else {
			_openPopup(id, type);
		}

	}

	jQuery("#lb-mask").click(function(e) {
		e.preventDefault();
		if (jQuery("#detailprogram-inner").is(":visible")) {
			jQuery("#detailprogram-inner").html("");
			FlashPlayerPause();
		}
		if (jQuery().f_launchSynchroFaders) {
			jQuery().f_launchSynchroFaders("genre-1");
		}
		if (tpid == "650" && !jQuery("div#lb-compte").is(":visible") && !jQuery("div#lb-detailprogram").is(":visible")) {
			shadowObject = jQuery("div#lb-live-tv h2:visible, div#lb-login h2:visible, div#lb-forget-password h2:visible, div#lb-register h2:visible");
			shadow();
		} else {
			hideMask();
			hideLBs();
		}
	});

	jQuery("#lb-close-alt").click(function(e) {
		e.preventDefault();
		clearProgramDetail();
		if ( jQuery().f_launchSynchroFaders){
			jQuery().f_launchSynchroFaders("genre-1");
		}
		hideMask();
		hideLBs();
	});

	jQuery("#lb-close-brevesport").click(function(e) {
		e.preventDefault();
		clearBreveSport();
		hideMask();
		hideLBs();
	});

	// show register
	jQuery("#a_register, #a_register-planNav, #a_register-avisCom, .register").click(function(e) {
		e.preventDefault();
		showMask();
		openPopup("register");
	});

	// show login
	jQuery("#a_login, #a_login-planNav, .identify").click(function(e) {
		e.preventDefault();
		showMask();
		openPopup("login");
	});

	jQuery(".a_login-live").click(function(e) {
		e.preventDefault();
		var _rel = jQuery(this).attr("rel");
		if (_rel != "") {
			_epgid = _rel;
		}
		var url = "/lib/front_tools/ajax/check_session.php";
		jQuery.getScript(url, function(){
			var url = sUrlSiteSecure + "/lib/front_tools/ajax/check_sso.php";
			jQuery.getScript(url, function(){
				if (ssoStatus == "" && sesStatus == "1") {
					if (_epgid != "") {
						window.location = sUrlLiveTV + "?epgid=" + _epgid;
					} else {
						window.location = sUrlLiveTV;
					}
				} else {
					showMask();
					if (ssoStatus == "1") {
						openPopup("compte-login", "live-premium");
					} else {
						openPopup("login", "live-premium");
					}
				}
			});
		});
	});

	jQuery("#a_login-rec").click(function(e) {
		e.preventDefault();
		hideLBs();
		openPopup("login", "rec");
	});

	jQuery("#note_du_match_a_login").click(function(e) {
		e.preventDefault();
		showMask();
		openPopup("login", "match");
	});

	if (typeof(bIsAutentif) != "undefined") {
		if (bIsAutentif == 1) {
			var myAccountCompteLogin = "";
			var myAccountCompte = ", .myaccount";
		} else {
			var myAccountCompteLogin = ", .myaccount";
			var myAccountCompte = "";
		}
	} else {
		var myAccountCompteLogin = "";
		var myAccountCompte = "";
	}

	jQuery("#a_compte-login"+myAccountCompteLogin).click(function(e) {
		e.preventDefault();
		showMask();
		openPopup("compte-login");
	});

	jQuery("#a_compte-login-rec").click(function(e) {
		e.preventDefault();
		showMask();
		hideLBs();
		openPopup("compte-login", "rec");
	});

	// show compte
	jQuery("#a_compte-logged"+myAccountCompte).click(function(e) {
		e.preventDefault();
		showMask();
		hideLBs();
		openPopup("compte");
	});

	jQuery("#a_compte-rec, #a_compte-rec-2").click(function(e) {
		e.preventDefault();
		showMask();
		hideLBs();
		openPopup("compte", "rec");
	});

	// show forget-password
	jQuery(".forgotpwd").click(function(e) {
		e.preventDefault();
		showMask();
		hideLBs();
		openPopup("forget-password");
	});

	// show contribution
	jQuery("#a_contribution").click(function(e) {
		e.preventDefault();
		showMask();
		openPopup("contribution");
	});

	// ajax show breve sport
	jQuery(".pop-brevesport").click( function(e) {
		e.preventDefault();
		jQuery("#lb-brevesport .wrap").css('background-position','1000px top');
		jQuery("#lb-brevesport .wrap p").css('display','none');
		jQuery("#lb-brevesport").css('background-position','1000px top');
		showMask();
		jQuery("div#lb-mask").html("<div id='loader' style='height:350px;width:100%;text-align:center;margin-top:560px;'><img src='ajax-loader.gif' alt='loader' /></div>");

		if (jQuery().f_stopAutoFader) jQuery().f_stopAutoFader("all");
		_eY = e.pageY;
		if (jQuery(this).children("h4").length > 0) {
			_href = jQuery(this).children("h4").children("a").attr("href");
		} else if (jQuery(this).children("h5").length > 0) {
			_href = jQuery(this).children("h5").children("a").attr("href");
		} else if (jQuery(this).children("a").length > 0) {
			_href = jQuery(this).children("a").attr("href");
		}

		if (_href != "" || _href != "#") {
			jQuery("#brevesport-inner").load(_href,
			function(responseText, textStatus, XMLHttpRequest) {
				if (textStatus == "success") {
					customDropDown("brevesportDropDown");
					var _parent = jQuery("#lb-brevesport").parent(".lb");
					var h = jQuery(window).height();
					var h2 = parseFloat(_parent.height());
					var windowTopOffset = jQuery(window).scrollTop();
					if (h < h2) {
						windowTopOffset = windowTopOffset;
					} else {
						windowTopOffset = windowTopOffset + ((h-h2)/2);
					}
					_parent.css("top", windowTopOffset+"px");
					jQuery("#lb-brevesport .wrap").css('background-position','left top');
					jQuery("#lb-brevesport .wrap p").css('display','block');
					jQuery("#lb-brevesport").css('background-position','left top');
					jQuery("#loader").hide();
				} else {
					window.location = href;
				}
			}
			)
		}

		jQuery("#lb-brevesport").parent(".lb").show();
	});

	// ajax show detail program
	jQuery(".pop-detailprogram").click( function(e) {
		e.preventDefault();

		jQuery("#lb-detailprogram .wrap").css('background-position','1000px top');
		jQuery("#lb-detailprogram .wrap p").css('display','none');
		jQuery("#lb-detailprogram").css('background-position','1000px top');
		showMask();
		jQuery("div#lb-mask").html("<div id='loader' style='height:350px;width:100%;text-align:center;margin-top:360px;'><img src='ajax-loader.gif' alt='loader' /></div>");
		updatePopupEPG(_tab);

		if (jQuery().f_stopAutoFader) jQuery().f_stopAutoFader("all");
		if (!jQuery(e.target).is("span.lbl-voirLeDirect")) {
			_eY = e.pageY;
			if (jQuery(this).children("h4").length > 0) {
				_href = jQuery(this).children("h4").children("a").attr("href");
			} else if (jQuery(this).children("h5").length > 0) {
				_href = jQuery(this).children("h5").children("a").attr("href");
			} else if (jQuery(this).children("a").length > 0) {
				_href = jQuery(this).children("a").attr("href");
			}

			if (jQuery(e.target).is("a.lbl-rec")) {
				_tab = 4;
			} else {
				if (jQuery(e.target).is("a.lbl-ba")) {
					_tab = 3;
				} else {
					if(jQuery(e.target).is("a.lbl-diff")) {
						_tab = 2;
					} else {
						_tab = 1;
					}
				}
			}

			if (_href != "" || _href != "#") {
				jQuery("#detailprogram-inner").load(_href,
				function(responseText, textStatus, XMLHttpRequest) {
					update(textStatus, _href, _tab);
					if (_tab == 4) {
						initTab4();
					}
					jQuery("#lb-detailprogram .wrap").css('background-position','left top');
					jQuery("#lb-detailprogram .wrap p").css('display','block');
					jQuery("#lb-detailprogram").css('background-position','left top');
					jQuery("#loader").hide();
				}
				)
			}

			jQuery("#lb-detailprogram").parent(".lb").show();
		}
	});

	// align visible popups
	if(jQuery("#lb-login").is(":visible")) {
		openPopup("login");
	}

	if(jQuery("#lb-register").is(":visible")) {
		openPopup("register");
	}

	if(jQuery("#lb-compte").is(":visible")) {
		openPopup("compte");
	}

	if(jQuery("#lb-forget-password").is(":visible")) {
		openPopup("forget-password");
	}

	if(jQuery("#lb-contribution").is(":visible")) {
		openPopup("contribution");
	}

	if (isFirstCallLightboxes) {

		if (typeof jQuery("#lien_programme") == "object") {
			jQuery("#lien_programme").trigger("click");
		}

			jQuery("div#header ul li.livetv a").click(function(e) {
				e.preventDefault();
				var url = "/lib/front_tools/ajax/check_session.php";
				jQuery.getScript(url, function(){
					var url = sUrlSiteSecure + "/lib/front_tools/ajax/check_sso.php";
					jQuery.getScript(url, function(){
						if (ssoStatus == "" && sesStatus == "1") {
							window.location = sUrlLiveTV;
						} else {
							showMask();
							if (ssoStatus == "1") {
								openPopup("compte-login", "live");
							} else {
								openPopup("login", "live");
							}
						}
					});
				});
			});


		if (tpid == "650") {
			var url = "/lib/front_tools/ajax/check_session.php";
			jQuery.getScript(url, function(){
				var url = sUrlSiteSecure + "/lib/front_tools/ajax/check_sso.php";
				jQuery.getScript(url, function(){
					if (ssoStatus == "" && sesStatus == "1") {
						var url = "/lib/front_tools/ajax/check_eligibility.php";
						jQuery.getScript(url, function(){
							if (webtvStatus == "1") {
								slwebtv();
								if (jQuery.cookie("gamme") != "webtv") {
									jQuery.cookie("gamme", "webtv", { expires: 7300 }); // 20 ans
								}
								jQuery.cookie("webtv_session", "1", { expires: 0.3333 }); // 8 heures
								keepAliveSession();
								from_url = "/";
							} else {
								jQuery("div.live-premium-player").html("");
								showMask();
								openPopup("live-tv");
								jQuery("div#lb-live-tv a.souscrire").attr("href", webtvUrlSouscription);
							}
						});
					} else {
						jQuery("div.live-premium-player").html("");
						showMask();
						if (ssoStatus == "1") {
							openPopup("compte-login", "live");
						} else {
							openPopup("login", "live");
						}
					}
				});
			});
		}

	}


	var timer2 = microtime(true);
	totalTimer["lightboxes"] = (timer2-timer1);
}

function keepAliveSession() {
	if (jQuery.cookie("webtv_session") == "1") {
		var url = "/lib/front_tools/ajax/check_session.php";
		jQuery.getScript(url);
		setTimeout("keepAliveSession()", 900000); // 15 minutes
	}
}

function updatePopupEPG(tab) {
	var _parent = jQuery("#lb-detailprogram").parent(".lb-alt");
	var h = jQuery(window).height();
	var h2 = parseFloat(_parent.height());
	if(tab ==3) h2 =380;
	var windowTopOffset = jQuery(window).scrollTop();
	if (h < h2) {
		windowTopOffset = windowTopOffset;
	} else {
		windowTopOffset = windowTopOffset + ((h-h2)/2);
	}
	_parent.css("top", windowTopOffset+"px");
}


function liHover() {
	var timer1 = microtime(true);

	jQuery("ul.schedule li").hover(function(){
		jQuery(this).addClass("hover");
		jQuery(this).children("span").addClass("hover");
	}, function() {
		jQuery(this).removeClass("hover");
		jQuery(this).children("span").removeClass("hover");
	});

	var timer2 = microtime(true);
	totalTimer["liHover"] = (timer2-timer1);
}


function liClick() {
	var timer1 = microtime(true);

	if(jQuery("div.btn_ecoutez a.btn")){
		jQuery("div.btn_ecoutez a.btn").click(function(e) {
			e.preventDefault();
			var href = jQuery(this).attr("href");
			if (href != "#" && href != "" && href != undefined) {
				window.location = href;
				return false;
			}
		});
	}

	if(jQuery("span.lien_auteur a.auteur")){
		jQuery("span.lien_auteur a.auteur").click(function(e) {
			e.preventDefault();
			var href = jQuery(this).attr("href");
			if (href != "#" && href != "" && href != undefined) {
				window.location = href;
				return false;
			}
		});
	}

	if(jQuery("p.author a.auteur")){
		jQuery("p.author a.auteur").click(function(e) {
			e.preventDefault();
			var href = jQuery(this).attr("href");
			if (href != "#" && href != "" && href != undefined) {
				window.location = href;
				return false;
			}
		});
	}



	jQuery("ul.thumbs li, ul.covers li, ul.thumbs li, ul.videos li, ul.sitevideos li, div.feature, div.alert, div.signup, ul.icon-list li").click(function(e) {
		e.preventDefault();
		var href = jQuery(this).find("a").attr("href");
		if (href != "#" && href != "" && href != undefined) {
			// si target = _blank
			if (jQuery(this).find("a").attr("target") == "_blank") {
				window.open(href);
			} else {
				window.location = href;
			}
		}
	});

	//
	jQuery("ul.thumbs li, ul.covers li, ul.thumbs li, ul.videos li, ul.sitevideos li, ul.schedule li, ul.icon-list li").not("ul.videos-slider li, ul.thumbs-reagir li").hover(function(){
		jQuery(this).addClass("hover");
	}, function() {
		jQuery(this).removeClass("hover");
	});
	//
	jQuery("div.feature, div.feature-small").hover(function(){
		jQuery(this).addClass("feature-hover");
	}, function() {
		jQuery(this).removeClass("feature-hover");
	});
	//
	jQuery("div.alert").hover(function(){
		jQuery(this).addClass("alert-hover");
	}, function() {
		jQuery(this).removeClass("alert-hover");
	});
	//
	jQuery("div.signup").hover(function(){
		jQuery(this).addClass("signup-hover");
	}, function() {
		jQuery(this).removeClass("signup-hover");
	});
	// reagir specific
	jQuery("div.reagir a.btn").click(function(e) {
		e.preventDefault();
		var href = jQuery(this).attr("href");
		if (href != "#" && href != "" && href != undefined) {
			window.location = href;
		}
	});
	jQuery("div.reagir").click(function(e) {
		if (jQuery(this).hasClass("reagir-hover")) {
			e.preventDefault();
			var href = jQuery(this).find("a").attr("href");
			if (href != "#" && href != "" && href != undefined) {
				window.location = href;
			}
		}
	});
	jQuery("div.reagir:not(div.reagir a.btn)").hover(function(){
		jQuery(this).addClass("reagir-hover");
	}, function() {
		jQuery(this).removeClass("reagir-hover");
	});
	jQuery("div.reagir a.btn").hover(function(){
		jQuery(this).parents("div.reagir").removeClass("reagir-hover");
	}, function() {
		jQuery(this).parents("div.reagir").addClass("reagir-hover");
	});
	// cesoirsur specific
	jQuery("div.cesoirsur div.img").click(function(e) {
		e.preventDefault();
		var href = jQuery(this).prev("#cdsoursur-schedule").children("ul.schedule-sm").children("li:first").find("a").attr("href");
		if (href != "#" && href != "" && href != undefined) {
			window.location = href;
		}
	});
	jQuery("div.cesoirsur div.pop-detailprogram").hover(function(){
		jQuery(this).prev("#cdsoursur-schedule").children("ul.schedule-sm").children("li:first").addClass("hover");
	}, function() {
		jQuery(this).prev("#cdsoursur-schedule").children("ul.schedule-sm").children("li:first").removeClass("hover");
	});
	// crea+ specifc
	jQuery("ul.thumbs-reagir li div.img, ul.thumbs-reagir li a.video").hover(function(){
		jQuery(this).parents("li").children("h4").addClass("hover");
	}, function() {
		jQuery(this).parents("li").children("h4").removeClass("hover");
	});
	jQuery("ul.w-video-small li").hover(function(){
		jQuery(this).addClass("hover");
	}, function() {
		jQuery(this).removeClass("hover");
	});
	// w-video-small specific (ce soir listing, top bande annonces)
	jQuery("ul.w-video-small li").hover(function(){
		jQuery(this).addClass("hover");
		jQuery(this).children("a").addClass("hover");
	}, function() {
		jQuery(this).removeClass("hover");
		jQuery(this).children("a").removeClass("hover");
	});
	// tv grid specific
	if (jQuery("div.cemoiscisurcanalplus").length > 0) {
		jQuery("div.genre ul.features").hover(function(){
			jQuery(this).addClass("features-hover");
		}, function() {
			jQuery(this).removeClass("features-hover");
		});

		jQuery("div.ch div.img").hover(function(){
			jQuery(this).next().children("li.first").addClass("hover");
		}, function() {
			jQuery(this).next().children("li.first").removeClass("hover");
		});
	}
	var timer2 = microtime(true);
	totalTimer["liClick"] = (timer2-timer1);
}

function customDropDown(id) {
	var timer1 = microtime(true);
	if(typeof id == "string"){
		var cddDivs = "div#"+id;
	} else {
		var cddDivs = "div.customDropDown";
	}
	jQuery(cddDivs).each(function (i) {
		jQuery(this).find("h3").hover(function(){
			jQuery(this).addClass("hover");
		}, function() {
			jQuery(this).removeClass("hover");
		});
		//
		var ddShow = false;
		var ddInput = jQuery(this).children()[0];
		var ddDiv = jQuery(this).children()[1];
		//
		ddInput = jQuery(ddInput);
		ddDiv = jQuery(ddDiv);
		//
		ddDiv.hide();
		//
		var clickFunction = jQuery(this).attr("id");
		//
		ddInput.click(
		function () {;
		toggleDD();
		}
		);

		jQuery(document).click(
		function (e) {
			if(jQuery(e.target).parents().attr("id") != clickFunction) {
				ddDiv.hide();
				ddDiv.removeClass("dd-open");
				ddDiv.prev().removeClass("dd-open");
				if(isIE) {
					jQuery(".schedule-sm").css("zIndex","1");
				}
			}
		}
		);
		//
		//
		function toggleDD() {
			ddDiv.toggle();
			ddDiv.toggleClass("dd-open");
			ddDiv.prev().toggleClass("dd-open");
			if(isIE) {
				if(ddDiv.hasClass("dd-open")) {
					jQuery(".schedule-sm").css("zIndex","-1");
				} else {
					jQuery(".schedule-sm").css("zIndex","1");
				}
			}
		}
		//


		//on stocke la valeur de la permiere entrée.
		valeur = ddDiv.find("li:first a").text();

		if(jQuery(this).attr("id")!="filtrerDropDown"){
			ddDiv.find("li:first").hide();
		}

		//nmb-147356
		//on regarde la valeur du h3 qui correspond à la valeur de la liste déroulante sélectionnée
		//si elle est différente de la première valeur de la liste déroulante alors on affiche la premiere valeur sinon on ne fait rien

		if((ddDiv.find("li:first a").val()=="CANAL+") && jQuery("#cdsoursurDropDown h3").val()!=ddDiv.find("li:first a").val()){
			ddDiv.find("li:first").show();
		}

		if(jQuery("#detailProgramDropDown h3").is(":visible")){
			if(jQuery("#detailProgramDropDown h3").text() != valeur){
				ddDiv.find("li:first").show();
			}
		}
		if(jQuery("#NavSportDropDown h3").is(":visible")){
			if(jQuery("#NavSportDropDown h3").text() != valeur){
				ddDiv.find("li:first").show();
			}
		}
		if(jQuery("#JourneeSportDropDown h3").is(":visible")){
			if(jQuery("#JourneeSportDropDown h3").text() != valeur){
				ddDiv.find("li:first").show();
			}
		}
		if(jQuery("#nbResultsForGlobalSearchDropDown h3").is(":visible")){
			if(jQuery("#nbResultsForGlobalSearchDropDown h3").text() != valeur){
				ddDiv.find("li:first").show();
			}
		}

		if(jQuery("#nbResultatsParPageDropDown h3").is(":visible")){
			if(jQuery("#nbResultatsParPageDropDown h3").text() != valeur){
				ddDiv.find("li:first").show();
			}
		}

		if(jQuery("#nbResultatsParPageDropDown2 h3").is(":visible")){
			if(jQuery("#nbResultatsParPageDropDown2 h3").text() != valeur){
				ddDiv.find("li:first").show();
			}
		}

		if(jQuery("#brevesportDropDown h3").is(":visible")){
			if(jQuery("#brevesportDropDown h3").text() != valeur){
				ddDiv.find("li:first").show();
			}
			ddDiv.find("li.selected").hide();
		}


		//
		ddDiv.find("li a").click(
		function (e) {
			if(jQuery(this).parents("li").parents("ul").parents("div").parents("div").attr("id") != "NavSportDropDown"){
				e.preventDefault();
			}
			ddInput.html(jQuery(this).html());

			toggleDD();
			jQuery(this).parent().siblings().show();
			jQuery(this).parent().hide();
			if (clickFunction) {
				//on sauvegarde le click dans le cookie
				eval(clickFunction + "('" + (jQuery(this).attr("rel")) + "')");
				userPageLiState.updateValue(jQuery(this).parents("li").attr("id"),(jQuery(this).attr("rel")));
				userPageLiParentState.updateValue(jQuery(this).parents("li").attr("id"),jQuery(this).parents("li").parents("div").parents("div").attr("id"));
			}

		}
		);
	});
	var timer2 = microtime(true);
	totalTimer["custumDropDown"] = (timer2-timer1);
}

/*
function cdsoursurDropDown(rel) {
var cdsoursurScheduleContent = new Array();
cdsoursurScheduleContent[0] = '<ul class="schedule schedule-sm"><li><h3><a href="#">Dexter Season 3</a></h3><p>20h30</p></li><li><h3><a href="#">Les randonneurs de Saint-Tropez</a></h3><p>22h45</p></li></ul>';
cdsoursurScheduleContent[1] = '<ul class="schedule schedule-sm"><li><h3><a href="#">Adieu De Gaulle</a></h3><p>20h30</p></li><li><h3><a href="#">Les Guignols</a></h3><p>21h45</p></li></ul>';
cdsoursurScheduleContent[2] = '<ul class="schedule schedule-sm"><li><h3><a href="#">Heroes</a></h3><p>20h30</p></li><li><h3><a href="#">Mornin riding</a></h3><p>20h45</p></li></ul>';
cdsoursurScheduleContent[3] = '<ul class="schedule schedule-sm"><li><h3><a href="#">Tennis</a></h3><p>20h30</p></li><li><h3><a href="#">Basket</a></h3><p>22h45</p></li></ul>';
cdsoursurScheduleContent[4] = '<ul class="schedule schedule-sm"><li><h3><a href="#">Harry Potter</a></h3><p>20h30</p></li><li><h3><a href="#">La femma sans tete</a></h3><p>20h45</p></li></ul>';
jQuery("#cdsoursur-schedule").html(cdsoursurScheduleContent[rel]);
setUpClasses();
} */

function sectionOpenClose() {
	jQuery("#content div.section-closed").addClass("section-squish");
	jQuery("div.section p.openClose a._openClose").click(
	function (e) {
		e.preventDefault();
		var el = jQuery(this);
		// si la section est fermée
		if (el.parents("div.section").hasClass("section-closed")) {
			//gestion des cookies pour sauvegarder de l'etat de la section
			userPageSectionState.updateValue(el.parents("div.section").attr("class").split(" ")[1],'1');
			if (isIE || isSafari) {
				var _cols = el.parents("div.section").find("div.cols");
				// remeasuring the heights in IE, because its rubbish lols
				_cols.attr("style","");
				el.parents("div.section").find("div.col").attr("style","");
				_cols.each(function(i,val){
					var max = 0;
					jQuery(this).children("div.col").each(function(j){
						if (jQuery(this).height() > max) max = jQuery(this).height();
					});
					jQuery(this).parents("div.section").find("p.plusLink").css({ top: (max + 18)});
					jQuery(this).parents("div.section").attr("maxheight",max);
					jQuery(this).find("div.col").height(max);
				});
			}
			el.parents("div.section").removeClass("section-closed");
			if (isIE || isSafari) {
				el.parents("div.section").removeClass("section-squish");
				el.parents("div.section").css({ height: 0 });
				var h = (el.parents("div.section").attr("maxheight") * 1) + 55;
				el.parents("div.section").animate({
					height: h,
					marginBottom: "53px"
				}, 300, function(){

				});
			} else {
				el.parents("div.section").removeClass("section-squish", 300);
			}
			// si la section est ouverte
		} else {
			//gestion des cookies pour sauvegarder de l'etat de la section
			userPageSectionState.updateValue(el.parents("div.section").attr("class").split(" ")[1],'0');
			el.parents("div.section").addClass("section-closed");
			if (isIE || isSafari) {
				el.parents("div.section").animate({
					height: 0,
					marginBottom: "25px"
				}, 300, function(){
					el.parents("div.section").addClass("section-squish")
				})
			} else {
				el.parents("div.section").addClass("section-squish", 300);
			}
		}
	}
	);
}

function sectionColHeights() {
	var timer1 = microtime(true);
	jQuery("div.section div.cols div.col:first-child").addClass("col-first");
	var _cols = jQuery("div.section div.cols");
	_cols.each(function(i,val){
		// RC: Modif pour ne prendre en compte que les colonnes presentes
		if (!jQuery(this).parent().hasClass("noSectionColHeights")) {
			var max = 0;
			jQuery(this).children("div.col").each(function(j){
				if (jQuery(this).height() > max) max = jQuery(this).height();
			});

			if (max != 0) {
				if (isIE || jQuery.browser.msie || isSafari) {
					//jQuery(this).parents("div.section").find("p.plusLink").css({ bottom: 'auto', top: (max + 18)});
					jQuery(this).parents("div.section").attr("maxheight",max);
				}
				if ( jQuery(this).children("div.col2x").length > 0 ) {
					jQuery(this).children("div.col2x").children("ul").find("li").css({ marginRight: 20});
				}

				jQuery(this).find("div.col").height(max);

			}
		}
	});
	var timer2 = microtime(true);
	totalTimer["sectionColHeight"] = (timer2-timer1);
}

function sectionColHeightsAlt() {
	jQuery("div.section div.cols div.col:first-child").addClass("col-first");
	var _cols = jQuery("div.section div.cols");
	_cols.each(function(i,val){
		var heights = new Array();
		heights[0] = jQuery(this).find("div.col:nth-child(1)").height();
		heights[1] = jQuery(this).find("div.col:nth-child(2)").height();
		var max = 0;
		for (var i = 0; i <=1; i++) {
			if (heights[i] > max) {
				max = heights[i];
			}
		}
		if (isIE || jQuery.browser.msie || isSafari) {
			jQuery(this).parents("div.section").find("p.plusLink").css({ bottom: 'auto', top: (max + 18)});
			jQuery(this).parents("div.section").attr("maxheight",max);
		}
		jQuery(this).find("div.col").height(Math.max(71, max));
		jQuery("#lesFilmsDuMois div.cols div.col").css("borderBottom", "1px solid #e6e6e6");

	});
}


function tabs(t) {

	if (t) {
		var _a = jQuery("ul.tabs li a._tabs");
		_a.each(function(i){
			var _class = jQuery(this).parents("li").attr("class");
			_class = _class.replace("tab-", "");
			_class = _class.replace("current", "");
			_class = _class.replace(" ", "");
			if (_class == t) {
				jQuery(this).unbind("click");
			} else {
				jQuery(this).bind("click", function(){
					tabs(_class);
					if (_class == 4) {
						initTab4();
					}
				});
			}
		});
		jQuery("#detailprogram-inner ul.tabs li[class*=tab-]").removeClass("current");
		jQuery("#detailprogram-inner ul.tabs li.tab-"+t).addClass("current");
		jQuery("#detailprogram-inner div[class*=tab-content]").hide();
		if (t==2) {
			if (typeof jQuery("#detailprogram-inner div.tab-content-2")=='undefined'){
				jQuery("#detailprogram-inner div.tab-content-3").show();
			} else {
				FlashPlayerPause();
				jQuery("#detailprogram-inner div.tab-content-2").show();
				if (isIE || jQuery.browser.msie) {
					jQuery("#detailprogram-inner div.diffusion").css("float","none");
					jQuery("#detailprogram-inner div.diffusion").css("margin","0px 10px 0px 14px");
					jQuery("#detailprogram-inner div.diffusion").css("float","left");
				}
			}

		} else {
			jQuery("#detailprogram-inner div.tab-content-"+t).show();
			var c1_vide=false;
			jQuery("#detailprogram-inner div.tab-content-1 div.feature-alt p").each(function(){
				if(jQuery(this).html()==""){
					c1_vide=true;
				}
			});
			if(c1_vide){
				jQuery("#detailprogram-inner ul.tabs li.tab-1").hide();
				jQuery("#detailprogram-inner div.tab-content-1").hide();
				if (t==1){
					tabs(2);
				}
			}
			if(t==3){
				FlashPlayerPlay();
				slPlayerPause();
			}else{
				FlashPlayerPause();
			}
		}

	} else {
		var _a = jQuery("ul.tabs li a._tabs");
		_a.each(function(i){
			jQuery(this).click(function(e){
				e.preventDefault();
				var w = jQuery("ul.tabs li").length - i;
				jQuery("div[class*=tab-content]").hide();
				if (w==2) {
					if (typeof jQuery(this).parents("ul").nextAll("div.tab-content-2")=='undefined') {
						jQuery(this).parents("ul").nextAll("div.tab-content-3").show();
						FlashPlayerPlay();
						slPlayerPause();
					} else {
						jQuery(this).parents("ul").nextAll("div.tab-content-2").show();
						FlashPlayerPause();
					}
				} else if (w==3) {
					jQuery(this).parents("ul").nextAll("div.tab-content-3").show();
					FlashPlayerPlay();
					slPlayerPause();
				} else {
					jQuery(this).parents("ul").nextAll("div.tab-content-1").show();
					FlashPlayerPause();
				}

				_b = jQuery("ul.tabs li[class*=tab-]");
				_b.removeClass("current");
				// Sauvegarde de la selection en cookie
				if (typeof userPageTabState!='undefined') {
					_b.each(function (i) {
						userPageTabState.updateValue(jQuery(this).attr("class").split(" ")[0],'0');
					});
					userPageTabState.updateValue(jQuery(this).parents("li").attr("class").split(" ")[0],'1');
				}
				jQuery(this).parents("li").addClass("current");
				// for pop up epg
				if (jQuery("#lb-detailprogram").length > 0) {
					updatePopupEPG();
				}
				if (jQuery("div.diffusions").length > 0 ) {
					var _nb = jQuery("div.diffusion").size();
					if (_nb > 0) {
						jQuery('div.diffusion:nth-child(even)').addClass("even");
						var _last = jQuery('div.diffusion:last-child');
						_last.addClass("last");
						if (_last.hasClass("even")) {
							_last.prev("div.diffusion").addClass("last");
						}
						if (_nb <= 10) {
							jQuery("div.diffusions").css({height: "250px"});
						}
					}
				}
			});
		});
	}

}


function alertSmallIEfix() {
	jQuery("div.alert-small").each(function(){
		var klass = jQuery(this).attr("class");
		klass = replaceAll(klass, "alert-", "");
		klass = replaceAll(klass, " ", "-");
		jQuery(this).addClass(klass);
	});
}

function jourAccordion() {
	// set up time and date to open the accordions at the right time
	var d = new Date();
	var h = d.getHours();
	// times to split by
	var t = [0, 5, 10, 15, 20, 25];
	// which to open
	var o = 0;
	for (var i = 0; i < t.length; i++) {
		if (t[5-i] >= h + 1) {
			o = 5-i;
		}
	}
	// index's start from 0 not 1 lol
	o--;
	// need to fix the heights of the accordions
	var hgts = { t1: [], t2: [], t3: [], t4: [], t5: [] };
	jQuery("div.jour-accordion").each(function(div){
		// few helper class fixes
		jQuery(this).contents("h5:first").addClass("last");
		jQuery(this).contents("h5:last").addClass("last");
		//jQuery(this).contents("h5").eq(o).addClass("open");
		// find all the heights
		jQuery(this).find("ul").each(function(i) {
			hgts["t"+(i+1)][div] = jQuery(this).height();
		});
	});
	// then fix the heights...
	jQuery("div.jour-accordion").each(function(i){
		jQuery(this).find("ul").each(function(i) {
			// sort the array by length, bring the biggest value to the 1st position
			hgts["t"+(i+1)].sort(function(a,b){return b - a});
			// and fix the heights
			jQuery(this).height(hgts["t"+(i+1)][0]);
		});
		jQuery(this).find("h5").each(function(i){
			jQuery(this).find("a").click(function(e){
				e.preventDefault();
				jQuery("div.jour-accordion").each(function(){
					jQuery(this).contents("h5").eq(i).toggleClass("open");
					if (!isIE) {
						jQuery(this).contents("ul").eq(i).slideToggle();
					} else {
						jQuery(this).contents("ul").eq(i).toggle();
					}
				});
				var valeur;

				cle=jQuery(this).parents().attr("class").replace("open","");
				cle=cle.replace(" last","");
				cle=cle.replace("accordeon_","");

				if(jQuery(this).parents().hasClass("open")){
					valeur="1";
					updateTableau(cle,valeur);
				}else{
					valeur="0";
					//tableau[cle]=valeur;
					updateTableau(cle,valeur);
				}

			});
		});

	});
	// open the current time
	jQuery("div.jour-accordion ul").hide();
	//jQuery("div.jour-accordion").each(function(div){
	//	jQuery(this).contents("ul").eq(o).show();
	//});



}

function labelMessages() {
	var bgS = -180;
	jQuery("span.message").prev("a.lbl").addClass("lbl-message");
	jQuery("a.lbl-message").mousemove(function(e){
		var mX = e.pageX;
		var pX = jQuery(this).parent().offset().left;
		pX = Math.ceil(pX);
		var p = mX - pX;
		p = (p > 5) ? p : 5;
		p = bgS + p - 5;
		if (jQuery("#programmesTable").length > 0) {
			p = p + 71;
		}
		jQuery(this).next("span.message").css({ backgroundPosition: p });

	});
	jQuery("a.lbl-message").hover(function(){
		if (isIE && jQuery("div.customDropDown").length > 0) {
			jQuery("div.customDropDown").addClass("customDropDown-alt");
		}
		jQuery(this).next().show();
	}, function() {
		if (isIE && jQuery("div.customDropDown").length > 0) {
			jQuery("div.customDropDown").removeClass("customDropDown-alt");
		}
		jQuery(this).next().hide();
	});
}

function labelMessages2() {
	jQuery("a.lbl-message2").hover(function(){
		jQuery(".message2").css('display', 'block');
	}, function() {
		jQuery(".message2").hide();
	});
}

function labelMessages3() {
	jQuery("a.lbl-message3").hover(function(){
		jQuery(this).next().css('display', 'block');
	}, function() {
		jQuery(this).next().hide();
	});
}


function semaineSlider2() {

	var sliderContainer = jQuery("div.planifier div.planifier-header div.semaine-slider-container")
	var sliderInner =  jQuery("div.planifier div.planifier-header div.semaine-slider-container div.semaine-slider");
	var slideAmount = 95;
	var sliderMoving = false;
	var currentSet = 15;
	var budge = 55;
	var maxSet = 25;
	/* in case you want dynamic number of days */
	/* var maxSet = jQuery("div.planifier div.planifier-header div.semaine-slider-container div.semaine-slider ul li").size(); */

	var currentDayIndex_r = 0; /* relative index of the current day */
	var todayIndex = 0; /* stays the same */

	var currentOffsetLeft = 0;
	var _x1 = jQuery("#canalplus").offset().left + 55;
	var _x2 = _x1 + (4 * 95);

	// set up
	getCurrentIndexes();
	updateCurrentOffsetLeft(); // initialize
	todayIndex = currentDayIndex_r;
	//
	var currentSliderPos = budge + ((currentDayIndex_r) * slideAmount * -1); // because the current day is meant to be in 2nd position in the semaineSlider
	sliderInner.css({ left: currentSliderPos });

	// returns relative index of the current day
	function getCurrentIndexes() {
		var current = jQuery("div.semaine-slider ul li.current");
		currentDayIndex_r = current.prevAll().size();
	}

	function updateCurrentOffsetLeft() {
		currentOffsetLeft = sliderInner.find("ul").find("li").eq(currentDayIndex_r).offset().left;
	}

	// the slider functions
	function moveSlider(direction) {
		if (!sliderMoving) {
			calculateNextPosition(direction);
			sliderMoving = true;
			sliderInner.animate({
				left: currentSliderPos
			}, 800, function(){ sliderMoving = false; });
			updateSlider(direction);
			updatePaginator();
		}
	}
	// calculate the next position of the slider
	function calculateNextPosition(direction) {
		if(direction == 'right') {
			currentSliderPos -= slideAmount;
			currentSet++;
		} else if (direction == 'left') {
			currentSliderPos += slideAmount;
			currentSet--;
		}
	}

	// update paginator links
	function updatePaginator() {

		if(currentDayIndex_r == 0) {
			sliderContainer.find("ul[class*=paginator]").find("li.prev a").hide();
			sliderContainer.find("ul[class*=paginator]").find("li.next a").show();
		} else if (currentDayIndex_r == (maxSet-1)) {
			sliderContainer.find("ul[class*=paginator]").find("li.next a").hide();
			sliderContainer.find("ul[class*=paginator]").find("li.prev a").show();
		} else {
			sliderContainer.find("ul[class*=paginator]").find("li.next a").show();
			sliderContainer.find("ul[class*=paginator]").find("li.prev a").show();
		}
	}

	function updateSlider(direction) {
		if (direction == 'right') {
			sliderInner.find("ul").find("li.current").removeClass("current");
			sliderInner.find("ul").find("li").eq(currentDayIndex_r+1).addClass("current");
		} else if (direction == 'left'){
			sliderInner.find("ul").find("li.current").removeClass("current");
			sliderInner.find("ul").find("li").eq(currentDayIndex_r-1).addClass("current");
		}
		getCurrentIndexes(); // updates the index
		updateCurrentOffsetLeft(); // updates the left offset
		output();
	}

	// add some events to the slider buttons
	sliderContainer.find("ul[class*=paginator]").find("li.prev a").click(function(e){
		e.preventDefault();
		updateCurrentOffsetLeft();
		if (currentOffsetLeft <= _x1) {
			moveSlider('left');
		} else {
			updateSlider('left');
		}
	});
	sliderContainer.find("ul[class*=paginator]").find("li.next a").click(function(e){
		e.preventDefault();
		updateCurrentOffsetLeft();
		if (currentOffsetLeft >= _x2) {
			moveSlider('right');
		} else {
			updateSlider('right');
		}
	});

	sliderInner.find("ul").find("li").click(function(e){
		e.preventDefault();
		if (!jQuery(this).hasClass("current")) {
			updateCurrentOffsetLeft();
			sliderInner.find("ul").find("li.current").removeClass("current");
			jQuery(this).addClass("current");
			currentDayIndex_r = jQuery(this).prevAll().size(); // updates the index of current
			updateCurrentOffsetLeft(); // updates the left offset of current
		}
	});
}

function emissionSlider() {
	var sliderContainer = jQuery("div.planifier div.planifier-header div.semaine-slider-container")
	var sliderInner =  jQuery("div.planifier div.planifier-header div.semaine-slider-container div.semaine-slider");
	var slideAmount = 520;
	var sliderMoving = false;
	if (typeof initCurrentSet != 'undefined') {
		var currentSet = initCurrentSet;
	} else {
		var currentSet = 0;
	}
	var budge = 75;
	var currentSliderPos = budge + (currentSet * slideAmount * -1);
	if (typeof iMaxSet != 'undefined') {
		var maxSet = iMaxSet;
	} else {
		var maxSet = 3;
	}

	// set up
	sliderInner.css({ left: currentSliderPos });

	// the slider functions
	function moveSlider(direction) {
		if (!sliderMoving) {
			calculateNextPosition(direction);
			sliderMoving = true;
			sliderInner.animate({
				left: currentSliderPos
			}, 1000, function(){ sliderMoving = false; });
			updatePaginator();
		}
	}
	// calculate the next position of the slider
	function calculateNextPosition(direction) {
		if(direction == 'right') {
			currentSliderPos -= slideAmount;
			currentSet++;
		} else if (direction == 'left') {
			currentSliderPos += slideAmount;
			currentSet--;
		}
	}

	// update paginator links
	function updatePaginator() {
		if(currentSet == 0) {
			if(maxSet == 0) {
				sliderContainer.find("ul[class*=paginator]").find("li a").css("display", "none");
			} else {
				sliderContainer.find("ul[class*=paginator]").find("li a").removeClass("inactive");
				sliderContainer.find("ul[class*=paginator]").find("li.prev a").addClass("inactive");
				sliderContainer.find("ul[class*=paginator]").find("li.next a").show();
			}
		} else if (currentSet == maxSet) {
			sliderContainer.find("ul[class*=paginator]").find("li a").removeClass("inactive");
			sliderContainer.find("ul[class*=paginator]").find("li.next a").addClass("inactive");
			sliderContainer.find("ul[class*=paginator]").find("li.prev a").show();
		} else {
			sliderContainer.find("ul[class*=paginator]").find("li a").removeClass("inactive");
			sliderContainer.find("ul[class*=paginator]").find("li.next a").show();
			sliderContainer.find("ul[class*=paginator]").find("li.prev a").show();
		}
	}

	updatePaginator();

	// add some events to the slider buttons
	sliderContainer.find("ul[class*=paginator]").find("li.prev a").click(function(e){
		e.preventDefault();
		if (currentSet != 0) {
			moveSlider('left');
		}
	});
	sliderContainer.find("ul[class*=paginator]").find("li.next a").click(function(e){
		e.preventDefault();
		if (currentSet != maxSet) {
			moveSlider('right');
		}
	});

	sliderInner.find("ul").find("li").hover(function(){
		if (!jQuery(this).hasClass("current")) {
			jQuery(this).addClass("hover");
		}
	}, function() {
		jQuery(this).removeClass("hover");
	});

	sliderInner.find("ul").find("li").click(function(){
		if (!jQuery(this).hasClass("current")) {
			sliderInner.find("ul").find("li.current").removeClass("current");
			jQuery(this).addClass("current");
		}
	});
}


function homepageVideos() {
	// set up
	var which = 0;
	var hrefs = ["/ajax/tab1-content1.htm", "/ajax/tab1-content2.htm", "/ajax/tab1-content3.htm", "/ajax/tab1-content4.htm"];
	jQuery("#tab-content-1 ul.paginator li.prev a").hide();
	//
	function swapContent(textStatus,href) {
		jQuery("#tab-content-1 ul.paginator li").removeClass("current");
		jQuery("#tab-content-1 ul.paginator li").eq(which + 2).addClass("current");
		if (textStatus == "success") {
			//if (window.console && !jQuery.browser.safari) {console.log(which);}
			if (which == 3) {
				jQuery("#tab-content-1 ul.paginator li.next a").hide();
			} else {
				jQuery("#tab-content-1 ul.paginator li.next a").show();
			}
			if (which == 0) {
				jQuery("#tab-content-1 ul.paginator li.prev a").hide();
			} else {
				jQuery("#tab-content-1 ul.paginator li.prev a").show();
			}
			setUpClasses();
		} else {
			window.location = href;
		}
	}
	// btn clicks
	jQuery("#tab-content-1 ul.paginator li a:not(li.next a, li.prev a)").click( function(e) {
		e.preventDefault();
		which = jQuery(e.target).html();
		which = (which * 1) - 1;
		jQuery("#tab-content-1-list").load(hrefs[which],
		function(responseText,textStatus,XMLHttpRequest) {
			swapContent(textStatus,hrefs[which]);
		}
		)
	});
	jQuery("#tab-content-1 ul.paginator li.next a").click( function(e) {
		e.preventDefault();
		which++;
		jQuery("#tab-content-1-list").load(hrefs[which],
		function(responseText,textStatus,XMLHttpRequest) {
			swapContent(textStatus,hrefs[which]);
		}
		)
	});
	jQuery("#tab-content-1 ul.paginator li.prev a").click( function(e) {
		e.preventDefault();
		which--;
		jQuery("#tab-content-1-list").load(hrefs[which],
		function(responseText,textStatus,XMLHttpRequest) {
			swapContent(textStatus,hrefs[which]);
		}
		)
	});
}

/*
* RC: Class gerant la sauvegarde en cookie des informations d'etat de certains elements
*/
function UserPageElementState(page) {
	this.cookieName = "userElementCookieState_";
	this.page = page;
	this.aEls = new Array();

	this.cookie = null;
	this.init = function() {
		this.cookie = jQuery.cookie(this.cookieName + this.page);
		if(this.cookie && this.cookie != "") {
			var aElsTmp = this.cookie.split("|");
			for(i=0; i<aElsTmp.length; i++){
				var tmp = aElsTmp[i].split(":");
				this.aEls[tmp[0]]= tmp[1];
			}
		}
	};
	this.updateValue = function(id,value) {
		this.aEls[id] = value;
		var tmp = "";
		for (var key in this.aEls) {
			tmp += key + ":" + this.aEls[key] + "|";
		}
		jQuery.cookie(this.cookieName + this.page, tmp, { expires: 30});
	};

}

/*function UserPageElementStateGrille(page) {
this.cookieName = "userElementCookieStateGrille_";
this.page = page;
this.aEls = new Array();

this.cookie = null;
this.init = function() {
this.cookie = jQuery.cookie(this.cookieName + this.page);
if(this.cookie && this.cookie != "") {
var aElsTmp = this.cookie.split("|");
for(i=0; i<aElsTmp.length; i++){
var tmp = aElsTmp[i].split(":");
this.aEls[tmp[0]]= tmp[1];
}
}
};
this.updateValue = function(id,value) {
//alert("id "+id+ " value"+value);
this.aEls[id] = value;
var tmp = "";
for (var key in this.aEls) {
tmp += key + ":" + this.aEls[key] + "|";
}
jQuery.cookie(this.cookieName + this.page, tmp, {expires :30 });
};

}*/




/*
* RC: Fonction d'initialisation de l'ouverture/fermeture
* RC:  des differentes sections de la home
*/
function sectionInitUserCookie(){
	userPageSectionState = new UserPageElementState("home_section");
	userPageSectionState.init();
	for (var key in userPageSectionState.aEls) {
		if (userPageSectionState.aEls[key] == 0) {
			var e = jQuery.Event("click");
			jQuery("div."+key+" p.openClose a._openClose").trigger(e);
		}
	}
}
/*
* RC: Fonction d'initialisation de l'ouverture/fermeture
* RC:  des differentes tabulations fil vidéo de la home
*/
function tabInitUserCookie(){
	userPageTabState = new UserPageElementState("home_tab");
	userPageTabState.init();
	for (var key in userPageTabState.aEls) {
		if (userPageTabState.aEls[key] == 1) {
			var e = jQuery.Event("click");
			jQuery("ul.tabs li."+key+" a._tabs").trigger(e);
			var b = key;
		}
	}
	if ((b == "tab-3" && !jQuery("ul.tabs li.tab-3").is(":visible")) || (b == "tab-2" && !jQuery("ul.tabs li.tab-2").is(":visible"))) {
		var bDisplayFirst = true;
	}

	if(!b || bDisplayFirst){		// si aucun élément n'est trouvé, on clique sur le premier onglet
		var key2 = "tab-1";
		var e = jQuery.Event("click");
		jQuery("ul.tabs li."+key2+" a._tabs").trigger(e);
	}
}

/*
* RC: Fonction d'initialisation de l'ouverture/fermeture
* RC:  des differentes sections de la home thematique sport
*/
function sportSectionInitUserCookie(){
	userPageSectionState = new UserPageElementState("home_sport_section");
	userPageSectionState.init();
	for (var key in userPageSectionState.aEls) {
		if (userPageSectionState.aEls[key] == 0) {
			var e = jQuery.Event("click");
			jQuery("div."+key+" p.openClose a._openClose").trigger(e);
		}
	}
}


function liBrevesInitUserCookie(){
	userPageLiState = new UserPageElementState("home_breves");
	userPageLiState.init();

	for (var key in userPageLiState.aEls) {
		if (userPageLiState.aEls[key] !="" ) {
			key=key.replace("breves_","");
			var b = key;
		}
	}
	userPageLiParentState = new UserPageElementState("parent_breves");
	userPageLiParentState.init();

	for (var key in userPageLiParentState.aEls) {
		if (userPageLiParentState.aEls[key] !="" ) {
			var parent = userPageLiParentState.aEls[key];
		}
	}

	if(b){
		jQuery("#"+parent+" h3").trigger("click");
		jQuery("#"+parent+" #breves_"+b+" a").trigger("click");
	}

}

/*function h5AccordeonInitUserCookie(){

h5AccordeonPageState = new UserPageElementStateGrille("grille_h5");
h5AccordeonPageState.init();

for (var key in h5AccordeonPageState.aEls) {
if (h5AccordeonPageState.aEls[key] !="" ) {
value=h5AccordeonPageState.aEls[key];
var cle=key;
var b=value;
}
if(b=="1"){
jQuery("."+cle+" a").trigger("click");
jQuery("."+cle).addClass("open");

}else{
jQuery("."+cle+" a").trigger("click");
jQuery("."+cle).removeClass("open");
}
}

}*/


function openAccordeon(){
	for (i=0;i<tableau.length;i++){
		chaine=tableau[i].split(",");
		cle=chaine[0];
		valeur=chaine[1];
		if(valeur==1){
			jQuery(".accordeon_"+cle).addClass("open");
			if(!isIE){
				jQuery(".ul_"+cle).slideToggle();
			}else{
				jQuery(".ul_"+cle).toggle();
			}
		}
		if(valeur==0){
			jQuery(".accordeon_"+cle).removeClass("open");
			if(!isIE){
				jQuery(".ul_"+cle).slideToggle();
			}else{
				jQuery(".ul_"+cle).toggle();
			}
		}

	}
}


function updateTableau(cle,valeur){
	tableau.push(cle+","+valeur);
}



// PAGE FUNCTIONS --------------------------------------------------------------------------------------------------------------

var userPageSectionState = null;


function indispensableFunctions() {
	dropdowns(); // handles the site menu drop down
	lightboxes(); // handles the login lightbox
	isFirstCallLightboxes = false;
	searchBox(); // handles search box
}

function homepage() {
	indispensableFunctions();
	liClick();
	tabs();
	sectionColHeights();
	sectionOpenClose();
	tabInitUserCookie();
	sectionInitUserCookie();
	liBrevesInitUserCookie();
	customDropDown();
	jQuery('div.videos-slider-container').f_slider({ itemsVisible: 4, doAutoScroll: false, slideAmount: 660 });
	videoSlider();
}

var stopAlerting = 0;
var delaiAlerting = 10000;
var nbProgMax = 4;
var progEnCours = -1;
var timer=null;
var nbr=0;

function arreteDefil(){
	stopAlerting = 1;
	clearTimeout(timer);
}

// Fonction qui relance le défilement des Prog apres un blocage manuel :
function relanceDefil(){
	stopAlerting = 0;
	timer=setTimeout("defil()", delaiAlerting);
}

function defil(){

	// la fonction doit permettre de faire un défilement des programmes. Au roll-over sur la zone centrale
	// le défilement sur la zone centrale doit s\'arreter puis reprendre au roll-out

	if(stopAlerting==0){
		if(nbr>nbProgMax){
			nbr=0;
		}
		jQuery("div.alertingLiveCentral ul.paginator-LivePremium li").removeClass("current");
		jQuery("div.alertingLiveCentral ul.paginator-LivePremium li#livePremium-page-"+nbr).addClass("current");
		var chaine="li#livePremium-prog-"+nbr;
		jQuery("div.alertingLiveCentral ul.alertingProgrammeLive li.current").css("display","none");
		jQuery("div.alertingLiveCentral ul.alertingProgrammeLive li.current").removeClass("current");
		jQuery("div.alertingLiveCentral ul.alertingProgrammeLive "+chaine).addClass("current");
		jQuery("div.alertingLiveCentral ul.alertingProgrammeLive "+chaine).css("display","block");
		
		nbr++;
		timer=setTimeout("defil()", delaiAlerting);
	}
}


function defilement(){
	jQuery("div.alertingLiveCentral ul.paginator-LivePremium li a").click(function(e) {
		e.preventDefault();

		if(!jQuery(this).parents("div.alertingLiveCentral ul.paginator-LivePremium li").hasClass("current")){ // s'il n'a pas la classe current
			jQuery("div.alertingLiveCentral ul.paginator-LivePremium li").removeClass("current");
			
			jQuery("div.alertingLiveCentral ul.alertingProgrammeLive li.current").css("display","none");
			jQuery("div.alertingLiveCentral ul.alertingProgrammeLive li.current").removeClass("current");

			jQuery(this).parents("div.alertingLiveCentral ul.paginator-LivePremium li").addClass("current"); // on positionne la classe current sur l'élément cliqué
			var prog=jQuery(this).parents("div.alertingLiveCentral ul.paginator-LivePremium li").attr("id");
			prog=prog.replace("page","prog");
			var chaine="li#"+prog;
			
			jQuery("div.alertingLiveCentral ul.alertingProgrammeLive "+chaine).addClass("current");
			jQuery("div.alertingLiveCentral ul.alertingProgrammeLive "+chaine).css("display","block");
			
			var bullet=jQuery(this).attr("id");
			bullet=bullet.replace("page-","");
			nbr=bullet;
			nbr++;
			arreteDefil();
			relanceDefil();
		}
	});
}

function alertingPremium(){
	jQuery.ajax({
		url: "/lib/front_tools/ajax/wwwplus_alerting_premium.php",
		async: false,
		type: "get",
		data: {},
		dataType: "text",
		success: function(data){
			jQuery("div#liveAlerting").html(data);
			jQuery("#bloc_fil_video_pub").addClass("videos-alert");
			defil();
			defilement();
			jQuery("div.alertingLiveCentral ul.alertingProgrammeLive li").hover(function(){
				jQuery("div.alertingLiveCentral ul.alertingProgrammeLive li h2").addClass("survol");
				arreteDefil();
			},
			function () {
				$(this).removeClass("hover");
				jQuery("div.alertingLiveCentral ul.alertingProgrammeLive li h2").removeClass("survol");
				relanceDefil();
			});
			lightboxes();
		},
		error: function(){
			alert("Erreur");
		}
	});
	jQuery("div#bloc_fil_video div.alert").hide();
}



function register() {
	indispensableFunctions();
	jQuery('input[type=submit]').addClass("submit");
	jQuery('input[type=radio]').addClass("radio");
	jQuery('input[type=checkbox]').addClass("checkbox");
	jQuery('input[type=image]').addClass("image");
	jQuery('input[type=file]').addClass("file");
	jQuery('input[type=text]').addClass("text");
	jQuery('input[type=password]').addClass("text");
}

function searchResults() {
	jQuery("div.programmesTable table tbody tr td div.col1 div.img").hover(function(){
		jQuery(this).parents().children("h4").children("a").addClass("hover");
	}, function() {
		jQuery(this).parents().children("h4").children("a").removeClass("hover");
	});
	jQuery("#rechercherSite").focus();
}

function searchResults2() {
	indispensableFunctions();
	liBrevesInitUserCookie();
	customDropDown();
	var _last = jQuery('ul.thumbs li:last-child');
	if (_last.hasClass("noMarginRight")) {
		_last.addClass("last-alt");
		_last.prev().addClass("last-alt");
		_last.prev().prev().addClass("last-alt");
	} else if (_last.hasClass("even")) {
		_last.prev().addClass("last-alt");
	}
	jQuery("#rechercherSite").focus();
}

function sectionInitialize() {
	var timer1 = microtime(true);
	var _cols = jQuery("div.section div.cols");
	// >>RC
	// si il n'y a pas de blocs definis pour cette section
	// alors surppresion de cette section.
	_cols.each(function(i,val){
		if(jQuery(this).children("div.col").length == 0) {
			jQuery(this).parents("div.section").remove();
		}
	});
	var timer2 = microtime(true);
	totalTimer["sectionInitialize"] = (timer2-timer1);
}

function sectionHomepages() {
	indispensableFunctions();
	sectionInitialize();
	sectionColHeights();
	customDropDown();
	jQuery('div.col2x-videos-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 660 });
	jQuery('div.col-covers-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 324 });
	videoSlider();
	liClick();
	var tmp = "";
	var total = 0;
	for (var key in totalTimer) {
		tmp+=key +":" + totalTimer[key] +"\n";
		total += totalTimer[key];
	}
	tmp+="TOTAL:" + total;
}

function homepageSport() {
	sectionHomepages();
	sectionOpenClose();
	sportSectionInitUserCookie();
	liBrevesInitUserCookie();
}

function tvGrid() {
	indispensableFunctions();
	liClick();
	labelMessages();
	liBrevesInitUserCookie();
	customDropDown();
	tabs();
	videoSlider();
	semaineSlider2();
	jourAccordion();
	jQuery('div.cemoiscisurcanalplus').f_controler();
}

function programmes() {
	indispensableFunctions();
	sectionColHeightsAlt();
	customDropDown();
	labelMessages();
}

function lesFilmsDuMois() {
	jQuery("div.bannerbar").css("margin-top", "40px");
}

function leGrandJournal() {
	indispensableFunctions();
	sectionInitialize();
	sectionColHeights();

	jQuery("div.feature, div.feature-small").hover(function(){
		jQuery(this).addClass("feature-hover");
	}, function() {
		jQuery(this).removeClass("feature-hover");
	});

	jQuery("ul.features-alt li").hover(function(){
		jQuery(this).addClass("hover");
	}, function() {
		jQuery(this).removeClass("hover");
	});

	jQuery("ul.videos li").click(function(e) {
		e.preventDefault();
		var href = jQuery(this).find("a").attr("href");
		if (href != "#" && href != "" && href != undefined) {
			window.location = href;
		}
	});

	jQuery("div.sideTool-alt ul.icon-list li").hover(function(){
		jQuery(this).addClass("hover");
		jQuery(this).children("a.icon").addClass("icon-hover");
	}, function() {
		jQuery(this).removeClass("hover");
		jQuery(this).children("a.icon").removeClass("icon-hover");
	});

	if (jQuery('dd').length > 0) {
		jQuery('dd:nth-child(even)').addClass("even");
		jQuery('dd:first-child').addClass("first");
		jQuery('dd:last-child').addClass("last");
	}
	if (jQuery("div.alert")[0]) {
		jQuery("div.alert").click(function(e) {
			e.preventDefault();
			e.preventDefault();
			var href = jQuery(this).find("a").attr("href");
			if (href != "#" && href != "" && href != undefined) {
				window.location = href;
			}
		});
		jQuery("div.alert").hover(function(){
			jQuery(this).addClass("alert-hover");
		}, function() {
			jQuery(this).removeClass("alert-hover");
		});
	}
	emissionSlider();
	jQuery('div.twocol div.col2x-videos-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 660 });
	jQuery('div.onecol div.col2x-videos-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 330 });
	jQuery('div.onecol div.content_sommaire').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 310 });
	jQuery('div.col2x div.content_sommaire').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 660 });
	jQuery('div.onecol div.content_invites').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 310 });
	jQuery('div.col2x div.content_invites').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 660 });
	jQuery('div.col-covers-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 324 });
	videoSlider();
}

function SportVideo() {
	indispensableFunctions();
	customDropDown();
	emissionSlider();
	jQuery("div.flashContent-top-sport div.planifier div.planifier-header div.semaine-slider-container div.semaine-slider ul li a").click(function(e){
		e.preventDefault();
	});
	jQuery('div.twocol div.col2x-videos-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 660 });
	jQuery('div.onecol div.col2x-videos-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 330 });
	jQuery('div.onecol div.content_sommaire').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 310 });
	jQuery('div.col2x div.content_sommaire').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 660 });
	jQuery('div.onecol div.content_invites').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 310 });
	jQuery('div.col2x div.content_invites').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 660 });
	jQuery('div.col-covers-slider-container').f_slider({ itemsVisible: 1, doAutoScroll: false, slideAmount: 324 });
	videoSlider();
	liBrevesInitUserCookie();
}

function videoV3(){
	indispensableFunctions();
	liBrevesInitUserCookie();
	customDropDown();
	if(jQuery("div.linkbar").is(":visible")){
		jQuery("div.infoVideoRight-closed a, div.infoVideoRight-open a ").click(function(e) {
			e.preventDefault();
			if(jQuery("div.infoVideoRight-closed").hasClass("infoVideoRight-open")){
				jQuery("#infoVideo").slideUp("slow",function(){
					jQuery("div.infoVideoRight-closed").removeClass("infoVideoRight-open");
				});
			}else{
				jQuery("div.infoVideoRight-closed").addClass("infoVideoRight-open");
				jQuery('div.infoVideo-player').slideDown('slow');
			}
		});
	}
	jQuery("ul.type-video li.case a").click(function(e) {
		e.preventDefault();
		jQuery("ul.type-video li.case").each(function(){
			jQuery("ul.type-video li.case").removeClass("case-cochee");
		});
		jQuery(this).parent().addClass("case-cochee");
	});
	jQuery("div.videov3-content-tab ul.tabs li a._tabs").click(function(e) {
		e.preventDefault();
		jQuery("div.videov3-content-tab ul.tabs li ").each(function(){
			jQuery("div.videov3-content-tab ul.tabs li ").removeClass("current");
		});
		jQuery(this).parent().addClass("current");
	});
	jQuery("ul.features-alt-videov3-2x4 li h4 a, ul.features-alt-videov3-2x4 li p a, ul.features-alt-videov3-2x4 li a").click(function(e) {
		e.preventDefault();
	});
	jQuery("ul.features-alt-videov3-3x3 li h4 a, ul.features-alt-videov3-3x3 li p a, ul.features-alt-videov3-3x3 li a").click(function(e) {
		e.preventDefault();
	});
	jQuery("ul.features-alt-videov3-4x3 li h4 a, ul.features-alt-videov3-4x3 li p a, ul.features-alt-videov3-4x3 li a").click(function(e) {
		e.preventDefault();
	});
}


function updateVideoVars(cid) {
	videoId = cid;
	var titre = "";
	jQuery.ajax({
		url: "/lib/front_tools/ajax/wwwplus_infos_video_by_cid.php",
		async: false,
		type: "get",
		data: {
			cid: cid
		},
		dataType:'json',
		success: function(data){

			videoTitre=data.titre;
			videoSousTitre=data.sous_titre;
			videoDescription=data.description;
			videoVisuel=data.visuel;

			if(videoTitre==null){
				videoTitre="";
			}
			if(videoSousTitre==null){
				videoSousTitre="";
			}
			if(videoDescription==null){
				videoDescription="";
			}
			if(videoVisuel==null){
				videoVisuel="";
			}
			if (jQuery("div.videoInfo div").is(":visible")) {
				var visible = true;
			} else {
				var visible = false;
			}
			jQuery("div.videoInfo div p.info").html(data.descriptionVideo);
			if (visible) {
				jQuery("div.videoInfo div").show();
				updateHeightRightSection();
			}

		},
		error: function(){
			alert("Erreur");
		}
	});
	switch (titreFormat) {
		case "1":
		titre = videoTitre;
		break;
		case "2":
		titre = videoSousTitre;
		break;
		case "3":
		titre = videoTitre;
		if (videoTitre != "" && videoSousTitre != "") {
			titre += " - ";
		}
		titre += videoSousTitre;
		break;
		default:
		break;
	}
	jQuery("div.comment-share-bar p").html(titre);
}

function fbsVideoProgramme_click() {
	var u = pageClearUrl+"?vid=" + videoId + "&sc_cmpid="+ sc_cmpid ;
	var t = "Viens voir la vidéo " + videoTitre + " - " + videoSousTitre + " sur CANALPLUS.FR";
	window.open("http://www.facebook.com/sharer.php?u=" + encodeURIComponent(u) + "&t=" + encodeURIComponent(t) + "&description=" + encodeURIComponent(videoDescription) + "&image_src" + encodeURIComponent(videoVisuel), "sharer", "toolbar=0,status=0,width=626,height=436");
	return false;
}

function twsVideoProgramme_click() {
	var url = pageClearUrl+"?vid=" + videoId + "&sc_cmpid="+sc_cmpidTwitter;
	var titre = "RT @"+compteTwittter +" A voir: " + videoTitre + " - " + videoSousTitre;
	jQuery.ajax({
		url: "/lib/front_tools/ajax/wwwplus_twitter_url.php",
		async: false,
		type: "get",
		data: {
			url: url,
			titre: titre
		},
		dataType: "text",
		success: function(data){
			window.open(data, "sharer", "toolbar=0,status=0,width=780,height=436");
		},
		error: function(){
			alert("Erreur");
		}
	});
	return false;
}

function mesEnregistrements() {
	indispensableFunctions();
	liBrevesInitUserCookie();
	customDropDown();
	videoSlider();
	liHover();
}

var initHeightRightSection = 0;
function updateHeightRightSection() {
	var heightMainSection = jQuery("div#mainSection").height();
	if (jQuery("div.titreTxtBrut").is(":visible")) {
		heightMainSection += jQuery("div.titreTxtBrut").height();
	}
	var heightRightSection = jQuery("div#rightSection").height();
	if (heightMainSection > heightRightSection) {
		jQuery("div#rightSection").css("height", heightMainSection + "px");
	} else {
		if (heightRightSection > initHeightRightSection) {
			if (heightMainSection > initHeightRightSection) {
				jQuery("div#rightSection").css("height", heightMainSection + "px");
			} else {
				jQuery("div#rightSection").css("height", initHeightRightSection + "px");
			}
		}
	}
}

function liveOnglet() {
	if (jQuery("div#contenuOnglet div.texte_presentation.bloc1 a.btn").is(":visible")) {
		jQuery("div#contenuOnglet div.texte_presentation.bloc1 a.btn").click(function(e) {
			e.preventDefault();
			if (jQuery("div#contenuOnglet div.texte_presentation.bloc1 div.texteSecondaire").is(":visible")) {
				jQuery("div#contenuOnglet div.texte_presentation.bloc1 div.texteSecondaire").hide();
				jQuery("div#contenuOnglet div.texte_presentation.bloc1 img.replie").css("display", "none");
				jQuery("div#contenuOnglet div.texte_presentation.bloc1 img.deplie").css("display", "inline");
				updateHeightRightSection();
			} else {
				jQuery("div#contenuOnglet div.texte_presentation.bloc1 div.texteSecondaire").show();
				jQuery("div#contenuOnglet div.texte_presentation.bloc1 img.deplie").css("display", "none");
				jQuery("div#contenuOnglet div.texte_presentation.bloc1 img.replie").css("display", "inline");
				updateHeightRightSection();
			}
		});
	}
	if (jQuery("div#contenuOnglet div.texte_presentation.bloc2 a.btn").is(":visible")) {
		jQuery("div#contenuOnglet div.texte_presentation.bloc2 a.btn").click(function(e) {
			e.preventDefault();
			if (jQuery("div#contenuOnglet div.texte_presentation.bloc2 div.texteSecondaire").is(":visible")) {
				jQuery("div#contenuOnglet div.texte_presentation.bloc2 div.texteSecondaire").hide();
				jQuery("div#contenuOnglet div.texte_presentation.bloc2 img.replie").css("display", "none");
				jQuery("div#contenuOnglet div.texte_presentation.bloc2 img.deplie").css("display", "inline");
				updateHeightRightSection();
			} else {
				jQuery("div#contenuOnglet div.texte_presentation.bloc2 div.texteSecondaire").show();
				jQuery("div#contenuOnglet div.texte_presentation.bloc2 img.deplie").css("display", "none");
				jQuery("div#contenuOnglet div.texte_presentation.bloc2 img.replie").css("display", "inline");
				updateHeightRightSection();
			}
		});
	}
	if (jQuery("div#contenuOnglet div.texte_presentation.bloc3 a.btn").is(":visible")) {
		jQuery("div#contenuOnglet div.texte_presentation.bloc3 a.btn").click(function(e) {
			e.preventDefault();
			if (jQuery("div#contenuOnglet div.texte_presentation.bloc3 div.texteSecondaire").is(":visible")) {
				jQuery("div#contenuOnglet div.texte_presentation.bloc3 div.texteSecondaire").hide();
				jQuery("div#contenuOnglet div.texte_presentation.bloc3 img.replie").css("display", "none");
				jQuery("div#contenuOnglet div.texte_presentation.bloc3 img.deplie").css("display", "inline");
				updateHeightRightSection();
			} else {
				jQuery("div#contenuOnglet div.texte_presentation.bloc3 div.texteSecondaire").show();
				jQuery("div#contenuOnglet div.texte_presentation.bloc3 img.deplie").css("display", "none");
				jQuery("div#contenuOnglet div.texte_presentation.bloc3 img.replie").css("display", "inline");
				updateHeightRightSection();
			}
		});
	}
	jQuery("div#contenuOnglet ul.features li a").click(function(e) {
		e.preventDefault();
		jQuery("div#contenuOnglet ul.features li").each(function() {
			jQuery(this).removeClass("current");
		});
		jQuery(this).parents("div#contenuOnglet ul.features li").addClass("current");
	});
}

function templateLive() {
	initHeightRightSection = jQuery("div#rightSection").height();
	indispensableFunctions();
	liClick();
	liBrevesInitUserCookie();
	customDropDown();
	videoSlider();
	liveOnglet();
	updateHeightRightSection();
	if (jQuery("div.contenuCentral.texte_presentation a.btn").is(":visible")) {
		jQuery("div.contenuCentral.texte_presentation a.btn").click(function(e) {
			e.preventDefault();
			if (jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").is(":visible")) {
				jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").hide();
				jQuery("div.contenuCentral.texte_presentation img.replie").css("display", "none");
				jQuery("div.contenuCentral.texte_presentation img.deplie").css("display", "inline");
				updateHeightRightSection();
			} else {
				jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").show();
				jQuery("div.contenuCentral.texte_presentation img.deplie").css("display", "none");
				jQuery("div.contenuCentral.texte_presentation img.replie").css("display", "inline");
				updateHeightRightSection();
			}
		});
	}
	jQuery("div.videov3-content-tab ul.tabs li a._tabs").click(function(e) {
		e.preventDefault();
		jQuery("div.videov3-content-tab ul.tabs li").each(function() {
			jQuery(this).removeClass("current");
		});
		jQuery(this).parent().addClass("current");
	});
}

function vitrine_premium(){
	jQuery.ajax({
		url: "/lib/front_tools/ajax/wwwplus_vitrine_premium.php",
		async: false,
		type: "get",
		data: {},
		dataType: "text",
		success: function(data){
			jQuery("div#btn_premium").html(data);
			lightboxes();
		},
		error: function(){
			alert("Erreur");
		}
	});
}


function afficherPlusDeVideos(onglet, listePlusVideos, pid, ztid) {
	nbPlusVideos[listePlusVideos]++;
	jQuery.ajax({
		url: "/lib/front_tools/ajax/wwwplus_live_onglet.php",
		async: false,
		type: "get",
		data: {
			pid: pid,
			ztid: ztid,
			onglet: onglet,
			enCours: videoEnCours,
			nbPlusVideos0 : nbPlusVideos[0],
			nbPlusVideos1 : nbPlusVideos[1],
			nbPlusVideos2 : nbPlusVideos[2],
			nbPlusVideos3 : nbPlusVideos[3],
			nbPlusVideos4 : nbPlusVideos[4],
			nbPlusVideos5 : nbPlusVideos[5],
			nbPlusVideos6 : nbPlusVideos[6],
			nbPlusVideos7 : nbPlusVideos[7]
		},
		dataType: "text",
		success: function(data){
			jQuery("div#contenuOnglet").html(data);
		}
	});
}

function afficherPlusDePhotos(onglet, pid, ztid) {
	nbPlusPhotos++;
	jQuery.ajax({
		url: "/lib/front_tools/ajax/wwwplus_live_onglet.php",
		async: false,
		type: "get",
		data: {
			pid: pid,
			ztid: ztid,
			onglet: onglet,
			nbPlusPhotos: nbPlusPhotos
		},
		dataType: "text",
		success: function(data){
			jQuery("div#contenuOnglet").html(data);
		}
	});
}


function changeOngletColonneCentrale(onglet, liste, page, pid, ztid) {
	nbPlusPhotos = 0;
	nbPlusVideos[0] = 0;
	nbPlusVideos[1] = 0;
	nbPlusVideos[2] = 0;
	nbPlusVideos[3] = 0;
	nbPlusVideos[4] = 0;
	nbPlusVideos[5] = 0;
	nbPlusVideos[6] = 0;
	nbPlusVideos[7] = 0;
	jQuery.ajax({
		url: "/lib/front_tools/ajax/wwwplus_live_onglet.php",
		async: false,
		type: "get",
		data: {
			pid: pid,
			ztid: ztid,
			onglet: onglet,
			liste: liste,
			page: page,
			enCours: videoEnCours
		},
		dataType: "text",
		success: function(data){
			jQuery("div#contenuOnglet").html(data);
		}
	});
}

function showOngletCommentaire(pid, ztid) {
	if (iOngletCommentaire != '') {
		if (!jQuery("div.videov3-content-tab ul.tabs li a.fb-com").parent().hasClass("current")) {
			jQuery("div.videov3-content-tab ul.tabs li").each(function() {
				jQuery(this).removeClass("current");
			});
			jQuery("div.videov3-content-tab ul.tabs li a.fb-com").parent().addClass("current");
			changeOngletColonneCentrale(iOngletCommentaire,0,0,pid,ztid);
		}
	}
}

function linkBigPlayer(url) {
	var position = url.indexOf(sUrlBigPlayer);
	if (position != -1) {
		url = url + '/' + sRequestURI;
	}
	window.location.href = url;
}

function animateScrollTop() {
	var offsetTop = jQuery("body").offset().top;
	jQuery("html, body").animate({scrollTop: offsetTop}, "slow");
}

function switchVideoPlayer(cid) {
	videoEnCours = cid;
	if (typeof updateVideoVars == "function") {
		updateVideoVars(cid);
	}
	if (typeof launchPlayerVideo == "function") {
		launchPlayerVideo(cid, 1);
	} else {
		jQuery("div#livePlayerEmbarque div.sl-install").remove();
		switchPlayerEmbarque(cid, 1);
		animateScrollTop();
		s.t();
	}
}

function switchSlideShow(id, picture) {
	launchSlideShow(id, picture);
	//animateScrollTop();
}

var iOngletPushGlo = '1';
function changeOngletPush(iOngletPush,page_id) {
	var libelleNow = document.getElementById("formv_libelleNow").value;
	var idAffaireNow = document.getElementById("formv_idAffaireNow").value;
	var idProgrammeNow = document.getElementById("formv_idProgrammeNow").value;
	var horaireDebutNow = document.getElementById("formv_horaireDebutNow").value;
	var horaireFinNow = document.getElementById("formv_horaireFinNow").value;
	var libelleNext = document.getElementById("formv_libelleNext").value;
	var idAffaireNext = document.getElementById("formv_idAffaireNext").value;
	var idProgrammeNext = document.getElementById("formv_idProgrammeNext").value;
	var horaireDebutNext = document.getElementById("formv_horaireDebutNext").value;
	var horaireFinNext = document.getElementById("formv_horaireFinNext").value;

	iOngletPushGlo = iOngletPush;

	jQuery.ajax({
		url: '/lib/front_tools/ajax/wwwplus_live_push.php', async: false,type: 'get',
		data: {
			libelleNow:escape(libelleNow),
			idAffaireNow:idAffaireNow,
			idProgrammeNow:idProgrammeNow,
			horaireDebutNow:horaireDebutNow,
			horaireFinNow:horaireFinNow,
			libelleNext:escape(libelleNext),
			idAffaireNext:idAffaireNext,
			idProgrammeNext:idProgrammeNext,
			horaireDebutNext:horaireDebutNext,
			horaireFinNext:horaireFinNext,
			iOngletPush:iOngletPush,
			pid:page_id
		},
		dataType: 'text',
		success: function(data){
			jQuery('#livePush').html(data);
		}
	});

}

function voteSond(a_afficher_resultats, next_page,page_id, nbParticipants, vote) {
                var libelleNow = document.getElementById("formv_libelleNow").value;
                var idAffaireNow = document.getElementById("formv_idAffaireNow").value;
                var idProgrammeNow = document.getElementById("formv_idProgrammeNow").value;
                var horaireDebutNow = document.getElementById("formv_horaireDebutNow").value;
                var horaireFinNow = document.getElementById("formv_horaireFinNow").value;
                var libelleNext = document.getElementById("formv_libelleNext").value;
                var idAffaireNext = document.getElementById("formv_idAffaireNext").value;
                var idProgrammeNext = document.getElementById("formv_idProgrammeNext").value;
                var horaireDebutNext = document.getElementById("formv_horaireDebutNext").value;
                var horaireFinNext = document.getElementById("formv_horaireFinNext").value;
                var iOngletPush = document.getElementById("formv_iOngletPush").value;
                var idQuestion = document.getElementById("formv_idQuestion").value;
                var numeroQuestion = document.getElementById("formv_numeroQuestion").value;
                var numReponse = 0;
                for(var i=0;i<document.getElementsByName("formv_idReponse").length;i++){
                               if(document.getElementsByName("formv_idReponse")[i].checked){
                                               numReponse=document.getElementsByName("formv_idReponse")[i].value;
                               }
                }
                if (next_page==0){
                               //on reste sur la meme page de question
                               numeroQuestion = 0 ;
                }

	tabNumReponse.push(numReponse);
	idSondage=jQuery('div.push-content-sondage input[name=sondage_id]').val();

	if(numReponse!=0){
		flux=flux+idQuestion+"_"+numReponse+"@@";
		jQuery.cookie("sondage_"+idSondage, flux, { expires: 15 }); // 15 jours
		jQuery.cookie("sondage_"+idSondage+"_nbParticipants", nbParticipants, {expires: 15});

	}

                jQuery.ajax({
                               url: '/lib/front_tools/ajax/wwwplus_live_push_sondage_vote.php', async: false,type: 'post',
                               data: {
                                               libelleNow:escape(libelleNow),
                                               idAffaireNow:idAffaireNow,
                                               idProgrammeNow:idProgrammeNow,
                                               horaireDebutNow:horaireDebutNow,
                                               horaireFinNow:horaireFinNow,
                                               libelleNext:escape(libelleNext),
                                               idAffaireNext:idAffaireNext,
                                               idProgrammeNext:idProgrammeNext,
                                               horaireDebutNext:horaireDebutNext,
                                               horaireFinNext:horaireFinNext,
                                               iOngletPush:iOngletPush,
                                               pid:page_id,
                                               idQuestion:idQuestion,
                                               numReponse:numReponse,
                                               numeroQuestion:numeroQuestion,
                                               a_afficher_resultats:a_afficher_resultats
                               },
                               dataType: 'text',
                               success: function(data){
                                               jQuery('#livePush').html(data);
			idSondage=jQuery('div.push-content-sondage input[name=sondage_id]').val();
			if (jQuery.cookie("Sondage_V3_"+idSondage)=="vote"){
				recalculPourcentage();
			}
		}
	});
}

function recalculPourcentage(){
	idSondage=jQuery('div.push-content-sondage input[name=sondage_id]').val();
	if (jQuery.cookie('Sondage_V3_'+idSondage)=="vote"){
		if(jQuery.cookie('sondage_'+idSondage) !=''){
			var valeur = jQuery.cookie('sondage_'+idSondage).split('@@');
			var idQuestion=document.getElementById("formv_idQuestion").value;
			for(i=0;i<parseInt(valeur.length)-1;i++){
				chaineQuestion=valeur[i].split('_');
				question=chaineQuestion[0];
				reponse=chaineQuestion[1];
				if(question==idQuestion){
					questionChoisie=question;
					reponseChoisie=reponse;
				}
			}
			var taille=parseInt(jQuery('div.simpleSondageListingPush input:hidden#nbReponse_QUESTION_'+idQuestion).val());
			nbParticipants=jQuery.cookie("sondage_"+idSondage+"_nbParticipants");
			if (jQuery.cookie("Sondage_V3_"+idSondage)=="vote"){
                                                               nbParticipants=parseInt(nbParticipants) + 1;
                                                               jQuery('span#nbParticipantsPush').html(nbParticipants);
                                               }

			for(var j=1;j<(taille+1);j++){
				valeur2=jQuery('#QUESTION_'+idQuestion+'_'+j).val();
				if(('#QUESTION_'+idQuestion+'_'+j)==('#QUESTION_'+questionChoisie+'_'+reponseChoisie)){
					valeur2=parseInt(valeur2)+1;
                               }
				pourcentage=(valeur2/nbParticipants)*100;
				traitRouge=Math.round(pourcentage*5.9);
				traitGris=590-traitRouge;
				jQuery('div.simpleSondageListingPush span#resultBarreRouge_QUESTION_'+idQuestion+'_'+j).css("width",traitRouge);
				jQuery('div.simpleSondageListingPush span#resultBarreGrise_QUESTION_'+idQuestion+'_'+j).css("width",traitGris);
				jQuery('div.simpleSondageListingPush span#valeurPourCentage_'+idQuestion+'_'+j).html(Math.round(pourcentage)+"%");
			}

		}

	}
}

function recalculPourcentageVitrine(tabIdQuestions){
	idSondage=jQuery('form[name=voterSondageV3] input[name=sondage_id]').val();
	var questionChoisie = new Array();
	var reponseChoisie = new Array();
	if (jQuery.cookie('Sondage_V3_'+idSondage)=="vote"){
		if(jQuery.cookie('sondage_'+idSondage) !=''){
			var valeur = jQuery.cookie('sondage_'+idSondage).split('@@');
			for(i=0;i<parseInt(valeur.length)-1;i++){
				var idQuestion=tabIdQuestions[i];
				chaineQuestion=valeur[i].split('_');
				question=chaineQuestion[0];
				reponse=chaineQuestion[1];
				if(question==idQuestion){
					questionChoisie[i]=question;
					reponseChoisie[i]=reponse;
				}
			}
			nbParticipants=jQuery.cookie("sondage_"+idSondage+"_nbParticipants");
			if (jQuery.cookie("Sondage_V3_"+idSondage)=="vote"){
				nbParticipants=parseInt(nbParticipants) + 1;
				jQuery('span#nbParticipants').html(nbParticipants);
}

			for(var i=0;i<parseInt(tabIdQuestions.length)-1;i++){
				taille=parseInt(jQuery('div.simpleSondageListingVitrineResult input:hidden#nbReponse_QUESTION_'+tabIdQuestions[i]).val());
				for(var j=1;j<(taille+1);j++){
					valeur2=jQuery('#QUESTION_'+tabIdQuestions[i]+'_'+j).val();
					if(('#QUESTION_'+tabIdQuestions[i]+'_'+j)==('#QUESTION_'+questionChoisie[i]+'_'+reponseChoisie[i])){
						valeur2=parseInt(valeur2)+1;
					}
					pourcentage=(valeur2/nbParticipants)*100;
					traitRouge=Math.round(pourcentage*2.65);
					traitGris=265-traitRouge;
					jQuery('div.simpleSondageListingVitrineResult span#resultBarreRouge_QUESTION_'+tabIdQuestions[i]+'_'+j).css("width",traitRouge);
					jQuery('div.simpleSondageListingVitrineResult span#resultBarreGrise_QUESTION_'+tabIdQuestions[i]+'_'+j).css("width",traitGris);
					jQuery('div.simpleSondageListingVitrineResult span#valeurPourCentage_'+tabIdQuestions[i]+'_'+j).html(Math.round(pourcentage)+"%");
				}
			}
		}
	}
}


var idAffaireNowGlo = '';
function setEPG(libelleNow, idAffaireNow, idProgrammeNow, horaireDebutNow, horaireFinNow, libelleNext, idAffaireNext, idProgrammeNext, horaireDebutNext, horaireFinNext, libelleNextNext, idAffaireNextNext, idProgrammeNextNext, horaireDebutNextNext, horaireFinNextNext) {
	if (idAffaireNow != idAffaireNowGlo) {
		idAffaireNowGlo = idAffaireNow;
		iOngletPushGlo = '1';
		jQuery.ajax({
			url: '/lib/front_tools/ajax/wwwplus_live_push.php', async: false,type: 'get',
			data: {
				libelleNow:escape(libelleNow),
				idAffaireNow:idAffaireNow,
				idProgrammeNow:idProgrammeNow,
				horaireDebutNow:horaireDebutNow,
				horaireFinNow:horaireFinNow,
				libelleNext:escape(libelleNext),
				idAffaireNext:idAffaireNext,
				idProgrammeNext:idProgrammeNext,
				horaireDebutNext:horaireDebutNext,
				horaireFinNext:horaireFinNext,
				iOngletPush:iOngletPushGlo,
				pid:pid
			},
			dataType: 'text',
			success: function(data){
				jQuery('#livePush').html(data);
			}
		});
	}
}

function checkAnswer(idAnswer){
	document.getElementById("formv_idReponse"+idAnswer).checked=true;
}

function afficheLiens(nbAffiche, pid, ztid, zp11){
	jQuery.ajax({
		url: '/lib/front_tools/ajax/wwwplus_vitrine_secondaire_v3_telechargement.php', async: false,type: 'get',
		data: {
			nbAffiche:nbAffiche,
			pid:pid,
			ztid:ztid,
			zp11:zp11
		},
		dataType: 'text',
		success: function(data){
			jQuery('#vitrineTelechargementLiens'+ztid).html(data);

		}
	});
}
function calculHauteurColonneDroite(){
	jQuery("div#rightSection").css("height","auto");
	var heightMainSection = jQuery("div#mainSection").height();
	var heightRightSection = jQuery("div#rightSection").height();
	initHeightRightSection = heightRightSection;
	if (heightMainSection > heightRightSection) {
		jQuery("div#rightSection").css("height",heightMainSection+"px");
	}
}

function checkRadio(form){
	var sondageId;
	var nbQuestion;
	for(var i=0;i<form.length;i++){
		if(form[i].name=="sondage_id"){
			sondageId=form[i].value;
		}
		if(form[i].name=="nbQuestion_"+sondageId){
			nbQuestion=form[i].value;
		}
	}
	if(jQuery("form#voterSondageV3"+sondageId+" input:checked").length==nbQuestion){
		jQuery("form#voterSondageV3"+sondageId+" a#validerVote").removeClass('btn-submit');
		jQuery("form#voterSondageV3"+sondageId+" a#validerVote").addClass('btn');
		jQuery("form#voterSondageV3"+sondageId+" a#validerVote").addClass('btn-secondary');
		jQuery("form#voterSondageV3"+sondageId+" a#validerVote").unbind('click');
		jQuery("form#voterSondageV3"+sondageId+" a#validerVote").bind('click', function(){
			value=jQuery("form#voterSondageV3"+sondageId+" input:hidden#functionVote_"+sondageId).val();
			eval(value);
		});
	}
}

function checkRadioZonePush(form){
	
	var sondageId;
	var nbQuestion;
	for(var i=0;i<form.length;i++){
		if(form[i].name=="sondage_id"){
			sondageId=form[i].value;
		}
		if(form[i].name=="nbQuestion_"+sondageId){
			nbQuestion=form[i].value;
		}
	}
	
	
	if(jQuery("form#voterSondageV3 div.sondageInner input:checked").length==nbQuestion){
		jQuery("div.push-content-sondage form#voterSondageV3 a#validerVote").removeClass('btn-submit');
		jQuery("div.push-content-sondage form#voterSondageV3 a#validerVote").addClass('btn');
		jQuery("div.push-content-sondage form#voterSondageV3 a#validerVote").addClass('btn-secondary');
		jQuery("div.push-content-sondage form#voterSondageV3 a#validerVote").unbind('click');
		jQuery("div.push-content-sondage form#voterSondageV3 a#validerVote").bind('click', function(){
			value=jQuery("div.push-content-sondage form#voterSondageV3 input:hidden#functionVote_"+sondageId).val();
			eval(value);
		});
	}
	
	
	
}


function voteSondVitrine(a_afficher_resultats, idSondage, tabIdQuestions, stringIdQuestions, nbParticipants, vote) {
                var tabIdQuestions=  tabIdQuestions;
                var tabNumReponses = new Array();
	for(var j=0;j<parseInt(tabIdQuestions.length)-1;j++){
                               var questionId = "QUESTION_"+tabIdQuestions[j];
                               for(var i=0;i<document.getElementsByName(questionId).length;i++){
                                               if(document.getElementsByName(questionId)[i].checked){
                                                               numReponse=document.getElementsByName(questionId)[i].value;
                                                               tabNumReponses[j] = numReponse;
                                               }
                               }
                }
                var idSondage = idSondage;
                var stringIdQuestions = stringIdQuestions;
                var stringNumReponses = "";
                for(var j=0;j<tabNumReponses.length;j++){
                               stringNumReponses = stringNumReponses +  tabNumReponses[j]+",";
                }

	for(var i=0;i<parseInt(tabIdQuestions.length)-1;i++){
		if(tabNumReponses.length>0){
			flux=flux+tabIdQuestions[i]+"_"+tabNumReponses[i]+"@@";
			jQuery.cookie("sondage_"+idSondage, flux, { expires: 15 }); // 15 jours
			jQuery.cookie("sondage_"+idSondage+"_nbParticipants", nbParticipants, {expires: 15});
		}
	}

                jQuery.ajax({
                               url: '/lib/front_tools/ajax/wwwplus_sondage_v3_vote_vitrine.php', async: false,type: 'post',
                               data: {
                                               idSondage:idSondage,
                                               stringIdQuestions:stringIdQuestions,
                                               stringNumReponses:stringNumReponses,
                                               a_afficher_resultats:a_afficher_resultats
                               },
                               dataType: 'text',
                               success: function(data){
                                               jQuery('#vitrineSecondaireSondage'+idSondage).html(data);
                                               if(vote=="vote"){
                                                               nbParticipants=parseInt(nbParticipants) + 1;
                                                               jQuery('span#nbParticipants').html(nbParticipants);

			}
			for(var i=0;i<tabIdQuestions.length;i++){
				taille=parseInt(jQuery('div.simpleSondageListingVitrineResult input:hidden#nbReponse_QUESTION_'+tabIdQuestions[i]).val());
				for(var j=1;j<(taille+1);j++){
					valeur2=jQuery('#QUESTION_'+tabIdQuestions[i]+'_'+j).val();
					if(('#QUESTION_'+tabIdQuestions[i]+'_'+j)==('#QUESTION_'+tabIdQuestions[i]+'_'+tabNumReponses[i])){
						valeur2=parseInt(valeur2)+1;
					}
					pourcentage=(valeur2/nbParticipants)*100;
					traitRouge=Math.round(pourcentage*2.65);
					traitGris=265-traitRouge;
					jQuery('div.simpleSondageListingVitrineResult span#resultBarreRouge_QUESTION_'+tabIdQuestions[i]+'_'+j).css("width",traitRouge);
					jQuery('div.simpleSondageListingVitrineResult span#resultBarreGrise_QUESTION_'+tabIdQuestions[i]+'_'+j).css("width",traitGris);
					jQuery('div.simpleSondageListingVitrineResult span#valeurPourCentage_'+tabIdQuestions[i]+'_'+j).html(Math.round(pourcentage)+"%");
				}
                                               }
                               }
                });
}

function getPlayerVideo(videoId){
	if (false){//Silverlight.isInstalled()) {

	} else {
		function playerLiveTVFlash() {
			switchPlayerEmbarque(videoId);
		}
		function chooseFlashPlayer() {
			jQuery("div#livePlayerEmbarque div.sl-install").remove();
			jQuery.cookie("player_live_tv", "flash", { expires: 15 }); // 15 jours
			playerLiveTVFlash();
		}
		if (true){//jQuery.cookie("player_live_tv") == "flash") {
			playerLiveTVFlash();
		} else {
			jQuery("div#livePlayerEmbarque div.sl-install").show();
		}
	}

}


function generiqueV3() {
	initHeightRightSection = jQuery("div#rightSection").height();
	indispensableFunctions();
	liClick();
	liBrevesInitUserCookie();
	customDropDown();
	videoSlider();
	liveOnglet();
	updateHeightRightSection();
	jQuery("div#mainSection div.comment-share-bar a.commentLink").click(function(e){
		e.preventDefault();
		if (jQuery("div#mainSection div.videoInfo div").is(":visible")) {
			jQuery("div#mainSection div.videoInfo div").slideUp("slow", function() {
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.replie").css("display", "none");
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.deplie").css("display", "inline");
			});
		}
		if (jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").is(":visible")) {
			jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").hide();
			jQuery("div.contenuCentral.texte_presentation img.replie").css("display", "none");
			jQuery("div.contenuCentral.texte_presentation img.deplie").css("display", "inline");
		}
		if (animateScrollComment) {
			var target = jQuery("div#mainSection div.videov3-content-tab").offset().top;
			if (jQuery("div#mainSection div.videoInfo div").is(":visible")) {
				target -= jQuery("div#mainSection div.videoInfo div").height();
			}
			jQuery("html, body").animate({scrollTop: target}, "slow");
		}
	});
	jQuery("div#mainSection div.comment-share-bar a.videoInfo").click(function(e){
		e.preventDefault();
		if (jQuery("div#mainSection div.videoInfo div").is(":visible")) {
			jQuery("div#mainSection div.videoInfo div").slideUp("slow", function() {
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.replie").css("display", "none");
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.deplie").css("display", "inline");
				updateHeightRightSection();
			});
		} else {
			jQuery("div#mainSection div.videoInfo div").slideDown("slow", function() {
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.deplie").css("display", "none");
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.replie").css("display", "inline");
				updateHeightRightSection();
			});
		}
	});
	jQuery("div#mainSection div.videoInfo div p.close a").click(function(e){
		e.preventDefault();
		if (jQuery("div#mainSection div.videoInfo div").is(":visible")) {
			jQuery("div#mainSection div.videoInfo div").slideUp("slow", function() {
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.replie").css("display", "none");
				jQuery("div#mainSection div.comment-share-bar a.videoInfo span img.deplie").css("display", "inline");
				updateHeightRightSection();
			});
		}
	});
	if (jQuery("div.contenuCentral.texte_presentation a.btn").is(":visible")) {
		jQuery("div.contenuCentral.texte_presentation a.btn").click(function(e) {
			e.preventDefault();
			if (jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").is(":visible")) {
				//jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").slideUp("slow", function() {
				jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").hide();
				jQuery("div.contenuCentral.texte_presentation img.replie").css("display", "none");
				jQuery("div.contenuCentral.texte_presentation img.deplie").css("display", "inline");
				updateHeightRightSection();
				//});
			} else {
				//jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").slideDown("slow", function() {
				jQuery("div.contenuCentral.texte_presentation div.texteSecondaire").show();
				jQuery("div.contenuCentral.texte_presentation img.deplie").css("display", "none");
				jQuery("div.contenuCentral.texte_presentation img.replie").css("display", "inline");
				updateHeightRightSection();
				//});
			}
		});
	}
	jQuery("div.videov3-content-tab ul.tabs li a._tabs").click(function(e) {
		e.preventDefault();
		jQuery("div.videov3-content-tab ul.tabs li").each(function() {
			jQuery(this).removeClass("current");
		});
		jQuery(this).parent().addClass("current");
	});
}

function emissionProgramme() {
	initHeightRightSection = jQuery("div#rightSection").height();
	indispensableFunctions();
	liClick();
	liBrevesInitUserCookie();
	customDropDown();
	emissionSlider();
	videoSlider();
	liveOnglet();
	updateHeightRightSection();
	jQuery("div#mainSection div.comment-share-bar a.commentLink").click(function(e){
		e.preventDefault();
		if (animateScrollComment) {
			var target = jQuery("div#mainSection div.videov3-content-tab").offset().top;
			jQuery("html, body").animate({scrollTop: target}, "slow");
		}
	});
	jQuery("div#mainSection div.planifier div.planifier-header div.semaine-slider-container div.semaine-slider ul li a").click(function(e){
		e.preventDefault();
		var target = jQuery("body").offset().top;
		jQuery("html, body").animate({scrollTop: target}, "slow");
	});
	jQuery("div.videov3-content-tab ul.tabs li a._tabs").click(function(e) {
		e.preventDefault();
		jQuery("div.videov3-content-tab ul.tabs li").each(function() {
			jQuery(this).removeClass("current");
		});
		jQuery(this).parent().addClass("current");
	});
}

function livePremium() {
	indispensableFunctions();
	liClick();
	labelMessages();
	liBrevesInitUserCookie();
	customDropDown();
	tabs();
	videoSlider();
	semaineSlider2();
	jourAccordion();
}


function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}

function IsValidPassword(sText) {
	var ValidChars = "^'"+'"&#¤$';
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) {
			//IsNumber = true;
		} else {
			IsNumber = false;
		}
	}
	return IsNumber;
}

function verifyEmail(form) {
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if (form.SUBSCRIBER_EMAIL.value.search(emailRegEx) == -1) {
		return false;
	}
	return true;
}

function verifyForget(form) {
	var msgError = "";
	if (verifyEmail(form)) {
		return true;
	}
	jQuery(form).find("#label_email-forget-password").addClass("error");
	msgError += "L'adresse e-mail est invalide<br/>";
	jQuery(form).find(".errors").css("display", "block");
	jQuery(form).find(".errors").html("<p><strong>Erreur d'identification.</strong><br/>"+msgError+"</p>");

	return false;
}

function verifyIdent(form) {
	var msgError = "";
	if (form.SUBSCRIBER_EMAIL.value.length!=0 && form.SUBSCRIBER_PASSWORD.value.length!=0 && verifyEmail(form)) {
		return true;
	}
	if (form.SUBSCRIBER_EMAIL.value.length==0 || !verifyEmail(form)) {
		jQuery(form).find("#label_email-login").addClass("error");
		msgError += "L'adresse e-mail est invalide<br/>";
	}
	else {
		jQuery(form).find("#label_email-login").removeClass("error");
	}
	if (form.SUBSCRIBER_PASSWORD.value.length==0) {
		jQuery(form).find("#label_passe-login").addClass("error");
		msgError += "Le champ mot de passe est vide<br/>";
	}
	else {
		jQuery(form).find("#label_passe-login").removeClass("error");
	}
	jQuery(form).find(".errors").css("display", "block");
	jQuery(form).find(".errors").html("<p><strong>Erreur d'identification.</strong><br/>"+msgError+"</p>");

	return false;
}

function checkForm(email, nick, num, zip, userdigit) {
	var url = "/lib/front_tools/inscription/ajax/checkForm.php";
	if (typeof sUrlSite == "string") {
		url = sUrlSite + url;
	}
	jQuery.ajax({
		url: url,
		async: false,
		type: "get",
		data: {email:email, nickname:nick, numabonne:num, zipcode:zip, userdigit:userdigit},
		dataType: "text",
		success: function(data){
			var params = data.split("|");
			jQuery("form input[name=AJ_EMAIL_UNICITY]").val(params[0]);
			jQuery("form input[name=AJ_NICK]").val(params[1]);
			jQuery("form input[name=AJ_NUMBER_VAL]").val(params[2]);
			jQuery("form input[name=AJ_ZIP_CODE]").val(params[3]);
			jQuery("form input[name=AJ_CAPTCHA]").val(params[4]);
			jQuery("form input[name=AJ_DIV_CAPTCHA]").val(params[5]);
		},
		error: function(){}
	});
}


function verifyRegister(form) {

	var msgError = "";
	var bRetour = true;

	if (form.TRSACT.value == "UPD") {
		checkForm(form.SUBSCRIBER_EMAIL.value, form.SUBSCRIBER_NICKNAME.value, form.SUBSCRIBER_NUMBER.value, form.SUBSCRIBER_ZIP.value, "");
	} else {
		checkForm(form.SUBSCRIBER_EMAIL.value, form.SUBSCRIBER_NICKNAME.value, form.SUBSCRIBER_NUMBER.value, form.SUBSCRIBER_ZIP.value, form.userdigit.value);
	}

	// CIVILITE
	if (form.CIVILITY_ID_LOOP[0].checked) {
		form.CIVILITY_ID.value = form.CIVILITY_ID_LOOP[0].value;
	} else {
		if (form.CIVILITY_ID_LOOP[1].checked) {
			form.CIVILITY_ID.value = form.CIVILITY_ID_LOOP[1].value;
		} else {
			if (form.CIVILITY_ID_LOOP[2].checked) {
				form.CIVILITY_ID.value = form.CIVILITY_ID_LOOP[2].value;
			}
		}
	}

	if (form.CIVILITY_ID.value == "") {
		bRetour = false;
		jQuery(form).find("#legend_civility").addClass("error");
		msgError += "Merci d'indiquer votre civilit&eacute;<br/>";
	} else {
		jQuery(form).find("#legend_civility").removeClass("error");
	}

	// NOM
	if (form.SUBSCRIBER_LAST_NAME.value.length == 0) {
		bRetour = false;
		jQuery(form).find("#label_nom").addClass("error");
		msgError += "Merci de remplir le champ Nom<br/>";
	} else {
		jQuery(form).find("#label_nom").removeClass("error");
	}

	// PRENOM
	if (form.SUBSCRIBER_FIRST_NAME.value.length == 0) {
		bRetour = false;
		jQuery(form).find("#label_prenom").addClass("error");
		msgError += "Merci de remplir le champ Pr&eacute;nom<br/>";
	} else {
		jQuery(form).find("#label_prenom").removeClass("error");
	}

	// PSEUDO
	if (form.SUBSCRIBER_NICKNAME.value.length == 0) {
		bRetour = false;
		jQuery(form).find("#label_pseudo").addClass("error");
		msgError += "Merci d'indiquer un pseudonyme<br/>";
	} else {
		jQuery(form).find("#label_pseudo").removeClass("error");
		if (form.AJ_NICK.value != 1 && form.SUBSCRIBER_NICKNAME.value != form.SUBSCRIBER_NICKNAME_OLD.value) { 		// ce pseudo est déjà utilisé
			bRetour = false;
			jQuery(form).find("#label_pseudo").addClass("error");
			msgError += "Ce pseudo est d&eacute;j&agrave; utilis&eacute;<br/>";
		}
	}

	// EMAIL
	if (form.SUBSCRIBER_EMAIL.value.length == 0 || !verifyEmail(form)) {
		bRetour = false;
		jQuery(form).find("#label_email").addClass("error");
		msgError += "L'adresse e-mail est invalide<br/>";
	} else {
		jQuery(form).find("#label_email").removeClass("error");
		if (form.AJ_EMAIL_UNICITY.value == 1 && form.SUBSCRIBER_EMAIL.value != form.SUBSCRIBER_EMAIL_OLD.value) { 	// ce mail est déjà utilisé
			bRetour = false;
			jQuery(form).find("#label_email").addClass("error");
			msgError += "Ce mail est d&eacute;j&agrave; utilis&eacute;<br/>";
		}
	}

	// MOT DE PASSE + CONFIRMATION
	if (form.SUBSCRIBER_PASSWORD.value.length < 4) {
		bRetour = false;
		jQuery(form).find("#label_passe").addClass("error");
		msgError += "Merci de choisir un mot de passe ayant 4 caract&egrave;res minimum<br/>";
	} else {
		if (!IsValidPassword(form.SUBSCRIBER_PASSWORD.value)) {
			bRetour = false;
			jQuery(form).find("#label_passe").addClass("error");
			msgError += "Attention, ne pas utiliser les caract&egrave;res ^ ' \&quot; &amp; # &curren; $ pour le mot de passe<br/>";

		} else {
			jQuery(form).find("#label_passe").removeClass("error");
			if ((form.SUBSCRIBER_PASSWORD.value) != (form.password_Confirmation.value)) {	// test de la confirmation de mot de passe
				bRetour = false;
				jQuery(form).find("#label_passe2").addClass("error");
				msgError += "Merci de v&eacute;rifier la confirmation de votre mot de passe<br\>" ;
			} else {
				jQuery(form).find("#label_passe2").removeClass("error")
			}
		}
	}

	// CODE POSTAL
	if (form.SUBSCRIBER_ZIP.value.length == 0) {
		bRetour = false;
		jQuery(form).find("#label_code-postal").addClass("error");
		msgError += "Merci de remplir le champ Code postal<br/>";
	} else {
		if(!IsNumeric(form.SUBSCRIBER_ZIP.value)) {
			bRetour = false;
			jQuery(form).find("#label_code-postal").addClass("error");
			msgError += "Merci de remplir le champ Code postal avec une valeur num&eacute;rique<br/>";
		} else {
			if (form.SUBSCRIBER_ZIP.value.length != 5) {
				bRetour = false;
				jQuery(form).find("#label_code-postal").addClass("error");
				msgError += "Merci de saisir un code postal &agrave; 5 chiffres<br/>";
			} else {
				jQuery(form).find("#label_code-postal").removeClass("error");
			}
		}
	}

	// ABONNE OUI/NON - NUMERO ABONNE
	if (form.SUBSCRIBER_FLAG_ABO[0].checked) {
		if (form.SUBSCRIBER_NUMBER.value.length == 0) {
			bRetour = false;
			msgError += "Merci d'indiquer un N&deg; d'abonn&eacute;<br/>";
			jQuery(form).find("#label_no-abonne").addClass("error");
		} else {
			if (form.SUBSCRIBER_NUMBER.value != "" && form.SUBSCRIBER_ZIP.value != "" && form.AJ_NUMBER_VAL.value == 1) {
				if (form.AJ_ZIP_CODE.value != 1) {
					bRetour = false;
					msgError += "Votre N&deg; d'abonn&eacute; et votre code postal ne concordent pas<br/>";
					jQuery(form).find("#label_no-abonne").addClass("error");
				} else {
					jQuery(form).find("#label_no-abonne").removeClass("error");
				}
			} else {
				bRetour = false;
				msgError += "Veuillez renseigner un N&deg; d'abonn&eacute; valide<br/>";
				jQuery(form).find("#label_no-abonne").addClass("error");
			}
		}
	} else {
		jQuery(form).find("input[name=SUBSCRIBER_NUMBER]").val("");
		jQuery(form).find("#label_no-abonne").removeClass("error");
	}


	// CODE DE CONTROLE
	if (form.TRSACT.value == "INS") {
		if (form.userdigit.value.length == 0) {
			bRetour = false;
			jQuery(form).find("#label_code").addClass("error");
			msgError += "Merci de saisir le code de contr&ocirc;le<br/>";
		} else {
			if (form.AJ_CAPTCHA.value != 1) {
				bRetour = false;
				jQuery(form).find("#label_code").addClass("error");
				msgError += "Le code de contr&ocirc;le saisi ne correspond pas &agrave; l'image<br/>";
			} else {
				jQuery(form).find("#label_code").removeClass("error");
			}
		}
	}

	// CGU
	if (form.TRSACT.value == "INS") {
		if (!form.CGU_SUBSCRIBER.checked) {
			bRetour = false;
			msgError += "Veuillez accepter les C.G.U. pour valider votre inscription<br/>";
			jQuery(form).find("#label_cgu").addClass("error");
		} else {
			jQuery(form).find("#label_cgu").removeClass("error");
		}
	}

	// GESTION DES ERREURS
	if (!bRetour) {
		if (form.TRSACT.value == "INS") {
			jQuery(form).find("#captcha").html('<img width="170" height="27" style="vertical-align: middle; float: left;" alt="Image de contrôle" src="' + form.AJ_DIV_CAPTCHA.value + '" /><input id="userdigit" type="text" size="6" name="userdigit"/>');
		}
		jQuery(form).find(".errors").css("display", "block");
		jQuery(form).find(".errors").html("<p><strong>Certains champs n'ont pas &eacute;t&eacute; remplis correctement</strong><br/>"+msgError+"</p>");
	}

	return bRetour;
}


function openPopupCguNclinet(tpl, height, width, scroll, popup_type) {
	var params = "height=" + height + ",width=" + width + ",scrollbars=" + scroll;
	var url = "/index_popup.php?tpl=" + tpl + "&popup_type=" + popup_type;
	if (typeof sUrlSite == "string") {
		url = sUrlSite + url;
	}
	window.open(url, "TexteRiche", params);
}

function FlashPlayerStop() {
	if (document.getElementById('CanalPlayerEmbarque')) {
		if (typeof document.getElementById('CanalPlayerEmbarque').playerStop=='function') {
			document.getElementById('CanalPlayerEmbarque').playerStop();
		}
	}
}

function FlashPlayerPause() {
	if (document.getElementById('CanalPlayerEmbarque')) {
		if (typeof document.getElementById('CanalPlayerEmbarque').playerPause=='function') {
			document.getElementById('CanalPlayerEmbarque').playerPause();
		}
	}
}

function FlashPlayerPlay() {
	if (document.getElementById('CanalPlayerEmbarque')) {
		if (typeof document.getElementById('CanalPlayerEmbarque').playerPlay=='function') {
			document.getElementById('CanalPlayerEmbarque').playerPlay();
		}
	}
}

function slPlayerPause() {
	if (document.getElementById('slapp')) {
		if (typeof (document.getElementById('slapp').content.Player.Pause())=='function') {
			document.getElementById('slapp').content.Player.Pause();
		}
	}
}

function slPlayerPlay() {
	if (document.getElementById('slapp')) {
		if (typeof (document.getElementById('slapp').content.Player.Play())=='function') {
			document.getElementById('slapp').content.Player.Play();
		}
	}
}


var totalTimer = new Array();


function microtime (get_as_float) {
	// http://kevin.vanzonneveld.net
	// +   original by: Paulo Ricardo F. Santos
	// *     example 1: timeStamp = microtime(true);
	// *     results 1: timeStamp > 1000000000 && timeStamp < 2000000000

	var now = new Date().getTime() / 1000;
	var s = parseInt(now, 10);

	return (get_as_float) ? now : (Math.round((now - s) * 1000) / 1000) + ' ' + s;
}


/**
* This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
*/

function writeFlash(p) {
	writeEmbed(
	'D27CDB6E-AE6D-11cf-96B8-444553540000',
	'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
	'application/x-shockwave-flash',
	p
	);
}

function writeShockWave(p) {
	writeEmbed(
	'166B1BCA-3F9C-11CF-8075-444553540000',
	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
	'application/x-director',
	p
	);
}

function writeQuickTime(p) {
	writeEmbed(
	'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
	'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
	'video/quicktime',
	p
	);
}

function writeRealMedia(p) {
	writeEmbed(
	'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
	'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
	'audio/x-pn-realaudio-plugin',
	p
	);
}

function writeWindowsMedia(p) {
	p.url = p.src;
	writeEmbed(
	'6BF52A52-394A-11D3-B153-00C04F79FAA6',
	'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
	'application/x-mplayer2',
	p
	);
}

function writeEmbed(cls, cb, mt, p) {
	var h = '', n;

	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
	h += '>';

	for (n in p)
	h += '<param name="' + n + '" value="' + p[n] + '">';

	h += '<embed type="' + mt + '"';

	for (n in p)
	h += n + '="' + p[n] + '" ';

	h += '></embed></object>';

	document.write(h);
}
