var esIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var esWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var esOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
var npag = 1;

function enviarFormulario(url, formid)
{
	var Formulario = document.getElementById(formid);
	var longitudFormulario = Formulario.elements.length;
	var cadenaFormulario = "";
	var sepCampos = "";

	for (var i=0; i <= Formulario.elements.length-1;i++) 
	{
	  cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
	  sepCampos="&";
	}

	peticion=null;
	if (window.XMLHttpRequest)
	{
		peticion=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		peticion=new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (peticion!=null)
	{
		peticion.open("POST", url + "&pasacache=" + new Date().getTime(), true);
		peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
		peticion.send(cadenaFormulario);
	}
}

function forma_cadena(npag,npreg,ntipo,opcion1,opcion2,texto)
{
	var cadena='';
	var nsepReg = '##';
	var nsepFila = '%%';

	if (texto == '')
	{
		texto = '0';
	}

	return npag.toString() + nsepReg + npreg.toString() + nsepReg + ntipo.toString() + nsepReg + 
		 opcion1.toString() + nsepReg + opcion2.toString() + nsepReg + 
		 texto.toString() + nsepReg + nsepFila;
}


function construye_cadena(formid)
{
	var cadena='';
	var sepVariable = "|";

	if (formid == null)
	{
		formid = 'frmEstadisticas';
	}

	//Se detecta el navegador
	var navegador = NavegadoryVersion();	

	//Se detecta la resolución
	var resolucion = screen.width + "x" + screen.height;		

	//Se detecta la anchura de pantalla
	if (document.all)
		var anchuraventana=top.window.document.body.offsetWidth + "x" + top.window.document.body.offsetHeight;
	else
		var anchuraventana=window.outerWidth + "x" + window.outerHeight;	

	//Se detecta sistema operativo
	var SO=SistemaOperativo();

	//Se detecta si tiene cookies activas
	var cookiesactivas = navigator.cookieEnabled;

	var idestadistica_cookie = '';
	if (cookiesactivas)
	{
		var idestadistica_cookie = getCookie('COL');
	}

	//Version de flash
	var version_flash = ObtenerVersionFlash();

	//Procedencia
	var Formulario = document.getElementById(formid);	
	var cadenaFormulario = "";
	var sProcedencia = "";

	for (var i=0; i <= Formulario.elements.length-1;i++) 
	{
	  if (Formulario.elements[i].name == 'procedencia')
	  {
		  sProcedencia = Formulario.elements[i].value;
		  break;
	  }	  
	}

	
	var variables = sepVariable+navigator.userAgent;
	variables = variables + sepVariable+navegador;
	variables = variables + sepVariable+SO;
	variables = variables + sepVariable+cookiesactivas;
	variables = variables + sepVariable+resolucion;
	variables = variables + sepVariable+anchuraventana;			
	variables = variables + sepVariable+version_flash;
	variables = variables + sepVariable+idestadistica_cookie;
	variables = variables + sepVariable+sProcedencia+sepVariable;

	var cadena_novalida=/[\[\]\<\>\"\'\;\(\)]/g;
	variables = variables.replace(cadena_novalida, "");
	
	cadena = forma_cadena(npag,'1','pregunta 1.1','0','0',variables);
	return cadena;
}

function ControlVersionExplorer()
{
	var version;
	var oFlash;
	var eFlash;

	try 
	{
		oFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = oFlash.GetVariable("$version");
	} 
	catch (eFlash) {}

	if (!version)
	{
		try 
		{
			oFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			version = "WIN 6,0,21,0";	
			oFlash.AllowScriptAccess = "always";
			version = oFlash.GetVariable("$version");
		} 
		catch (eFlash) {}
	}

	if (!version)
	{
		try 
		{				
			oFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} 
		catch (eFlash) {}
	}

	if (!version)
	{
		try {
			oFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} 
		catch (eFlash) {}
	}

	if (!version)
	{
		try 
		{				
			oFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} 
		catch (eFlash) {version = 0;}
	}
	
	return version;
}


function ControlVersionFlash()
{
	var flashVer = 0;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) 
	{
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) 
		{
			var flashVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + flashVer2].description;
			var aDescription = flashDescription.split(" ");
			var atempVersion = aDescription[2].split(".");
			var versionMajor = atempVersion[0];
			var versionMinor = atempVersion[1];
			if ( aDescription[3] != "" ) 
			{
				atempMinor = aDescription[3].split("r");
			} else 
			{
				atempMinor = aDescription[4].split("r");
			}
			var versionRevision = atempMinor[1] > 0 ? atempMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if (esIE && esWin && !esOpera ) 
	{
		flashVer = ControlVersionExplorer();
	}	
	return flashVer;
}

function ObtenerVersionFlash()
{
	sVersion = ControlVersionFlash();

	if (sVersion == 0 ) 
	{
		return sVersion;
	} 
	else
	{
		if(esIE && esWin && !esOpera) 
		{		
			var asVersion	= sVersion.split(" "); 	
			sVersion		= asVersion[1];
			
			asVersion		= sVersion.split(',');
			sVersion		= asVersion[0] + "." + asVersion[1] + "." + asVersion[2];	
		} 		

		return sVersion.replace(/,/gi,".");
	}
}		



function SistemaOperativo() 
{
	var platform = window.navigator.platform.toLowerCase();

	if (navigator.userAgent.indexOf('IRIX') != -1) {var SO = "Irix" }
	else if ((navigator.userAgent.indexOf('Win') != -1) && 
			 (navigator.userAgent.toLowerCase().indexOf('windows me') != -1 || navigator.userAgent.indexOf('9x') != -1)) 
		{var SO= "Windows Millenium Edition"}
	else if ((navigator.userAgent.indexOf('Win') != -1) && 
			 (navigator.userAgent.indexOf('98') != -1)) 
		{var SO= "Windows 98 SE"}
	else if ((navigator.userAgent.indexOf('Win') != -1) && 
			 (navigator.userAgent.indexOf('95') != -1)) 
		{var SO= "Windows 95"}
	else if (navigator.appVersion.indexOf("16") !=-1) 
		{var SO= "Windows 3.1"}
	else if (navigator.userAgent.indexOf("NT 5.0") !=-1) 
		{var SO= "Windows 2000 Professional"}
	else if (navigator.userAgent.indexOf("NT 5.1") !=-1 || navigator.userAgent.indexOf("XP") != -1) 
		{var SO= "Windows XP"}
	else if (navigator.userAgent.indexOf("NT 6.0") !=-1) 
		{var SO= "Windows Vista"}
	else if (navigator.appVersion.indexOf("NT") !=-1) 
		{var SO= "Windows NT"}
	else if (navigator.appVersion.indexOf("SunOS") !=-1 || platform.indexOf('sun') != -1) 
		{var SO= "SunOS"}
	else if (navigator.appVersion.indexOf("Linux") !=-1 || platform.indexOf('unix') != -1 || 
			 platform.indexOf('linux') != -1 ||	platform.indexOf('x11') != -1) 
		{var SO= "Linux"}
	else if (navigator.userAgent.indexOf('Mac') != -1 || platform.indexOf('mac') != -1) 
		{var SO= "Macintosh"}
	else if (navigator.appName=="WebTV Internet Terminal") 
		{var SO="WebTV"}
	else if (navigator.appVersion.indexOf("HP") !=-1) 
		{var SO="HP-UX"}
	else {var SO= "No identificado"}
	return SO;
}

/*function NavegadoryVersion()
{
	var navegador;
	var eNavegador;
	switch (navigator.appName.toLowerCase())
	{
		case 'netscape': 
			try{navegador = navigator.userAgent.split(' ')[navigator.userAgent.split(' ').length-1].replace('/',' ');}
			catch (eNavegador){navegador = navigator.appName;}
			
			break;
		case 'microsoft internet explorer': 
			try{navegador = navigator.appName + " " + navigator.userAgent.split(';')[1].split(' ')[2];}
			catch (eNavegador){navegador = navigator.appName;}
			break;
		default: navegador = navigator.appName;
	}
	return navegador;
}*/

 function NavegadoryVersion()
{
	var sBrowser;
	var sVersion;
	var sCadenaNavegador;
	var aBrowFull = new Array("opera", "chrome", "safari", "maxthon", "msie",							"konqueror", "galeon", "netscape6", "netscape", "firefox", "gecko",		"mozilla");
	var aBrowVers = new Array("opera", "chrome", "safari", "maxthon", "msie",							"konqueror", "galeon", "netscape6", "netscape", "firefox" ,"rv",		"mozilla");
	var aBrowAbrv = new Array("Opera", "Chrome", "Safari", "Maxthon", "Microsoft Internet Explorer",	"Konqueror", "Galeon", "Netscape",	"Netscape", "Firefox", "Mozilla",	"Netscape");
	var sInfo = navigator.userAgent.toLowerCase();

	sBrowser = "";
	for (var i = 0; i < aBrowFull.length; i++)
	{
		if ((sBrowser == "") && (sInfo.indexOf(aBrowFull[i]) != -1))
		{
			sBrowser = aBrowAbrv[i];

			//posición del browser
			posBrow = sInfo.indexOf(aBrowVers[i]);
			//cadena desde posición del browser al final
			auxCadena = sInfo.substring(posBrow + aBrowVers[i].length + 1);
			//Posición del primer espacio en la subcadena
			posEspacio = auxCadena.indexOf(' ');
			if (posEspacio == -1) posEspacio = auxCadena.length;
			sVersion = auxCadena.substring(0,posEspacio).replace(';','');
			break;
		}
	}

	if (sBrowser == "")
		sCadenaNavegador = navigator.appName;
	else
		sCadenaNavegador = sBrowser + " " + sVersion;
	
	return sCadenaNavegador;
}
