﻿/*
	Fonctions pour ouvrir une activité de Via
	SVI eSolutions - www.sviesolutions.com
*/



	 
// Fonction d'ouverture principale
    function launchViaWindow(demoID, serverAppURL){
		var newWin = PopupFullscreen("http://" + serverAppURL + "/Application/RedirectLogin.aspx?i=" + urlencode(demoID), "demoVia" ,"resizable=1,status=0,scrollbars=0,titlebar=0,toolbar=0,location=0,menubar=0");
    }
    

	function encodeURL(url) {
		var TempQuery;
		var Query = "";
		var FinalQuery = "";		
		
		//si il y au moin un parametre
		if (url.indexOf('?') != -1){	
			TempQuery = url.split('?');
			FinalQuery = TempQuery[0] + '?';
			Query = TempQuery[1];
				
			//plusieur parametre	
			if (Query.indexOf('&') != -1){
				param = Query.split('&');	
				
				for (i=0; i<param.length; i++) {
				
					tmpVal =  param[i].split('=');
					FinalQuery += "&" + tmpVal[0] + "=" + urlencode(tmpVal[1]);
				}									 
					//un seul parametre		  			 
				 } else {		    
					 
					 param = Query.split('=');					
					 FinalQuery += param[0] + "=" + urlencode(param[1]);				    
			}
			return FinalQuery;
		}
		return url;
	}

	function urlencode(str) {
		//str = escape(str);				
		str = str.replace(/\+/g,"%2B");
		str = str.replace(/\*/g,"%2A");
		str = str.replace(/\//g,"%2F");
		str = str.replace(/\@/g,"%40");
		
		return str;
	}


// Fonction pour générer un pop-up centré
	var langString = "fr";
	
	function PopupFullscreen(page, target, ratioX, ratioY, options) {
	    // On peut utiliser les paramètres ratioX et ratioY pour limiter le plein écran au ratio spécifié
	    var w = screen.availWidth ? screen.availWidth : screen.width; // On utilise la propriété availWidth si possible
	    var h = screen.availHeight ? screen.availHeight : screen.height; // On utilise la propriété availWidth si possible
	    var correctX = 0;
	    var correctY = 0;
		
	    if(navigator.appName.indexOf("Microsoft") != -1) { w -= 8; h -= 34; } // Ajustement de la taille, pour IE (wow!!)
		
	    if(isNaN(ratioX) && (String(options) == "undefined" || String(options) == "null")) {
		    // Pas de ratio, seulement les options sont passées
		    options = String(ratioX);
	    } else {
		    if(!isNaN(ratioX) && !isNaN(ratioY)){
			    ratioX = Number(ratioX);
			    ratioY = Number(ratioY);
			    var newW = w;
			    var newH = h;
			    // On a un ratio, on calcul
			    newH = (ratioY * w) / ratioX;
			    if(newH > h){
				    // trop grand, on calcul selon la hauteur
				    newH = h;
				    newW = ((h-58) * ratioX) / ratioY;
			    }
			    if(newW < w) correctX = (w - newW) / 2;
			    if(newH < h) correctY = ((h - newH) / 2) - 30;
			    w = newW;
			    h = newH;
		    }
	    }
	   	
	   	
	    // Traitement des options (nettoyage si aucune)
	    if(String(options) == "undefined" || String(options) == "null") options = "";
	    else options = "," + options;
		
	    var newWin = window.open(page,target,"top=" + correctY + ",left=" + correctX + ",width=" + w + ",height=" + h + options);
	    if(newWin == null){
		    // Bloquée
		    if(langString == "en") alert("Error: You must autorize the site to execute such script.\n\nTo do so, simply click on the yellow bar, upper on this page, and click on \"Autorize blocked content...\".");
		    else alert("Erreur: Vous devez autoriser le site à éxécuter ce script.\n\nPour ce faire cliquez sur la bande jaune, plus haut sur cette page, et cliquez sur \"Autoriser le contenu bloqué...\".");
	    } else {
			newWin.focus();
		}
	    return newWin;
    }