/*
 * Copyright (c) 2009-2010 ReactivOn SAS
 * All rights reserved.
 *
 * Author: Guillaume BERNARD
 * Date: 26 Janvier 2010
 * 
 * Ajout et suppression d'un document dans le panier + affichage du formulaire de telechargement
 */

// Variable globale de gestion des delais avant disparition BOA
var timer_boa;



// Ajout du lecteur streaming MP3 + compteur telechargement +1
function add_stream_mp3(item) { 
	var xhr = getXhr();
	var href = "/index.php?m=ajax&xhr=add_stream_mp3&item="+item+"";

	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			$('conteneur_stream_mp3').setStyle('display','inline');
			var retour = xhr.responseText;
			$('conteneur_stream_mp3').innerHTML=retour;
		}
	}

	xhr.open("GET", href, true);
	xhr.send(null);
}





// Ajout d'un document dans le panier PDF
function add_panier_pdf(item) { 
	var xhr = getXhr();
	var href = "/index.php?m=ajax&xhr=add_panier_pdf&item="+item+"";

	var div_mouv = new Fx.Morph('div_mouv', {
	     duration: 500,
		 onComplete: function(){			   
			  $('menu_telechargements').highlight(['#547c17', '#005AA6']);
			  $('div_mouv').setStyle('visibility','hidden');
           }
	
	});
	
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			$('menu_telechargements').setStyle('display','inline');
			var retour = xhr.responseText;
			var msg = retour;
		
			// EFFET AJOUT DU LIEN VERS LE PANIER DE TELECHARGEMENT
			$('div_mouv').setStyle('visibility','visible');
			$('div_mouv').setStyle('z-index','1400');
			$('div_mouv').setStyle('border','1px dashed black');

			var size_dwl = $('menu_telechargements').getSize();
			var position_dwl = $('menu_telechargements').getPosition();
			var position_list = $('list_'+item).getPosition();
			var size_list = $('list_'+item).getSize();
			
			div_mouv.start({
				'width': [size_list.x, size_dwl.x],
				'height': [size_list.y, size_dwl.y-2],
				'top': [position_list.y,position_dwl.y],
				'left': [position_list.x,position_dwl.x]
			});
			//
				
			if(msg == 0) {
				// EXISTE DEJA !!!!
				// Fait clignoter le panier quand le fichier existe deja dans la liste des telechargements
				$('menu_telechargements').highlight(['green', '#005AA6']);
				
				// Affichage du message d'ajout (hors balises HTML) correct au panier avec decale
				(function() { BOA_msg({'width':300,'height':50,'content':'<div style="text-align:center;">'+ lang['already_on_cart'] +'</div>','buttons':[lang['close'],lang['send_cart']],'defaultButton':1,'onClick':[BOA_done_add_panier,BOA_list_panier],'onEscape':BOA_done_add_panier}); }).delay(1000);
		
				// Supprime automatiquement le message au bout de 5 secs
				timer_boa = setTimeout("BOA_remove()",5000);
				
			} else {
				
				// Affichage du message d'ajout (hors balises HTML) correct au panier avec decale
				(function() { BOA_msg({'width':300,'height':50,'content':'<div style="text-align:center;">'+ strip_tags(msg, "<i><b>") +'</div>','buttons':[lang['close'],lang['send_cart']],'defaultButton':1,'onClick':[BOA_done_add_panier,BOA_list_panier],'onEscape':BOA_done_add_panier}); }).delay(1000);
		
				
				// Supprime automatiquement le message au bout de 4 secs
				timer_boa = setTimeout("BOA_remove()",5000);
				
			}
		}
	}

	xhr.open("GET", href, true);
	xhr.send(null);
}




// Appelé pour afficher la contenu du panier PDF
function BOA_list_panier () {
	clearTimeout(timer_boa);	// Annule l'effacement programme du BOA suite a ADD_PANIER
	
	BOA_remove();
	BOA_openUrl('/fr/3-3/acceder-au-panier-de-telechargement.php?height=300&width=580&ajaxarticle=');
}


// Appelé pour fermer le message de confirmation d'ajout au panier PDF
function BOA_done_add_panier () {
	clearTimeout(timer_boa);	// Annule l'effacement programme du BOA suite a ADD_PANIER
	
	BOA_remove();
}




// Supprime un document present dans le panier PDF
// Avec ID en input du media dans la BDD
function removePdf(item){
	var xhr = getXhr();
	var href = "/index.php?m=ajax&xhr=suppr_panier_pdf&item="+item+"";

	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			var retour = xhr.responseText;
			
			// A la réception du retour de la suppression MAJ de la liste dans ID present dans la BOA HTML
			var json = eval('(' + retour + ')');
			
			var existe_panier = json.existe_panier;
			var list_pdf = json.list_pdf;
		
			$('contenu_panier').set('html',list_pdf);
			
			if ( existe_panier == 0 ){
				$('menu_telechargements').setStyle('display','none');
				$("BOA_closeAjaxWindow").innerHTML = '<div class="boa_button" onclick="BOA_remove();">' + lang["close"] + '</div>';
			}
		}
	}

	xhr.open("GET", href, true);
	xhr.send(null);
}




// Reinitialise un panier PDF (supprime all)
function reset_list_pdf(){
	var xhr = getXhr();
	var href = "/index.php?m=ajax&xhr=list_panier_pdf";

	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			var retour = xhr.responseText;
			
			// A la réception du retour, decoupe chaine pour obtenir tableau ID
			var listpdf = retour.split(';');
			
			for(var i= 0; i < listpdf.length; i++)
			{
				var item = listpdf[i];

				if(item != "") {
					removePdf(item);	// Supprime chaque ID du panier
				}
			}
		}
	}

	xhr.open("GET", href, true);
	xhr.send(null);
}




// Utile pour recréer les boutons du formulaire BOA (dans le but de n'avoir qu'une seule requete simultanée)
function enableCloseAjaxCart() {
	
	var onclick_content = 'onclick="submit_list_pdf();"';

	if ( $('BOA_closeAjaxWindow') ) {
			$("BOA_closeAjaxWindow").innerHTML = '<div class="boa_button" onclick="reset_list_pdf();">' + lang["reset"] + '</div><div class="boa_button" onclick="BOA_remove();">' + lang["done"] + '</div><div class="boa_default_button" ' + onclick_content + '>' + lang["send_cart"] + '</div>';
	}
}





function submit_list_pdf(){
	
	
	// Par sécurité lors de la validation du telechargement du PANIER le champ d'envoi est modifié pour qu'une seule requete soit traitée à la fois
	if ( $('BOA_closeAjaxWindow') ) {
		$("BOA_closeAjaxWindow").innerHTML = '<div class="boa_button" onclick="reset_list_pdf();">' + lang["reset"] + '</div><div class="boa_button" onclick="BOA_remove();">' + lang["done"] + '</div><div class="boa_button" style="color:grey;">' + lang["send_cart"] + '</div>';
			
		// Envoi inactif pendant 4 secondes
		var t=setTimeout("enableCloseAjaxCart()",4000);
	}	        
	
		
	var name = $('name').get('value');
	var mail = $('mail').get('value');
	
	var pre_result = "";
	
	
	var css_result_red = "result_red_contact";
	var css_result_yellow = "result_yellow_contact";
	var css_result = "result_add_contact";
	var myVerticalSlide = new Fx.Slide(css_result);
	
	
	if (name == "" || name == null) {
		pre_result = lang['cart_need_name'];
		
	} else if (mail == "" || mail == null) {
		pre_result = lang['cart_need_email'];
		
	} else if ( !check_mail(mail) ) {
		pre_result = lang['precontact_please_valid_email'];
	} 
	
	
	
	if (pre_result != "") {
		var new_alert = '<div style="padding-bottom:10px; color:red;"><div class="' + css_result_red + '">' + pre_result + '</div></div>';
		$(css_result).set('html',new_alert);
		
	} else {

		var xhr = getXhr();
		myVerticalSlide.hide();
		var href = "/index.php?m=ajax&xhr=submit_list_pdf&name="+ escape(trim(name)) +"&mail="+ escape(trim(mail));

		xhr.onreadystatechange = function() {
			if(xhr.readyState == 4 && xhr.status == 200) {
				var retour = xhr.responseText;

				switch (parseInt(retour)) {
				
					case 0 :
						var alert_msg = '<div style="padding-bottom:10px;"><div class="' + css_result_red + '">' + lang['cart_service_unavailable'] + '</div></div>';
					break;
					
					case 1 :
						var alert_msg = '<div style="padding-bottom:10px;"><div class="' + css_result_yellow + '">' + lang['cart_send_mail_ok'] + '</div></div>';
						
						// Une fois la demande de prise de contact acceptée alors le formulaire ne doit plus être
						// validé MAIS SEULEMENT FERME
						if ( $('BOA_closeAjaxWindow') ) {
							clearTimeout(t);	// Annule une remise a disposition des boutons SUBMIT
							$("BOA_closeAjaxWindow").innerHTML = '<div class="boa_button" onclick="BOA_remove();">' + lang["close"] + '</div>';
						}
					break;
					
					case 2 :
						var alert_msg = '<div style="padding-bottom:10px;"><div class="' + css_result_red + '">' + lang['cart_no_pdf'] + '</div></div>';
					break;
					
					case 3 :
						var alert_msg = '<div style="padding-bottom:10px;"><div class="' + css_result_red + '">' + lang['cart_need_pro_email'] + '</div></div>';
					break;
					
					case 4 :
						var alert_msg = '<div style="padding-bottom:10px;"><div class="' + css_result_red + '">' + lang['cart_need_pro_email'] + '</div></div>';
					break;
				}	
		
				$(css_result).set('html',alert_msg);
				myVerticalSlide.slideIn();
			}
		}

		xhr.open("GET", href, true);
		xhr.send(null);
	}
}
