/*///////////////////////////////////////////////////////////////////////////////
/	Sistema de busqueda y reserva de vuelos, hoteles y autos (TeamSearch) v 1.0
/		
/	Autor 		: David Blandón ®
/	FileName 	: AjaxNET.js
/	Proposito	: Declarar todas las variables, constantes, funciones ect...
				  que seran invocadas por medio de ajax
/	Historial	: 				  
				=> Martes, 02 de Enero de 2007
					=>Primera Implementacion
					=>Definicion de constantes(la constantes se declaran en mayuscula y con underline) 
											   
					
/	Copyright	VisionTravel	© 
			  www.agenciadeviajesvirtuales.com				
*////////////////////////////////////////////////////////////////////////////////
YAHOO.namespace("ajax");
YAHOO.namespace("ajax.mailer");
YAHOO.namespace("ajax.date");
YAHOO.namespace("ajax.iata");
YAHOO.namespace("ajax.hotel");
YAHOO.namespace("ajax.flight");
YAHOO.namespace("ajax.global");
YAHOO.namespace("ajax.cliente");
YAHOO.namespace("ajax.airline");
YAHOO.namespace("page");


function FillDataSetAirPortCode()
{
    try
    {
        var dsIATA = Ajax.IATA.FillDataSetAirPortCode();
        
        return dsIATA;
    }catch (Exp)
    {
        return null;
    }
}


/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: getAirPortCode()
/	Proposito 		: Obtener y listar las ciudaddes y aeropuertos de la base de datos
/	Parametros		: keyEvent   : El evento que disparo el objeto
                      txtControl : El objeto que llamo la funcion
/	Return			: None
*////////////////////////////////////////////////////////////////
function getAirPortCode(keyEvent, txtControl)
{
    if (keyEvent != null)
    {
        txtControl  = keyEvent.target ? keyEvent.target : keyEvent.srcElement;
    }
    
    YAHOO.container.browser = new BROWSER();
    YAHOO.container.target  = document.getElementById(txtControl.id);
	
    if (YAHOO.container.target.value.length >= 4) {
        
        //var dsAirPortCode       = Ajax.IATA.getIATA(YAHOO.container.target.value);
        var dsAirPortCode       = Ajax.IATA.FillAirPort(YAHOO.container.target.value)
        YAHOO.container.error   = dsAirPortCode.error;
        dsAirPortCode           = dsAirPortCode.value;
        
        

        
        if (dsAirPortCode != null)
        //if (dsAirPortCode != null && typeof(dsAirPortCode) == "object" && dsAirPortCode.Tables != null)
        {
            var mnuItems = '';
////            var mnuContainer = '<div class="MenuContainer">'
//////			mnuContainer += '<table border="0" cellpadding="0" cellspacing="0">'
//////            for (i = 0; i < dsAirPortCode.Tables[0].Rows.length; i++)
//////            {
//////                var cIATA = dsAirPortCode.Tables[0].Rows[i];
//////                mnuItems += '<tr><td><div id ="' + cIATA.Code + '_Iata" class="MenuItem">' + " " + cIATA.Airport + " " + cIATA.City + " " + cIATA.Country + '</div></td><td width="30"><div class = "MenuItemLeft">' +  cIATA.Code + '</div></td></tr>';
//////            }
//////            if (mnuItems == "")
//////            {
//////                YAHOO.container.panelMenu.hide();
//////            }
//////            mnuContainer += mnuItems; 
//////            mnuContainer += '</table></div>'
            
//////            mnuContainer += dsAirPortCode + '</div>';
            
            var pos     = YAHOO.util.Dom.getXY(YAHOO.container.target);
            var region  = YAHOO.util.Dom.getRegion(YAHOO.container.target);
            
            var height  = region.bottom - region.top;
            var x       = pos[0];
            var y       = pos[1] + height;
        	
            YAHOO.container.panelMenu.setBody(dsAirPortCode);
            YAHOO.container.panelMenu.cfg.setProperty("xy", [x,y]);
            if (YAHOO.container.browser.isIE)
                YAHOO.container.panelMenu.cfg.setProperty("underlay", "none");
            YAHOO.container.panelMenu.show();
        } 
        else 
        {
            //alert("Ocurrio un error inesperado en la base de datos");            
            if (YAHOO.container.error != null)
            {
                alert(YAHOO.container.error.message + " " + YAHOO.container.error.type);
            }
        }

    }     

}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: releaseContextualMenu()
/	Proposito 		: Ocultar la lista de aeropuertos y ciudaddes
/	Parametros		: None
/	Return			: None
*/////////////////////////////////////////////////////////////////
function releaseContextualMenu()
{        
    YAHOO.container.panelMenu.hide();
}

YAHOO.releaseMenu = function()
{
    YAHOO.container.panelMenu.hide();
}

var AirPortCount = 0;

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: CityExist()
/	Proposito 		: Comprobar la existencia de una ciudad
/	Parametros		: txtCity : Nombre de la ciudad
/	Return			: None
*/////////////////////////////////////////////////////////////////
function CityExist(txtCity)
{
    var ds = Ajax.IATA.CityExist(txtCity.value);
    ds = ds.value;
    
    AirPortCount = 0;
    
    if(ds != null && typeof(ds) == "object" && ds.Tables != null)
    {
        if (ds.Tables[0].Rows.length > 1)
        {
            getAirPortCode(null, txtCity);
            AirPortCount = ds.Tables[0].Rows.length;
            return true;
        }
        else if (ds.Tables[0].Rows.length < 1)
        {
            return false;
        }       
    }
    else
    {
        return false;
    }
    
    return true;
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: CityExist()
/	Proposito 		: Comprobar la existencia de una ciudad
/	Parametros		: txtCity : Nombre de la ciudad
/	Return			: None
*/////////////////////////////////////////////////////////////////
function AirPortExist(txtCity)
{
    var bool = Ajax.IATA.AirPortExist(txtCity.value);
            
    if (bool.value == false)
    {
        return false;
    }    
    return true;
}


/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: ValidDateTime()
/	Proposito 		: Comprobar la fecha es valida en el servidor
/	Parametros		: txtFecha : El objeto que contiene la fecha
/	Return			: None
*/////////////////////////////////////////////////////////////////
function ValidDateTime(txtFecha)
{
    try
    {
        var DateTime = TeamSearch.Interface.clsGlobal.ValidDateTime(txtFecha.value);
        
        DateTime = DateTime.value;
        
        if (DateTime == null)
        {
            txtFecha.value = DATE_FORMAT_STRING;
            return false;
        }
        
        txtFecha.value = DateTime;
        return true;
    }
    catch (e)
    {
        return false;
    }
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: ExisteEmail()
/	Proposito 		: Comprobar si el email ya existe en la base de datos
/	Parametros		: txtEmail : El objeto que contiene el email
/	Return			: None
*/////////////////////////////////////////////////////////////////
function ExisteEmail(txtEmail)
{
    var bool = TeamSearch.Interface.clsCliente.Existe("001", txtEmail.value);
    
    bool = bool.value;
    
    if (bool == true)
    {        
        return true;
    }
    
    return false;
}

function ExisteCliente(Email, Password)
{
    var bool = TeamSearch.Interface.clsCliente.ExisteCliente(Email, Password);
    
    return bool.value;
}



/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: DrawRoomRateDescription()
/	Proposito 		: Comprobar si el email ya existe en la base de datos
/	Parametros		: Start                 : La fecha de check In
                      End                   : La fecha de check Out
                      PropertyLineNumber    : El index de la propiedad en el Array
                      RoomRateLineNumber    : El index del rate en el Array
                      RoomNumber            : El numero de cuartos
/	Return			: tblRoomRateDescription => El objeto con la estrucutura para mostrar
*/////////////////////////////////////////////////////////////////
function DrawRoomRateDescriptionByPage(Start, End, PropertyLineNumber, RoomRateLineNumber, RoomNumber, PageNumber)
{
    var tblRoomRateDescription = TeamSearch.Interface.HotelGUI.DrawRoomRateDescriptionByPage(Start, End, PropertyLineNumber, RoomRateLineNumber, RoomNumber, PageNumber);
    
    return tblRoomRateDescription;
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: DrawRoomRateDescription()
/	Proposito 		: Comprobar si el email ya existe en la base de datos
/	Parametros		: Start                 : La fecha de check In
                      End                   : La fecha de check Out
                      PropertyLineNumber    : El index de la propiedad en el Array
                      RoomRateLineNumber    : El index del rate en el Array
                      RoomNumber            : El numero de cuartos
/	Return			: tblRoomRateDescription => El objeto con la estrucutura para mostrar
*/////////////////////////////////////////////////////////////////
function DrawRoomRateDescription(Start, End, PropertyLineNumber, RoomRateLineNumber, RoomNumber)
{
    var tblRoomRateDescription = TeamSearch.Interface.HotelGUI.DrawRoomRateDescription(Start, End, PropertyLineNumber, RoomRateLineNumber, RoomNumber);
    
    return tblRoomRateDescription;
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 12 de Abril de 2007
/	Funcion name 	: DrawPhotoModule()
/	Proposito 		: Obtener el modulo de las fotos segun el numero de la propiedad
/	Parametros		: Start                 : La fecha de check In
                      End                   : La fecha de check Out
                      PropertyLineNumber    : El index de la propiedad en el Array
                      RoomRateLineNumber    : El index del rate en el Array
                      RoomNumber            : El numero de cuartos
/	Return			: tblRoomRateDescription => El objeto con la estrucutura para mostrar
*/////////////////////////////////////////////////////////////////
function DrawPhotoModule(PropertyLineNumber)
{
    var tblPhotoModule = TeamSearch.Interface.HotelGUI.DrawPhotoModule(PropertyLineNumber);
    
    return tblPhotoModule;
}


/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 12 de Abril de 2007
/	Funcion name 	: DrawPhotoModule()
/	Proposito 		: Obtener el modulo de las fotos segun el numero de la propiedad
/	Parametros		: Start                 : La fecha de check In
                      End                   : La fecha de check Out
                      PropertyLineNumber    : El index de la propiedad en el Array
                      RoomRateLineNumber    : El index del rate en el Array
                      RoomNumber            : El numero de cuartos
/	Return			: tblRoomRateDescription => El objeto con la estrucutura para mostrar
*/////////////////////////////////////////////////////////////////
function DrawPhotoModuleByPage(PropertyLineNumber, PageNumber)
{
    var tblPhotoModule = TeamSearch.Interface.HotelGUI.DrawPhotoModuleByPage(PropertyLineNumber, PageNumber);
    
    return tblPhotoModule;
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 12 de Abril de 2007
/	Funcion name 	: DrawPhotoModule()
/	Proposito 		: Obtener el modulo de las fotos segun el numero de la propiedad
/	Parametros		: Start                 : La fecha de check In
                      End                   : La fecha de check Out
                      PropertyLineNumber    : El index de la propiedad en el Array
                      RoomRateLineNumber    : El index del rate en el Array
                      RoomNumber            : El numero de cuartos
/	Return			: tblRoomRateDescription => El objeto con la estrucutura para mostrar
*/////////////////////////////////////////////////////////////////
function DrawRoomRateModule(PropertyLineNumber)
{
    var tblRoomRateModule = TeamSearch.Interface.HotelGUI.DrawRoomRateModule(PropertyLineNumber);
    
    return tblRoomRateModule;
}

function GuardarFees(CodPais, 
                    Tipo, 
                    Trayecto, 
                    BaseMin, 
                    BaseMax, 
                    Valor,
                    Proveedor,
                    Moneda)
{
    var resp = TeamSearch.Interface.clsFees.Guardar(CodPais,                    
                                                    Tipo, 
                                                    Trayecto, 
                                                    BaseMin, 
                                                    BaseMax, 
                                                    Valor,
                                                    Proveedor,
                                                    Moneda);
    
    resp = resp.value;
    
    return resp;
    
}

YAHOO.ajax.mailer.sendMail = function()
{
    try
    {        
        var response = TeamLogError.LogError.SendMail(this.Subjet, this.BodyMessage);
        
        response = response.value;
        
        return response;
    }
    catch (Exp)
    {
        return false;
    }
}

YAHOO.ajax.date.getDate = function(days)
{
    try
    {
        var response = TeamSearch.Interface.clsGlobal.GetDate(days);
        
        return response.value;
    }
    catch(Exp)
    {
        return false;
    }
}

YAHOO.ajax.date.isValidDateTime = function(txtDateTime)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.clsGlobal.IsValidDateTime(txtDateTime.value.trim());
        
        if (YAHOO.response.value != null)
        {
            txtDateTime.value   = YAHOO.response.value;
            return true;
        }
        else if (YAHOO.response.error != null)
        {
            txtDateTime.value = DATE_FORMAT_STRING;
            txtDateTime.focus();
            return false;
        }
        else
        {
            txtDateTime.value = DATE_FORMAT_STRING;
            txtDateTime.focus();
            return false;
        }        
    }
    catch(Exp)    
    {
        txtDateTime.value = DATE_FORMAT_STRING;
        txtDateTime.focus();
        return false;
    }
}

YAHOO.ajax.iata.getCityNames = function(keyEvent, txtCity)
{
    try
    {
        if (keyEvent != null)
        {
            txtCity  = keyEvent.target ? keyEvent.target : keyEvent.srcElement;
        }
        
        YAHOO.container.browser     = new BROWSER();
        YAHOO.container.target      = document.getElementById(txtCity.id);
        //YAHOO.container.targetOrig  = (targetOrig != null) ? targetOrig.id : null; 
    	
        if (YAHOO.container.target.value.length >= 4) {
            
            YAHOO.response          = Ajax.IATA.getCityNames(YAHOO.container.target.value)
            
            if (YAHOO.response.value != null)
            {
                var mnuItems = '';
                
                var pos     = YAHOO.util.Dom.getXY(YAHOO.container.target);
                var region  = YAHOO.util.Dom.getRegion(YAHOO.container.target);
                
                var height  = region.bottom - region.top;
                var x       = pos[0];
                var y       = pos[1] + height;
            	
                YAHOO.container.panelMenu.setBody(YAHOO.response.value);
                YAHOO.container.panelMenu.cfg.setProperty("xy", [x,y]);
                YAHOO.container.panelMenu.cfg.setProperty("width", "470px");
                if (YAHOO.container.browser.isIE)
                    YAHOO.container.panelMenu.cfg.setProperty("underlay", "none");
                YAHOO.container.panelMenu.show();
            } 
            else if (YAHOO.response.error != null)
            {                            
                alert(YAHOO.response.error.message + " " + YAHOO.response.error.type);
            }

        }     
    }
    catch(Exp)
    {
    
    }
}

YAHOO.ajax.SetAirportValue = function(code, city)
{
    try
    {
        YAHOO.container.target.value = code;
        if (YAHOO.container.targetOrig != null)
            YAHOO.container.targetOrig.value = code;

        YAHOO.container.panelMenu.hide();            
    }
    catch(ex)
    {}
}

YAHOO.ajax.onReleaseMenu = function()
{
    YAHOO.container.panelMenu.hide();
}


/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: YAHOO.ajax.iata.isAirport()
/	Proposito 		: Comprobar la existencia de una ciudad
/	Parametros		: txtCity : Nombre de la ciudad
/	Return			: None
*/////////////////////////////////////////////////////////////////
YAHOO.ajax.iata.isAirport = function (txtCity)
{
    YAHOO.response = Ajax.IATA.AirPortExist(txtCity.value);
            
    if (YAHOO.response.value == false)
    {
        return false;
    }    
    return true;
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: YAHOO.ajax.iata.isCity()
/	Proposito 		: Comprobar la existencia de una ciudad
/	Parametros		: txtCity : Nombre de la ciudad
/	Return			: None
*/////////////////////////////////////////////////////////////////
YAHOO.ajax.iata.isCity = function (txtCity)
{
    try
    {
        YAHOO.response = Ajax.IATA.CityExist(txtCity.value);
    
        var ds = YAHOO.response.value;
                        
        if (ds != null && typeof(ds) == "object" && ds.Tables != null)
        {
            if (ds.Tables[0].Rows.length > 0)
            {                        
                return true;
            }
            return false;      
        }        
        return false;
    }
    catch(Exp)
    {
        return false;
    }
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: YAHOO.ajax.iata.isCity()
/	Proposito 		: Comprobar la existencia de una si el nombre de una ciudad esta en mas de un pais
/	Parametros		: txtCity : Nombre de la ciudad
/	Return			: None
*/////////////////////////////////////////////////////////////////
YAHOO.ajax.iata.isSameCountry = function(City)
{
    try
    {
        YAHOO.response = Ajax.IATA.IsSameCountry(City);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
        
        return false;
    }
    catch(Exp)
    {
        return false;
    }
}


/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: YAHOO.ajax.iata.getAirPortCode
/	Proposito 		: Obtener y listar las ciudaddes y aeropuertos de la base de datos
/	Parametros		: keyEvent   : El evento que disparo el objeto
                      txtControl : El objeto que llamo la funcion
/	Return			: None
*////////////////////////////////////////////////////////////////
YAHOO.ajax.iata.getAirPortCode = function(txtControl)
{
    YAHOO.container.browser = new BROWSER();
    YAHOO.container.target  = document.getElementById(txtControl.id);
	
    if (YAHOO.container.target.value.length >= 4) {
        
        //var dsAirPortCode       = Ajax.IATA.getIATA(YAHOO.container.target.value);
        var dsAirPortCode       = Ajax.IATA.getCityNames(YAHOO.container.target.value)
        YAHOO.container.error   = dsAirPortCode.error;
        dsAirPortCode           = dsAirPortCode.value;
        
        

        
        if (dsAirPortCode != null)
        {
            var mnuItems = '';
            
            var pos     = YAHOO.util.Dom.getXY(YAHOO.container.target);
            var region  = YAHOO.util.Dom.getRegion(YAHOO.container.target);
            
            var height  = region.bottom - region.top;
            var x       = pos[0];
            var y       = pos[1] + height;
        	
            YAHOO.container.panelMenu.setBody(dsAirPortCode);
            YAHOO.container.panelMenu.cfg.setProperty("xy", [x,y]);
            if (YAHOO.container.browser.isIE)
                YAHOO.container.panelMenu.cfg.setProperty("underlay", "none");
            YAHOO.container.panelMenu.show();
        } 
        else 
        {
            //alert("Ocurrio un error inesperado en la base de datos");            
            if (YAHOO.container.error != null)
            {
                alert(YAHOO.container.error.message + " " + YAHOO.container.error.type);
            }
        }

    }     

}


YAHOO.ajax.iata.getCountryList = function()
{
    try
    {                
        var Idioma  = (arguments.length > 0 ) ? arguments[0] : "";
        
        var resp = Ajax.IATA.GetCountryList(Idioma);
        
        return resp.value;
    }
    catch(Exp)
    {
        
    }
}

YAHOO.ajax.iata.getCityByCountry = function(Code, Idioma)
{
    try
    {
        var resp = Ajax.IATA.GetCityByCountry(Code, Idioma);
        
        return resp.value;
    }
    catch(Exp)
    {
        
    }
}


/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Martes, 02 de Enero de 2007
/	Funcion name 	: YAHOO.ajax.iata.isSameOrigen()
/	Proposito 		: Comprobar la existencia de una ciudad
/	Parametros		: txtCity : Nombre de la ciudad
/	Return			: None
*/////////////////////////////////////////////////////////////////
YAHOO.ajax.iata.isSameOrigen = function (strOrigen)
{
    try
    {
        YAHOO.response = Ajax.IATA.IsSameOrigen(strOrigen);
    
        if (YAHOO.response.error != null)
        {
            window.alert(YAHOO.response.error.Message);
            return false;
        }
        else
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
        return false;
    }
}

/*///////////////////////////////////////////////////////////////
/	Autor 			: David Blandon
/	Fecha 			: Viernes, 26 de Octubre de 2007
/	Funcion name 	: YAHOO.ajax.iata.getMessageAgencyChange()
/	Proposito 		: Obetener el mensaje que se le mostrara al usuario para le cambio de PCC
/	Parametros		: strOrigen : Nombre de la ciudad
/	Return			: None
*/////////////////////////////////////////////////////////////////
YAHOO.ajax.iata.getMessageAgencyChange = function (strOrigen)
{
    try
    {
        YAHOO.response = Ajax.IATA.GetMessageAgencyChange(strOrigen);
    
        if (YAHOO.response.error != null)
        {
            window.alert(YAHOO.response.error.message);
            return false;
        }
        else
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
        return false;
    }
}


YAHOO.ajax.hotel.drawHotelResultDetail = function(Start, End, PropertyLineNumber, PageNumber, RoomNumber)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.HotelGUI.DrawHotelResultExpediaDetail(Start, End, PropertyLineNumber, PageNumber, RoomNumber);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
                
    }
}

YAHOO.ajax.hotel.drawHotelResultTouricoDetail = function(HotelCode, PropertyLineNumber, PageNumber, Start, End, RoomNumber, Adult, Nino, ChildAges)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.HotelGUI.DrawHotelResultTouricoDetail(HotelCode, PropertyLineNumber, PageNumber, Start, End, RoomNumber, Adult, Nino, ChildAges);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
                
    }
}

YAHOO.ajax.hotel.drawHotelResultHotelbedsDetail = function(HotelCode, PropertyLineNumber, PageNumber, Start, End, RoomNumber, Adult, Nino, ChildAges)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.HotelGUI.DrawHotelResultHotelbedsDetail(HotelCode, PropertyLineNumber, PageNumber, Start, End, RoomNumber, Adult, Nino, ChildAges);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
                
    }
}

YAHOO.ajax.hotel.isAvailability = function(Start, End, PropertyLineNumber, PageNumber, RoomType, RoomTypeNumberOfUnits, LineNumber)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.HotelGUI.IsAvailability(Start, End, PropertyLineNumber, PageNumber, RoomType, RoomTypeNumberOfUnits, LineNumber);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
                
    }
}

YAHOO.ajax.flight.drawFlightResultDetail = function(SequenceNumber)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.FlightGUI.DrawFlightResultDetail(SequenceNumber);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
                
    }
}

YAHOO.ajax.flight.isAvailable = function(SequenceNumber, NumberInParty)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.FlightGUI.IsAvailable(SequenceNumber, NumberInParty);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
                
    }
}

YAHOO.ajax.global.getItemText = function(Message, Form)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.clsGlobal.GetItemText(Message, Form);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
        
    }
    catch (Exp)
    {
    
    }
}

YAHOO.ajax.global.drawChildAges = function(ID, ChildAges)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.clsGlobal.DrawChildAges(ID, ChildAges);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
    
    }
}

YAHOO.ajax.global.getCityByCountry = function(strCountryID)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.clsGlobal.GetCityByCountry(strCountryID);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
    
    }
}

YAHOO.ajax.cliente.getClienteByPerfil = function(IdPerfil)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.clsCliente.GetClienteByPerfil(IdPerfil);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
    
    }
}

YAHOO.ajax.airline.getAirlineList = function()
{
    try
    {
        var Idioma      = (arguments.length > 0 ) ? arguments[0] : "";

        var response    = TeamSearch.Interface.Airline.GetAirlineList(Idioma);
        
        return response.value;        
    }
    catch(Exp)
    {
    
    }
}

YAHOO.ajax.hotel.drawHotelResultHotelbedsDetail = function(HotelCode, PropertyLineNumber, PageNumber, Start, End, RoomNumber, Adult, Nino, ChildAges)
{
    try
    {
        YAHOO.response = TeamSearch.Interface.HotelGUI.DrawHotelResultHotelbedsDetail(HotelCode, PropertyLineNumber, PageNumber, Start, End, RoomNumber, Adult, Nino, ChildAges);
        
        if (YAHOO.response.value != null)
        {
            return YAHOO.response.value;
        }
    }
    catch(Exp)
    {
                
    }
}