$(document).ready(function() {
	
	InitializeCufon();	
	jQueryUI();
	jFancy();

	InitialiserPreFooterNewsletter();	

	$('#FormPreFooterNewsletterErr').mouseover(function() { $(this).css('cursor','pointer'); }).click( function() {						
		$('#FormPreFooterNewsletterErr').hide(0, function() {  $('#FormPreFooterNewsletterForm').show();});
	});

	$('#FormPreFooterNewsletterByeBye input').click( function() {						
		$('#FormPreFooterNewsletterByeByeErr').hide(0, function() {  $('#FormPreFooterNewsletterByeByeConsignes').show();});
	});
	
});

/* ----------------------- */
/* --- ACCES CATALOGUE --- */
/* ----------------------- */

function AccesCatalogue()
{
	// Appel pour contrôle de la connexion
	var dataString = "&FormAction=CheckConnexion&";
	
	// Execution du formulaire
	$.ajax({
		type: "POST",
		url: "./op_catalogue.php",		
		data: dataString,
		dataType : 'html',
		cache: false,
		async: true,
		success: function(data) {  eval(data); return(false); },      	  
		error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	 });
 
	return false;
	
}

function OpenBoxConnexion() {
	if ($('#BoxInscription').length > 0) Boxy.get('#BoxInscription').hideAndUnload();
	Boxy.load('./p_connexion.php', { title :'Connexion', modal: true, unloadOnHide: true, afterShow: function() { InitializeBoxConnexion(); }, beforeUnload: function(){ } });
}

function OpenBoxInscription() {
	if ($('#BoxConnexion').length > 0) Boxy.get('#BoxConnexion').hideAndUnload();
	Boxy.load('./p_inscription.php', { title :'Inscription', modal: true, unloadOnHide: true, afterShow: function() { InitializeBoxInscription(); }, beforeUnload: function(){ } });
}


/* ------------------ */
/* --- NEWSLETTER --- */
/* ------------------ */

function InitialiserPreFooterNewsletter() {
	$('#FormPreFooterNewsletterForm #prenom_contact_newsletter').val('');   	
	$('#FormPreFooterNewsletterForm #nom_contact_newsletter').val('');   	
	$('#FormPreFooterNewsletterForm #email_contact_newsletter').val('');   	
}

function PreFooterNewsletter() {			
	
	$.Watermark.HideAll();
	
	// Formatage les données
	var dataString = $("form#FormPreFooterNewsletter").serialize();		
	dataString += "&FormAction=Inscription";	

	// Execution du formulaire
	$.ajax({
	  type: "POST",
	  url: "./op_newsletter.php",
	  beforeSend: function() { $('#FormPreFooterNewsletterForm').hide(0, function () { $('#FormPreFooterNewsletterLoad').show(); } );  },	  
	  data: dataString,
	  dataType : 'html',
	  cache: false,
	  async: true,
	  success: function(data) {  $.Watermark.ShowAll(); $('#FormPreFooterNewsletterLoad').hide(0, function () { eval(data); } );  return(false); },      	  
	  error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	 });
 
	return false;
}	

/* ---------------------- */
/* --- IDENTIFICATION --- */
/* ---------------------- */

function IdentificationInitialize() {
	var dataString = "FormAction=Initialisation&";		
		
	// Execution du formulaire
	$.ajax({
		type: "POST",
		url: "./op_identification.php",
		data: dataString,
		dataType : 'html',
		cache: false,
		async: true,
		success: function(data) { eval(data); return(false); }
		//,error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	});
	
	return false;
}

function IdentificationSubmit(gotoPage) {
	
	$.Watermark.HideAll();
	
	var dataString = "FormAction=Identification&"+$("#FormToolBoxIdentification").serialize();

	if((typeof(gotoPage) !== 'undefined') && (gotoPage != "")) { dataString += '&gotoPage='+gotoPage }
		
	// Execution du formulaire
	$.ajax({
		type: "POST",
		url: "./op_identification.php",
		beforeSend: function() { $('.ToolBoxIdentification').hide(0, function() { $('.ToolLoader').show(); }); },
		data: dataString,
		dataType : 'html',
		cache: false,
		async: true,
		success: function(data) { $.Watermark.ShowAll(); eval(data); return(false); },
		error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	});
	
	return false;
}


function IdentificationMotDePassePerduSubmit() {
	var dataString = "FormAction=MotDePassePerdu&"+$("#FormToolBoxMotDePassePerdu").serialize();		
		
	// Execution du formulaire
	$.ajax({
		type: "POST",
		url: "./op_identification.php",
		data: dataString,
		dataType : 'html',
		cache: false,
		async: true,
		success: function(data) { eval(data); return(false); },
		error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	});
	
	return false;
}

function Deconnexion() {
	var dataString = "FormAction=Deconnexion&";		
		
	// Execution du formulaire
	$.ajax({
		type: "POST",
		url: "./op_deconnexion.php",
		data: dataString,
		dataType : 'html',
		cache: false,
		async: true,
		success: function(data) { eval(data); return(false); }
		//,error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	});
	
	return false;
}

/* -------------- */
/* --- DIVERS --- */
/* -------------- */

function urlencode (str) {
    str = (str + '').toString();
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
    replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}


function serverTime() { 
    var time = null; 
    $.ajax({url: './op_time_now.php', 
        async: false, dataType: 'text', 
        success: function(text) { 
            time = new Date(text); 
        }, error: function(http, message, exc) { 
            time = new Date(); 
    }}); 
    return time; 
}

function isDefined(variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

function jQueryUI() {
	
	$('.tabs').tabs();		
	
	$('form input[type=text], form input[type=password], form textarea').focus(function() { $('#'+$(this).attr('id')+"_Err").slideUp('fast'); });	
	
	$("button.uiButton").button().mouseout(function() { $(this).removeClass('ui-state-focus'); });	
	
	$(".RadioSet").buttonset();	
	
	$('.tooltip, .tooltip-s, .tooltip-n, .tooltip-w, .tooltip-e, .tooltip-ne, .tooltip-nw, .tooltip-se, .tooltip-sw').mouseover(function() { $(this).css('cursor', 'help'); });
	
	$('.tooltip').tipsy({title: 'alt', gravity: 's'});
	$('.tooltip-s').tipsy({title: 'alt', gravity: 's'});
	$('.tooltip-n').tipsy({title: 'alt', gravity: 'n'});
	$('.tooltip-w').tipsy({title: 'alt', gravity: 'w'});
	$('.tooltip-e').tipsy({title: 'alt', gravity: 'e'});
	
	$('.tooltip-ne').tipsy({title: 'alt', gravity: 'ne'});
	$('.tooltip-nw').tipsy({title: 'alt', gravity: 'nw'});
	
	$('.tooltip-se').tipsy({title: 'alt', gravity: 'se'});
	$('.tooltip-sw').tipsy({title: 'alt', gravity: 'sw'});
	
	$('.Watermarked').each(function() {
		$(this).Watermark($(this).attr('title'),"#555555");
	});
		
	$.datepicker.setDefaults($.datepicker.regional['fr']);
	$.datepicker.setDefaults({showWeek: true, dateFormat: 'dd/mm/yy', constrainInput: true});

	$(".datetimepicker").datetimepicker({showOn: "button",buttonImage: "./images/calendrier.png",buttonImageOnly: true, buttonText: 'Sélectionner une date'});	
	$(".datetimepicker").setMask({mask : '39/19/9999 29:69'});
	
	$(".datepicker").datepicker({showOn: "button",buttonImage: "./images/calendrier.png",buttonImageOnly: true, buttonText: 'Sélectionner une date'});	
	$(".datepicker").setMask({mask : '39/19/9999'});
	
	$("img.ui-datepicker-trigger").css('position','relative').css('top','5px').css('padding-left','5px').mouseover(function() { $(this).css('cursor','pointer'); } );
	$("div.ui-datepicker").css('position','relative').css('margin-top','5px');
	
	$(".datepicker, .datetimepicker").dblclick(function() { $(this).select(); });	
	
	//$('input.formatPhone').setMask({mask : '99 99 99 99 99'});	

	$('form.jqTransform').jqTransform();
	
	
}

/* FancyBox */
function jFancy() {
	$('a.fancy').fancybox({ title: $('img',this).attr('alt') ,titlePosition : 'inside', 'zoomOpacity'	: true,	'zoomSpeedIn'	: 500, 'zoomSpeedOut'	: 500 , centerOnScroll : true});
	
	$('a.zoomable').each(function() {
		$(this).prepend('<div class="fancyMagnifier"></div>');
	});
	$('a.zoomable').hover(function() {
		$('.fancyMagnifier', this).show();
	}, function() {
		$('.fancyMagnifier', this).hide();
	});
}

/* SESSIONIZE */
function Sessionize(SessionVar, SessionVal, SessionArray, callBack) {
	var dataString = "FormAction=Sessionize&SessionVar="+SessionVar+"&SessionVal="+SessionVal+"&SessionArray="+SessionArray;		
		
	// Execution du formulaire
	$.ajax({
		type: "POST",
		url: "./includes.php",
		data: dataString,
		dataType : 'html',
		cache: false,
		async: true,
		success: function(data) { if ($.isFunction(callBack)) { callBack(); } else { eval(data); } return(false); },
		error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	});
	
	return false;
}

function UnSessionize(SessionVar, SessionArray, callBack) {
	var dataString = "FormAction=UnSessionize&SessionVar="+SessionVar+"&SessionArray="+SessionArray;		
		
	// Execution du formulaire
	$.ajax({
		type: "POST",
		url: "./includes.php",
		data: dataString,
		dataType : 'html',
		cache: false,
		async: true,
		success: function(data) { if ($.isFunction(callBack)) { callBack(); } else { eval(data); } return(false); },
		error: function() { Boxy.alert('Une erreur est survenue. Veuillez réessayer à nouveau.<br>Si le problème persiste veuillez contacter l\'administrateur du système.', null, {title: 'Information'}); }
	});
	
	return false;
}

/* CUFON */
function InitializeCufon()
{		
	if ((Cufon != "undefined") && (true)) {

		var versionIE = getInternetExplorerVersion();
		if(versionIE > 6 || versionIE == -1)
		{
			Cufon.set('forceHitArea',true);
			
			/* Divers */
			Cufon.replace($('.CufonLink'), { fontFamily: 'NettoOT-Bold', hover: { color: '#E14261' } });
			
			/* Navigation */
			Cufon.replace($('.HeaderNav a'), { fontFamily: 'NettoOT-Bold', hover: { color: '#fff' } });
			
			/* Top Header */
			Cufon.replace($('.TopHeaderIn'), { fontFamily: 'NettoOT-Bold' });
			
			/* Header Catalogue */
			Cufon.replace($('.HeaderAccCatalogueInInTitreBig'), { fontFamily: 'NettoOT' });
			Cufon.replace($('.HeaderAccCatalogueInInTitreSml'), { fontFamily: 'NettoOT-Bold' });
			
			/* Header Facebook */
			Cufon.replace($('.HeaderAccFacebookInInTitreBig'), { fontFamily: 'NettoOT' });
			Cufon.replace($('.HeaderAccFacebookInInTitreSml'), { fontFamily: 'NettoOT-Bold' });
			
			/* Acc Nouveautes */
			Cufon.replace($('.AccNouveautesTitre, .AccNouveautesSsTitre '), { fontFamily: 'NettoOT' });
			Cufon.replace($('.AccActualitesTitre, .AccActualitesSsTitre '), { fontFamily: 'NettoOT' });
			
			Cufon.replace($('.PublicationTitre'), { fontFamily: 'NettoOT-Bold' });
			Cufon.replace($('.PublicationDateEve'), { fontFamily: 'NettoOT-Bold' });
			Cufon.replace($('.AccNouveautesPlus'), { fontFamily: 'NettoOT-Bold', hover: { color: '#9B75CE' } });
			Cufon.replace($('.AccActualitesPlus'), { fontFamily: 'NettoOT-Bold', hover: { color: '#E14261' } });
			
			/* Page */
			Cufon.replace($('.PageTitreBig'), { fontFamily: 'NettoOT-Bold' });
			Cufon.replace($('.PageTitre'), { fontFamily: 'NettoOT' });
			Cufon.replace($('.PageSmlTitre'), { fontFamily: 'NettoOT-Bold' });
			
			
			/* PreFooter */
			Cufon.replace($('.PreFooterNewsletterTitre'), { fontFamily: 'NettoOT' });			
			Cufon.replace($('.TitreBig, .TitreSml'), { fontFamily: 'NettoOT' });						
			Cufon.replace($('.SsTitreBig, .SsTitreSml'), { fontFamily: 'NettoOT-Bold' });						
		}
	}
}

function str_replace (search, replace, subject, count) {
   
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

function getUrlVars()
{
    var vars = [], hash;
    
    //var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    
	var QString = $.address.queryString();
	var hashes = QString.split('&');
	
 
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
 
    return vars;
}
