/*
changes
2008-03-13 RM [1] Test nu alleen maar de benodigde bestandsformaten en niet altijd alles, dan is IE7 sneller.
2008-10-03 RM [1] Google chrome support toegevoegd.
2009-03-03 BN [1] Opmerking: Voor Google chrome en Firefox moet wel een Shockwave plugin worden gedownload.
2009-04-15 BN [1] Loopmogelijkheid ingebouwd
              [2] Indien geen Flash-plugin dan melding ingebouwd
2009-09-10 BN [1] Aanpassingen om Flashmovies te laten meezoomen met de browser.
	'<PARAM NAME="wmode" VALUE="transparent">' +
wmode="transparent" 
2010-07-19 BN [1] Functies uit popup.js naar hier verplaatst
									OpenPopupWindow(link), MultimediaTonenWindow(id, titel, w, h) en ThumbnailTonenWindow(href, titel, w, h, taal) 
2011-11-01 BN [1] Call 11/520486 Aanpassingen i.v.m. Windows 7
2012-01-13 BN [1] Call 12/533095 Mp4 afspelen met mediaplayer in Windows 7
*/
// --- Templates -----------------------------------------------------------

var SitebouwerServerUrl_asdfjkly = '';
var vp_ie_template_mp =
	'<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"  ' +
	'standby="Loading Windows Media Player components..."  ' +
	'type="application/x-oleobject"  ' +
	'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"  ' +
	'height="%height%"  ' +
	'width="%width%"> ' +
	'<param name="FileName" value="@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx?id=%idResource%"></param> ' +
	'<param name="AutoStart" value="%autoStart%"></param> ' +
	'<param name="EnableContextMenu" value="0"></param> ' +
	'<param name="loop" value="%loop%"></param> ' +
	'<param name="ShowControls" value="%showControls%"></param> ' +
	'<embed name="MediaPlayer" type="application/x-mplayer2" height="%height%" width="%width%"  ' +
	'AutoStart="%autoStart%" EnableContextMenu="0" ShowControls="%showControls%" loop="%loop%"> ' +
	'</embed></object>';

var vp_ie_template_mp_WMP7 =
	'<object id="id%idResource%_Player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="%width%" height="%height%">' +
	'<param name="URL" value="@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx?id=%idResource%"> ' +
	'<param name="autoStart" value="%autoStart%"> ' +
	'<param name="uimode" value="%uiMode%"> ' +
	'<param name="playcount" value="%loop%"> ' +
	'<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" width="%width%" height="%height%" ' +
	'autoStart="%autoStart%" src="@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx?id=%idResource%" showcontrols="%showControls%" loop="%loop%"> ' +
	'</object>';
	


var vp_ff_template_mp =
	'<object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" ' +
	'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab# Version=5,1,52,701" ' +
	'standby="Loading Microsoft Windows® Media Player components..."  ' +
	'type="application/x-oleobject"  ' +
	'width="%width%" height="%height%"> ' +
	'<param name="fileName" value="@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx?id=%idResource%" /> ' +
	'<param name="animationatStart" value="true"></param> ' +
	'<param name="transparentatStart" value="true"></param> ' +
	'<param name="autoStart" value="%autoStart%"></param> ' +
	'<param name="EnableContextMenu" value="0"></param> ' +
	'<param name="showControls" value="%showControls%"></param> ' +
	'<param name="loop" value="%loop%"></param> ' +
	'<param name="Volume" value="-300"></param> ' +
	'<embed type="application/x-mplayer2"  ' +
	'pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"  ' +
	'src="@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx?id=%idResource%"  ' +
	'name="MediaPlayer" width="%width%" height="%height%" ' +
	'autostart="%autoStart%" loop="%loop%" ' +
	'EnableContextMenu="0" ' +
	'showcontrols="%showControls%" volume="-300"></embed></object>';


var vp_template_flv =
	'<embed name="player" wmode="opaque" id="player" src="@@ServerUrl@@/generiek/mediaplayer.swf" width="%width%" height="%height%" allowfullscreen="true" allowscriptaccess="always" ' +
	'flashvars="image=@@ServerUrl@@/generiek/%image%&file=@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx%3fid%3d%idResource%&shownavigation=%showControls%' +
	'%loop%&autostart=%autoStart%&type=flv"></embed>';


var vp_template_mp4 =
'<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab" WIDTH="%width%" HEIGHT="%height%" >' +
'<PARAM NAME="src" VALUE="@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx?id=%idResource%" >' +
'<PARAM NAME="autoplay" VALUE="%autoStart%" >' +
'<PARAM name="CONTROLLER" VALUE="%showControls%" >' +
'<PARAM name="LOOP" VALUE="%loop%" >' +
'<EMBED WMode="transparent" SRC="@@ServerUrl@@/generiek/bronnenbank/sendfile.aspx?id=%idResource%" TYPE="image/x-macpaint" PLUGINSPAGE="http://www.apple.com/quicktime/download" WIDTH="%width%" HEIGHT="%height%" AUTOPLAY="%autoStart%" CONTROLLER="%showControls%" LOOP="%loop%"></EMBED></OBJECT>';

//'<PARAM NAME="WMode" VALUE="Transparent">' +


// players
var mediaplayer = "mediaplayer";
var quicktime = "quicktime";
var realplayer = "realplayer";
var flashplayer = "flashplayer";
var nse = '';

var mediaList = {
	"mpeg": ["video", mediaplayer, quicktime],
	"mpe": ["video", mediaplayer, quicktime],
	"mpg": ["video", mediaplayer, quicktime],
	"mp4": ["video", quicktime, mediaplayer],
	"avi": ["video", mediaplayer, quicktime],
	"wmv": ["video", mediaplayer],
	"flv": ["video", flashplayer],
	"rm": ["video", realplayer],
	"ram": ["video", realplayer],
	"mov": ["video", quicktime, realplayer],
	"qt": ["video", quicktime, realplayer],
	"mp3": ["audio", mediaplayer, quicktime],
	"wma": ["audio", mediaplayer],
	"wav": ["audio", mediaplayer, quicktime]
};

// Look for plug-ins
function detectIE(ClassID, name) {
	result = false;
	document.write('<SCR' + 'IPT LANGUAGE=VBScript>\non error resume next\nresult=IsObject(CreateObject("');
	document.write(ClassID);
	document.write('"))</SCR' + 'IPT>\n');
	if (result) { return name + ','; }
	return '';
}

function detectNS(ClassID, name) {
	if (nse.indexOf(ClassID) != -1) {
		if (navigator.mimeTypes[ClassID].enabledPlugin !== null) {
			return name + ",";
		}
	}
	return "";
}



// Detector
function loadSettings(format) {
	// Select tests to perform
	var testmediaplayer = false;
	var testquicktime = false;
	var testrealplayer = false;
	var testflashplayer = false;
	var i = 0;
	//alert('loadSettings: ' + format + ' ' + mediaList[format].length);
	for (i = 1; i < mediaList[format].length; i++) {
		switch (mediaList[format][i]) {
			case mediaplayer: testmediaplayer = true; break;
			case quicktime: testquicktime = true; break;
			case realplayer: testrealplayer = true; break;
			case flashplayer: testflashplayer = true; break;
		}
		//alert(i + ' ' + mediaList[format][i] + ' ' + testflashplayer);
    }

	// Create a BrowserTest object
	var bt = {};
	var brVerId = 0;

	// Set Platform
	if (navigator.platform == "MacPPC") { bt.platform = "Macintosh"; }
	else if (navigator.platform == "Win32") { bt.platform = "Windows"; }
	else { bt.platform = navigator.platform; }

	// Set Browser Name
	if (navigator.userAgent.indexOf(" Chrome/") >= 0) { bt.browserName = "Chrome"; }
	else if (navigator.userAgent.indexOf("Safari") >= 0) { bt.browserName = "Safari"; }
	else if (navigator.appName == "Microsoft Internet Explorer") { bt.browserName = "Internet Explorer"; }
	else if (navigator.userAgent.indexOf("Netscape") >= 0) { bt.browserName = "Netscape"; }
	else if (navigator.product == "Gecko" && navigator.appName == "Netscape") { bt.browserName = "Mozilla"; }
	else { bt.browserName = navigator.appName; }

	// Set Browser Version
	// Safari
	if (bt.browserName == "Safari") {
		brVerId = navigator.userAgent.indexOf('Version/')+8;
		bt.browserVersion = navigator.userAgent.substr(brVerId, 3);
	}

	// Internet Explorer
	else if (bt.browserName == "Internet Explorer") {
		brVerId = navigator.userAgent.indexOf('MSIE');
		brVerId = brVerId + 5;
		bt.browserVersion = navigator.userAgent.substr(brVerId, 3);
	}

	// Netscape
	else if (bt.browserName == "Netscape") {
		brVerId = navigator.userAgent.indexOf('Netscape');
		if (brVerId >= 0) {
			brVerId = brVerId + 9;
			bt.browserVersion = navigator.userAgent.substr(brVerId, 3);
		}
		else {
			bt.browserVersion = parseFloat(navigator.appVersion);
		}
	}

	// Others
	else {
		bt.browserVersion = parseFloat(navigator.appVersion);
	}

	// Is Java enabled?
	bt.hasJava = navigator.javaEnabled();
	//alert(bt.browserName);

	if (bt.browserName == "Internet Explorer" && bt.platform == "Windows") {
		pluginlist = '';
		if (testmediaplayer) { pluginlist += detectIE("MediaPlayer.MediaPlayer.1", "Windows Media Player"); }
		if (testquicktime) { pluginlist += detectIE("QuickTimeCheckObject.QuickTimeCheck.1", "QuickTime"); }
		if (testrealplayer) { pluginlist += detectIE("rmocx.RealPlayer G2 Control.1", "RealPlayer"); }
		if (testflashplayer) { pluginlist += detectIE("ShockwaveFlash.ShockwaveFlash.1", "Shockwave Flash"); }
	}
	else {
	    nse = '';
	    //alert(navigator.mimeTypes.length);
	    var h;
	    for (i = 0; i < navigator.mimeTypes.length; i++) {
	        h = navigator.mimeTypes[i].type.toLowerCase();
	        //if (h.indexOf('video') > -1) alert(h);
	        //if (h.indexOf('application/x-') > -1) alert(h);
	        nse += h;
        }
		pluginlist = '';
		if (testmediaplayer) { pluginlist += detectNS("application/x-mplayer2", "Windows Media Player"); }
		if (testquicktime) { pluginlist += detectNS("video/quicktime", "QuickTime"); }
		if (testrealplayer) { pluginlist += detectNS("audio/x-pn-realaudio-plugin", "RealPlayer"); }
		if (testflashplayer) { pluginlist += detectNS("application/x-shockwave-flash", "Shockwave Flash"); }
	}

	if (pluginlist.length > 0) { pluginlist = pluginlist.substring(0, pluginlist.length - 1); }

	bt.hasFlash = (pluginlist.indexOf("Flash") >= 0);
	bt.hasShockwave = (pluginlist.indexOf("Shockwave Director") >= 0);
	bt.hasRealPlayer = (pluginlist.indexOf("RealPlayer") >= 0);
	bt.hasWindowsMediaPlayer = (pluginlist.indexOf("Windows Media Player") >= 0);
	bt.hasQuickTime = (pluginlist.indexOf("QuickTime") >= 0);
	bt.hasAcrobatReader = (pluginlist.indexOf("Acrobat Reader") >= 0);
	bt.osXP = (navigator.appVersion.indexOf("Windows NT 5.1;") > -1);

	return bt; //object met alle settings
}


function BepaalBrowser(vp_media) {
	//check the browser, return: ie, ff or chrome
	if (vp_media.browserName == "Internet Explorer") { return "ie"; }
	if (vp_media.browserName == "Mozilla") { return "ff"; }
	if (vp_media.browserName == "Chrome") { return "chrome"; }
	if (vp_media.browserName == "Safari") { return "safari"; }
	return "unknown";
}

// Bepaal het MediaType audio of video
function BepaalMediaType(formaat) {
	return mediaList[formaat][0];
}

// Bepaal de player die gebruikt moet worden adhv de matrix
function BepaalPlayer(vp_media, formaat) {
	var result = 'unknown';
	//alert(formaat + ' ' + mediaList[formaat].length);
	for (i = 1; i < mediaList[formaat].length && result == 'unknown'; i++) {
	    player = mediaList[formaat][i];
	    switch (player) {
				case mediaplayer: if (vp_media.hasWindowsMediaPlayer) result = mediaplayer; break;
				case quicktime: if (vp_media.hasQuickTime)  result = quicktime; break; 
	    	case realplayer: if (vp_media.hasRealPlayer)  result = realplayer; break; 
	    	case flashplayer: if (vp_media.hasFlash)  result = flashplayer; break; 
		}
		//alert(i + ' ' + player + ' ' + result);
}
	return result;
}

function ShowMedia(formaat, idResource, width, height, showControls, autoStart, loop, AltImg) {
	// Init: Check doen betreffende browser en players
	var mediatype = BepaalMediaType(formaat);
	var vp_media = loadSettings(formaat);
	var browser = BepaalBrowser(vp_media);

	// Controle: een bekende browser gevonden?
	if (browser == "unknown") {
		document.write('browser wordt niet ondersteund' + '<br>');
		return -1;
	}

	var player = BepaalPlayer(vp_media, formaat);

	//alert(player);

	// Controle: een bekende player gevonden?
	if (player == "unknown") {
	    if (formaat == 'flv') document.write('Je beschikt niet over de Adobe Flash Player.<br /><b><a target="_blank" href="http://www.adobe.com/products/flashplayer/">Klik hier</a></b> om de nieuwste versie (gratis) te installeren.');
	    if (AltImg !== null && AltImg !== '') { 
	    //document.write(AltImg); 
	    }
		else {
			document.write('geen mediaplayer gevonden voor: ' + formaat);
			return -1;
		}
	}

	var template = '';

	if (mediatype == "audio") {
		width = 180;
		height = 40;
	}

	//alert(formaat + ' ' + browser + ' ' + player + ' ' + mediatype);
	//if (formaat == 'mp4') {
	if (formaat == 'mp4' && vp_media.osXP && player == mediaplayer) {
		player = quicktime;
		//quicktime forceren bij XP omdat mediaplayer op XP niet de juiste codecs heeft.
		//alert(player);
	}

	if (player == quicktime) {
		showControls = (showControls == 1) ? 'true' : 'false';
		autoStart = (autoStart == 1) ? 'true' : 'false';
		loop = (loop == 1) ? 'true' : 'false';
		template = vp_template_mp4.replace(/%height%/ig, height).replace(/%width%/ig, width).replace(/%showControls%/ig, showControls).replace(/%autoStart%/ig, autoStart).replace(/%idResource%/ig, idResource).replace(/%loop%/ig, loop);
		template = template.replace(/@@ServerUrl@@/ig, SitebouwerServerUrl_asdfjkly);
		//alert(template);
		document.write(template);
		return 0;
	}

	if (player == mediaplayer) {
	    if (browser == "ie") {
	    	var WMP7;

	    	if (window.ActiveXObject) {
	    		WMP7 = new ActiveXObject("WMPlayer.OCX.7");
	    	}
	    	else if (window.GeckoActiveXObject) {
	    		WMP7 = new GeckoActiveXObject("WMPlayer.OCX.7");
	    	}
	    	if (WMP7) {
	    		var uiMode = (showControls == 1) ? 'full' : 'none';
	    		loop = (loop == 1) ? '1000' : '1';
	    		template = vp_ie_template_mp_WMP7.replace(/%height%/ig, height).replace(/%width%/ig, width).replace(/%uiMode%/ig, uiMode).replace(/%showControls%/ig, showControls).replace(/%autoStart%/ig, autoStart).replace(/%loop%/ig, loop).replace(/%idResource%/ig, idResource);
	    	} else {
	    		template = vp_ie_template_mp.replace(/%height%/ig, height).replace(/%width%/ig, width).replace(/%showControls%/ig, showControls).replace(/%autoStart%/ig, autoStart).replace(/%loop%/ig, loop).replace(/%idResource%/ig, idResource);
	    	}
	    	template = template.replace(/@@ServerUrl@@/ig, SitebouwerServerUrl_asdfjkly);
	        //alert(template);
	        document.write(template);
		    return 0;
	    }
	    if (browser == "ff" || browser == "chrome" || browser == "safari") {
	        if (loop == 1 && browser == "ff") {
	            loop = '1" playcount="true';
	        }
	        template = vp_ff_template_mp.replace(/%height%/ig, height).replace(/%width%/ig, width).replace(/%showControls%/ig, showControls).replace(/%autoStart%/ig, autoStart).replace(/%loop%/ig, loop).replace(/%idResource%/ig, idResource);
	        template = template.replace(/@@ServerUrl@@/ig, SitebouwerServerUrl_asdfjkly);
	        //alert(template);
	        document.write(template);
		    return 0;
		}
    }
	if (player == flashplayer) {
		var img = AltImg;
		var i = img.indexOf('/generiek/');
		img = img.substr(i + 10);
		i = img.indexOf('"');
		
		img = img.substr(0, i);
		img = img.replace("?", "%3f");
		img = img.replace("=", "%3d");

		showControls = (showControls == 1) ? 'true' : 'false';
		autoStart = (autoStart == 1) ? 'true' : 'false';
		loop = (loop == 1) ? '&repeat=always' : '';


		template = vp_template_flv.replace(/%height%/ig, height).replace(/%width%/ig, width).replace(/%showControls%/ig, showControls).replace(/%autoStart%/ig, autoStart).replace(/%loop%/ig, loop).replace(/%idResource%/ig, idResource).replace(/%image%/ig, img);
		template = template.replace(/@@ServerUrl@@/ig, SitebouwerServerUrl_asdfjkly);
//		alert(template);
		
		document.write(template); // + ' ' + zoomLevel
		return 0;
	}
}

function ThumbnailTonenWindow(href, titel, w, h, taal) {
	w = w + 20;
	h = h + 40;
	var l = (screen.width - w) / 2;
	var t = (screen.height - h) / 2;
	props = 'height=' + h + ',width=' + w + ',top=' + t + ',left=' + l + ',scrollbars=no'
	var url = SitebouwerServerUrl_asdfjkly + '/generiek/thumbpopupwindow.asp?taal=' + taal + '&imgurl=' + href + '&amp;titel=' + escape(titel);
	//alert(url);
	win = window.open(url, 'winpopup', props)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function MultimediaTonenWindow(id, titel, w, h) {
	id = id.replace(/\/generiek\/bronnenbank\/sendfile\.aspx\?id=(\d+)/ig, '$1');
	w += 25;
	h += 40;
	var l = (screen.width - w) / 2;
	var t = (screen.height - h) / 2;
	props = 'height=' + h + ',width=' + w + ',top=' + t + ',left=' + l + ',scrollbars=no'
	win = window.open(SitebouwerServerUrl_asdfjkly + '/generiek/bronnenbank/show.aspx?id=' + id + '&amp;titel=' + escape(titel), 'winpopup', props)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function OpenPopupWindow(link) {
	var ar = link.split('|');
	var o = 'resizable=' + ar[0] + ',scrollbars=' + ar[1] + ',width=' + ar[2] + ',height=' + ar[3];
	o = 'toolbar=no,location=0,status=0,menubar=0,' + o
	var url = ar[4];
	var win = window.open(url, 'popup1', o);
}

