﻿/*********************************************************
 DÉFINITION
	Complément de l'objet VBScript SelFichier

 PROPRIÉTÉS
 	ID
	Obligatoire
	Extensions
	
 MÉTHODES	
	PRV ResetSource()
	PUB SetSource(npType)
	PUB AffPopProps(lpAfficher)
	PUB AffPopDimensions(lpAfficher)
	PUB AffPopOutils(lpMasquer)
	PUB Previsualiser()
*********************************************************/
function SelFichier(){
	var ogSelf = this;
	
	this.ID = ""; 
	this.Obligatoire = false;
	this.InterfaceSimple = false;
	this.Proprietes = true;
	this.Extensions = "";
	
	function ResetSource(){
		HideLigne(ogSelf.ID + "SiteFichier");
		HideLigne(ogSelf.ID + "DisqueFichier");
		HideElement(ogSelf.ID + "BtnPrevisualiser");
	}
	
	function HideBtnOperations(){	
		HideElement(ogSelf.ID + "BtnPrevisualiser");
		HideElement(ogSelf.ID + "BtnSupprimer");
	}
	
	this.SetSource = function(npType){
		if(!ogSelf.InterfaceSimple && ogSelf.Proprietes){eval("og" + ogSelf.ID + "Source.Set(" + (npType) + ");");}
		
		ResetSource();
						
		switch (npType){
			case 0 :
				ShowLigne(ogSelf.ID + "SiteFichier");
				if (Elem(ogSelf.ID + "SiteNomFichier").value != ""){ShowElement(ogSelf.ID + "BtnPrevisualiser");}
				break;
			case 1 : 
				ShowLigne(ogSelf.ID + "DisqueFichier");
				if (Elem(ogSelf.ID + "SiteNomFichier").value != ""){ShowElement(ogSelf.ID + "BtnPrevisualiser");}
				break;
		}
		
		if (Elem(ogSelf.ID + "Secure"))
			ogSelf.AffPop(Elem(ogSelf.ID + "Secure").checked);
		
	}
	
	this.PopExplorateur = function(spTypeFichier){
		var slVariables = "";
		
		slVariables += "TypeRacine=Fichier";
		slVariables += "&TypeFichier=" + spTypeFichier;
		slVariables += "&IDControle=" + ogSelf.ID + "Site";
		slVariables += "&Repertoire=" + Elem(ogSelf.ID + "SiteChemin").value;
		slVariables += "&NomFichierInit=" + Elem(ogSelf.ID + "SiteNomFichier").value;
		
		MDLPopModal (ogCfg.RepRacine + "includes/modulo/com/explorateur/pop-explorateur.asp", slVariables, 625, 490);
	}
	
	this.AffPopProps = function(lpAfficher){
		if(lpAfficher){
			ShowLigne(ogSelf.ID + "SpecPop");
		}else{
			HideLigne(ogSelf.ID + "SpecPop");
		}
	}
	
	this.AffPop = function(lpAfficher){
		if(!lpAfficher){
			ShowLigne(ogSelf.ID + "AffPop");
			if (Elem(ogSelf.ID + "AffPop").checked)
				ogSelf.AffPopProps(true);
		}else{
			HideLigne(ogSelf.ID + "AffPop");
			ogSelf.AffPopProps(false);
			Elem(ogSelf.ID + "AffPop").checked = false;
		}
	}
	
	this.AffPopDimensions = function(lpAfficher){
		if(lpAfficher){
			ShowElement(ogSelf.ID + "PopDimLargeur");
			ShowElement(ogSelf.ID + "PopDimHauteur");
		}else{
			HideElement(ogSelf.ID + "PopDimLargeur");
			HideElement(ogSelf.ID + "PopDimHauteur");
		}
	}
	
	this.AffPopOutils = function(lpMasquer){
		if(lpMasquer){
			HideElement(ogSelf.ID + "PopOutils");
			HideElement(ogSelf.ID + "PopBas");
			if (Elem(ogSelf.ID + "PopFlecheVert")) Elem(ogSelf.ID + "PopFlecheVert").style.height = "45px";
		}else{
			ShowElement(ogSelf.ID + "PopOutils");
			ShowElement(ogSelf.ID + "PopBas");
			if (Elem(ogSelf.ID + "PopFlecheVert")) Elem(ogSelf.ID + "PopFlecheVert").style.height = "65px";
		}
	}
	
	this.Previsualiser = function(){
		var slFichier = "";
		var nlLargeur = 400;
		var nlHauteur = 400;
		var nlOutils = 0;	
		
		//if (Elem(ogSelf.ID + "Source").value == 1){
		//	if (Elem(ogSelf.ID + "DisqueNomFichier").value != ""){
		//		slFichier = "file:///" + Elem(ogSelf.ID + "DisqueNomFichier").value;
		//	}
		//}else{
			if (Elem(ogSelf.ID + "SiteNomFichier").value != ""){
				slFichier = Elem(ogSelf.ID + "SiteChemin").value + Elem(ogSelf.ID + "SiteNomFichier").value;
				if (slFichier.indexOf("mdl-sec-doc") >= 0){
					slFichier = "../../fra/" + slFichier;
				}
			}
		//}
		
		if (slFichier != ""){
			if(!ogSelf.InterfaceSimple && ogSelf.Proprietes){
				if(IsNumeric(Elem(ogSelf.ID + "PopLargeur").value)){nlLargeur = Elem(ogSelf.ID + "PopLargeur").value;}
				if(IsNumeric(Elem(ogSelf.ID + "PopHauteur").value)){nlHauteur = Elem(ogSelf.ID + "PopHauteur").value;}
				if(Elem(ogSelf.ID + "PopMasquer").checked){nlOutils = 1;}
			}
			if (ogSelf.InterfaceSimple){
				
				if (slFichier.indexOf("mdl-sec-doc") >= 0){
					slFichier = slFichier.substr(0, slFichier.indexOf('|'));
					PopWinDim (slFichier, nlLargeur, nlHauteur, nlOutils);	
				}else{
					slFichier = "../../fra/mdl-telechargement.asp?f=" + slFichier
					window.location.href = slFichier;
				}
			}
			else{
				PopWinDim (slFichier, nlLargeur, nlHauteur, nlOutils);
			}
		}else{
			alert("Vous n'avez pas sélectionné de fichier.");
		}
	}
	
	this.Valider = function(){
		var llValide = true;
		var olCheminFichier;
		var slExtension;
		var slNomLigne;
		var slFichier;
				
		if(!ogSelf.InterfaceSimple && ogSelf.Proprietes){
			HideErreur(ogSelf.ID + "SpecPop");
			if (Elem(ogSelf.ID + "AffPop").checked && Elem(ogSelf.ID + "PopDimensions").checked){
				if(!IsNumeric(Elem(ogSelf.ID + "PopHauteur").value)){
					ShowElement("Div" + ogSelf.ID + "Proprietes");
					llValide = SetErreur(ogSelf.ID + "SpecPop", "La hauteur doit être numérique");
				}else if(!IsNumeric(Elem(ogSelf.ID + "PopLargeur").value)){	
					ShowElement("Div" + ogSelf.ID + "Proprietes");
					llValide = SetErreur(ogSelf.ID + "SpecPop", "La largeur doit être numérique");
				}
			}
		}
				
		if (Elem(ogSelf.ID + "Source").value == 0){
			slNomLigne = ogSelf.ID + "SiteFichier";
			olCheminFichier = Elem(ogSelf.ID + "SiteNomFichier");
		}else{
			slNomLigne = ogSelf.ID + "DisqueFichier";
			olCheminFichier = Elem(ogSelf.ID + "DisqueNomFichier");
		}
		
		slFichier = olCheminFichier.value; 
		if (slFichier.indexOf("mdl-sec-doc") >= 0)
			slFichier = GetNomFichierSecure(slFichier);
		slExtension = GetExtension(slFichier).toLowerCase();
		
		if (olCheminFichier.value == "" && ogSelf.Obligatoire){
			llValide = SetErreur(slNomLigne, "Vous devez sélectionner un fichier");
		}else if (ogSelf.Extensions.indexOf(slExtension) == -1){
			llValide = SetErreur(slNomLigne, "Le fichier doit être en format " + ogSelf.Extensions.replace(/;/gi, ", "));
		}else if (Elem(ogSelf.ID + "FichierExiste").value == "1" && !(askMessage("Le fichier existe déjà sur le serveur. Souhaitez-vous le remplacer."))){
			llValide = SetErreur(slNomLigne, "Le fichier existe déjà sur le serveur");
		}else{
			HideErreur(slNomLigne);
		}
		
		if(Elem(ogSelf.ID + "Nom")){
			if(llValide && Elem(ogSelf.ID + "Nom").value == ""){Elem(ogSelf.ID + "Nom").value = GetNomFichierAvecExt(olCheminFichier.value);}
		}
		
		return llValide;
	}
	
	this.Supprimer = function(){
		HideBtnOperations();
		if (Elem(ogSelf.ID + "Source").value == 0){
			Elem(ogSelf.ID + "SiteChemin").value = "";
			Elem(ogSelf.ID + "SiteNomFichier").value = "";
			if(Elem(ogSelf.ID + "Nom")){Elem(ogSelf.ID + "Nom").value = "http://";}
		}else{
			Elem(ogSelf.ID + "DisqueNomFichier").value = "";
		}
		//Elem(ogSelf.ID + "PrevImage").src = ogCfg.RepRacine + "modulo/sys/image-prev.asp"
	}
}