﻿KL.RankList = null;

KL.GetUserRank = function(rank,userName){
    if(KL.RankList==null || KL.RankList.length==0)
       return "new"; 
    var historyRank = -1;
    for(var i=0;i<KL.RankList.length;i++){
       var n = KL.RankList[i].Name;
       if(KL.RankList[i].Name==userName){
          historyRank = i;
          break;
       }
    }
    if (historyRank==-1)
       return "new";
    else{
       if(rank==historyRank)
          return "unchanged";
       if(rank>historyRank)
          return "fall";
       if(rank<historyRank)
          return "raise";
    }
}
KL.EndResult=function(aucId){
   var auc = new Array();
   auc["AuctionId"] = aucId;
   send();
   function callback(s){ 
       if(s=="0")
          setTimeout(send,5000);
       else
          location.href= "/auctionended.aspx?auctionid=" +aucId;
   }
   function send()
   {
       new Ajax().Post("/ajax/savinghandler.ashx",auc,callback);
   }
}
KL.CalculateSaving=function(AuctionID){
   var Price = $("Price2_"+AuctionID).innerHTML;
   var Retal = $("Retal_"+AuctionID).innerHTML;
   $("Saving_"+AuctionID).innerHTML = (Retal - Price).toMoney();
}

KL.ChangeBackground=function(obj){
   obj.parentNode.style.background="#ff1a1a";
   setTimeout(Reset,500);
   function Reset(){
      obj.parentNode.style.background="#ffffff";
   }
}
KL.AuctionRank = function(AuctionID){
   var auc = new Array();
   auc["AuctionID"]= AuctionID;
   new Ajax().Post("/ajax/auctionrank.ashx",auc,callback);
   function callback(s){
       var list = eval(s).RankObj;
       if(list!=null){
          var obj = $("AuctionRank_"+AuctionID);
           var  tr_list = obj.getElementsByTagName("TR");
           if(tr_list.length>0){
              for(var j=tr_list.length-1;j>-1;j--){
                 if(document.all)
                    obj.deleteRow(j);
                 else
                    obj.removeChild(tr_list[j]);
              }
           }
           for(var i=0;i<list.length;i++)
           {
              var tr = document.createElement("TR");
              var td1 = document.createElement("TH");
              var td2 = document.createElement("TD");
              var td3 = document.createElement("TD");
              
              td1.className = "Rank" + (i+1);
              td1.innerHTML = "<span></span>";
              tr.appendChild(td1);
              td2.innerHTML = list[i].Name + "<img src=\"/images/img/" + KL.GetUserRank(i,list[i].Name) + ".gif\" />";
              tr.appendChild(td2);
              td3.innerHTML = list[i].BidCount + "次";
              td3.className = "BidCount";
              tr.appendChild(td3);
              if(document.all)
                 obj.firstChild.appendChild(tr);
              else
                 obj.appendChild(tr);
           }
           
       
       }//if(list!=null)
       KL.RankList = list;
   }
}
KL.AuctionHistory = function(AuctionID){
   var auc = new Array();
   auc["AuctionID"]= AuctionID;
   new Ajax().Post("/ajax/auctionhistory.ashx",auc,callback);
   function callback(s){
       var list = eval(s).BidHistory;
       if(list!=null){
           var obj = $("AuctionHistory_"+AuctionID);
           var  tr_list = obj.getElementsByTagName("TR");
           if(tr_list.length>0){
              for(var j=tr_list.length-1;j>-1;j--){
                 if(document.all)
                    obj.deleteRow(j);
                 else
                    obj.removeChild(tr_list[j]);
              }
           }
           for(var i=0;i<list.length;i++)
           {
              var tr = document.createElement("TR");
              var td1 = document.createElement("TD");
              var td2 = document.createElement("TD");
              var td3 = document.createElement("TD");
             
              td1.style.width="70px";
              td1.innerHTML = "￥<span>"+ list[i].Price.toMoney() +"</span>";
              tr.appendChild(td1);
              td2.style.width="87px";
              td2.innerHTML = list[i].Name.length>10?list[i].Name.substring(0,10):list[i].Name;
              tr.appendChild(td2);
              td3.innerHTML =list[i].CreateAt.split(' ')[1];
              tr.appendChild(td3);

              if(document.all)
                 obj.firstChild.appendChild(tr);
              else
                 obj.appendChild(tr);
                 
           }
       }
   }
}
KL.AuctionClick = function(obj){
   var auc = new Array();
   auc["AuctionID"]= obj.id.replace("Click_","");
   new Ajax().Post("/ajax/auctionclick.ashx",auc,callback);
   auc = null;
   
   function callback(s){
       var str = s.split(','); 
       switch(str[0])
       {
           case "Success":break;
           case "NoBid": if(confirm('您的点数不足，需要充值？'))location.href="/user/buy.aspx";break;
           case "NoLive":alert("该拍卖已结束或未开始！");break;
           case "IsBeginner":alert("您已经不是新手了！");break;
           case "IsOver": alert("20天内只能获得8个产品！");break;
           case "IsOverlap":  break; 
           case "UserLock": alert("您的帐号已被锁定！"); break; 
           case "NoRank" : alert("没有进入排行榜！");break;
           case "0":
                if(KL.User!=null){
                    KL.AuctionClick(obj); 
                }
                else{
                    if(confirm('你没有登陆，需要登陆？'))
                      location.href="/login.aspx?url=" +escape(location.href);
                }
                break;
           default: 
            break;
       }
       if(str[0]=="Success"){
           
           KL.User.PlaceBid = Request.QueryString("PlaceBids",str[1]);
           KL.User.FreeBid = Request.QueryString("FreeBids",str[1]);
           KL.UpdateUser();
       }
       
   }  
}

KL.AuctionLive = function(stringArray){
   if(stringArray!=""){
       var pars = new Array();  
       pars["AuctionID"] = stringArray;
       new Ajax().Post("/ajax/auctionhandler.ashx",pars,callback);
   }
   function callback(json){  
        if(json.length<6)   return;
      var list = eval(json).Auction;
      if(list==null) return;
      var Auction = list[0];
      var Timer = $("Timer_"+Auction.ID);
      var Price = $("Price_"+Auction.ID);
      var User =  $("User_"+Auction.ID);
      var Click = $("Click_"+Auction.ID);
      var t = Auction.RemainTime.split('.');
      var ts;
      var time;
      switch(t.length)
      {
          case 3:ts = t[1];time = t[0]+ "天" + t[1];break;
          case 2:ts = t[0];time =ts ;break;
          default:ts =t;time=ts;break;
      }
      Timer.innerHTML = time;
      try{
      if(parseInt(ts.getTotalSeconds())<11){
           Timer.className="TimerRed";
           $("LiveImg").style.display = "";
      }
      else{
            Timer.className="Timer";
           $("LiveImg").style.display = "none";
      }}catch(e){}
      switch(Auction.Status){
            case "Live":
               if(Click.className=="0"){
                   Click.style.background = "url(/images/ico/click_live.gif)";
                   Click.disabled="true";
                   Click.className="1";
               }
               break;
            case "Ended":
               location.href = "/auctionended.aspx?auctionid=" + Auction.ID;
               break;
      }
      if(Price.innerHTML!=Auction.Price.toMoney()){
            KL.ChangeBackground(Price);
            Price.innerHTML = Auction.Price.toMoney();
            User.innerHTML = (Auction.UserName=="")?"------": (Auction.UserName.length>10?Auction.UserName.substring(0,10):Auction.UserName);
            if(Auction.Status=="Live"){
                  KL.AuctionHistory(Auction.ID);
                  if(Auction.Type=="Limited")
                      KL.AuctionRank(Auction.ID);
                  if(Auction.Type=="Normal")
                      $("Price2_"+Auction.ID).innerHTML = Auction.Price.toMoney();
                  KL.CalculateSaving(Auction.ID); 
             }
       }//end if
   }//end callback
}
KL.AuctionList = function(stringArray){
   if(stringArray!=""){
       var pars = new Array();  
       pars["AuctionID"] = stringArray;
       new Ajax().Post("/ajax/auctionhandler.ashx",pars,callback);
   }

   function callback(json){ 
       if(json.length<6)  
         return;
       var list = eval(json).Auction;
       if(list!=null){
           for(var i=0;i<list.length;i++){
                  var Auction = list[i];
                  
                  var Timer = $("Timer_"+Auction.ID);
                  var Price = $("Price_"+Auction.ID);
                  var User =  $("User_"+Auction.ID);
                  var Click = $("Click_"+Auction.ID);
                  var t = Auction.RemainTime.split('.');
                  var ts;
                  switch(t.length)
                  {
                      case 3:ts = t[1];time = t[0] + "天" + t[1];break;
                      case 2:ts = t[0];time = ts ;break;
                      default:ts = t; time = ts;break;
                  }
                  Timer.innerHTML = time;
                  try{
                  if(parseInt(ts.getTotalSeconds())<11)
                       Timer.className="TimerRed";
                  else
                       Timer.className="Timer";
                  }catch(e){}
                  switch(Auction.Status){
                        case "Live":
                           if(Click.className=="0"){
                               Click.style.background = "url(/images/ico/click_live.gif)";
                               Click.disabled="true";
                               Click.className="1";
                           }
                           break;
                        case "Ended":
                               Click.style.background = "url(/images/ico/click_ended.gif)";
                               Click.disabled="false";
                               Click.className="2";
                           break;
                  }
                  
                  if(Price.innerHTML!=Auction.Price.toMoney()){
                        KL.ChangeBackground(Price);
                        Price.innerHTML = Auction.Price.toMoney();
                        User.innerHTML = (Auction.UserName=="")?"------": (Auction.UserName.length>10?Auction.UserName.substring(0,10):Auction.UserName);
                   }//end if
           }//end for
        }//end if (list!=null)
   }//end callback
}

