function Autotab(input, e, undoSelect, undoBlur)
{
	// Longueur du texte = longueur préconisée
	if (input.value.length == parseInt(input.getAttribute("size")) && input.oldSize != input.value.length) {
		// tabActuel :
		var tab = parseInt(input.getAttribute("tabindex"));
		// avance d'un tab :
		tab=tab+1;
		// Récupére tous les inputs
		var allFields = document.getElementsByTagName("input");
		for (var i=0; i!=allFields.length; i++) {
			if (parseInt(allFields[i].getAttribute("tabindex")) == tab) {
				allFields[i].focus();
				if (!undoSelect) { allFields[i].select(); }
				input.oldSize=input.value.length;
				return true;
			}
		}
		if (!undoBlur) { input.blur(); window.focus(); }
	}
	// éviter le changement de focus non-désiré
	input.oldSize=input.value.length;
	return true;
}


// Envoi d'une requete en ajax
function makeRequestAddCaddie(url,idMontant) {
    var httpRequest = false;
    //var montantInt=parseInt(document.getElementById(idMontant).value);
    var montantInt=document.getElementById(idMontant).value;

    if(parseInt(montantInt)!=montantInt || montantInt==null || montantInt<=0 || montantInt>999999999){
    	alert("Merci de saisir un nombre entier");
    	return false;
    }else{
	    
	    url=url+'&montant='+montantInt;
	
	    if (window.XMLHttpRequest) { // Mozilla, Safari,...
	        httpRequest = new XMLHttpRequest();
	        if (httpRequest.overrideMimeType) {
	            httpRequest.overrideMimeType('text/xml');
	        }
	    }
	    else if (window.ActiveXObject) { // IE
	        try {
	            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
	        }
	        catch (e) {
	            try {
	                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	            }
	            catch (e) {}
	        }
	    }
	
	    if (!httpRequest) {
	        alert('Abandon :( Impossible de creer une instance XMLHTTP');
	        return false;
	    }
	 
	    httpRequest.onreadystatechange = function() { alertContentsCaddie(httpRequest, url);};
     
	    httpRequest.open('GET', url, true);
	    httpRequest.setRequestHeader("ajaxRequest", "true");
	    httpRequest.send(null);
	    
	    return true;
    }
}


// Envoi d'une requete en ajax
function makeRequestDeleteCaddie(url,idMontant) {
    var httpRequest = false;


    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType) {
            httpRequest.overrideMimeType('text/xml');
        }
    }
    else if (window.ActiveXObject) { // IE
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
        }
    }

    if (!httpRequest) {
        alert('Abandon :( Impossible de creer une instance XMLHTTP');
        return false;
    }
 
    httpRequest.onreadystatechange = function() { alertContentsCaddie(httpRequest, url);};
   
    httpRequest.open('GET', url, true);
    httpRequest.setRequestHeader("ajaxRequest", "true");
    httpRequest.send(null);
  
}



// Fonction traitant la reponse du serveur
function alertContentsCaddie(httpRequest, url) {

	
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {
	            // Reloader le caddie
            var caddieReload = $('div.cart');
            // var caddieReload = document.getElementById('contentTransverse');
           	
           	if (caddieReload != null) {
            	//caddieReload.innerHTML = httpRequest.responseText;
           		$('div.cart').empty().append(httpRequest.responseText);
            	//On met à jour le bouton myCharitic, mais si ça merde c'est pas grave
            	$.ajax({
            		type: "GET",
            		url: "/panier/viewMyCharitic.do",
            		dataType: "html",
            		success: function(msg){
            			$('div.myCharitic > span').empty().append(msg);
            		}
            	});
            	//On va a l'ancre top
            	window.location.hash="top";
            }
 	    } 
        else {
            //alert('RechercheAjax : Un probleme est survenu avec la requete.' + httpRequest.status+'   URL : '+url);
        }
    }
}


function showDonateProjetMontantRestantDonsAtteint(){
	alert('Le montant à financer de ce projet a été atteint grâce à vos dons, merci !');
	return false;
}

function showDonateProjetOff(){
	alert('Ce projet a terminé de collecter grâce à vos dons. Merci ! Consultez sa fiche pour connaitre ses résultats');
	return false;
}

function showDonateProjetNonAutorise(){
	alert('Vous ne pouvez pas faire de dons pour ce projet.');
	return false;
}

function showDonateAssociationMontantRestantDonsAtteint(){
	alert('Le montant à financer pour cette association a été atteint grâce à vos dons, merci !');
	return false;
}

function showDonateAssociationOff(){
	alert('Cette association ne collecte pas de dons pour le moment');
	return false;
}

function showDonate(link, causeId,typeCause, titre){
	return showDonate(link, causeId,typeCause, titre,"");
}

function showDonate(link, causeId,typeCause, titre, hostCurrent){
	//hostCurrent est un parametre optionnel - on n'a besoin de le renseigner que lorsqu'on est en https
	if (!hostCurrent) hostCurrent="";

	//si un autre formulaire est déjà ouvert, on le referme
	if (isActiveDonate()){
		closeDonate();
	}
	
	//alert("hasRelated ? "+($(link).parents("div.related").size()>0) + " " + $(link).parents("div.related").size());
	if($(link).parents("div.related").size()>0){
		//On est dans un related
		var height = $(link).parents("div.block").height();
		if(height>220) height=220;
		var width= $(link).parents("div.block").width();
	} else {
		var height= 170;
		var width= $(link).parents("div.details").width();
	}
	//on ouvre le formulaire correspondant à la cause cliquée
	var form = '';
	form += '<div id="donateForm" class="form formDonate" style="min-height: '+height+'px; _height: '+height+'px; width: '+width+'px;">';
	form += '	<div class="close"><a href="javascript:void(0)" onmousedown="closeDonate();return false;">Fermer</a></div>';
	form += '	<fieldset>';
	form += '		<div class="field">';
	
	if(typeCause==1) {
		//Asso
		form += '			<label for="montant" class="full">Promesse de don pour l\'association <strong style="padding-left: 15px;">"'+titre+'"</strong> </label>';
	} else {
		//Projet
		form += '			<label for="montant" class="full">Promesse de don pour le projet <strong style="padding-left: 15px;">"'+titre+'"</strong> </label>';
	}
	
	form += '			<input type="text" class="number" id="donateFormMontant" name="montant"/> <span>€</span>';
	form += '		</div>';
	form += '		<input type="hidden" id="donateFormCauseId" value="'+causeId+'"/>';
	form += '		<input type="hidden" id="donateFormTypeCause" value="'+typeCause+'"/>';
	form += '		<input type="hidden" id="donateAbondement" value="false"/>';
	form += '		<input type="hidden" id="statutAbondement" value="0"/>';
	form += '		<div class="buttons">';
	form += '			<span class="button cancel"><span><input type="submit" name="Annuler" value="Annuler" onmousedown="closeDonate();return false;"/></span></span>';
	form += '			<span class="button submit"><span><input type="submit" value="Valider" name="Valider" onmousedown="submitShowDonate(\''+hostCurrent+'\');"/></span></span>';
	form += '		</div>';
	form += '	</fieldset>';
	form += '</div>';
	
	//$(link).parents("div.details").css("display","none").after(form);
	$(link).parents("div.details").append(form);
	
	//on insère le formulaire au début de la balise lien
	//link.innerHTML = form+link.innerHTML;
	//setTimeout("document.getElementById('donateFormMontant').focus()", 100); /* timeout pour IE */
	
	return false;
}

function showDonateAbondement(link,montant,entreprise,statutAbondement,hostCurrent){
	//hostCurrent est un parametre optionnel - on n'a besoin de le renseigner que lorsqu'on est en https
	if (!hostCurrent) hostCurrent="";

	//si un autre formulaire est déjà ouvert, on le referme
	if (isActiveDonate()){
		closeDonate();
	}
	
	var height = 220;
	var width= 448;

	//on ouvre le formulaire correspondant à la cause cliquée
	var form = '';
	form += '<div id="donateForm" class="form formDonate" style="min-height: '+height+'px; _height: '+height+'px; width: '+width+'px; margin-right: 260px;">';
	form += '	<div class="close"><a href="javascript:void(0)" onmousedown="closeDonate();return false;">Fermer</a></div>';
	form += '	<fieldset>';
	form += '		<div class="field">';
	form += '			<label for="montant" class="full">Promesse de don</label>';
	form += '			<input type="text" class="number" readonly="true" id="donateFormMontant" name="montant" value="'+montant+'"/> <span>€</span>';
	form += '		</div>';
	form += '		<input type="hidden" id="donateAbondement" value="true"/>';
	form += '		<input type="hidden" id="donateFormCauseId" value="0"/>';
	form += '		<input type="hidden" id="donateFormTypeCause" value="0"/>';
	form += '		<input type="hidden" name="statutAbondement" id="statutAbondement" value="'+statutAbondement+'"/>';
	form += '		<div class="buttons">';
	form += '			<span class="button cancel"><span><input type="submit" name="Annuler" value="Annuler" onmousedown="closeDonate();return false;"/></span></span>';
	form += '			<span class="button submit"><span><input type="submit" value="Valider" name="Valider" onmousedown="submitShowDonate(\''+hostCurrent+'\'); window.location.href=\'/paybox/paiementParticulier.do\';"/></span></span>';
	form += '		</div>';
	form += '	</fieldset>';
	form += '</div>';
	
	//on ouvre le formulaire correspondant à la cause cliquée
	//var form = '<div id="donateForm">';
	//form += '<p><label for="montant">Promesse de don</label>';
	//form += '<input name="montant" id="donateFormMontant" type="text" value="'+montant+'" class="number" readonly="true"/>&euro;';
	//form += '<input type="hidden" id="donateAbondement" value="true"/>';
	//form += '<input type="hidden" id="donateFormCauseId" value="0"/>';
	//form += '<input type="hidden" id="donateFormTypeCause" value="0"/>';
	//form += '<input type="hidden" name="statutAbondement" id="statutAbondement" value="'+statutAbondement+'"/>';
	//form += '<input type="image" src="/img/ok-green.gif" value="OK"  class="submit" onmousedown="submitShowDonate(\''+hostCurrent+'\');"/>';
	//form += '<a onmousedown="closeDonate();return false;">Fermer</a>';
	//form += '</p></div>';//on insère le formulaire au début de la balise lien
	
	
	//$(link).parents("div.details").css("display","none").after(form);
	$(link).parents("div.middle").append(form);
	
	//on insère le formulaire au début de la balise lien
	//link.innerHTML = form+link.innerHTML;
	//setTimeout("document.getElementById('donateFormMontant').focus()", 100); /* timeout pour IE */
	
	return false;
}

function submitShowDonate(hostCurrent){
	var causeId = document.getElementById('donateFormCauseId').value;
	var typeCause = document.getElementById('donateFormTypeCause').value;
	var isAbondement = document.getElementById('donateAbondement').value;
	var abondement = document.getElementById('statutAbondement').value;
	if(makeRequestAddCaddie(hostCurrent+'/panier/addPanier.do?typeCause='+typeCause+'&promesseDonsId='+causeId+'&estAbondement='+isAbondement+'&statutAbondement='+abondement,'donateFormMontant')){
		if (isActiveDonate()){
			closeDonate();
		}
	}
}

function closeDonate(){
	var existingForm = document.getElementById('donateForm');
	if (existingForm){
		existingForm.parentNode.removeChild(existingForm);
		$("div.details").css("display","block");
	}
}

function isActiveDonate(causeId){
	var existingForm = document.getElementById('donateForm');
	if (existingForm){
		var causeIdActive = document.getElementById('donateFormCauseId').value;
		if (causeIdActive==causeId){
			return true;
		}
	}
	return false;
}

function isActiveDonate(){
	var existingForm = document.getElementById('donateForm');
	if (existingForm){
		return true;
	}
	return false;
}

function alertAssociation(){
alert('Vous êtes identifié comme une association, vous ne pouvez pas donner.\n Inscrivez vous comme particulier pour soutenir les causes présentées sur CHARITIC.'); 
return false;
}

function showDonateNonSalarie(){
	alert("Vous n'êtes pas identifié comme un salarié, vous ne pouvez pas donner ici.\n Consultez notre sélection pour y trouver les associations et les projets que vous pouvez soutenir."); 
	return false;
}

function showDonateNonSalarieEntreprise(){
	alert("Vous n'êtes pas identifié comme un salarié de l'entreprise soutenant cette cause, vous ne pouvez pas donner ici.\n Consultez notre sélection pour y trouver les associations et les projets que vous pouvez soutenir."); 
	return false;
}

function repositionne() {
	//On va chercher tous les .repositionne pour centrer les images dans leur div parent
	
	var imgHeight = 0;
	var parentHeight = 0;
	var marge = 10;
	$("img.repositionne").each(function (i) {
		imgHeight = $(this).height();
		//FIXME : Des fois, il me trouve 16 en hauteur d'image. Comprends pas
		if(imgHeight != 16) {
			parentHeight = $(this).parents("div").height();
			marge = ((parentHeight - imgHeight) / 2)-1;
			if(marge>0){
				$(this).css("margin-top",marge+"px");
				$(this).css("margin-bottom",marge+"px");
			}
		}
	});
}

function resizeHeight() {
	var maxSize = 0;
	
	//On va chercher tous les resizeHeightX pour les resizer
	//On compare tous les resizeHeight0 entre eux, et on prend le plus grand, puis les resizeHeight1, etc etc.
	
	for (i=0; i<10; i++) {
		if($(".resizeHeight"+i).size() > 1) {
			maxSize = 0;
		
			//On cherche la plus grande taille
			$(".resizeHeight"+i).each(function (i) {
				if($(this).height() > maxSize) {
					maxSize = $(this).height();
				}
			});

			//Et maintenant on resize
			$(".resizeHeight"+i).height(maxSize);
		}
	}
}

function resizeMenu() {
	//On va chercher tous les li.menu pour équilibrer un peu toutes les tailles
	
	//On va chercher la marge droite (meme si elle changera jamais et que j'aurai pu la mettre en dur...)
	var margeDroite= 2;
	if($("div#contentHeader ul.menu li:first a").css("margin-right")) {
		margeDroite = $("div#contentHeader ul.menu li:first a").css("margin-right").charAt(0);
	}
	
	//On a (nbMenu - 1)*margeDroite pixels occupes
	var largeurOccupee = ($("div#contentHeader ul.menu li").size()-1)*margeDroite;
	
	//On rajoute la largeur des spans
	$("div#contentHeader ul.menu li").each(function (i) {
		largeurOccupee = largeurOccupee + $(this).children("a").children("span").width();
		largeurOccupee = largeurOccupee + 2;
	});
	
	var largeurMenu = $("div#contentHeader").width();
	
	var largeurLibre = largeurMenu - largeurOccupee;
	
	var margeAAppliquer = largeurLibre / ($("div#contentHeader ul.menu li").size()*2);
	margeAAppliquer = Math.floor(margeAAppliquer);
	
	$("div#contentHeader ul.menu li").each(function (i) {
		$(this).children("a").css("padding-left",margeAAppliquer+"px").css("padding-right",margeAAppliquer+"px");
	});
}

function facebook_partager() {
	u=location.href;
	t=document.title;
	window.open('http://www.facebook.com/sharer.php?u=' +encodeURIComponent(u)+'&t='+ encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436'); 
	return false;
}

function showDetailsPanier(){
	$.ajax({
		type: "GET",
		url: "/panier/viewPanierDetaille.do",
		success: function(msg){
			$("div.cart").empty().append(msg);
		}
	});
}

function doYourIEWork(){
	$(".article strong.charitic").each(function (i) {
        $(this).before('<span class="laPriseDuDragon">&nbsp;</span>');
    });
}

//Replace le bouton "Soutenir cette association"
function replaceSoutenirAsso(){
	var height1 = $("div.body div.details ul").height();
	var height2 = $("div.body div.details div.buttons").height();
	var max = height1;
	if(max < height2) max = height2;
	if(max == height1){
		//On positionne buttons
		$("div.body div.details div.buttons").attr("style","margin-top: "+(max-height2)+"px;");
	} else {
		//On positionne buttons
		$("div.body div.details ul").attr("style","margin-top: "+(max-height1)+"px;");
	}
}

