// Funcion para validar campos de texto, alphanumericos, email y numericos
function validaField(e,tipo){
    funcion = true;
    if (navigator.appName == 'Microsoft Internet Explorer')
        key = window.event.keyCode;
    else
        key = e.which;
    if(key != 0){
    	if(tipo == 'alf'){
    		if ((key < 65 || key > 122 || (key > 90 && key < 97))
			&& key != 32 && key != 8
			&& key != 225 && key != 233 && key != 237 && key != 243 && key != 250 //minisculas
			&& key != 193 && key != 201 && key != 205 && key != 211 && key != 218 //mayusuculas
			&& key != 209 && key != 241
            && (key < 48 || key > 57)
            && key != 0
            && key != 46
            && key != 44
			)
			{funcion =  false; }
    	 }
    	else if(tipo == 'log'){
    		if ((key < 65 || key > 122 || (key > 90 && key < 97))
			&& key != 225 && key != 233 && key != 237 && key != 243 && key != 250 //minisculas
			&& key != 193 && key != 201 && key != 205 && key != 211 && key != 218 //mayusuculas
			&& key != 209 && key != 241
            && (key < 48 || key > 57)
            && key != 0 && key != 8
			)
			{funcion =  false; }
    	 }
    	else if(tipo == 'txt'){
    		if ((key < 65 || key > 122 || (key > 90 && key < 97))
			&& key != 32 && key != 8
			&& key != 225 && key != 233 && key != 237 && key != 243 && key != 250 //minisculas
			&& key != 193 && key != 201 && key != 205 && key != 211 && key != 218 //mayusuculas
			&& key != 209 && key != 241
			)
			{funcion =  false; }
    	 }
    	else if(tipo == 'mail'){
    		if ((key < 65 || key > 122 || (key > 90 && key < 97))
			&& key != 32 && key != 8
			&& key != 225 && key != 233 && key != 237 && key != 243 && key != 250 //minisculas
			&& key != 193 && key != 201 && key != 205 && key != 211 && key != 218 //mayusuculas
            && (key < 48 || key > 57)
            && key != 0
            && key != 46
            && key != 95
            && key != 64
			)
			{funcion =  false; }
    	 }
    	 else if(tipo == 'mailMINUS'){
    		if ((key < 96 || key > 122)
			&& key != 8
            && (key < 48 || key > 57)
            && key != 0
            && key != 46
            && key != 95
            && key != 64
			)
			{funcion =  false; }
    	 }
    	else if (tipo == 'num'){
	    	if ((key < 48 || key > 57) && key != 0 && key != 8)
	    	{ funcion = false  }
    	}
	    else if (tipo == 'fch'){
	 		if ((key < 47 || key > 57) && key != 0 && key != 8)
	 		{funcion = false}
	    }
	    else if (tipo == 'tel'){
		    if (key ==39)
		    {	 funcion = false }
	    }
	    else if (tipo == 'calif'){
		    if ((key < 45 || key > 57 ) && key != 47 )
		    { funcion = false	}
	    }
	    else if (tipo == 'hora'){
		    if ((key < 48 || key > 57) && key != 0 && key != 8 && key!=58)
		    {	 funcion = false }
	    }
	    if(tipo == 'conoc'){
    		if ((key < 65 || key > 122 || (key > 90 && key < 97))
			&& key != 32 && key != 8
			&& key != 225 && key != 233 && key != 237 && key != 243 && key != 250 //minisculas
			&& key != 193 && key != 201 && key != 205 && key != 211 && key != 218 //mayusuculas
			&& key != 209 && key != 241
            && (key < 48 || key > 57)
            && key != 0
            && key != 46
            && key != 44
            && key != 40
            && key != 41
            && key != 37
			)
			{funcion =  false; }
    	 }
    }
    return funcion;
}
// Fin de Funcion para validar campos de texto, alphanumericos, email y numericos

// Funcion para validar una dirección de Email
function isEmail(pEmail){
    var swOK=2;
	pCaracter=pEmail.value.replace(" ","\0");
	if(validaField(pEmail,"mail") == true)
    {
	    if (pEmail.value != "")
        {
		    for (var i = 0; i < pCaracter.length; i++)
            {
			    var sByte = pCaracter.substring(i, i + 1);
				if (sByte=="@" || sByte==".") { swOK = swOK - 1; }
            }
			if (swOK > 0 || pCaracter.length < 5 || pCaracter.charAt(0) == "@" || pCaracter.charAt(0) == "." || pCaracter.charAt(pCaracter.length-1)=="@" || pCaracter.charAt(pCaracter.length-1)=="." || pCaracter.charAt(pCaracter.indexOf("@")+1)==".")
			{
			    pEmail.focus();
				alert("Por favor introduzca una dirección de correo válida");
				return false;
            }
        }
    }
    return true;
}
// Fin de Funcion para validar una dirección de Email

// Funcion para validar campos de texto
function validate(field){
  var valid = "ABCDEFGHIJKLMN?OPQRSTUVWXYZabcdefghijklmn?opqrstuvwxyz0123456789 "
  var ok = "yes";
  var temp;
  for (var i=0; i<field.value.length; i++) {
    temp = "" + field.value.substring(i, i+1);
    if (valid.indexOf(temp) == "-1") ok = "no";
  }
  if (ok == "no") {
    alert("Caracter Inválido! Solo letras (A-Z) y números (0-9) son aceptados!");
    field.focus();
    field.select();
   }
}
// Fin de Funcion para validar campos de texto

// Funcion para abrir pop-up windows
function MM_openBrWindow(theURL,winName,features) { //v2.0
	var w = window.open(theURL,winName,features);
	if (window.focus) {
		w.focus()
	}
}
// Fin de Funcion para abrir pop-up windows

// Funcion para abrir otra pop-up windows
function MM_openBrWindowB(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
// Fin de Funcion para abrir otra pop-up windows

// Funcion para abrir pop-up windos y centrarlas en la pantalla
function servicio(msgStr, winname, w, h, scroll){
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;

	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',NOresizable'
	win = window.open(msgStr, winname, winprops)

	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}
// Fin de Funcion para abrir pop-up windos y centrarlas en la pantalla

// Funcion para desplegar mensajes en la barra de estado del explorador
function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}
// Fin de Funcion para desplegar mensajes en la barra de estado del explorador

// Funcion para restaurar imagenes despues de un rollOver
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;
}
// Fin de Funcion para restaurar imagenes despues de un rollOver

// Funcion para hacer la precarga de las imagenes de los rollOver
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];}}
}
// Fin de Funcion para hacer la precarga de las imagenes de los rollOver

// Funcion para hacer el reemplazo de las imagenes al hacer el rollOver
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];}
}
// Fin de Funcion para hacer el reemplazo de las imagenes al hacer el rollOver

// Funcion para refrescar la pagina
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// Fin de Funcion para refrescar la pagina

// Funcion para hacer conteo de los caracteres escritos en un campo de texto o area de texto
function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
	else
		cntfield.value = maxlimit - field.value.length;
}
// Fin de Funcion para hacer conteo de los caracteres escritos en un campo de texto o area de texto

// Funcion para encontrar objetos javascript
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;
}
// Fin de Funcion para encontrar objetos javascript

// Funcion para crear un reloj
function funcion_reloj(){
	var ahora = new Date();
	var relojito = new Date( ahora.getTime() );
	var horas  = relojito.getHours();
	var minutos  = relojito.getMinutes();
	var segundos = relojito.getSeconds();
	
	if( horas <= 11 ){
		var meridiano = "am";
	} else {
		var meridiano = "pm";
		horas = horas - 12;
	}

	if( horas <= 9 ) horas = "0" + horas;
	if( minutos <= 9 ) minutos = "0" + minutos;
	if( segundos <= 9 ) segundos = "0" + segundos;

	document.getElementById("reloj").innerHTML = horas + ":" + minutos + "." + segundos + " " + meridiano;

	// llamado de la funcion para actualizar el reloj
	llamado_reloj = setTimeout("funcion_reloj()", 500);
}
// Fin de Funcion para crear un reloj

// Funcion para definir objetos Flash dentro por medio de JavaScript mediante SWFObject
if(typeof deconcept=="undefined"){
	var deconcept=new Object();
}
if(typeof deconcept.util=="undefined"){
	deconcept.util=new Object();
}
if(typeof deconcept.SWFObjectUtil=="undefined"){
	deconcept.SWFObjectUtil=new Object();
}

deconcept.SWFObject = function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
	if(!document.getElementById){
		return;
	}
	this.DETECT_KEY=_b?_b:"detectflash";
	this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params=new Object();
	this.variables=new Object();
	this.attributes=new Array();
	if(_1){
		this.setAttribute("swf",_1);
	}
	if(id){
		this.setAttribute("id",id);
	}
	if(w){
		this.setAttribute("width",w);
	}
	if(h){
		this.setAttribute("height",h);
	}
	if(_5){
		this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));
	}
	this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
	if(c){
		this.addParam("bgcolor",c);
	}
	var q=_8?_8:"high";
	this.addParam("quality",q);
	this.setAttribute("useExpressInstall",_7);
	this.setAttribute("doExpressInstall",false);
	var _d=(_9)?_9:window.location;
	this.setAttribute("xiRedirectUrl",_d);
	this.setAttribute("redirectUrl","");
	if(_a){
		this.setAttribute("redirectUrl",_a);
	}
};

deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;
},getSWFHTML:function(){
var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=key+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
_19+="/>";
}else{if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}
_19+="</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();
return true;
}else{
if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var _23=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{
try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{
var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);
axo.AllowScriptAccess="always";}
catch(e){
if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}
if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}
return true;
};
deconcept.util={getRequestParameter:function(_29){
var q=document.location.search||document.location.hash;
if(q){
var _2b=q.substring(1).split("&");
for(var i=0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){
var _2d=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2d.length;i++){
_2d[i].style.display="none";
for(var x in _2d[i]){if(typeof _2d[i][x]=="function"){_2d[i][x]=null;}}}};
if(typeof window.onunload=="function"){
var oldunload=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();
oldunload();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}
if(Array.prototype.push==null){
Array.prototype.push=function(_30){
this[this.length]=_30;
return this.length;};}

var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject; // for legacy support
var SWFObject=deconcept.SWFObject;
// Funcion para definir objetos Flash dentro por medio de JavaScript mediante SWFObject

// Funcion para crear TABS con DHTML
function mosDHTML(){
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")<-1
	this.ie5=(this.ver.indexOf("MSIE 5")<-1 && this.dom && !this.opera5)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")<-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")<-1
	this.ns6=(this.dom && parseInt(this.ver) <= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5);

	this.activeTab = '';
	this.onTabStyle = 'ontab';
	this.offTabStyle = 'offtab';

	this.setElemStyle = function(elem,style) {
		document.getElementById(elem).className = style;
	}
	this.showElem = function(id) {
		if (elem = document.getElementById(id)) {
			elem.style.visibility = 'visible';
			elem.style.display = 'block';
		}
	}
	this.hideElem = function(id) {
		if (elem = document.getElementById(id)) {
			elem.style.visibility = 'hidden';
			elem.style.display = 'none';
		}
	}
	this.cycleTab = function(name) {
		if (this.activeTab) {
			this.setElemStyle( this.activeTab, this.offTabStyle );
			page = this.activeTab.replace( 'tab', 'page' );
			this.hideElem(page);
		}
		this.setElemStyle( name, this.onTabStyle );
		this.activeTab = name;
		page = this.activeTab.replace( 'tab', 'page' );
		this.showElem(page);
	}
	return this;
}
var dhtml = new mosDHTML();
// Fin de Funcion para crear TABS con DHTML

