
// JavaScript Document

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_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);

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
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_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_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_displayStatusMsg(msgStr) { //v1.0
	status=msgStr;
	document.MM_returnValue = true;
}
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);

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function Form_Valida(f){
  if (!veri_fecha(f.fecha.value)) {
    f.fecha.value='2012-02-05';
    f.fecha.focus();
    return (false);
  }
  return true;
}

function Validar_Fechas(f){
  if (!veri_fecha(f.fecha_desde.value)) {
    f.fecha.value='YYYY-MM-AA';
    f.fecha_desde.focus();
    return (false);
  }
  if (!veri_fecha(f.fecha_hasta.value)) {
    f.fecha.value='YYYY-MM-AA';
    f.fecha_hasta.focus();
    return (false);
  }
  if (f.fecha_desde.value>f.fecha_hasta.value){
    f.fecha.focus();
    return (false);
  }
  return true;
}

function Validar_Fechas_Reserva(f){
	if (!veri_fecha(f.fecha_salida.value)) {
		f.fecha_salida.value='YYYY-MM-AA';
		f.fecha_salida.focus();
		return (false);
	}
	if (!veri_fecha(f.fecha_llegada.value)) {
		f.fecha_llegada.value='YYYY-MM-AA';
		f.fecha_llegada.focus();
		return (false);
	}
	return true;
}


function isNumeric(str) {
	var obj = /[^\d]/;
	if (str.search(obj) == -1)  {
		return false;
	}
	return true;
}

function valfechabis(a1,a2,a3) {
	var dayarray=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	var anio=parseInt(a1,10);
	var dia=parseInt(a3,10);
	var mes=parseInt(a2,10);
	if ((mes < 1) || (mes > 12)) {
		alert('Los meses de Anio son 12 (DOCE)');
		return false;
	}
	if (anio % 100 == 0) {
		if (anio % 400 == 0) {
			dayarray[2]=29;
		}
	} else {
		if (anio % 4 == 0) {
			dayarray[2]=29;
		}
	}
	if ((dia < 1) || (dia > dayarray[mes] )) {
		alert('No existe el Dia para el Mes y Anio Especificado. [01..'+dayarray[mes]+']');
		return false;
	}
	return true;
}

function veri_fecha(f) {
	if (f.length != 10 ) {
		alert('Verifique el formato de la Fecha Ingresada (debe ser de 10 caracteres)');
		return false;
	}
	if (f.charAt(4) != '-') {
		alert('Verifique el formato de la Fecha Ingresada (aaaa-mm-dd)');
		return false;
	}
	if (f.charAt(7) != '-') {
		alert('Verifique el formato de la Fecha Ingresada (aaaa-mm-dd)');
		return false;
	}
	var aa=f.charAt(0)+f.charAt(1)+f.charAt(2)+f.charAt(3);
	var mm=f.charAt(5)+f.charAt(6);
	var dd=f.charAt(8)+f.charAt(9);
	if (isNumeric(aa)) {
		alert('Verifique el formato de la Fecha Ingresada (Anio no numerico)');
		return false;
	}
	if (isNumeric(mm)) {
		alert('Verifique el formato de la Fecha Ingresada (Mes no numerico)');
		return false;
	}
	if (isNumeric(dd)) {
		alert('Verifique el formato de la Fecha Ingresada (Dia no numerico)');
		return false;
	}
	if (!valfechabis(aa,mm,dd)) {
		return false;
	}
	return true;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function confirmSubmit(ob){
	var agree=confirm("Esta seguro que desea borrar "+ob+"??");
	if (agree)
		return true ;
	else
		return false ;
}
function xClearOnFocus(elemId, defValue, fnValidate) {
	var elem = $(elemId);
	elem.onfocus = function () {
		var val = elem.value;
		if (val == defValue || (typeof fnValidate == "function" && !fnValidate(val)))
			elem.value = "";
	}
	elem.onblur = function () {
		var val = elem.value;
		if (val.length == 0 || val == defValue || (typeof fnValidate == "function" && !fnValidate(val)))
			elem.value = defValue;
	}
	var val = elem.value;
	if (val == defValue || (typeof fnValidate == "function" && !fnValidate(val)))
		elem.value = defValue;
}
function veri_fecha2(f) {
// Callback Sin mensajes
	if (f.length != 10 ) {
		return false;
	}
	if (f.charAt(4) != '-') {
		return false;
	}
	if (f.charAt(7) != '-') {
		return false;
	}
	var aa=f.charAt(0)+f.charAt(1)+f.charAt(2)+f.charAt(3);
	var mm=f.charAt(5)+f.charAt(6);
	var dd=f.charAt(8)+f.charAt(9);
	if (isNumeric(aa)) {
		return false;
	}
	if (isNumeric(mm)) {
		return false;
	}
	if (isNumeric(dd)) {
		return false;
	}
	if (!valfechabis(aa,mm,dd)) {
		return false;
	}
	return true;
}



// JavaScript Document
function disableForms() {
	var forms = document.getElementsByTagName('form');
	for (var k = 0; k < forms.length; k++) {
		try {
			Form.disable(forms[k]);
		} catch(e) {;}
	}
}
function enableForms() {
	var forms = document.getElementsByTagName('form');
	for (var k = 0; k < forms.length; k++) {
		try {
			Form.enable(forms[k]);
		} catch(e) {;}
	}
}
var mostrandoImagen = false;
var enMostrarImagen = false;
var enOcultarImagen= false;
function mostrarImagen(toHide, imgUrl, w, h) {
	if (mostrandoImagen || enMostrarImagen) return false;
	enMostrarImagen = true;
	var oBox = $('mostrarImagenBox');
	var oImg = $('mostrarImagenImg');
	var oHide = $(toHide);
	// Set image parameters
	oImg.src = imgUrl;
	oImg.width = w;
	oImg.height = h;
	document.body.appendChild(oBox);
	var bodyDims = Element.getDimensions(document.body);
	var toHideDims = Element.getDimensions(toHide);
	var boxDims = Element.getDimensions(oBox);
	oBox.style.left = parseInt(bodyDims.width/2-boxDims.width/2+100)+"px";
	oBox.style.top = parseInt(toHideDims.height-boxDims.height-150)+"px";
	var fAfterFinish = function () {
		mostrandoImagen = true;
	}
	disableForms();
	new Effect.Fade(oHide, {duration: 1.0, from: 1.0, to: 0.5});
	new Effect.Appear(oBox, {duration: 1.0, afterFinish: fAfterFinish});
	enMostrarImagen = false;
	return false;
}
function ocultarImagen(toShow) {
	if (!mostrandoImagen || enOcultarImagen) return false;
	enOcultarImagen = true;
	var oBox = $('mostrarImagenBox');
	var oImg = $('mostrarImagenImg');
	var oShow = $(toShow);
	var fAfterFinish = function () {
		mostrandoImagen = false;
		enableForms();
		oBox.style.display = 'none';
	}
	new Effect.Fade(oBox, {duration: 0.5});
	new Effect.Appear(oShow, {duration: 1.0, from: 0.5, to: 1.0, afterFinish: fAfterFinish});	
	enOcultarImagen = false;
	return false;
}
