/* **************************************************************** /
/* Envoi de video */
/* *************************************************************** */

// Les variables pour l'envoi de fichier
	// déclaration du timer
	var envoiTimer;
	// Doit-on continuer de mettre a jour l'etat de l'envoi ?
	var envoiContinueMAJ=1;
	// Doit-on annuler l'upload et recharger la page ?
	var envoiAnnulerUpload=0;

	// autres globales
	//var tailleTotale=5;
	//var derniereTailleChargee=0;










// On verifie qu'il y a bien un fichier dans le champs texte pour valider
function envoiVerifFichier()
{
	if (document.envoi.fichier.value=='')
	{
		window.alert('Vous devez choisir une vidéo à envoyer');
		return false;
	}
	else
	{
		// On affiche le nom du fichier en cours d'envoi
		document.getElementById('divfilename').innerHTML='Übertragung der Datei <b>"'+envoiGetFilename()+'"</b> läuft...';

		// On affiche la progressBar
		setTimeout("document.getElementById('divupload').style.display='block';", 200);
		// On cache le formulaire
		setTimeout("document.getElementById('uploadform').style.display='none';", 200);


		// On affiche l'etape 2
		//parent.envoiShowDetail();

		// On lance la mise a jour de la progressBar
		envoiTimer=setTimeout("majProgressBar();", 1000);
		//demarreProgressBar(intervalle);

		return true;
	}
}

/*
// On affiche le calque pour remplir le detail d'une video
function envoiShowDetail()
{
	document.getElementById('envoi_detail').style.visibility='visible';
}
*/




// Retourne le nom du fichier en cours d'upload, sans le chemin
function envoiGetFilename()
{
	// Le nom complet du fichier
	fname=document.getElementById('frmfilename').value;

	// On enleve les repertoires
	pos=fname.lastIndexOf('/');
	pos2=fname.lastIndexOf('\\');
	if (pos<pos2) pos=pos2;

	// On retourne le nom du fichier
	return fname.substring(pos+1, fname.length);
}




// Verifie que l'envoi du fichier est termine
function envoiVerifOK()
{
	//window.alert(document.getElementById('envoiifrm').contentWindow.upload_ok);
	if (!document.getElementById('envoiifrm').contentWindow.upload_ok)
	{
		window.alert("Bitte warten Sie das Ende des Sendevorgangs ab, bevor Sie bestätigen");
		return false;
	}
	else return true;
}





// fonction mettant à jour la barre de progression
function majProgressBar()
{
	// On recupere l'etat de l'envoi
	xmlhttp.open("GET", "/ajax_envoifichier.php?id_upload="+envoi_id_upload+"&demande=majprogressbar", true);
	xmlhttp.send(null);

	// On installe l'ecouteur d'evenement
	xmlhttp.onreadystatechange=xmlhttpChange;
}


function xmlhttpChange()
{
	// Doit on annuler l'upload et recharger une page vide ?
	if (envoiAnnulerUpload)
	{
		// On recharge la page
		parent.location.href='/envoi.php';
	}
	else if (xmlhttp.readyState==4)
	{
		reponse=xmlhttp.responseText;
		// On explode la réponse
		donneesProgressBar=reponse.split(",");

		// On récupère les données
		tailleChargee=donneesProgressBar[0];
		tailleTotale=donneesProgressBar[1];
		tropGros=donneesProgressBar[2];

		// On regarde si la taille totale de l'upload dépasse la taille maxi
		if (tropGros==1)
		{
			// dans ce cas on redirige le navigateur vers la page indiquant que l'upload est trop gros, afin de stopper prématurément l'upload
			location.href = '/envoi_tropgros.php?taille='+tailleTotale;
		}

		// On met à jour la barre de progression en flash si les tailles chargée et totale sont cohérentes (>0)
		if (tailleChargee>0 && tailleTotale>0)
		{
			// On veut mettre a jour le flash
			flash=getFlash('uploadbar');

			// On met a jour l'etat de l'upload dans le flash
			if (flash)
			{
				//flash.updateVariables(tailleChargee, tailleTotale);
				flash.SetVariable('tailleChargee', tailleChargee);
				flash.SetVariable('tailleTotale', tailleTotale);

				// On progamme la prochaine mise a jour des infos
				if (envoiContinueMAJ) envoiTimer=setTimeout("majProgressBar();", 1000);
			}
		}

		// Changement de valeur du timer
		/*
			ratio=tailleChargee/tailleTotale;
			ancienRatio=derniereTailleChargee/tailleTotale;

			// calcul pour viser dix MAJ par upload mais une intervalle de 15 s max (1/0.1)
			if ((ratio-ancienRatio)<0.1 && intervalle<15000)
			{
				stoppeProgressBar();
				intervalle=intervalle*1.5;
				demarreProgressBar();
			}

			// On sauvegarde les données actuelles pour la prochaine MAJ
			derniereTailleChargee=tailleChargee;
		*/
	}
}



function envoiAnnuler()
{
	// On defini qu'on arrete les mises a jour de l'etat de l'upload
	envoiContinueMAJ=0;
	// Et qu'on va recharger la page
	envoiAnnulerUpload=1;
}


// démarrage de la barre de progression
/*
function demarreProgressBar()
{
	timer = setInterval("majProgressBar()", intervalle);
}

// arrêt de la barre de progression
function stoppeProgressBar()
{
	clearInterval(timer);
}
*/


