// ***************************************************************************
//	Funciones Generales
//	Sitio: SAWeb
//	Fecha: 25/12/2004
// ****************************************************************************
//
//
//

// ******  CONSTANTES  *****/
var gSITIO = "Qviajes.com"  // Nombre del sitio para usar en dstintas ventanas, etc.
/*************************/

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_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_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];}
}

//PorUp de Fotos
 function elpop(txt, titulo)
 {
 	var NewWin = window.open('', 'popfoto', 'resizable=yes');
	NewWin.moveTo(0,0);
	NewWin.document.write("<html><title>" + gSITIO + "</title><link href='../style.css' rel='stylesheet' type='text/css'>" );
	NewWin.document.write("<body><p align=center>" + titulo + "</p>");
	NewWin.document.write("<p align=center>" + txt + "</p>");
	NewWin.document.write("<p align=center><a href='JavaScript:self.close();'>Cerrar</a></body></html>");
	NewWin.document.close();
	NewWin.focus();
	
}

///////PopUp de la Galería de imágenes //////////
 function pop_foto(url)
 {
  	var NewWin = window.open( url, 'galeria', 'resizable=yes');
	NewWin.moveTo(0,0);
	NewWin.resizeTo(screen.availWidth, screen.availHeight);
	NewWin.focus();
 }

/////////////////////////////////////////////
// Detector de Win XP SP2
// salida: true si tiene instalado el SP2
function checkSP2()
{
	return (navigator.appMinorVersion && navigator.appMinorVersion.toUpperCase().indexOf('SV1') != -1);
}

/////////////////////////////////////////////
//  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 = "9,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);
}


//////////////////////////////////////////////////////////
/// 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++)
	{
		elementos[i].className = "";
		switch(aValidar(elementos[i])){
			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.onblur = limpiaError;
	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)
 }
 function limpiaError()
 {
	this.className = ""; 
 }
 ////////////////////////////////////////////////////
 function selBotonera(){
	 var bot = document.getElementById("botonera");
	 var anchors = bot.getElementsByTagName("A");
	 for ( i=0; i < anchors.length; i++) {
	 	if(anchors[i].href == window.location.href)
			anchors[i].className = "sel";
	 }
 }

///////////// Formulario Buscador ///////////////////
function seteaCombos(nombreForm)
{
	var q_str = new String(window.location.search);
	q_str = q_str.substr(1);
	var queryVars = parseQuery (q_str);

	var form = document.forms[nombreForm];
	for ( elm in queryVars){
		if (queryVars[elm] != "" && eval(form[elm]))
				setVal(form[elm], queryVars[elm]);
	}
}

function parseQuery(q_str)
{
   var pairHalves;  var queryVars = {};
   var N_V_pairs = q_str.split("&");
   var l = N_V_pairs.length;
   for(i=0; i<l; i++){
       pairHalves = N_V_pairs[i].split("=");
       queryVars[pairHalves[0]] = pairHalves[1];
   }
   return queryVars;
}

function setVal(obj, valor)
{
	switch (obj.type){
		case "text":
		//case "hidden":
			obj.value = unescape(valor);
			break;
		case "select-one":
			for (i = 0; i<obj.options.length; i++){
				if(obj.options[i].value == valor)
					obj.options[i].selected = true;
			}
			break;
	}
}

