// JavaScript Document

var RateNowWinow = Class.create();
RateNowWinow.prototype = 
{
	initialize: function(musicId,targetID) 
	{
		this.musicId=musicId;
		this.WinId="__RateWindow";
		this.mainWindowId="__RateMainWindow";
		this.FrameId="__RateFrameWindow";
		this.MessageId="__RateMessage";
		this.RateId="Rate";
		this.CommentID="Coment";
		this.left=-1;
		this.isSubmitting=false;
		this.isInstanceExist=false;
		this.avgRateId="";
		
	},
    resetWindow: function(type,targetID,avgRateId,musicId)
    {
        this.musicId=musicId;
        this.createInstance();
        this.clear();
        this.avgRateId=avgRateId;
        $(targetID).absolutize();
        
        this.width=200;
        this.height=93;
        this.type=type;
       
        if(this.left==-1)
        {
           this.left=parseFloat($(targetID).style.left) - this.width + 75; 
        }
        
        this.top=parseFloat($(targetID).style.top);
               
        $(this.WinId).setStyle({
                    'z-index': "+10000" ,
                    'left': this.left + "px",
                    'top': this.top + "px", 
                    'width': this.width + "px",
                    'height': this.height + "px"
                    });
         
        
        
        $(this.WinId).show();
        this.clear();
    },
    
	onSubmit: function()
	{
		this.isSubmitting=true;
        var self=this;
		
	    var strURL="ajaxserver/RatePost.aspx";

	    var rate=getCheckedValue(document.rateForm.Rate);
	    if(rate=="")
	    {
	        alert("Please choose one");
	        return false;
	    }
	    
	    $(this.MessageId).innerHTML="Wait, please...";
	    var myAjax =new Ajax.Request(strURL,{
					method: 'post',
					parameters: 
					{ 
						Id: this.musicId,
						Rate:rate,
						Type:this.type,
						Comment: $(this.CommentID).value
		 			}, 
					onComplete: function(transport) 
					{    
						//alert(transport.status);
						if (200 == transport.status)
						{
						   ///alert(transport.responseText);
		                    var arrResponse=transport.responseText.split(":");
		                    var error=arrResponse[0];
		                    var errorMessage=arrResponse[1];
		                    var Rate=arrResponse[2];
		                    
						    if(parseFloat(error) !=0)
						    {
						        $(self.MessageId).innerHTML=errorMessage;
						        
							    //self.close();
						    }
						    else
						    {
						         var intRate =parseInt(Rate * 20.0);
						         
						       var strRateStar= "<span>" + Rate + "</span>" + "<div id=\"main_container\">";
                                    strRateStar +="<div id=\"img_star_rating\"><img src=\"images/spacer.gif\" alt=\"\" width=\"1\" height=\"1\" border=\"0\" /></div>";
                                    strRateStar += "<div id=\"rating_color\" style=\"width:" + intRate.toString() + "%\"><img src=\"images/spacer.gif\" alt=\"\" width=\"1\" height=\"1\" border=\"0\" /></div></div>";

						        $(self.avgRateId).innerHTML=strRateStar;
						        self.clear();
							    self.close();
						    }
						}
						else
						{
						    $(self.MessageId).innerHTML=transport.responseText;
							//showAjaxError(transport.status, transport.responseText);
						}
					}
					
				});
		
	        return false;
	},
	close: function()
	{
        $(this.WinId).hide();
	},
	onCancel: function()
	{
		this.close();
	},
	
	createInstance: function ()
	{
        if(this.isInstanceExist==false)
        {
            //<iframe id='"+this.FrameId+"' frameborder='0' scrolling='no' src='images/spacer.gif' width='200' height='93'></iframe>\
		    var content="\
		      <div  class='rate_outer' id='"+this.mainWindowId+"'>\
			    <div class='rate_border'>\
				     <b class='rate_top'> <b class='rate_lb1'></b> <b class='rate_lb2'></b> <b class='rate_lb3'></b> <b class='rate_lb4'></b></b>\
			  	     <div class='rate_content'>\
					    <div class='rate_text'>\
					      <form method='post' name='rateForm'>\
					      <div id='"+this.MessageId+"' class='rate_message'></div>\
                          <div >\
                                <div>\
                                <div align='left' class='rate_text'>\
                                    <table border='0' cellspacing='1' cellpadding='0'>\
                                      <tr>\
                                        <td><input name='"+ this.RateId +"' type='radio' value='1' /></td>\
                                        <td><input name='"+ this.RateId +"' type='radio' value='2' /></td>\
                                        <td><input name='"+ this.RateId +"' type='radio' value='3' /></td>\
                                        <td><input name='"+ this.RateId +"' type='radio' value='4' /></td>\
                                        <td><input name='"+ this.RateId +"' type='radio' value='5' /></td>\
                                      </tr>\
                                      <tr>\
                                        <td align='center'>1</td>\
                                        <td align='center'>2</td>\
                                        <td align='center'>3</td>\
                                        <td align='center'>4</td>\
                                        <td align='center'>5</td>\
                                      </tr>\
                                    </table>\
                                </div>\
                                <div align='left' class='rate_text'>\
                                    <input name='"+this.CommentID+"' id='"+this.CommentID+"' type='text' class='textfield'  size='20' maxlength='80' />\
                                </div>\
                                <div  align='left' class='rate_text'>\
                                    <input type='button' name='Button' value='Submit' class='submit' onClick='javascript: rateObj.onSubmit();' />&nbsp;\
                                    <input type='button' name='btnCancel' value='Cancel' class='submit' onClick='javascript: rateObj.onCancel();'>\
                                </div>\
                              </div>\
                          </div>\
                          </form>\
					    </div>\
			         </div>\
				     <b class='rate_bottom'> <b class='rate_lb4'></b> <b class='rate_lb3'></b> <b class='rate_lb2'></b> <b class='rate_lb1'></b> </b>\
			      </div>\
		      </div>";
		      
		    //$(BodyId).insert({bottom: new Element('DIV', {id: this.WinId })});
		    $(BodyId).insert({bottom: "<div id='"+this.WinId+"' style='z-index: 5;'></div>"});
		    $(this.WinId).innerHTML=content;
		   
		    $(this.WinId).absolutize();
		    // $(this.FrameId).absolutize();
		    this.isInstanceExist=true;
		 }		    
	},
	
	clear: function ()
	{
		resetRadioOption(document.rateForm.Rate);
	    $(this.CommentID).value="";
	    $(this.MessageId).innerHTML="";
	}
	
};