jQuery.mylist = function(container,calarr, calgo, fpax, fPaxKids,options) {
     var defaults = {onLoadResultsComplete: function() {}};
    var imgProp='width="30" height="30"';
    var pathimg = "/imgs/eqp/icons/";
    var rootPath = "/";
    var max = 9;
    var containerName = container;
    var $container;    
    if (containerName == "#mylist"){$container = $(containerName);}
    var $spannum = $("#num-items-mylist");
    var $calarr = $(calarr);
    var $calgo = $(calgo);
    var $fpax = $(fpax);
    var $fPaxKids = $(fPaxKids);
    var calarrVal = $calarr.val();
    var calgoVal = $calgo.val();
    var fpaxVal = $fpax.val();
    var fPaxKidsVal = $fPaxKids.val();
    var fpaxTotalVal = Number(fpaxVal) + Number(fPaxKidsVal);
    var arrDiccionari;
    var numHiddenMylist = 0;
    if (fPaxKidsVal == "") {fPaxKidsVal = 0;}
    fpaxVal = fPaxKidsVal + fpaxVal;
    var numItems = 0;    
    var itemsMylist = Array();
    var $jcookie;    
    var pr = "";
    var ordenacio = "PreuTotal";
    var arrayIds = Array();
    $.oaCookie("OAMyList", 90);
    var res = $.oaCookie.read();
    var cookieContent = $.oaCookie.results;
    if (cookieContent != null && cookieContent.length > 0){arrayIds = cookieContent.split(",");}
    numHiddenMylist = arrayIds.length;    
    if (containerName=="#mylist"){    
        if(numHiddenMylist>0){        
           addToListQuery(arrayIds);
        }else{
            updateNumItems();            
        }
    }else {            
        $spannum.html(numHiddenMylist);
        numItems = numHiddenMylist;
    }    
    function updateDates() {
        calarrVal = $calarr.val();
        calgoVal = $calgo.val();
        fpaxVal = $fpax.val();
        fPaxKidsVal = $fPaxKids.val();
        fpaxTotalVal = Number(fpaxVal) + Number(fPaxKidsVal);       
    }
    function addInternalList(value) {
        if (container!= "" && !existApartment(value)) {
            var items = Array();
            items.push(value);
            addToListQuery(items);
            numItems++;
        } else if (!existApartmentIds(value) && container=="") {
            arrayIds.push(value);
            numHiddenMylist++;
            $spannum.html(numHiddenMylist);            
            saveCookieIds();
            $("#idapt-"+value).effect("transfer", {to:$("#mylistIcon")}, 1000);
            numItems++;
        }
    }
    function existApartment(value) {
        for (i = 0; i < itemsMylist.length; i++) {if (itemsMylist[i].ApartmentId == value) {return true;}}
        return false;
    }
    
    function existApartmentIds(value) {
        for (i = 0; i < arrayIds.length; i++) {if (arrayIds[i] == value) {return true;}}
        return false;
    }
    
    function _succesLoadResultsMylist(results){
    if(results.d.Apartments.length>0 && itemsMylist.length==0){$("#noitems-mylist").remove();}   
    
    $.each(results.d.Apartments, function(i, item) {     
    if (i < max) {
        if (containerName == "#mylist") {$container.append(dataToDom_Mylist(item));}                           
    itemsMylist.push(item);
    }
    });
    saveCookieItems();
    }
    function saveCookieItems() {
        var content = "";
        for (i = 0; i < itemsMylist.length; i++) {content = content + itemsMylist[i].ApartmentId + ",";}
        content = content.substring(0, content.length - 1);
        $.oaCookie.save(content);
    }
    function saveCookieIds() {
        var content = "";
        for (i = 0; i < arrayIds.length; i++) {content = content + arrayIds[i] + ",";}
        content = content.substring(0, content.length - 1);
        $.oaCookie.save(content);
    }    
    function appendItemsComparator(data) {
        var i = 0;
        $.each(data, function(i, item) {
            if (containerName == "#rpage") {appendToComparator(item);}
            itemsMylist[i] = item;
            i++;
        });
        updateNumItems();
    }
jQuery.mylist.deleteItem= function(iditem) {deleteItem(iditem);}    
  function deleteItem(iditem) {
        for (i = 0; i < itemsMylist.length; i++) {
            if (itemsMylist[i].ApartmentId == iditem) {
                itemsMylist.splice(i, 1);
                break;
            };
        }
        saveCookieItems();
        updateNumItems();
    }
    function deleteItemId(iditem) {        
        for (i = 0; i < arrayIds.length; i++) {                            
            if (arrayIds[i] == iditem) {            
                arrayIds.splice(i, 1);
                break;
            };
        }        
        saveCookieIds();
        numHiddenMylist--;
        $spannum.html(numHiddenMylist);                            
    }    
    jQuery.mylist.deleteItemId= function(iditem) {deleteItemId(iditem);}
    
    function updateNumItems(){        
        $spannum.html(itemsMylist.length);
        numItems = itemsMylist.length;
        if (itemsMylist.length == 0) {        
            if (containerName == "#mylist") {
                $container.html("");
                $container.append(dataToDom_MyListNoItems());
            }
        } else {
            $("#noitems-mylist").remove();
        }
    }
    function dataToDom_Mylist(item) {        
        var arrEquipmentItem = Array();
        arrEquipmentItem = item.Equipment.split(","); 
        var datatotdom = document.createElement("div");
        var $rdatatotdom = $(datatotdom);
        $rdatatotdom.attr("id", "apt" + item.ApartmentId);
        $rdatatotdom.addClass("apartment-detail");
        var pathimg = "/imgs/eqp/icons/";
        var htmlDisp = '';
        TotalPriceTxt=item.TotalPrice;
        if (item.IsAvaible==true) {
            htmlDisp = '<img src="/imgs/but/btnl-g.gif" alt="btn-detail" class="rbtn" /><a href="javascript:Book(' + item.ApartmentId + ')" class="btng">' + objDictionary.SearchMap_ApartmentItem_ButtonReservar + '</a>';
        } else {
            TotalPriceTxt="--";
            htmlDisp = '<img src="/imgs/but/btnl-gr.gif" alt="btn-detail" class="rbtn" /><a href="' + item.PhotoSmall + '" class="btngr">' + objDictionary.SearchMap_miLista_NoDisp + '</a>';
        }
        var htmlDispPrecio = '';
        if (!item.IsAvaible) {
            htmlDispPrecio = 'style="color:#cccccc"';
        }
        var habitaciones = item.Rooms;
        if (item.Rooms == 0) { habitaciones = objDictionary.SearchMap_ApartmentItem_Estudio; }
        var terraza = item.SurfaceBalcony + "m2";
        
       if (arrEquipmentItem[11]==0) {terraza = objDictionary.SearchMap_general_no; } else if (item.SurfaceBalcony == 0) {terraza = objDictionary.SearchMap_general_si;}
        $rdatatotdom.append('\
      <div class="apartment-image"><a href="' + item.UrlDetail+ '"><img height="60px" width="60px" src="' + rootPath+item.Photo + '" alt="' + item.Name + '" /></a></div>\
      <div class="apartment-title">\
        <ul><li>\
            <h2>' + item.Name + '</h2>\
          </li><li>' + objDictionary.SearchMap_ApartmentItem_Zona + ': <em>' + item.Zone + '</em></li>\
          <li class="btlist"><img src="/imgs/but/btnl-b.gif" alt="btn-detail" class="rbtn" /><a href="' + item.UrlDetail + '" class="btnb">' + objDictionary.SearchMap_ApartmentItem_ButtonDetalle + '</a>\
              <div class="btn-eq">' + objDictionary.SearchMap_ApartmentItem_VerEquipamiento + '\
               </div>\
          </li></ul>\
      </div>\
      <div class="apartment-features">\
        <ul>\
          <li>' + objDictionary.SearchMap_Superficie_Short + ': <em>' + item.Surface + ' m2</em></li>\
          <li>' + objDictionary.SearchMap_Habitaciones_Short + ':<em>' + habitaciones + '</em></li>\
          <li>' + objDictionary.SearchMap_ApartmentItem_Terraza + ': <em>' + terraza + '</em></li>\
          <li>' + objDictionary.SearchMap_ApartmentItem_Planta + ':<em>' + item.Floor + '</em></li>\
        </ul>\
      </div>\
      <div class="apartment-price">\
        <ul>\
          <li class="price" ' + htmlDispPrecio + '>' + objDictionary.SearchMap_miLista_Total+ ':<em ' + htmlDispPrecio + '><span class="symbol"> ' + currencySymbol + ' </span>' + TotalPriceTxt + '</em></li>\
          <li class="btlist"><img src="/imgs/but/btnl-o.gif" alt="btn-detail" class="rbtn" />\
              <div class="btno">- ' + objDictionary.SearchMap_BotonMiLista + '</div>\
            ' + htmlDisp + '</li>\
        </ul>\
      </div>\
      <div class="apartment-equipment">\
<img src="' + pathimg + arrEquipmentItem[3] + '_ico_calefac.png" alt="' + objDictionary.SearchMap_apartEquip_Calefaccion+ '" />\
<img src="' + pathimg + arrEquipmentItem[0] + '_ico_air.png" alt="' + objDictionary.SearchMap_apartEquip_Aire+ '" />\
<img src="' + pathimg + arrEquipmentItem[2] + '_ico_elevator.png" alt="' + objDictionary.SearchMap_apartEquip_Ascensor + '" />\
<img src="' + pathimg + arrEquipmentItem[5] + '_ico_cot.png" alt="' + objDictionary.SearchMap_apartEquip_Cuna+ '" />\
<img src="' + pathimg + arrEquipmentItem[4] + '_ico_kitchen.png" alt="' + objDictionary.SearchMap_apartEquip_Cocina+ '" />\
<img src="' + pathimg + arrEquipmentItem[8] + '_ico_wash.png" alt="' + objDictionary.SearchMap_apartEquip_Lavadora+ '" />\
<img src="' + pathimg + arrEquipmentItem[7] + '_ico_net.png" alt="' + objDictionary.SearchMap_apartEquip_Internet+ '" />\
<img src="' + pathimg + arrEquipmentItem[10] + '_ico_parking.png" alt="' + objDictionary.SearchMap_apartEquip_Parking+ '" />\
<img src="' + pathimg + arrEquipmentItem[1] + '_ico_pet.png" alt="' + objDictionary.SearchMap_apartEquip_Mascota+ '" />\
<img src="' + pathimg + arrEquipmentItem[6] + '_ico_smoke.png" alt="' + objDictionary.SearchMap_apartEquip_Fumadores+ '" />\
<img src="' + pathimg + arrEquipmentItem[9] + '_ico_dis.png" alt="' + objDictionary.SearchMap_apartEquip_Accesible+ '" />\
<img src="' + pathimg + arrEquipmentItem[11] + '_ico_terrace.png" alt="' + objDictionary.SearchMap_ApartmentItem_Terraza+ '" />\
');
        $rdatatotdom.find("div.btn-eq").click(function() {
            $(this).parent().parent().parent().parent().find(".apartment-equipment").slideToggle("normal");
            if ($(this).is(".btn-eq-active")) {
                $(this).removeClass("btn-eq-active");
            } else {
                $(this).addClass("btn-eq-active");
            }
        });
        $rdatatotdom.find(".btno").click(function() {   
            $boton = $("#idapt-" + item.ApartmentId);
            $boton.removeClass("btngr");
            $boton.addClass("btno");
            $boton.prev().addClass("rbtn2");
            $boton.prev().removeClass("rbtn2a");            
            $(this).parent().parent().parent().parent().fadeOut("fast",
															function() {
															    deleteItem(item.ApartmentId);
															    $(this).remove();
															    updateNumItems();
															}
															);
        });
        return $rdatatotdom;
    }
function dataToDom_MyListNoItems() {
        var datatotdom = document.createElement("div");
        var $rdatatotdom = $(datatotdom);
        $rdatatotdom.attr("id", "noitems-mylist");
        var htmlDispPrecio = '';
        $rdatatotdom.append('<div id="msg-noitems">' + objDictionary.SearchMap_miLista_TextoInfoCaixaLista + '<div id="msg-noitems-but">\
<img src="/imgs/but/btnl-o.gif" alt="btn-detail" class="rbtn" /><div class="btno">+ ' + objDictionary.SearchMap_BotonMiLista+ '</div>\
<img src="/imgs/but/btnl-o.gif" alt="btn-detail" class="rbtn" /><div class="btno">- ' + objDictionary.SearchMap_BotonMiLista + '</div>\
</div></div>');
        return $rdatatotdom;
    }
jQuery.mylist.addToList = function(value) {     
        if (numItems < max) {     
            $boton = $("#idapt-" + value);          
            $boton.removeClass("btno");
            $boton.addClass("btngr");      
            $boton.prev().removeClass("rbtn2");
            $boton.prev().addClass("rbtn2a");                        
            addInternalList(value);            
        } else if (itemsMylist.length >= max) {       
            alert(objDictionary.SearchMap_miLista_AlertMaximoAparts);
        }
}
function addToListQuery(idIn){
pApartmentIds = idIn.join(",");
updateDates();
$.ajax({
 type: "POST",
 url: "/FinderServices.asmx/GetApartmentsMyList",
 data: "{'pAdults':" + pAdults + ",'pKids':" + pKids + ",'pStartDate':'" + pStartDate + "','pEndDate':'" + pEndDate + "','pSymbolMoney':'" + currency + "','pApartmentIds':'"+pApartmentIds+"'}",
 contentType: "application/json; charset=utf-8",
 dataType: "json",
 cache: false,
 success: function(results) {  
       _succesLoadResultsMylist(results);
       updateNumItems();
 },error: function(result) {                
   $container.html('<div class="notav">' + "Search error." + '</div>');
 }
 }) 
 }
 jQuery.mylist.loadAjax_GetApartmentsMapMyList= function() {    
    updateDates();
    pApartmentIds = arrayIds.join(",");            
    $.ajax({
                type: "POST",
                url: "/FinderServices.asmx/GetApartmentsMyListByMap",
                data: "{'pAdults':" + pAdults + ",'pKids':" + pKids + ",'pStartDate':'" + pStartDate + "','pEndDate':'" + pEndDate + "','pSymbolMoney':'" +currency+"','pApartmentIds':'" +pApartmentIds+"'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                cache: false,
                success: function(results) {                                                         
                    loadContainerResults(results);
                },
                error: function(result) {alert("error");}
            })
}        
jQuery.mylist.loadAjax_GetApartmentsMyList = function() {
updateDates();
pApartmentIds = arrayIds.join(",");        
if (containerName == "#rpage") {$(".container-wh").addClass("loadingicon");}
$.ajax({       
 type: "POST",
 url: "/FinderServices.asmx/GetApartmentsMyList",
 data: "{'pAdults':" + pAdults + ",'pKids':" + pKids + ",'pStartDate':'" + pStartDate + "','pEndDate':'" + pEndDate + "','pSymbolMoney':'" + currency + "','pApartmentIds':'"+pApartmentIds+"'}",
 contentType: "application/json; charset=utf-8",
 dataType: "json",
 cache: false,
 success: function(results) { 
            loadContainerResults(results);
 },
 error: function(result) {   
 alert("error");
  $container.html('<div class="notav">' + "Search error." + '</div>');
 }
 }) 
}    
}
function loadAjax_GetApartmentsMyList(){$.mylist.loadAjax_GetApartmentsMyList();}
function loadAjax_GetApartmentsMapMyList(){$.mylist.loadAjax_GetApartmentsMapMyList();}
function addToList(value){if(value){$.mylist.addToList(value);}}   
function deleteItemIdList(value){if(value){$.mylist.deleteItemId(value);}}
function deleteItem(value){if(value){$.mylist.deleteItem(value);}}
