﻿
var EstateList = function(elin)
{
    $gridbody = $("#EstateListGrid > tbody");
    $loadinghtml="<tr><td colspan=\"4\" align\"center\"><img src=\"/images/loading.gif\" alt=\"\"/> Lütfen bekleyiniz.</td></tr>";
    $prevBtn = $("#btnprev");
    $firstBtn = $("#btnfirst");
    $nextBtn = $("#btnnext");
    $lastBtn = $("#btnlast");
    $pgNoTxt = $("#pagenumbertxt");
    $pgCountCmb = $("#pgcountlist");
    $pgCountSpan = $("#pgcountspan");
    criteria = {};
    total = 0;
    pagecount = 0;
    usrauth = elin; 
    $bigImgContainer=$("#bigimgcontainer");
   
    init = function()
    {
       criteria.s = $.getUrlVar('s');
       criteria.f = $.getUrlVar('f');
       criteria.ei = $.getUrlVar('ei');
       criteria.pi = $.getUrlVar('pi');
       $prevBtn.bind("click",getPrevious);
       $nextBtn.bind("click",getNext);
       $firstBtn.bind("click",getFirst);
       $lastBtn.bind("click",getLast);
       $pgNoTxt.bind("change",pageChanged);
       $pgCountCmb.bind("change",pageCountChanged);
       LoadEstates(criteria);
    }
   
    bindToList=function(es)
    {
        $gridbody.fadeOut("slow",function(){$gridbody.empty();
        if(es.estates && es.total && es.estates.length>0)
        {
            estates = es.estates;
            total = es.total
            pagecount = (total % $pgCountCmb.val()) == 0 ? total / $pgCountCmb.val() : Math.floor((total / $pgCountCmb.val()) +1);
            $pgCountSpan.empty().append("&nbsp;&nbsp;/&nbsp;&nbsp;"+pagecount+"&nbsp;&nbsp;");
            for(i=0;i<estates.length;i++)
            {
                $tr = $("<tr class=\"altrow"+ (i%2) + "\"/>");
                $tr.hover(rowOver,rowOut);
                $tr.bind("click",rowClick);
                $address = estates[i].Country.Name;
                if(estates[i].District!=null)
                    $address+= " " + estates[i].District.Name;
                if(estates[i].Part!=null)
                    $address = $address + "<br/>" + estates[i].Part.Name;
                $currency="";
                if(estates[i].PriceCurrency!=null) $currency = " " +estates[i].PriceCurrency.Name;
                $Price = estates[i].Price;               
                //$Price = basamakla($Price);
                $imgTd = $("<td align=\"center\"/>");
                if (estates[i].DisplayPicture != null)
                {
                    $img=$("<img alt=\"\" src=\"/image/i.aspx?img=/emlakresimleri/"+ estates[i].EstateId+"/"+estates[i].DisplayPicture.PictureName + "&size=150x112\" style=\"display:block;\"/>");
                    $img.hover(imgOver,imgOut);
                    $imgTd.append($img);
                }
                $imgTd.append($("<span>İlan No:"+estates[i].EstateId+"</span>"));
                $OtherTds=$("<td>"+$address+"</td><td>" + estates[i].Area +"</td><th>" + getFormatted($Price) + $currency+ "</th>");
                $tr.append($imgTd);
                $tr.append($OtherTds);
                $gridbody.append($tr);
            }
            
        }
        else
        {
            $("<tr><th colspan=\"4\" style=\"text-align:center;\">Sonuç bulunamadı.</th></tr>").appendTo($gridbody);
        }
        if(pagecount==1 || pagecount==0)
        {
            $pgNoTxt.attr("disabled","disabled");
            $prevBtn.attr("disabled","disabled");
            $nextBtn.attr("disabled","disabled");
            $firstBtn.attr("disabled","disabled");
            $lastBtn.attr("disabled","disabled");
        }
        else
        {
            $prevBtn.removeAttr("disabled");
            $firstBtn.removeAttr("disabled");
            $nextBtn.removeAttr("disabled");
            $lastBtn.removeAttr("disabled");
        }
        $gridbody.fadeIn("slow",
                function () {
                        $('html, body').animate({
                            scrollTop: 0
                        }, 1000);
                
                });
		});
    }
    LoadEstates = function(c)
    {
        $url = "/Estates/EstateList.aspx?s="+c.s+"&f="+c.f+"&ei="+c.ei+"&pi="+c.pi+"&g="+getRandom();
        $gridbody.empty();$gridbody.html($loadinghtml);
        $('html').animate({"scrollTop":"0"},{duration:800,queue:false });
        $.getJSON($url,function(data){bindToList(data);})
    }
    getPrevious = function()
    {
        bas = new Number(criteria.s);
        fin = new Number(criteria.f);
        pgc = new Number($pgCountCmb.val());
        bas-=pgc;fin-=pgc;
        criteria.s = bas;criteria.f=fin;
        LoadEstates(criteria);
    }
    getNext = function()
    {
        bas = new Number(criteria.s);
        fin = new Number(criteria.f);
        pgc = new Number($pgCountCmb.val());
        fin+=pgc;bas=fin-pgc+1;
        criteria.s = bas;criteria.f=fin;
        LoadEstates(criteria);
    }
    getFirst = function()
    {
        bas = new Number(criteria.s);
        fin = new Number(criteria.f);
        pgc = new Number($pgCountCmb.val());
        bas=0;fin=pgc;
        criteria.s = bas;criteria.f=fin;
        LoadEstates(criteria);
    }
    getLast = function()
    {
        if(total!=0)
        {
            bas = new Number(criteria.s);
            fin = new Number(criteria.f);
            pgc = new Number($pgCountCmb.val());
            fin=pagecount*pgc;bas=fin-pgc+1;
            criteria.s = bas;criteria.f=fin;
            LoadEstates(criteria);
        }
        else 
            alert("Toplam kayıt sayısı alınamamış.");
    }
    
    pageChanged= function()
    {
        val = this.value;
        if(val>pagecount || val<=0)
            alert("Lütfen [1-"+pagecount+"] aralığında bir sayı giriniz.");
        else
        {
            val = new Number(val);
            bas = new Number();
            fin = new Number();
            pgc = new Number($pgCountCmb.val());
            fin=pagecount*pgc;bas=fin-pgc+1;
            criteria.s = bas;criteria.f=fin;
            LoadEstates(criteria);
        }
    }
    
    pageCountChanged= function()
    {
        getFirst();
    }
    rowOver = function(){$(this).addClass("altrow-over");}
    rowOut = function(){$(this).removeClass("altrow-over");}
    imgOver = function(){
        url = $(this).attr("src").split("?");
        $img = $("<img/>").attr("src",url[0]+"?"+url[1].split("&")[0]+"&size=270x225");
        $bigImgContainer.css("left",($(this).offset().left + $(this).width())+"px");
        $bigImgContainer.css("top",$(this).offset().top+"px");
        $bigImgContainer.html("").html($img);
        $bigImgContainer.css("position","absolute");
        $bigImgContainer.show();
    }
    imgOut = function(){$bigImgContainer.hide();}
    
    rowClick = function()
    {
        var href='';
        //var id=$($($(this).children("td")[0]).children()[1]).text().split('#')[1];
        var id=$($(this).find("span")).text().split(':')[1];
        if(!ua)
        {
            href="/ayrinti.aspx?ei="+id
        }
        else
            href="/yonetim/EstateEdit.aspx?ei="+id;
        
        window.location.href=href;
    }
    init();                     
}
