﻿var KL ={ };
KL.User=null;
KL.PhoneTime=120;
KL.Interval=null;
KL.TestDelay=function(){
   var temp = new Date().getTime();
   var rnd = Math.random();
   var url = "/ajax/TestSpeed.ashx?r=" + Math.random();
   
   if(Cookie.GetValue("Speed") == null){
        new Ajax().Post(url ,null,callback);        
   }else{
        callback(Cookie.GetValue("Speed"));
   }
   
   function callback(s){
      var delay = 0;
      if(s.length > 1024){  
        delay = new Date().getTime() - temp;
        var date = new Date(); 
        date.setTime(date.getTime() + 1000 * 60 * 10);
        Cookie.SetValue("Speed",delay ,date );
      }else{
        delay = s;
      }
      if(delay < 3000){
        $("Delay").className="UserSpeed Fast";
        $("Delay").setAttribute("title",["您打开快乐点的响应时间为" , delay/1000 , "秒 (",  Math.round((100*1000/delay) , 2)  ,"K/s)，速度非常快哦！"].join(""));
      }
      if(delay > 10000){
        $("Delay").className="UserSpeed Slow";
        $("Delay").setAttribute("title",["您打开快乐点的响应时间为" , delay/1000 , "秒，速度有点慢！"].join(""));
      }
      if(delay<10000 && delay>3000){
        $("Delay").className="UserSpeed Normal";
        $("Delay").setAttribute("title",["您打开快乐点的响应时间为" , delay/1000 , "秒，速度一般！"].join(""));
      }
      $("Delay").onclick = function(){ alert(this.title); this.blur(); }
   }
}  


KL.UpdateUser=function(){
      $("Logout").style.display="none";
      $("Login").style.display="block";
      $("Login").className="Login";
      $("Login_UserName").innerHTML= KL.User.Name;
      $("u_PlaceBid").innerHTML = KL.User.PlaceBid;
      $("u_FreeBid").innerHTML = KL.User.FreeBid;
      if($("Live$ShowBid")){
          $("Live$ShowBid").innerHTML = KL.User.PlaceBid + KL.User.FreeBid; 
          $("Live$ShowBid").style.display="";
      }
      $("UserCenter").className="B";
      $("UserCenter").onclick = function(){ location.href='/user/';}
      
      if($("live_reg")){
         $("live_reg").href="/user/Invite.aspx";
         $("live_reg_img").src="/images/img/auction_reg0.gif";
      }
      
}
KL.SwitchNewUser=function(){
      if($("Banner")){
         $("BannerAD").style.display="none";
         $("SwitchNew").style.display="block";
//         if(KL.User.IsBeginner==true){
//            $("NewUser").style.display="block";
//            $("switchImg").innerHTML="关闭活动竞拍";
//         }
//         else
//            $("switchImg").innerHTML="显示活动竞拍";
      }
}
KL.Login=function(){
       var user = new Array();
       user["Action"]="Login";
       user["UserName"]=escape($("UserName").value);
       user["UserPass"]=$("UserPass").value;
       $("loginning").style.display="";
       $("loginbtn").style.display="none";
       new Ajax().Post("/ajax/loginhandler.ashx?r=" +  Math.random(),user,callback);
       
       function callback(s){
           $("loginning").style.display="none";
           $("loginbtn").style.display="";
           if(s=="0"){
              alert("密码错误,请尝试找回密码！");
              return;
           }
           else{
              KL.User = eval(s).User[0];
              KL.UpdateUser();
              KL.SwitchNewUser();
              KL.IsLogin = true;
           }
       }
}
KL.CheckLogin=function(){
       KL.TestDelay();
       var user = new Array();
       user["Action"]="Check";
       new Ajax().Post("/ajax/loginhandler.ashx",user,callback);
       function callback(s){
           if(s!="0"){
              KL.User = eval(s).User[0];
              KL.UpdateUser();
              KL.SwitchNewUser();
              KL.IsLogin = true;
           }
       }
}
KL.CancleLogin=function(){
       var user = new Array();
       user["Action"]="Exit";
       new Ajax().Post("/ajax/loginhandler.ashx",user,callback);
       function callback(s){
               if($("Live$ShowBid")) $("Live$ShowBid").style.display = "none";
          KL.IsLogin = false;
          $("Login").style.display="none";
          $("Logout").style.display="block";
          $("UserName").value="";
          $("UserPass").value="";
          $("UserCenter").className="C";
          $("UserCenter").onclick = function(){ location.href='/reg.aspx';}
          if($("Banner")){
                 $("NewUser").style.display="none";
                 $("BannerAD").style.display="block";
                 $("SwitchNew").style.display="none";
           }
          if($("live_reg")){
                 $("live_reg").href="/user/reg.aspx";
                 $("live_reg_img").src="/images/img/auction_reg.gif";
          }
          var url = location.href;
          if(url.indexOf("user")>-1)
             location.href="/";
       }
}
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.ChangePhoto =function(obj){
    var a =obj.src.replace("_s","");
    setTimeout(cc,100);
    function cc()
    {
       $("BigPicture").style.background="url(" + a + ") no-repeat";
    }
}
KL.NewEnded =function(){
    new Ajax().Post("/ajax/newendedhandler.ashx",null,callback);
    function callback(s){
          var str="";
          var list = eval(s).Auction;
          if(list!=null){
              for(var i=0;i<list.length;i++){
                str+="恭喜 <strong style='color:red'>"+ list[i].UserName + "</strong> 在 " + list[i].EndAt + " 获得了 <a href='/auctionended.aspx?auctionid=" + list[i].ID + "'><strong style='color:red'>" + list[i].Active+"</strong></a> ";
              }
              $("Anounce").innerHTML=str;
          }
    }
}
KL.Favorite =function(Type,AuctionID){
    var auc = new Array();
    auc["Type"]=Type;
    auc["AuctionID"]= AuctionID;
    new Ajax().Post("/ajax/favoritehandler.ashx",auc,callback);
    function callback(s){
        if(s=="True"){
            Type=="Add"?alert("收藏成功！"):alert("删除成功！");
            if(Type!="Add")
              location.reload();
        }
        else if(s=="False")
           Type=="Add"?alert("您已收藏过！"):alert("删除失败");
        else
           alert(s);
    }
}
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 ="100px";
              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){
       switch(s)
       {
           case "Success":break;
           case "NoBid":if(confirm('您的点数不足，需要充值？')) location.href="/user/buy.aspx";break;
           case "NoLive":alert("该拍卖已结束或未开始！");break;
           case "IsBeginner":alert("您已经不是新手了！");break;
           case "0":if(confirm('你没有登陆，需要登陆？')) location.href="/login.aspx?url=" +escape(location.href);break;
       }
       if(s!="0"){
           var user = new Array();
           user["Action"]="Check";
           new Ajax().Post("/ajax/loginhandler.ashx",user,calluser);
       }
       
   }
   function calluser(s){
     KL.User = eval(s).User[0];  
     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){   
        var list = eval(json);
        if(list.Auction == undefined) return;
      var Auction = list.Auction[0];
      if(Auction==null)
        return;
      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[0]+"天"+t[1];break;
          case 2:ts = t[0];break;
          default:ts =t;break;
      }
      try{
      Timer.innerHTML = ts;
      if(ts.indexOf("00:00")>-1 && parseInt(ts.split(':')[2])<11){
           Timer.style.color ="#ff0000";
           $("LiveImg").style.display = "";
      }
      else{
           Timer.style.color ="#009933";
           $("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=="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){   
       var list = eval(json);
       if(list.Auction){
           for(var i=0;i<list.Auction.length;i++){
                  var Auction = list.Auction[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[0]+"天"+t[1];break;
                      case 2:ts = t[0];break;
                      default:ts =t;break;
                  }
                  try{
                      Timer.innerHTML = ts;
                      if(ts.indexOf("00:00")>-1 && parseInt(ts.split(':')[2])<11)
                           Timer.style.color ="#ff0000";
                      else
                           Timer.style.color ="#009933";
                  }
                  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
   }//end callback
}
//////////////注册///////////////
KL.CheckReg = function(obj,type){
   obj.className = "";
   var user = new Array();
   user["Action"]=type;
   user["Value"]=escape(obj.value);
   
   //字符串
   var ok;
   var error;
   switch(type)
   {
     case "Name":ok="恭喜您！该用户名可以使用！"; error="很抱歉！该用户名已经被占用！";break;
     case "Email":ok="恭喜您！该Email可以使用！"; error="很抱歉！该Email已经被使用过！";break;
     case "Mobile":ok="获取成功！"; error="该号码被用过！";break;
     case "Code":ok="验证码正确！"; error="验证码错误！";break;
   }
   //客户端验证
   var exp;
   switch(type)
   {
       case "Email":exp=/^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/;break;
       case "Mobile":exp=/^[0-1](\d){10,11}$/;break;
       case "Name":exp=/(^[0-1](\d){10,11}$)|(\')|(\,)|(\<)|(\>)|(\\)|(\&)|(\@)|(\s)/g;
       break;
       case "Code":exp=/^.+$/;break;
   }
   if(type!="Name")
   {
        if(exp.test(obj.value)){
           $("_" + obj.id).innerHTML="";
           $("_" + obj.id).className = "Load";
           new Ajax().Post("/ajax/reghandler.ashx",user,callback);
           
        }
        else{
           $("_" + obj.id).innerHTML ="格式错误！"; 
           $("_" + obj.id).className="Alert";
        }
   }
   if(type=="Name"){
       if(!exp.test(obj.value)  && obj.value.length>=2 && obj.value.length<12 && checkname(obj.value)==true ){
           $("_" + obj.id).innerHTML="";
           $("_" + obj.id).className = "Load";
           new Ajax().Post("/ajax/reghandler.ashx",user,callback);
        }
        else{
           $("_" + obj.id).innerHTML ="格式错误！"; 
           $("_" + obj.id).className="Alert";
        }
   }
   function checkname(str){
exp=/[^\w]/gi;
if(str.search(exp)!=-1)
{return false;}
return true;
}
   function callback(s){
      switch(s)
      {
         case "False":  $("_" + obj.id).innerHTML =error; $("_" + obj.id).className="Alert";break;
         case "True": 
             $("_" + obj.id).innerHTML =ok; $("_" + obj.id).className="OK";
             switch(type)
             {
                case "Name":KL.CheckInfo.Name=true;break;
                case "Email":KL.CheckInfo.Email=true;break;
                
             }
             break;
        default:$("_" + obj.id).innerHTML =""; $("_" + obj.id).className="";alert(s); break;
      }
      if(type=="Mobile" && s!="False"){
                $("btnA").disabled=true;
                KL.Interval= setInterval("KL.PhoneLoop()",1000);
           }
   }
}
KL.PhoneLoop=function(){
   if(KL.PhoneTime>0){
     $("btnA").value=KL.PhoneTime+"获取验证码";
   //  $("btnB").value=KL.PhoneTime+"通知客服";
     KL.PhoneTime--;
   }
   else{
      clearInterval(KL.Interval);
      $("btnA").value="获取验证码";
      $("btnA").disabled=false;
      $("btnB").disabled=false;
      $("btnB").value="通知客服";
   }
}
KL.SendAdmin=function(){
    var mobile=new Array();
    mobile["Action"]="SendAdmin";
    mobile["Value"]=$("Mobile").value;
    new Ajax().Post("/ajax/mobilehandler.ashx?r=" +  Math.random(),mobile,callback);
    function callback(str){
       alert(str);
    }
   
}
KL.CheckPass = function(obj){
   $("CheckPass").style.visibility="visible";
   obj.className = "";
   var s = obj.value.checkStrong();
   switch(s){
       case 0:
       case 1: $("CheckPass").className="CheckPass";break;
       case 2: $("CheckPass").className="CheckPass1";break;
       case 3: $("CheckPass").className="CheckPass2";break;
   }
}
KL.CheckRepeatPass =function (obj,aim){
   var s = (obj.value == $(aim).value);
   if(s && obj.value!=""){
       $("_" + obj.id).innerHTML ="填写正确！";
       $("_" + obj.id).className="OK";
       KL.CheckInfo.Password=true;
   }
   else{
       $("_" + obj.id).innerHTML ="填写错误！";
       $("_" + obj.id).className="Alert";
   }
}
KL.CheckInfo={
   Name:false,
   Password:false,
   Email:false
}
KL.CheckForm=function(){
      KL.CheckReg($("Name"),"Name");
   if($("Password").value==""){
      KL.CheckPass($("Password"));
      KL.CheckRepeatPass($("Repeat"),'Password');
   }
    //  KL.CheckReg($("Email"),"Email");
   if(KL.CheckInfo.Name&&KL.CheckInfo.Password)
   //&&KL.CheckInfo.Email
      return true;
   else{
      window.scrollTo(0,200);
      return false;
   }
}
KL.SelectCategory=function(obj){
  var o = SP.Element.Info(obj);
  var _top = o.top +27 + "px";
  var _left = o.left +1  +"px";
  var _html = $("Category").innerHTML;
  var num = $("Category").getElementsByTagName("P").length;
  var _height = num*25+"px";
  if(!$("SelectCategory")){
      var o = SP.Element.Create("DIV","SelectCategory", _top, _left, "222px", _height ,"#fff",1 ,_html);
      o.onmouseout=function(e){
         if(!this.contains(SP.toElement(e)))
           this.style.display="none";
      }
  }
  else
     $("SelectCategory").style.display="";
  if($("SelectCategory") && $("SelectCategory").style.display==""){
     obj.onmouseout =function(e){
        if(! $("SelectCategory").contains(SP.toElement(e)))
          $("SelectCategory").style.display="none";
     }
  }
     
}
var Request = {
    Url : null  ,
    // 获取url对象，区分大小写
    QueryString : function(key){   
        var url;
        if(this.Url == null) 
            url = location.href;
        else
            url = this.Url;
        url = url.indexOf('?') == -1 ? url : url.substring(url.indexOf('?') + 1);
        var q = url.split('&');
        for(i=0; i<q.length; i++){
            var s = q[i].split("=");
            if(s.length == 2){
                if(s[1].substring(s[1].length-1) == "#")
                     s[1] = s[1].substring(0,s[1].length-1);
                if(s[0] == key) return s[1];
            }
        }
        return "";
    }   ,
    Host : function(){
        var url = location.href.toLowerCase().replace("http://","");
        return url.indexOf("/") == -1 ? url : url.substring(0, url.indexOf("/"));
    }
}