/* 
This script detects the following:
//Flash
//Windows Media Player
//Java
//Shockwave
//RealPlayer
//QuickTime
//Acrobat Reader
//SVG Viewer

Adaptada para agrigento: para cada capacidad detectada pone a 1 el value de un input hidden
El parametro indica el form que contiene los input hidden
*/

function detectIE(ClassID,name) 
{ 
	result = false; 
	document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); 
	if (result) 
		return name+','; 
	else return ''; 
}

function detectNS(ClassID,name) 
{ 
	n = ""; 
	if (nse.indexOf(ClassID) != -1) 
		if (navigator.mimeTypes[ClassID].enabledPlugin != null) 
			n = name+","; 
	
	return n; 
}

function detect(myform, fromAppl)
{
	var agt	= navigator.userAgent.toLowerCase();
	var ie  = (agt.indexOf("msie") != -1);
	var ns  = (navigator.appName.indexOf("Netscape") != -1);
	var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
	var mac = (agt.indexOf("mac")!=-1);

	if (ie && win) 
	{	
		pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("PDF.PdfCtrl.5","Acrobat Reader"); 
	}
	
	if (ns || !win) 
	{
			nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
			pluginlist = detectNS("image/svg-xml","SVG Viewer") + detectNS("application/x-director","Shockwave Director") + detectNS("application/x-shockwave-flash","Shockwave Flash") + detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + detectNS("video/quicktime","QuickTime") + detectNS("application/x-mplayer2","Windows Media Player") + detectNS("application/pdf","Acrobat Reader");
	}

	pluginlist += navigator.javaEnabled() ? "Java," : "";
	if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);

	if (pluginlist.indexOf("Flash") != -1)
		 myform.hasFlash.value = 1;

	if (pluginlist.indexOf("QuickTime") != -1)
		 myform.hasQuicktime.value = 1;

	if (pluginlist.indexOf("Shockwave") != -1)
		 myform.hasShockwave.value = 1;

	if (pluginlist.indexOf("Java") != -1)
		myform.hasJava.value = 1;
		
	/* 	Deteccion de las dimensiones de la ventana. Se puede hacer de varias formas y como siempre hay problemas
		con navegadores (no dan los mismos valores).
		Creo que la forma mas recomendable (y compatible) es la usada.
		Nota: se devuelven las dimensiones de la zona de render del browser, para nuestra aplicacion creo que
			con esa es suficiente.
	*/
	myform.fromAppl.value = fromAppl;

	if (ie)
	{
		myform.win_width.value = document.body.clientWidth ;
		myform.win_height.value = document.body.clientHeight;
	}
	else
	{
	    myform.win_width.value = window.innerWidth;
	    myform.win_height.value = window.innerHeight;
	}
}

