//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
	function loadSendToFriendForm(){
			$.get(dir_inc + "_ajax.php",{opc:"loadSendToFriendForm"}, function(data){
			  MySimpleLightBox.loadHTML(data);
			});
			
		}
		
	function sendToFriend(){
			var from_name=document.getElementById("fromName").value;
			var from_email=document.getElementById("fromEmail").value;
			var to_email=document.getElementById("toEmail").value;
			var comm=document.getElementById("commentary").value;
			document.getElementById("sendingMsg").style.display="block";
			$.get(dir_inc + '_ajax.php',{opc:"sendToFriend",fromName:from_name,fromEmail:from_email,toEmail:to_email,commentary:comm,url:document.location.href},function(data){
				if(data == "1"){
					MySimpleLightBox.close();
				}
				else{
					document.getElementById("sendingMsg").style.display="none";
					alert("El mensaje no pudo ser enviado.");
				}
			});			
		}
		
	function loadHabitacionesFecha(id_crucero,fecha){
			$.get(dir_inc + '_ajax.php',{opc:"load_habitaciones_fecha",id_crucero: id_crucero,fecha: fecha},function(data){
				$('#div_tipo_habitacion').html(data);
			});		
	}
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//	<!-- Begin
	function emailCheck (emailStr) {
	/* The following pattern is used to check if the entered e-mail address
	   fits the user@domain format.  It also is used to separate the username
	   from the domain. */
	var emailPat=/^(.+)@(.+)$/
	/* The following string represents the pattern for matching all special
	   characters.  We don't want to allow special characters in the address. 
	   These characters include ( ) < > @ , ; : \ " . [ ]    */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	/* The following string represents the range of characters allowed in a 
	   username or domainname.  It really states which chars aren't allowed. */
	var validChars="\[^\\s" + specialChars + "\]"
	/* The following pattern applies if the "user" is a quoted string (in
	   which case, there are no rules about which characters are allowed
	   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
	   is a legal e-mail address. */
	var quotedUser="(\"[^\"]*\")"
	/* The following pattern applies for domains that are IP addresses,
	   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
	   e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	/* The following string represents an atom (basically a series of
	   non-special characters.) */
	var atom=validChars + '+'
	/* The following string represents one word in the typical username.
	   For example, in john.doe@somewhere.com, john and doe are words.
	   Basically, a word is either an atom or quoted string. */
	var word="(" + atom + "|" + quotedUser + ")"
	// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	/* The following pattern describes the structure of a normal symbolic
	   domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
	
	/* Finally, let's start trying to figure out if the supplied address is
	   valid. */
	
	/* Begin with the coarse pattern to simply break up user@domain into
	   different pieces that are easy to analyze. */
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
	  /* Too many/few @'s or something; basically, this address doesn't
		 even fit the general mould of a valid e-mail address. */
		//alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	// See if "user" is valid 
	if (user.match(userPat)==null) {
		// user is not valid
		//alert("The username doesn't seem to be valid.")
		return false
	}
	
	/* if the e-mail address is at an IP address (as opposed to a symbolic
	   host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Destination IP address is invalid!")
			return false
			}
		}
		return true
	}
	
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("The domain name doesn't seem to be valid.")
		return false
	}
	
	/* domain name seems valid, but now make sure that it ends in a
	   three-letter word (like com, edu, gov) or a two-letter word,
	   representing country (uk, nl), and that there's a hostname preceding 
	   the domain or country. */
	
	/* Now we need to break up the domain to get a count of how many atoms
	   it consists of. */
	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) {
	   // the address must end in a two letter or three letter word.
	   //alert("The address must end in a three-letter domain, or two letter country.")
	   return false
	}
	
	// Make sure there's a host name preceding the domain.
	if (len<2) {
	   var errStr="This address is missing a hostname!"
	   //alert(errStr)
	   return false
	}
	
	// If we've gotten this far, everything's valid!
	return true;
	}
	//  End -->
	
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
	
	function checkFormFields(frm,arr,idioma,iframe){ //(formulario, array de campos a validar)
			
			var aux="";
			if(iframe){
				var document=iframe;
			}
			for(var i=0;i<document.getElementById(frm).elements.length;i++){
       			
				if(document.getElementById(frm).elements[i].type == "hidden"  ||document.getElementById(frm).elements[i].type == "password" || document.getElementById(frm).elements[i].type == "text" || document.getElementById(frm).elements[i].type == "select"  || document.getElementById(frm).elements[i].type == "textarea" || document.getElementById(frm).elements[i].type == "select-one" || document.getElementById(frm).elements[i].type == "select multiple" || document.getElementById(frm).elements[i].type == "select-multiple"){
					if(in_array(arr,document.getElementById(frm).elements[i].id)){ 
						
						if(document.getElementById(frm).elements[i].value==""){
							aux=aux+"\n"+document.getElementById(frm).elements[i].title;
							
						}
						else{
							if(document.getElementById(frm).elements[i].id.toLowerCase().indexOf('email')!=-1){
								if(!emailCheck(document.getElementById(frm).elements[i].value)){
									aux=aux+"\n"+document.getElementById(frm).elements[i].title;
								}
							}	
						}
					}
					
				}	
		   }
		  
		   if(aux!=""){
				if(idioma=='es'){
					aux="Debe completar los siguientes campos:" + aux;
				}
				if(idioma=='en'){
					aux="You must complete these fields:" + aux;
				}
			   	alert(aux);
				return false;
		   }
		   else{
				return true;
		   }	
	}	
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------

	function in_array(mat,field){
			var i;
			for(i=0;i<mat.length;i++){
				if(mat[i].toLowerCase()==field.toLowerCase()){
					return true;
				}	
			}
			return false;	
	}	
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
	function ark_enviar_comentario(id_crucero,id_buque){
		var nombre = document.getElementById("comentario_nombre").value;
		var comentario = document.getElementById("comentario_texto").value;
		var msg="";
		if(nombre=="" || comentario==""){
			msg="Debe completar los siguientes campos:";
			msg+=nombre==""?"\nNombre":"";
			msg+=comentario==""?"\nMensaje":"";
			alert(msg);
			return;
		} 
		ark_do( dir_inc + '_ark.php?accion=agregar_comentario&nombre=' + nombre +"&comentario="+comentario+"&id_crucero="+id_crucero+"&id_buque="+id_buque);
	}
			
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
	function ark_enviar_comentario_buque(id_buque){
		var nombre = document.getElementById("comentario_nombre").value;
		var comentario = document.getElementById("comentario_texto").value;
		var msg="";
		if(nombre=="" || comentario==""){
			msg="Debe completar los siguientes campos:";
			msg+=nombre==""?"\nNombre":"";
			msg+=comentario==""?"\nMensaje":"";
			alert(msg);
			return;
		} 
		ark_do( dir_inc + '_ark.php?accion=agregar_comentario_buque&nombre=' + nombre +"&comentario="+comentario+"&id_buque="+id_buque);
	}
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------

    function ark_validarDatos( form ) {

      var error = false;
      var j     = -1;
      var chain = '';

      for ( var i = 0; i < form.elements.length; i++ ) {
        if ( form.elements[i].title != '' && ( form.elements[i].value == '' || ( form.elements[i].type == 'checkbox' && form.elements[i].checked == false ) ) ) {
          if ( j < 0 ) {
            j   = i;
          }
          chain = chain + '- ' + form.elements[i].title + '\n';
          error = true;
        }
      }

      if ( error ) {
        alert( txt_error_campos_vacios + ':\n' + chain );
        form.elements[j].focus();
        return false;
      }
      else {
        return true;
      }
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_busquedaAvanzada( ) {
      var panel                   = document.getElementById('busquedaAvanzada');
      var avanzada                = document.getElementById('avanzada');
      if ( panel ) {
        if ( panel.style.display == 'none' ) {
          estado                  = 'on';
          panel.style.display     = 'block';
          avanzada.value          = '1';
        }
        else {
          estado                  = 'off';
          panel.style.display     = 'none';
          avanzada.value          = '0';
        }
        var btn                   = document.getElementById('btnBusquedaAvanzada');
        btn.src                   = dir_img_lng + 'boton-busqueda_avanzada-' + estado + '.gif';
        btn.blur();
        ark_do( dir_inc + '_ark.php?accion=busquedaAvanzada&valor=' + estado );
      }
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_chequearBusqueda( campo ) {
      ark_do( dir_inc + '_ark.php?accion=chequearBusqueda&nombre=' + campo.name + '&valor=' + campo.value );
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_cambiarFoto( tipo, id, indice ) {
      ark_do( dir_inc + '_ark.php?accion=cambiarFoto&tipo=' + tipo + '&id=' + id + '&indice=' + indice );
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_cambiarHabitacion( id_buque, id_tipo_habitacion ) {
      ark_do( dir_inc + '_ark.php?accion=cambiarHabitacion&id_buque=' + id_buque + '&id_tipo_habitacion=' + id_tipo_habitacion );
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_cambiarGaleria( id ) {
      ark_do( dir_inc + '_ark.php?accion=cambiarGaleria&id=' + id );
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_cambiarCodigoInternacional( index ) {
      if ( document.getElementById('telefono01') && codigos ) {
        document.getElementById('telefono01').value  = codigos[index];
      }
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_chequearPresupuesto( form ) {
      if ( ark_validarDatos( form ) ) {
        if ( !document.getElementById('email').value.match(/\b(^(\S+@).+((\.es)|(\.com)|(\.net)|(\.info)|(\.tv)|(\.biz)|(\.edu)|(\.sk)|(\.tk)|(\.cl)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi) ) {
          alert( txt_error_email_invalido );
          return false;
        }
        else {
          return true;
        }
      }
      else {
        return false;
      }
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_panel( id_crucero, id_buque, seccion, id_ciudad ) {
      if ( seccion == 'ciu' ) {
        var pnl           = document.getElementById('itn');
        if ( pnl ) {
          ark_do( dir_inc + '_ark.php?accion=panel&nombre=' + seccion + '&id_ciudad=' + id_ciudad );
        }
      }
      else {
        var paneles       = new Array();
        paneles[0]        = 'itn';
        paneles[1]        = 'det';
        paneles[2]        = 'pub';
        paneles[3]        = 'hab';
        paneles[4]        = 'pln';
        paneles[5]        = 'com';
        paneles[6]        = 'com-buq';
        for ( var i = 0; i < paneles.length; i++ ) {
          var pnl         = document.getElementById( paneles[i] );
          if ( pnl ) {
            if ( paneles[i] == seccion )
              pnl.src     = dir_img_lng + 'boton_panel-' + paneles[i] + '-on.gif';
            else
              pnl.src     = dir_img_lng + 'boton_panel-' + paneles[i] + '-off.gif';
            pnl.blur();
          }
        }
        ark_do( dir_inc + '_ark.php?accion=panel&nombre=' + seccion + '&id_crucero=' + id_crucero + '&id_buque=' + id_buque );
      }
    }


//  ----------------------------------------------------------- ::: - ::: - ::: ------------
//  ----------------------------------------------------------- ::: - ::: - ::: ------------
    function ark_marcarFecha( fecha, id_crucero, nombre ) {
      if ( id_crucero ) {
        document.location.href                        = dir_inc.replace('inc/','') + 'crucero/' + id_crucero + '/' + nombre + '/' + fecha + '#presupuesto';
      }
      else if ( document.getElementById('fecha_salida') ) {
        document.getElementById('fecha_salida').value = fecha;
        document.location.href                        = '#presupuesto';
      }
    }


//  --------------------------------------------------------------------------- ::: - ::: - ::: -------
//  --------------------------------------------------------------------------- ::: - ::: - ::: -------
/*
    SWFObject v1.4.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
    SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
    http://www.opensource.org/licenses/mit-license.php
    SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for legal reasons.
*/
    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(){if(window.opera||!document.all){return;}
    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]=function(){};}}}};
    deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};
    __flash_savedUnloadHandler=function(){};
    if(typeof window.onunload=="function"){
    var _30=window.onunload;
    window.onunload=function(){
    deconcept.SWFObjectUtil.cleanupSWFs();_30();};
    }else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};
    if(typeof window.onbeforeunload=="function"){
    var oldBeforeUnload=window.onbeforeunload;
    window.onbeforeunload=function(){
    deconcept.SWFObjectUtil.prepUnload();
    oldBeforeUnload();};
    }else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}
    if(Array.prototype.push==null){
    Array.prototype.push=function(_31){
    this[this.length]=_31;
    return this.length;};}
    var getQueryParamValue=deconcept.util.getRequestParameter;
    var FlashObject=deconcept.SWFObject;
    var SWFObject=deconcept.SWFObject;

