/*
 * Copyright 2010 by Robert Viens <viens@pubnix.net>
 *
 * This program is Private stuff!
 *
 * Versions: 0.1    2010-04-23  Initial release
 * Versions: 0.2    2010-04-28  Gestion de tous les formulaires
 *                 
 */
var allow = new Array('gif','png','jpg','jpeg');
var websiteList =  ['linkedin','google','yahoo','myspace','facebook','delicious','digg','twitter'];
var emailMalForm = 'Votre adresse de courriel doit avoir ce format : nom@domaine.com. - Your email address should have this form: nom@domaine.com.';
var cleanedPlaceHolder =  false;

function fermerFormulaire(delai) {
	$('#cadrePrincinpal').removeClass('estomper');
	if($('#contactForm').is('.ouvert')) { 
		$('#contactForm').removeClass("ouvert").addClass("ferme").hide();
	}
	if($('#blocInscInfolettre').is('.ouvert')) { 
		$('#blocInscInfolettre').removeClass("ouvert").addClass("ferme").hide();
	}
	if($('#blocEnvoyerAmi').is('.ouvert')) { 
		$('#blocEnvoyerAmi').removeClass("ouvert").addClass("ferme").hide();
	}
	if( $('#retourMessage').is('.ouvert') ){
		$('#retourMessage').removeClass('ouvert').fadeOut(delai);
	}

	if( $('#msgDroiteInfo').is('.ouvert') ){
		$('#msgDroiteInfo').removeClass('ouvert').fadeOut(delai);
	}

	if( $('#msgDroiteAmi').is('.ouvert') ){
		$('#msgDroiteAmi').removeClass('ouvert').fadeOut(delai);
	}

	if( $('#msgDroiteContact').is('.ouvert') ){
		$('#msgDroiteContact').removeClass('ouvert').fadeOut(delai);
	}

	if( $('#attachfilebloc').is('.ouvert') ){
		$('#attachfilebloc').removeClass('ouvert').fadeOut(delai);
		$('#imgefilebloc').html(''); 
	}
	
	if( $('#previewInvitation').not('.ferme') ){
		$('#previewInvitation').addClass('ferme').fadeOut(delai);
	}
	if( $('#attachfilebloc').is('.ouvert') ){
		$('#attachfilebloc').removeClass('ouvert').fadeOut(delai);
		$('#imgefilebloc').html(''); 
	}
	
	$('#sPopup').delay(delai).fadeOut(500); 
	$('#cadrePrincinpal').delay(delai).animate({opacity : 1.0},300);
	$('#mask').delay(delai).hide();  
}


function ouvreFormulaire(leFormulaire)
{
//Get the screen height and width  
        var maskHeight = $(document).height();  
        var maskWidth = $(window).width();  
      
        $('#cadrePrincinpal').addClass('estomper');
		$('#cadrePrincinpal').animate({opacity : 0.5},300); 
 
 //Set height and width to mask to fill up the whole screen  
        $('#mask').css({'position':'absolute','top':0,'left':0,'width':maskWidth-2,'height':maskHeight-2,  'z-index': 9000 });  
          
        //transition effect       
        $('#mask').fadeIn(1000);      
        $('#mask').fadeTo("slow",0.8);
        var winH = $(window).height();  
        var winW = $(window).width();  

	if('#blocInscInfolettre' == leFormulaire && $('#msgDroiteInfo').not('.ouvert'))
		$('#msgDroiteInfo').addClass('ouvert').show();
	if('#blocEnvoyerAmi' == leFormulaire && $('#msgDroiteAmi').not('.ouvert'))
		$('#msgDroiteAmi').addClass('ouvert').show();
	if('#contactForm' == leFormulaire && $('#msgDroiteContact').not('.ouvert'))
		$('#msgDroiteContact').addClass('ouvert').show();

        $('#sPopup').css('top',  (winH/2-$('#sPopup').height()/2)-72);  
        $('#sPopup').css('left', winW/2-$('#sPopup').width()/2);  
      
        $('#sPopup').fadeIn(500);       
        	
		if($(leFormulaire).is(".ferme")) {
			$(leFormulaire).slideDown('fast');
			$(leFormulaire).removeClass("ferme");       
		}	
		
		$(leFormulaire).addClass("ouvert");       

	
// 	$('#sPopup').show(); 
	
 }
 
 function initFormulaire() {

	var closeBox = '<div class="bmCloseBox"><a href="#">&times;</a></div>';
	
/* Bookmark stuff */	
	$("#bmleft").css('z-index','25').bookmark({
	  	sites: websiteList, 
	     compact: true, popup: false, popupText:'AJOUTER CE SITE À MES FAVORIS'}
	).append(closeBox);
	
	$("#bmright").css('z-index','25').bookmark({
	  sites: websiteList, 
	     compact: true, popup: false, popupText:'BOOKMARK THIS SITE'}
	).append(closeBox);
	
	$(".bmCloseBox").find('a').click(function() {
		$(this).parent().parent().hide();
	});
	
	$("#menubasgauche").find('a.bookmark').click(function() {
		$("#bmleft").toggle();
	});
	
	$("#menubasdroite").find('a.bookmark').click(function() {
		$("#bmright").toggle();
	});

/* Les formulaires */
	$('#envoyerContact').click(function () {
		if($('#formulaire').valid()) {
			$('#formulaire').submit();
		}
	});

	$('.envoyer').mouseover(function () {
		$('.envoyer').find('img').attr({"src" :"images/btnEnvoyer_f2.gif"});
	}).mouseout(function () {
		$('.envoyer').find('img').attr({"src" :"images/btnEnvoyer.gif"});
	});
	
	$('#envoyerInscription').click(function () {
		if ($("#inscrFormulaire").valid())
			$('#inscrFormulaire').submit();
	});
	
	$('#envoyerAmi').click(function () {
		if ( $("#inscrAmiFormulaire").valid())
			$('#inscrAmiFormulaire').submit();
	});
	$("#inscrAmiFormulaire").change(function () {
		if(!cleanedPlaceHolder) {
			$("#inscrAmiFormulaire [name=messageami]").val("");
			cleanedPlaceHolder = true;
			}
		});
	$('.contact').click(function () {
		ouvreFormulaire('#contactForm');
	});

	$('.infolettreLink').click(function () {
		ouvreFormulaire('#blocInscInfolettre');
	});
	
	$('.envAmis').click(function () {
		ouvreFormulaire('#blocEnvoyerAmi');
	});
	
	$('#formulaire').submit(function () {
		var dataString = $('#formulaire').serialize();
		$.ajax({
		   type: "POST",
		   url: "contactResolvis.php",
		   data: dataString,
		   success: function(msg){
			 $('#retourMessage').html(msg); 
			 $('#retourMessage').show('slow');
			 $('#retourMessage').addClass('ouvert');
		    fermerFormulaire(5500); //Fermera automatiquement après 5.5 secondes
			 }
		 });
		  return false;
	});

	$('#inscrFormulaire').submit(function () {
	var dataString = $('#inscrFormulaire').serialize();
		$.ajax({
		   type: "POST",
		   url: "contactInfo.php",
		   data: dataString,
		   success: function(msg){
			 $('#retourMessage').html(msg); 
			 $('#retourMessage').show('slow');
			 $('#retourMessage').addClass('ouvert');
		    fermerFormulaire(5500); //Fermera automatiquement après 5.5 secondes
			}
		 });
		  return false;
 	});
	
	$('#inscrAmiFormulaire').submit(function () {
	var dataString = $('#inscrAmiFormulaire').serialize();
	$.ajax({
	   type: "POST",
	   url: "contactAmi.php",
	   data: dataString,
	   success: function(msg){
		 $('#retourMessage').html(msg); 
	     $('#retourMessage').show('slow');
		 $('#retourMessage').addClass('ouvert');
		    fermerFormulaire(5500); //Fermera automatiquement après 5.5 secondes
	   }
	 });
 	  return false;
 	});
	
		 
	 $("#formulaire").validate({
		rules: {
		 nom: "required",
		 prenom: "required",
		 sujet: "required",
		 message: "required",
		 courriel: {
		   required: true,
		   email: true
		 }
	   },
	   messages: {
		 nom: 'Votre nom  s.v.p. - Your Last Name please',
		 prenom: 'Votre prénom s.v.p. - Your First Name please',
		 sujet: 'Il serait bien d’indiquer pourquoi vous voulez me contacter - Please tell me why you wan to contact me',
		 message: 'Laissez-moi un cours message s.v.p. - Please leave me a short comments',
		 courriel: {
		   required: 'Nous avons besoins d’une adresse courriel pour vous contacter. - We need an email to contact You',
		   email: emailMalForm
		 }
	   }
	});

	$("#inscrFormulaire").validate({
		rules: {
		 nominfo: "required",
		 prenominfo: "required",
		 courrielinfo: {
		   required: true,
		   email: true
		 }
	   },
	   messages: {
		 nominfo: 'Votre nom  s.v.p. - Your Last Name please',
		 prenominfo: 'Votre prénom s.v.p. - Your First Name please',
		 courrielinfo: {
		   required: 'Nous avons besoins d’une adresse courriel pour vous contacter. - We need an email to contact You',
		   email: emailMalForm
		 }
	   }
	});

	$("#inscrAmiFormulaire").validate({
		rules: {
		 courrielAmi1: "required",
		 courrielAmi1: {
		   required: true,
		   email: true
		 },
		 courrielAmi2: {
		   required: false,
		   email: true
		 },
		 courrielAmi3: {
		   required: false,
		   email: true
		 },
		 courrielAmi4: {
		   required: false,
		   email: true
		 },
		 courrielAmi5: {
		   required: false,
		   email: true
		 },
		 courrielAmi: {
		   required: false,
		   email: true
		 }
	   },
	   messages: {
		 courrielAmi1: {
		   required: 'Il nous faut au moin une adresse courriel. - We need at least one email address',
		   email: emailMalForm
		 },
		 courrielAmi2: {
		   email: emailMalForm
		 },
		 courrielAmi3: {
		   email: emailMalForm
		 },
		 courrielAmi4: {
		   email: emailMalForm
		 },
		 courrielAmi5: {
		   email: emailMalForm
		 },
		 courrielAmi: {
		   email: emailMalForm
		 }

	   }
	});
	
	
	$('#closebox').click(function () {
		fermerFormulaire(500);
	});
		
	$('.attache').click(function () {
		$('#attachfilebloc').animate({opacity:'show'},300).addClass('ouvert');
	});
		
	$('#sendFile').click(function () {
		if($('#formulaire').valid()) {
			$('#attachFile').submit();
		}
	});
	
	$('#NewFile').change(function() {
 		if($('#formulaire').valid()) {
			$('#attachFile').submit();
		}
	});
	$("#loading")
		.ajaxStart(function(){
			$(this).show();
		})
		.ajaxComplete(function(){
			$(this).hide();
		});
	
	$('#closebox').mouseover(function() {
		$(this).find('img').attr({'src':'css/img/closehover.png'});
	}).mouseout(function () {
		$(this).find('img').attr({'src':'css/img/close.png'});
	}).click(function () {
		fermerFormulaire(0); 
	});

  	
	$('#attachFile').submit(function () {
		$.ajaxFileUpload(
		{
		url:"upload.php",
		secureuri: false,
		fileElementId:'NewFile',
		dataType: 'json',
		success: function (data, status)
		{
		  /* show success message */
		  var txt = 'Fichier téléverser <em>Uploaded file</em> :<br /><span style="color: #990000">';
		  var fileName = data.msg;
		  var ext = fileName.split('.').pop().toLowerCase();
			$('#imgefilebloc').append(txt + fileName + '</span><br />'); 
			$('#formulaire [name=filename]').val($('#formulaire  [name=filename]').val()+'('+fileName+')');
		/*  if(jQuery.inArray(ext, allow) != -1){
			  // C'est une image !
			 $('#imgefilebloc').append('<img src="../upload/' + fileName + '" alt="" /><br />'); 
			 }*/
		 },
		error: function (data, status, e)
		{
		  /* handle error */
			 $('#imgefilebloc').append(data.msg + " :: " + status + " :: " + e); 
		}
		});
		  return false;
	   });
	
}

var acloseBox = '<div style="position:absolute;top: 4px;right: 4px;"><a href="#" id="closeBoxInvi"><span style="position:relative;top:-3px;font-size: 0.8em">Fermer/Close</span>&nbsp;<img src="css/img/close.png" alt="Close - fermer" width="18" height="18" border="0" class="pngToFix" /></a></div>';

function showInvitation(invitationurl) {
    var winW = $(window).width(); 
    
	var leftDepl = parseInt((winW/2)-( $('#previewInvitation').width()/2) );
	var topDepl = parseInt($('#sPopup').css('top')) + 62;
		$('#debug').html(topDepl);

	$('#previewInvitation').css({'position':'absolute','top':topDepl,'left':leftDepl,'width':840,'height':250,'padding':'30px 0 20px 0', 'background':'#fff ','border':'#900 2px solid','text-align':'left','z-index': 10000 });  
	$('#previewInvitation').html(acloseBox);
	$("#previewInvitation")
		.ajaxStart(function(){
			$(this).show().removeClass('ferme');
		})
		.ajaxComplete(function(){
			var referant = $('#inscrAmiFormulaire [name=nomRef]').val();
//$('#referantFr,#referantEn').each().html("test");
			if(referant.length == 0) {
				referant = $('#previewInvitation #referantFr').html();
			}
			$('#referantFr').html(referant);
			$('#referantEn').html(referant);
			var message = $('#inscrAmiFormulaire [name=messageami]').val();
			$('#previewInvitation #commentsfromfriend').html(message);
			
			var currentTimeAndDate = new Date();
			$('#previewInvitation #dateheure').html(currentTimeAndDate.toLocaleDateString() + '&nbsp;'+currentTimeAndDate.toLocaleTimeString() );
			$('#previewInvitation').unbind('ajaxStart');
			$('#previewInvitation').unbind('ajaxComplete');
	});
	
	$.ajax({
		   type: "get",
		   url: invitationurl,
		   data: "",
		   success: function(msg){
			 $('#previewInvitation').append(msg);
			}
		 });
	$('#closeBoxInvi').hover(function () {
		$(this).find('img').attr({'src':'css/img/closehover.png'});
	}, function () {
		$(this).find('img').attr({'src':'css/img/close.png'});
	});
		 
	$('#closeBoxInvi').click(function () {
		hideInvitation();
	});
}

function hideInvitation() {
	$('#previewInvitation').fadeOut('fast').addClass('ferme');
}

