Silverlight.InstallAndCreateMiniPlayer = function(mediaUrl, colorPlayer) {
    window.addEvent('domready', function() {
        Silverlight.InstallAndCreateSilverlight("Mini", null, null, null, null, false, mediaUrl, colorPlayer);
    });
}

Silverlight.InstallAndCreateSmallPlayer = function(width, height, mediaUrl, colorPlayer) {
    window.addEvent('domready', function() {
        Silverlight.InstallAndCreateSilverlight("Small", width, height, null, null, false, mediaUrl, colorPlayer);
    });
}

Silverlight.InstallAndCreateLargePlayer = function(minWidth, minHeight, maxWidth, maxHeight, mediaUrl, colorPlayer) {
    window.addEvent('domready', function() {
        Silverlight.InstallAndCreateSilverlight("Large", minWidth, minHeight, maxWidth, maxHeight, true, mediaUrl, colorPlayer);
    });
}

Silverlight.InstallAndCreateSilverlight = function(playerType, minWidth, minHeight, maxWidth, maxHeight, isResizeEnable, mediaURL, colorPlayer)
{
//    var RetryTimeout=3000;	              //The interval at which Silverlight instantiation is attempted(ms)
    var SilverlightDiv = document.getElementById('silverlightControlHost');
//    var version = '3.0.31005.0';
    var promptContainer = document.getElementById('installPrompt');
    //get
    /*if (navigator.appMinorVersion &&
    window.
        navigator.appMinorVersion.toLowerCase().indexOf("S P1") != -1) {
// it is SP 2
            return;
        }*/

//    if ( Silverlight.isInstalled(version) )
//    {
         if (promptContainer)
         {
            promptContainer.style.display = "none";
         }
         if(playerType == "Mini")
            SilverlightDiv.style.display = "inline";
        else
            SilverlightDiv.style.display = "block";
         if (playerType == "Large")
	     {
	        createLargePlayerSilverlight(minWidth, minHeight, maxWidth, maxHeight, isResizeEnable, mediaURL, colorPlayer);
	     }
	     else if (playerType == "Small")
	     {
	        createSmallPlayerSilverlight(minWidth, minHeight, isResizeEnable, mediaURL, colorPlayer);
	     }
	     else if (playerType == "Mini")
	     {
	        createMiniPlayerSilverlight(mediaURL, colorPlayer);
	     }
//    }
//    else
//    {
//	    if (SilverlightDiv && promptContainer)
//	    {
//            installPromptBg = document.getElementById('installPromptBg');
//            if(installPromptBg) {
//                installPromptBg.setStyle('display', 'block');
//                installPromptBg.setStyle('height', window.getScrollHeight());
//            }
//	        promptContainer.style.display = 'block';
//	        SilverlightDiv = promptContainer;
//	        document.body.innerHTML;
//	    }

//        var installPrompt = document.getElementById('InstallPromptDiv');
//        if ( installPrompt )
//        installPrompt.innerHTML = Silverlight.createObject(null, null, null, {version: version, inplaceInstallPrompt:true},{}, null);

//        var PostInstallGuidance = document.getElementById('PostInstallGuidance');
//	    if (PostInstallGuidance)
//        {
//        	var text = "<p>Installez Microsoft Silverlight pour une exp&eacute;rience compl&egrave;te de ce site.</p>";

//            if ( Silverlight.ua.Browser == "MSIE" )
//            {
//                text += "Quand l'installation est termin&eacute;e red&eacute;marrez votre navigateur pour activer le contenu Silverlight";
//            }
//            else if ( Silverlight.ua.Browser == "Firefox" || Silverlight.ua.Browser == "Safari")
//            {
//                text += "Votre navigateur est "+ Silverlight.ua.Browser + ". Quand l'installation est termin&eacute;e red&eacute;marrez votre navigateur pour activer le contenu Silverlight";
//            }
//            else
//            {
//                text += "Votre navigateur ne supporte pas Microsoft Silverlight.<br />Merci de visiter http://www.microsoft.com/silverlight/system-requirements.aspx pour plus d'informations.";
//            }
//            PostInstallGuidance.innerHTML = text;
//        }
//        this.showInstallFrame();
//    }
}

Silverlight.showInstallFrame = function() {
	var myElt = new Element('div');
	myElt.innerHTML += '<div id="installPromptBg" style="background-color: black; z-index: 100; height: '+window.getScrollHeight()+'px; width: 100%; position: absolute; top: 0; left: 0; opacity: 0.4; filter: alpha(opacity=40);"></div>' +
					   '<div id="installPromptFrameContainer" style="border: 1px solid #35AFE8; z-index: 200; position: absolute; top: 200px; left: 0px; margin-left: '+ ((window.getWidth()/2) - 250) +'px; width: 500px; height: 284px;"><iframe id="installPromptFrame" frameborder="0" src="/france/vision/InstallSilverlight.html" style="width: 500px; height: 284px;"></iframe></div>';
	myElt.injectInside($E('body'));
}

Silverlight.createDelegate = function(instance, method) {
	return function() {
		return method.apply(instance, arguments);
	}
}

function createLargePlayerSilverlight(minWidth, minHeight, maxWidth, maxHeight, isResizeEnable, mediaURL, colorPlayer)
{
	var scene = new PlayerJavaScript.Page();
	var args = [minWidth, minHeight, maxWidth, maxHeight, isResizeEnable, mediaURL];
	Silverlight.createObjectEx({
		source: "/france/vision/SilverlightPlayer/" + colorPlayer + "/LargePlayer.xaml",
		parentElement: document.getElementById("silverlightControlHost"),
		id: "SilverlightControl",
		properties: {
			width: "100%",
			height: "100%",
			version: "1.0"
		},
		events: {
			onLoad: Silverlight.createDelegate(scene, scene.handleLoad),
			onError: function(sender, args) {
				var errorDiv = document.getElementById("errorLocation");
				if (errorDiv != null) {
					var errorText = args.errorType + "- " + args.errorMessage;

					if (args.ErrorType == "ParserError") {
						errorText += "<br>File: " + args.xamlFile;
						errorText += ", line " + args.lineNumber;
						errorText += " character " + args.charPosition;
					}
					else if (args.ErrorType == "RuntimeError") {
						errorText += "<br>line " + args.lineNumber;
						errorText += " character " +  args.charPosition;
					}
					errorDiv.innerHTML = errorText;
				}
			}
	    },
	    context: args
	});
}

function createSmallPlayerSilverlight(width, height, isResizeEnable, mediaURL, colorPlayer)
{
	var scene = new PlayerJavaScript.Page();
	var args = [width, height, width, height, isResizeEnable, mediaURL];
	Silverlight.createObjectEx({
		source: "/france/vision/SilverlightPlayer/" + colorPlayer + "/SmallPlayer.xaml",
		parentElement: document.getElementById("silverlightControlHost"),
		id: "SilverlightControl",
		properties: {
			width: "100%",
			height: "100%",
			version: "1.0"
		},
		events: {
			onLoad: Silverlight.createDelegate(scene, scene.handleLoad),
			onError: function(sender, args) {
				var errorDiv = document.getElementById("errorLocation");
				if (errorDiv != null) {
					var errorText = args.errorType + "- " + args.errorMessage;

					if (args.ErrorType == "ParserError") {
						errorText += "<br>File: " + args.xamlFile;
						errorText += ", line " + args.lineNumber;
						errorText += " character " + args.charPosition;
					}
					else if (args.ErrorType == "RuntimeError") {
						errorText += "<br>line " + args.lineNumber;
						errorText += " character " +  args.charPosition;
					}
					errorDiv.innerHTML = errorText;
				}
			}
	    },
	    context: args
	});
}

function createMiniPlayerSilverlight(mediaURL, colorPlayer)
{
    var args = [mediaURL];
	var scene = new PlayerJavaScript.Page();
	Silverlight.createObjectEx({
		source: "/france/vision/SilverlightPlayer/" + colorPlayer + "/MiniPlayer.xaml",
		parentElement: document.getElementById("silverlightControlHost"),
		id: "SilverlightControl",
		properties: {
			width: "100%",
			height: "100%",
			version: "1.0"
		},
		events: {
			onLoad: Silverlight.createDelegate(scene, scene.handleLoad),
			onError: function(sender, args) {
				var errorDiv = document.getElementById("errorLocation");
				if (errorDiv != null) {
					var errorText = args.errorType + "- " + args.errorMessage;

					if (args.ErrorType == "ParserError") {
						errorText += "<br>File: " + args.xamlFile;
						errorText += ", line " + args.lineNumber;
						errorText += " character " + args.charPosition;
					}
					else if (args.ErrorType == "RuntimeError") {
						errorText += "<br>line " + args.lineNumber;
						errorText += " character " +  args.charPosition;
					}
					errorDiv.innerHTML = errorText;
				}
			}
		},
		context: args
	});
}