function getEvent() //同时兼容ie和ff的写   

  

{   

  

    if(document.all)   return window.event;   

  

    func=getEvent.caller;   

  

    while(func!=null){   

  

        var arg0=func.arguments[0];   

  

        if(arg0)   

  

        {   

  

            if((arg0.constructor==Event  || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))   

  

            {   

  

                return arg0;   

  

            }   

  

        }   

  

        func=func.caller;   

  

    }   

  

    return null;   

  

}   

  

  

  

function getMouseWithinX(){   

  

    e = getEvent();   

  

    var mouseX = 0;   

  

    var mouseY = 0;   

  

//Firefox 虽然 layerY 还不准，但至少 layerX 准了，现在只用横轴的值就够   

  

    if(navigator.userAgent.indexOf("Firefox")!=-1){   

  

        return e.layerX;   

  

    }   

  

    //IE 用 offsetX, offsetY 表示鼠标相对所在元素的位置   

  

    else{   

  

    return e.offsetX;   

  

    }   

  

}   

  

  

  

var page=   

  

{   

  

    $:function(el)   

  

    {   

  

        return document.getElementById(el);   

  

    },   

  

    starHover:function(obj)   

  

    {   

  

        var mousex = getMouseWithinX();   

  

        //当前对象的宽用 clientWidth   

  

        var intStar = Math.ceil(5 * (mousex / obj.clientWidth));   

  

        var widthStar = intStar * obj.clientWidth / 5;   

  

        var hover = obj.id+'_hover';    //由 HTML 固定写出显示星星的内部层了，其名字是外部层id加_hover   

  

        obj.title=intStar+'/5';   

  

        var objHover = this.$(hover);



		var message = document.getElementById('inputtext');

  

        objHover.className="ratingstar_hover";   

		

		if(intStar == "") {

			message.innerHTML = "Click to rate product";

		} 

		else if(intStar == 1) {

			 message.innerHTML= "Not Good";

		}

		else if(intStar == 2) {

			message.innerHTML = "Needs That Special Something";

		}

		else if(intStar == 3) {

			message.innerHTML = "Average, Ordinary";

		}

		else if(intStar == 4) {

			message.innerHTML = "That's Good Stuff";

		}

		else if(intStar == 5) {

			message.innerHTML = "Perfect. It doesn't get any better";

		}



        objHover.style.width = widthStar+'px';  //动态设置宽度要加上 px 字样！   

  

    },   

  

    starOut:function(obj, container)   

  

    {   

  

        //鼠标移出时读一下表单项中设定的值，根据那值固定下星星显示的情况   

  

        if(this.$(container))   

  

        var intStar = this.$(container).value;   

  

        var widthStar = intStar * obj.clientWidth / 5;   

  

        var hover = obj.id+'_hover';    //由 HTML 固定写出显示星星的内部层了，其名字是外部层id加_hover   

  

        var objHover = this.$(hover); 



		var message = document.getElementById('inputtext');

  

        objHover.className="ratingstar_set";  

		

		if(intStar == "") {

			message.innerHTML = "Click to rate product";

		} 

		else if(intStar == 1) {

			 message.innerHTML= "Not Good";

		}

		else if(intStar == 2) {

			message.innerHTML = "Needs That Special Something";

		}

		else if(intStar == 3) {

			message.innerHTML = "Average, Ordinary";

		}

		else if(intStar == 4) {

			message.innerHTML = "That's Good Stuff";

		}

		else if(intStar == 5) {

			message.innerHTML = "Perfect. It doesn't get any better";

		}

  

        objHover.style.width = widthStar+'px';  //动态设置宽度要加上 px 字样！   

  

    },   

  

    starSet:function(obj, container)   

  

    {   

  

        var mousex = getMouseWithinX(); 

		var message = document.getElementById('inputtext');

  

        var intStar = Math.ceil(5 * (mousex / obj.clientWidth));   

  

        var widthStar = intStar * obj.clientWidth / 5;   

  

        var hover = obj.id+'_hover';   

  

        var objHover = this.$(hover);   

  

        objHover.className="ratingstar_set";   

  

        objHover.style.width = widthStar+'px';  //动态设置宽度要加上 px 字样！   

  

        if(this.$(container))   

  

        this.$(container).value=intStar; 

		

		if(intStar == "") {

			message.innerHTML = "Click to rate product";

		} 

		else if(intStar == 1) {

			 message.innerHTML= "Not Good";

		}

		else if(intStar == 2) {

			message.innerHTML = "Needs That Special Something";

		}

		else if(intStar == 3) {

			message.innerHTML = "Average, Ordinary";

		}

		else if(intStar == 4) {

			message.innerHTML = "That's Good Stuff";

		}

		else if(intStar == 5) {

			message.innerHTML = "Perfect. It doesn't get any better";

		}

  

 }    

}   
