﻿/*
* copyright : Openv
* author : L.Rain
* @example:
*   var rating_option = {
*     pid : 12456,		  //视频id
*     star_img : "http://img.openv.tv/hd/images/xing.jpg",  //星图片地址
*     score_color : "#66AE3D" ,   //分数显示的颜色
*     score_size: 18 ,            //分数显示的大小 ( 默认单位为px )
*     font_color: "#999" ,        //文字现在的颜色
*     rating_xpostion: -202 ,     //星在背景图片的 postion X轴位置  ( 默认单位为px )
*     rating_ypostion: -24 ,      //星在背景图片的 postion Y轴位置
*     rating_starwidth : 20 ,      //星的宽度
*     rating_starheight : 23      //星的高度
*  }
*/
var rating = {
    isRating : false,
    rankClass : "rank",
    timer: '',
    init: function(){
        jQuery("a", "#ratingstar").each(function(){
            var t = $(this);
            t.mousemove(function( event ){
          		   rating.showRank( event )
          	}).mouseout(function(){
          		   rating.clearRank();
          	}).click(function(){
          	     //rating.setRank();
          	     $.kg();
          	     return false;
          	});
        })
    },
    getRating: function( s ){
          var rank = this.format( s );
          $("#ratingnum").html("<strong id=\"ratingscore\">" + rank + "</strong>");
          $("#rank").html( rank +"分" ).removeClass().addClass("rank"+(rank*10)).css("display","block");
    },
    getMsg: function(rank){
    	var msg;
      switch (Math.ceil( rank/10 )) {
      		case 0:msg="";break;
          case 1:case 2: msg = "讨厌"; break;
          case 3:case 4: msg = "一般"; break;
          case 5:case 6: msg = "很好"; break;
          case 7:case 8: msg = "喜欢"; break;
          case 9:case 10: msg = "酷爱"; break
      } 
      return msg;       
    },
    showRank: function( event ){
        if ( this.timer )   clearTimeout( this.timer );
        if( this.isRating ){
            $("#ratingnote").html("您已经参加了评分!");
            return;
        }
        var e =  window.event ? window.event : event;
        e.pageX = e.x  ? e.x+document.documentElement.scrollLeft  : e.pageX;

        var len =  e.pageX - this.fetchOffset($("#ratingstar")[0]).left;
        var b = parseInt( len / 10 + 1 ) * 5;
        var rankclass = this.rankClass + b ;
             
        //$("#ratingtext").html(this.getMsg(b));
        $("#ratingnum").html(b/10);
        $("#rank").removeClass().addClass( rankclass );
    },
    clearRank: function(){
      rating.timer = window.setTimeout(function(){
           if( !rating.isRating ){
           	var b=parseFloat( $("#rank").text() );
           	//$("#ratingtext").html(rating.getMsg(b));
              $("#ratingnum").html(   parseFloat( $("#rank").text() ) );
              $("#rank").removeClass().addClass("rank"+( parseFloat( $("#rank").text() )*10 ) );
           }else{
           		var b= $("#rank")[0].className.match(/\d+/)[0];
           		//$("#ratingtext").html(rating.getMsg(b));
              $("#ratingnum").html(   ( b/10 )  );
           }
           $("#ratingnote").html("");
       },300);
    },
    setRank: function( s ){
        if( !rating.isRating ){
        	var s = $("#rank")[0].className.match(/\d+/)[0];
        	var num=s/10;        	
        	rpc.addrecord($("#df_kg").attr("uid"),1,num,function(result){	       
          	if (result){
          		alert(result);
          		if(result==0){
					  		fastlogin('login','','','fastcallback_kg');
					  	}else{
                  
                  $("#ratingnote").html('谢谢您的参与!');
                  $("#rank").removeClass().addClass("rank"+s);
                  rating.isRating = true;                  
                  $.kg();
              }
            }else{
               throw new Error("datebase connection error!!");
            }
          });
        }
    },
    fetchOffset : function( obj ) {
    		var left_offset = obj.offsetLeft;
    		var top_offset = obj.offsetTop;
    		while((obj = obj.offsetParent) != null) {
    			left_offset += obj.offsetLeft;
    			top_offset += obj.offsetTop;
    		}
    		return { 'left' : left_offset, 'top' : top_offset };            
    },
    format : function( s ){
        var num=0, endnum=0;
        if( s ){
            num = Math.floor(s);
            endnum = parseInt(s*10-num*10);
            if(endnum != 0){
                if(  endnum >= 1 && endnum <= 5 ){
                    endnum = 5;
                }else{
                    num++;
                    endnum = 0;
                }
            }
        }
        return num+endnum/10;
    },
    getVal: function(opt, defaultValue){
        return (typeof opt == 'undefined') ? defaultValue : opt;
    }
};
rating.pid = rating.getVal( rating_option.pid ,'1');
rating.rating_imghref = rating.getVal(rating_option.star_img,'images/xing_white.jpg');
rating.rating_numcolor = rating.getVal( rating_option.score_color,'#66AE3D');
rating.rating_numsize = rating.getVal( rating_option.score_size ,'18');
rating.rating_color = rating.getVal( rating_option.font_color ,'#999');
rating.rating_xpostion = rating.getVal( rating_option.fullstar_postion ,'-202');
rating.rating_ypostion = rating.getVal( rating_option.fullstar_postion ,'-24');
rating.rating_starwidth = rating.getVal( rating_option.rating_starwidth ,'20');
rating.rating_starheight = rating.getVal( rating_option.rating_starheight ,'23');
rating.rating_nums = rating.getVal( rating_option.rating_nums ,'0');
var output = '<style type="text/css">\
#ratingstar a,#ratingstar a:hover{text-decoration:none;outline:none;}\
#rating{font-size:12px;color:'+rating.rating_color+';width:300px;float:left;margin:0 0 10px 0;}\
#rating .rating_mark{float:left; width:100px;margin:0 0;height:20px;background:#fff repeat-x left top;}\
.rating #ratingstar *{background:transparent url('+rating.rating_imghref+') no-repeat scroll 0pt 0pt; height:20px ; width:198px;display:block;text-indent:-3000px;overflow:hidden; border:0px solid red}\
.rating #ratingstar .rank0 {background-position: -202px -24px }\
.rating #ratingstar .rank5 {background-position: -182px -24px }\
.rating #ratingstar .rank10 {background-position: -182px -1px }\
.rating #ratingstar .rank15 {background-position: -162px -24px }\
.rating #ratingstar .rank20 {background-position: -162px -1px }\
.rating #ratingstar .rank25 {background-position: -142px -24px }\
.rating #ratingstar .rank30 {background-position: -142px -1px }\
.rating #ratingstar .rank35 {background-position: -122px -24px }\
.rating #ratingstar .rank40 {background-position: -122px -1px }\
.rating #ratingstar .rank45 {background-position: -102px -24px }\
.rating #ratingstar .rank50 {background-position: -102px -1px }\
.rating #ratingstar .rank55 {background-position: -82px -24px }\
.rating #ratingstar .rank60 {background-position: -82px -1px }\
.rating #ratingstar .rank65 {background-position: -62px -24px }\
.rating #ratingstar .rank70 {background-position: -62px -1px }\
.rating #ratingstar .rank75 {background-position: -42px -24px }\
.rating #ratingstar .rank80 {background-position: -42px -1px }\
.rating #ratingstar .rank85 {background-position: -22px -24px }\
.rating #ratingstar .rank90 {background-position: -22px -1px }\
.rating #ratingstar .rank95 {background-position: -2px -24px }\
.rating #ratingstar .rank100 {background-position: -2px -1px }\.rating #ratingstar img{border:0px; border:1px solid #ccc}\
#rating .comment{margin-top:5px}\
#rating .comment a:link,#rating .comment a:visited {color:#668800;text-decoration:underline;}\
</style>\
<div class="rating" id="rating">\
	<div class="rating_mark">综合评分: <span class="orange" id="ratingnum" num=""></span></div>\
	<div class="clear1" ></div>\
  <div id="ratingstar">\
  	<a class="" id="rank"></a>\
  </div>\
  <div class="comment"><a href="javascript:getTabReply();">共有 '+rating.rating_nums+' 条评论</a></div>\
  <div class="comment"><a href="reply.php?pid='+rating.pid+'">发表评论<a></div>\
</div>';
document.write(output);
rating.init();
rating.isRating = true;
