var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

//
// WMPlayer Tools
//

var wmpJukebox = new Array();
var wmpJukeboxStartUrl = ""
var wmpJukeboxStartOffset = ""
var wmpAutoStart = true;
var wmpDebug = false;
var wmplayer = null;

function IsWMPInstalled() {

	var wmpInstalled = false;
	
	wmpObj = false;
	if (navigator.plugins && navigator.plugins.length) {
		for (var i=0; i < navigator.plugins.length; i++ ) {
         var plugin = navigator.plugins[i];
         if (plugin.name.indexOf("Windows Media Player") > -1) {
			wmpInstalled = true;
         }
      }
	} else {
		execScript('on error resume next: wmpObj = IsObject(CreateObject("MediaPlayer.MediaPlayer.1"))','VBScript');
		wmpInstalled = wmpObj;
	}
	return wmpInstalled;
}	

function TimeToSeconds(aTime)
{
	var timearray;
	var result = 0;

	timearray = aTime.split(":");
	result = (Number(timearray[0] * 3600) + Number(timearray[1] * 60) + Number(timearray[2]));
	return  result;
}

function wmpSetStatusMessage(aStatus)
{
	if (document.getElementById('player_status') != null) 
		document.getElementById('player_status').innerHTML = aStatus;
}

function WMPCreate(aContainer,aAutoStart) 
{
	var wmplayerobj  = '';
	
	// Windows Media Player 7 o posterior
	
	if (BrowserDetect.browser == 'Explorer')  {
		wmplayerobj = '<OBJECT id="wmplayer" type="application/x-oleobject" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width=100% height=100%>';
		wmplayerobj = wmplayerobj + ' <param name="autostart" value="true" >';
		wmplayerobj = wmplayerobj + HtmlBox('Se necesita el plugin Windows Media para su navegador.');
		wmplayerobj = wmplayerobj + ' </OBJECT>';
	}
	else if (BrowserDetect.browser == 'Firefox') {
		wmplayerobj = '<OBJECT id="wmplayer" type="application/x-ms-wmp" width=100% height=100%>'; 
		wmplayerobj = wmplayerobj + ' <param name="autostart" value="true" >';
		wmplayerobj = wmplayerobj + HtmlBox('Se necesita el plugin de <a href="http://port25.technet.com/pages/windows-media-player-firefox-plugin-download.aspx">Windows Media</a> para Firefox.');
		wmplayerobj = wmplayerobj + ' </OBJECT>';
	}
	else {
        wmplayerobj = '<object id="wmplayer" type="application/x-ms-wmp" width="100%" height="100%">';
		wmplayerobj = wmplayerobj + ' <param name="autoStart" value="1">';
		wmplayerobj = wmplayerobj + HtmlBox('Se necesita el plugin de <a href="http://port25.technet.com/pages/windows-media-player-firefox-plugin-download.aspx">Windows Media</a> para su navegador.');
        wmplayerobj = wmplayerobj + ' </object>	';	
	}

	document.getElementById(aContainer).innerHTML = wmplayerobj;
	wmplayer = document.getElementById('wmplayer');
		
	return true;
}

function WMPCreateStream(aStreamId,aMediaType,aStreamURL,aClipIn) {
	this.ID = aStreamId;
	this.MediaType = aMediaType;
	this.URL = aStreamURL;
	this.ClipIn = aClipIn
}

function WMPAddStream(aStreamId,aMediaType,aStreamURL) {
	wmpJukebox[wmpJukebox.length] = new WMPCreateStream(aStreamId,aMediaType,aStreamURL,'0');
}

function WMPAddClippedStream(aStreamId,aMediaType,aStreamURL,aClipIn) {
	wmpJukebox[wmpJukebox.length] = new WMPCreateStream(aStreamId,aMediaType,aStreamURL,aClipIn);
}

function WMPPlayOffset(aID,aOffset)
{
	//alert('WMPPlayOffset '+aID+', '+aOffset);
	
	if (wmpJukebox.length > 0) {
		if ((aID == -1) && (wmpJukeboxStartUrl != '')) {
			if (wmpJukeboxStartUrl != '')
				WMPPlayURLOffset(wmpJukeboxStartUrl,wmpJukeboxStartOffset);	
		}
		else {
			var k = -1;

			/*if ((aID >= 0) && (aID < wmpJukebox.length)) {*/
				for (var i = 0; i<wmpJukebox.length;i++) {
					if (wmpJukebox[i].ID == aID) {
						k = i;
					}
				}	
			/*}*/
			
			if (k == -1) {
				k = 0;
			}
			
			if (k != -1) {			 
				WMPPlayURLOffset(wmpJukebox[k].URL,aOffset);
			}
		}
	}
	else
		alert('El archivo de medios no está disponible ');
}

function WMPPlay(aID)
{
	WMPPlayOffset(aID,'00:00:00')
}

function WMPPlayURL(aMediaURL)
{
	WMPPlayURLOffset(aMediaURL,'00:00:00')
}

function WMPPlayURLOffset(aMediaURL,aOffset)
{
	//alert('WMPPlayURLOffset : url= '+aMediaURL+', offset= '+aOffset);
	wmpSetStatusMessage('');		
	
	if (wmplayer != null) {
		//wmplayer.controls.stop(); 
		if (aMediaURL != '') {
			if (BrowserDetect.browser == 'Explorer')  {
				if (document.wmplayer.URL != aMediaURL)
					document.wmplayer.URL = aMediaURL;
				document.wmplayer.controls.currentPosition =  TimeToSeconds(aOffset);
			}
			else {			
				if (wmplayer.URL != aMediaURL)
					wmplayer.URL = aMediaURL;
				wmplayer.controls.currentPosition =  TimeToSeconds(aOffset);
			}
		}
		else {
			if (BrowserDetect.browser == 'Explorer')  {
				document.wmplayer.controls.currentPosition =  TimeToSeconds(aOffset);
			}
			else {
				wmplayer.controls.currentPosition =  TimeToSeconds(aOffset);
			}
		}
		//wmplayer.controls.play();
		if (wmpDebug) 
			wmpSetStatusMessage('url= '+aMediaURL +', offset= '+aOffset);
		else
			wmpSetStatusMessage('');
		
		// Avisar si el streaming es sólo de audio
		var k = -1;
		for (var i = 0; i<wmpJukebox.length;i++) {
			if (wmpJukebox[i].URL == aMediaURL) {
				k = i;
			}
		}	
		
		if (k != -1) {			 
			if (wmpJukebox[k].MediaType == 'audio/mp3')
				 wmpSetStatusMessage('El archivo de medios no contiene imagen de video.');		
		}
	}
	else {
		wmpSetStatusMessage('No se pudo cargar el complemento de Windows Media para este navegador.');
		alert('No se pudo cargar el complemento de Windows Media para este navegador.');
	}
}

function WMPSetStart(aUrl,aOffset)
{
  //alert('WMPSetStart '+aUrl+', '+aOffset);	
  wmpJukeboxStartUrl = aUrl
  wmpJukeboxStartOffset = aOffset
}



