
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  } 
}

/////////////////////////////////////////////
//  HTML tag de Flash
// @arch   = FileName
// @sID    = id (String) para referencia via js
// @w      = width
// @h      = height
// @params = Objeto (js) de parametros para crear el objeto html.  Ej:   xParam = {'bgcolor': '#000', 'wmode': 'transparent'}

function writeFlash(arch, sID, w, h, params)
{
	var FLASH_PLAYER_VERSION = "7,0,0,0";
	var salida = '';
	if (navigator.appName.toLowerCase().indexOf("microsoft") != -1){
		salida += '<OBJECT id="' + sID + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + FLASH_PLAYER_VERSION + '" ';
		salida += 'WIDTH="' + w + '" HEIGHT="' + h + '" >\n';
		salida += '<PARAM NAME=movie VALUE="'+ arch +'">\n';
		for ( prop in params )
			salida += '<PARAM NAME="' + prop + '" VALUE="' + params[prop] + '">\n ';
		salida += '</OBJECT>\n';
	} else {
		salida += '<EMBED name="' + sID + '" src="' + arch + '"  WIDTH="' + w + '" HEIGHT="' + h +'" ';
		salida += 'TYPE="application/x-shockwave-flash" ';
		salida += 'PLUGINSPAGE="http:/'+'/www.macromedia.com/go/getflashplayer" ';
		for ( prop in params )
			salida += prop + '="' + params[prop] + '" ';	
		salida += '></EMBED>';
	}
	document.write(salida);
}

function validarEmail(valor)
{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
	{
		alert("La dirección de email " + valor + " es correcta.") 
		return (true)
	} else {
		alert("La dirección de email es incorrecta.");
   	return (false);
	}
}

//////////////////////////////////////////////////////////
/// Validacion de formularios
function validaForm(obj, txtvalidador)
 {
	var txt = document.getElementById(txtvalidador);
	if (txt){
	txt.innerHTML = "";
	txt.className = "";
	} else {
		alert('No se definio ' + txtvalidador );
		return false
	}
	var elementos = obj.elements;
	salida = true;
	for ( i = 0; i<elementos.length; i++)
	{
		var TipoVal = aValidar(elementos[i]);
		if (TipoVal > 0) elementos[i].className = "";
		switch(TipoVal){
			case 1:
				if(!elementos[i].value){
					mandaError(elementos[i], txt, "Debe completar los campos obligatorios" )
					return false;
				}
				break;
			case 2:
				if(!validEmail(elementos[i].value)){
					mandaError(elementos[i], txt, "Debe completar un E-mail v&aacute;lido" )
					return false;
				} 
				break;
			case 3:
				if(elementos[i].value.length < 3){
					mandaError(elementos[i], txt, "El texto es muy corto" )
					return false;
				} 
				break;
			case 4:
				if(!validNumero(elementos[i].value)){
					mandaError(elementos[i], txt, "Debe completar los campos con caracterés Num&eacute;ricos" )
					return false;
				}
				break;
			default: 
				break;
		}
	}
	return true;
 }
 function mandaError(elemento, obj_txt, error_str )
 {
	elemento.className = "error";
	elemento.focus();
	obj_txt.innerHTML = error_str;
	obj_txt.className = "error";
 }
 function aValidar(obj)
 {
 	salida = 0;
 	for(var i = 0; i < obj.attributes.length; i++){
		if (obj.attributes[i].name == "req"){
			salida = parseInt(obj.attributes[i].value);
		}
	}
	return salida;
 }
 
 function validEmail(txt_mail)
 {
	var expr = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$/;
	return txt_mail.match(expr)
 }
  function validNumero(txt)
 {
 	var expr = /^\d+$/
	return txt.match(expr)
 }
 ////////////////////////////////////////////////////
