﻿/// <changes>
/// 2008-07-04  IC      Added function ProcessError for handled ajax error
/// 2008-07-21  SS      Added logic for get form text for breadcrumb.
/// 2008-08-05  SS, EF  Rebuild dynamic fields when a category is selected (vehicle model issue)
/// 2008-10-06  SS      Added area geografica as fixed field
/// 2008-10-14	EF		Remove the "searchTextValues" and related parameters.
/// </changes>
// JScript File

//ss
var inCustomFieldsBusqueda = true;

function EValorCampo(idCampo, Valor, Operacion)
{
    
    this.idCampo = idCampo;
    this.Valor = Valor;
    this.Operacion = (typeof(Operacion)!='undefined' ? Operacion : '1');
}


////2008-07-21    SS      Added logic for get form text for breadcrumb.
//function ETextValueField(idField, Value, Operation)
//{
//   
//    this.idField = idField;
//    this.Value = Value;
//    this.Operation = (typeof(Operation)!='undefined' ? Operation: '1');
//    
//}



var IdEstadoACargarEnc = "";
var IdCiudadACargarEnc = "";
/// 2008-10-06  SS      Added area geografica as fixed field
var IdAreaGeograficaACargarEnc= "0";

function CreateOption(text, value)
{
    var opt = document.createElement('option');
    opt.text = text;
    opt.value = value;
    return opt;
}

function LimpiarEstados()
{
    while (document.getElementById(ddlEstado).options.length > 0)
        document.getElementById(ddlEstado).options[0] = null;
    document.getElementById(ddlEstado).options[0] = CreateOption(initialValue, "");
    LimpiarCiudades();
}

function CargarEstados(IdPaisEnc)
{
    LimpiarEstados();
    if(IdPaisEnc!="")
        Controls_Form_CustomFieldsBusqueda.CargarEstados(IdPaisEnc, CargarEstados_callback);
}

function CargarEstados_callback(res)
{
    if (res.error != null)
         ProcessError(res);
//        a=1;//alert(res.error.Message);;
    else
    {
        dt = res.value;
        for(i=0; i<dt.Rows.length; i++)
            document.getElementById(ddlEstado).options[i+1] = CreateOption(dt.Rows[i]["sNombre"], dt.Rows[i]["idEstado"]);
        document.getElementById(ddlEstado).value = IdEstadoACargarEnc;
        IdEstadoACargarEnc = "";
    }
  }

function LimpiarCiudades()
{
    
    while (document.getElementById(ddlCiudad).options.length > 0)
        document.getElementById(ddlCiudad).options[0] = null;
    document.getElementById(ddlCiudad).options[0] = CreateOption(initialValue, "");
    // 2008-10-06   SS      Clean area geografica given city to show -Todas- 
    LimpiarAreasGeograficas(document.getElementById(ddlCiudad).options[0].value);
}

function CargarCiudades(IdEstadoEnc)
{
    LimpiarCiudades();
    if(IdEstadoEnc!="")
        Controls_Form_CustomFieldsBusqueda.CargarCiudades(IdEstadoEnc, CargarCiudades_callback);
}

function CargarCiudades_callback(res)
{
    if (res.error != null)
         ProcessError(res);
//        a=1;//alert(res.error.Message);;
    else
    {
        dt = res.value;
        for(i=0; i<dt.Rows.length; i++)
            document.getElementById(ddlCiudad).options[i+1] = CreateOption(dt.Rows[i]["sNombre"], dt.Rows[i]["idCiudad"]);
        document.getElementById(ddlCiudad).value = IdCiudadACargarEnc;
        IdCiudadACargarEnc = "";
    }
    
}

// 2008-10-02	SS		Area geografica: added logic
function CargarAreasGeograficas(IdCiudadEnc)
{
    LimpiarAreasGeograficas(IdCiudadEnc);
    
    if(IdCiudadEnc.length > 0)
     {
        Controls_Form_CustomFieldsBusqueda.CargarAreasGeograficas(IdCiudadEnc, CargarAreasGeograficas_callback);
     }
    
}
// 2008-10-02	SS		Area geografica: added logic
function CargarAreasGeograficas_callback(res)
{
    
    if (res.error != null)
        ProcessError(res);
    else
    {
        dt = res.value;
        
        for(i=0; i<dt.Rows.length; i++)
            document.getElementById(ddlAreaGeografica).options[i+1] = CreateOption(dt.Rows[i]["sNombre"], dt.Rows[i]["idAreaGeografica"]);
        document.getElementById(ddlAreaGeografica).value = IdAreaGeograficaACargarEnc;
        // 2008-10-06   SS      Depends if selec -Todas- or -Seleccione-
        if (IdAreaGeograficaACargarEnc.length == 0 )
            document.getElementById(ddlAreaGeografica).selectedIndex = 0;
             
        IdAreaGeograficaACargarEnc = "";

    }
}
// 2008-10-02	SS		Area geografica: added logic
function LimpiarAreasGeograficas(IdCiudadEnc)
{
    while (document.getElementById(ddlAreaGeografica).options.length > 0)
        document.getElementById(ddlAreaGeografica).options[0] = null;
    // 2008     SS      if a city is selected then put -Todas- in Area Geo select otherwise -Seleccione- 
    if (IdCiudadEnc.length > 0)
    {
        document.getElementById(ddlAreaGeografica).options[0] = CreateOption(initialValueAreasGeograficas, "");
    }
    else
    {
        document.getElementById(ddlAreaGeografica).options[0] = CreateOption(initialValueSeleccionOpcionCombo, "");
    }
}

function CargaAutomatica(IdPaisEnc, IdEstadoEnc, IdCiudadEnc, IdAreaGeograficaEnc)
{
    
    CargarEstados(IdPaisEnc);
    IdEstadoACargarEnc = IdEstadoEnc;
    CargarCiudades(IdEstadoEnc);
    IdCiudadACargarEnc = IdCiudadEnc;
    // 2008-10-02	SS		Area geografica: added logic load the current Area Geof given the city
    CargarAreasGeograficas(IdCiudadEnc);
    IdAreaGeograficaACargarEnc = IdAreaGeograficaEnc;
    
    
}

// 2008-08-05  SS, EF  Rebuild dynamic fields when a category is selected (vehicle model issue)
function RebuildControls(idOpcion)
{
// var sModelo se puede utilizar en vez de llamar este metodo e igualarla a idopcion, esta arriba

   //Este esta CustomFieldsBusqueda que lo llamamos del ascx 
//   alert('CustomFieldsBusqueda' + idOpcion);    
   Controls_Form_CustomFieldsBusqueda.RebuildControls(idOpcion, RebuildControls_callback);
   
        
       
}

// 2008-08-05  SS, EF  Rebuild dynamic fields when a category is selected (vehicle model issue)
function RebuildControls_callback(res)
{
// alert('RebuildControls_callback');
   if (res.error != null)
         ProcessError(res);
    else if (res.value.DivCodeInnerHtml != '')
    {
//        alert('divCode.ClienteID = ' + divCode + ', divControls.ClientID = ' + divControls.ClientID);
        var divCodeControl = document.getElementById(divCode);
        var divControlsControl = document.getElementById(divControls);
//        alert('res.value.DivCodeInnerHtml = ' + res.value.DivCodeInnerHtml);
//        alert('res.value.DivControlsInnerHtml = ' + res.value.DivControlsInnerHtml);
        divCodeControl.innerHTML = res.value.DivCodeInnerHtml;
        divControlsControl.innerHTML = res.value.DivControlsInnerHtml;
    }
}