﻿// JScript File
function runSWF(archivo, ancho, alto, version, bgcolor, id, menu, FlashVars, quality, allowScriptAccess) { 
    if(version!=""){
        var version_data=version;
     }else{
        var version_data="6,0,0,0";
    }
    if(menu!=""){
        menu_data=menu;
    }else{
        menu_data=false;
    }
    if(bgcolor!=""){
        var bgcolor_data=bgcolor_data;
    }else{
        var bgcolor_data="#FFFFFF";
    }
    if(id!=""){
        id_data=id;
    }else{
        id_data="flashMovie";
    }
    if(quality!=""){
        quality_data=quality;
    }else{
        quality_data="high";
    }
    if(allowScriptAccess!=""){
        allowScriptAccess_data=allowScriptAccess;
    }else{
        allowScriptAccess_data="always";
    }
    var quality="high"; // calidad de visualización de la peli
    document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version= '+version_data+'" width='+ancho+' height='+alto+' id='+id_data+'>\n');
    document.write('<param name="movie" value='+archivo+'>\n');
    document.write('<param name= "allowScriptAccess" value= '+allowScriptAccess_data+'>\n');
    document.write('<param name="quality" value='+quality_data+'>\n');
    document.write('<param name="FlashVars" value='+FlashVars+'>\n');
    document.write('<param name="wmode" value="transparent">\n');	
    document.write('<param name="bgcolor" value='+bgcolor_data+'>\n');
    document.write('<param name="menu" value='+menu_data+' >\n');
    document.write('<embed src='+archivo+' bgcolor='+bgcolor_data+' wmode=transparent FlashVars='+FlashVars+' menu='+menu_data+' allowScriptAccess='+allowScriptAccess_data+' quality='+quality_data+' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width='+ancho+' height='+alto+' swLiveConnect=true name='+id_data+'></embed>');
    document.write('</object>\n');
} 

/*Abre Ventana*/
function abrir_ventana(theURL,w,h) {
	var v_top = (window.screen.height-600)/2;
	var v_left = (window.screen.width-800)/2;
	var windowprops ="top="+v_top+",left="+v_left+",toolbar=no,location=no,status=no, menubar=no,scrollbars=no, resizable=no,width=" + w + ",height=" + h; 
	window.open(theURL,"titulo",windowprops);
}

/*Verifica email*/
function emailCheck (emailStr) {
/* Se establece un patrón para separar el usuario y el dominio */
var emailPat=/^(.+)@(.+)$/
/* La siguiente cadena representa el patrón para todos los caracteres especiales no permitidos*/
var specialChars="\\(\\)<>@,ñÑ·/*+$#!¡¿´%?|{}'ç¨^áéíóúº&\ª=üÿÁÉÍÓÚÜ;:~\\\\\\\"\\.\\[\\]"
/* La siguiente cadena representa el patrón para los carácteres válidos*/
var validChars="\[^\\s" + specialChars + "\]"
/* El siguiente patrón permite direcciones entrecomilladas para cuando se usan espacios */
var quotedUser="(\"[^\"]*\")"
/* El siguiente patrón permite formatos de dominio por dirección IP */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* La cadena atom representa un grupo de caracteres válidos*/
var atom=validChars + '+'
/* La cadena representa un carácter de cadena no entrecomillado */
var word="(" + atom + "|" + quotedUser + ")"
/* El siguiente patrón describe la estructura del usuario */
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* El siguiente patrón describe la estructura del dominio */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

/* Ahora se procede a revisar la cadena suministrada */

/* La cadena se parte en dos para analizar el usuario y el dominio */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Se activa sí es que hay más @ de lo normal o simplemente no existen */
	alert("La dirección e-mail parece incorrecta (verifique su @)")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// Se procede a validar el usuario 
if (user.match(userPat)==null) {
    // Si el usuario no es válido
    alert("El nombre de la dirección no es válido.")
    return false
}

/* Si el dominio es de tipo IP se procede a validar. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // Entonces es dirección IP
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("La dirección IP del dominio no es válida.")
		return false
	    }
    }
    return true
}

// Si el dominio es por nombre
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("El nombre del dominio no es válido.")
    return false
}

/* Si el nombre del dominio es válido, se procede a revisar como finaliza con 3 letras (gob, com, etc.) o con 2 letras (uk, mx, etc.). */

/* Se procede a partir el nombre del dominio */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   // La dirección debe terminar en 2 o 3 letras
   alert("La dirección del dominio debe terminar en 3 letras (gob, edu, com) o en 2 letras para el país (mx, uk, co).")
   return false
}

// Se re.
if (len<2) {
   var errStr="La dirección del dominio no tiene declarado un nombre de servidor"
   alert(errStr)
   return false
}

// si no existe ningún error, es válida
return true;
}

/*Función validadora principal */
	function valida_forma(){
		var valido = true;
		var valido_mail =true;
	//Nombre

	if (window.document.forms("contacto").empresa.value.length==0) { 
		alert ("Por favor escriba el nombre de la empresa.");
		valido = false;
		}

		//Telefono
	if (window.document.forms("contacto").nombre.value.length==0) { 
		alert ("Por favor escriba el nombre del responsable.");
		valido = false;
		}

	
	//E-mail	
	if (window.document.forms("contacto").email.value.length==0) {
		alert("Por favor escriba su e-mail.");
		valido=false;
		}
	else {
		valido_mail = emailCheck(window.document.forms("contacto").email.value);
		}

		
		if(valido && valido_mail){
			window.document.contacto.submit();
		}
	
				
	}

