var RATINGSWIDGET_IMG_ROOT = 'images/';
var RATINGSWIDGET_SET_PAGE = 'http://www.cafe-bitch.com/putrate.php';
var RATINGSWIDGET_SET_LOGIN = 'http://www.cafe-bitch.com/putrate.php';

var RATINGSWIDGET_SET_PAGE = 'http://localhost/entprt/putrate.php';
var RATINGSWIDGET_SET_LOGIN = 'http://localhost/entprt/putrate.php';
var USERSESSION = 'false';

// This is the color that you will rate on.
var RATINGSWIDGET_TYPE_COLOR = 2;
// This is the number of colors that should be selected
var RATINGSWIDGET_TYPE_MAX = 2;

// These are the values associated with the size of the rating widget
var RATINGSWIDGET_HEIGHT = 16;
var RATINGSWIDGET_WIDTH = 80;

// Storing and preloading of ratingwidget images
var RatingWidgetImages;
var RatingWidgetMyRatingImage;
var RatingWidgetMemberRatingImage;

function RatingWidgetImageName(starColor, n) 
{
	if(n == -1)
	{
		return RATINGSWIDGET_IMG_ROOT + "stars_" + starColor + "_notinterested.gif";
	}
	
    return RATINGSWIDGET_IMG_ROOT + "stars_" + starColor + "_" + n + ".gif";
}

function RatingWidgetImage(starColor, numStars) {
	if( !RatingWidgetImages[starColor][numStars] ){
       RatingWidgetImages[starColor][numStars] = new Image(RATINGSWIDGET_WIDTH, RATINGSWIDGET_HEIGHT);
       RatingWidgetImages[starColor][numStars].src = RatingWidgetImageName(starColor, numStars);
	}
    return RatingWidgetImages[starColor][numStars].src;
}

function RatingWidgetPreload() {
    if (! RatingWidgetImages) {
        RatingWidgetImages = new Array();
        for (var j = 0; j <= RATINGSWIDGET_TYPE_MAX; j++) {
            RatingWidgetImages[j] = new Array();
        }
        for (var j = 1; j <= RATINGSWIDGET_TYPE_COLOR; j++) {
        
            for (var i = 0; i <= 10; i++) {
                RatingWidgetImages[j][i*5] = new Image(RATINGSWIDGET_WIDTH, RATINGSWIDGET_HEIGHT);
                RatingWidgetImages[j][i*5].src = RatingWidgetImageName(j,i*5);
                
            }
        }

        RatingWidgetMyRatingImage = new Image(RATINGSWIDGET_WIDTH, RATINGSWIDGET_HEIGHT);
        RatingWidgetMyRatingImage.src = RATINGSWIDGET_IMG_ROOT + "my_rating.gif";
        RatingWidgetMemberRatingImage = new Image(RATINGSWIDGET_WIDTH, RATINGSWIDGET_HEIGHT);
        RatingWidgetMemberRatingImage.src = RATINGSWIDGET_IMG_ROOT + "member_rating.gif";

        RatingWidgetEnabled = true;
    }
}

// State Info about all the RatingWidgets on the page
var RatingWidgetCount = 0;
var RatingWidgetItemIds = new Array();
var RatingWidgetTypes = new Array();
var RatingWidgetNumStars = new Array();
var RatingWidgetValidate = new Array();
var RatingWidgetTimers = new Array();
var RatingWidgetmediaType = new Array();
var RatingWidgetHeading = new Array();
var RatingWidgetLastEntered = -1;
var RatingWidgetEnabled = false;
var RatingWidgetChangeState = new Array();
var RatingWidgetUSERID = new Array();
var RatingWidgetRATEDITEMID = new Array();
var RatingWidgetCOLUMNNAME = new Array();
var RatingWidgetTABLENAME = new Array();
var RatingWidgetOverallrating = new Array();

function RatingWidgetMouseOver(imgNum, whichStar) {
    // Cancel any background request to restore this image.
	RatingWidgetChangeState[imgNum] = true;
    if (RatingWidgetTimers[imgNum] != 0) {
        window.clearTimeout(RatingWidgetTimers[imgNum]);
        RatingWidgetTimers[imgNum] = 0;
    }
    RatingWidgetLastEntered = imgNum;
    // Make the RatingWidget show appropriate feedback.
    
    if(RatingWidgetHeading[imgNum] != 0){
    document.images["ratingHeader" + imgNum].src = RatingWidgetMyRatingImage.src;
	}
    if (whichStar > -1) {
        document.images["RatingWidget"+imgNum].src = RatingWidgetImage(RATINGSWIDGET_TYPE_COLOR, whichStar);
    }
    if (whichStar == -1){
    	document.images["RatingWidget"+imgNum].src = RatingWidgetImage(RATINGSWIDGET_TYPE_COLOR, whichStar);
    }
    
  	

    return false;
}

function RatingWidgetClick(whichStar) {

    var itemId;
    var rateHref;
    var rateWindow;
    var mediaType;
    var imgNum = RatingWidgetLastEntered;
    
	if(USERSESSION == 'false')
	{
		alert("Please register to use this feature or enter your login details if already registered.");
		return void(0);
		//window.location.href = RATINGSWIDGET_SET_LOGIN;
	}
    RatingWidgetEnabled = false;
    itemId = RatingWidgetItemIds[imgNum];
    mediaType = RatingWidgetmediaType[imgNum];
    // Update the saved state of the RatingWidget and the display

	//rateHref = "?fuseaction=ranking&titleID="+itemId+"&rating="+whichStar+"&mediaType="+mediaType;
	//rateHref = "?fuseaction=ranking&rating="+whichStar+"&pageid="+itemId;
	
	//RatingWidgetTypes[imgNum] = RATINGSWIDGET_TYPE_COLOR;
	//RatingWidgetNumStars[imgNum] = whichStar;
	
	//RatingWidgetTypes[imgNum] = 1;
	//RatingWidgetNumStars[imgNum] = whichStar;
	
	if(RatingWidgetValidate[imgNum] == 1)
	{
		document.WriteReviewForm.ratingChecked.value='true';
	}
	xajax_setratewidgetimage(imgNum,whichStar,RatingWidgetUSERID[imgNum],RatingWidgetRATEDITEMID[imgNum],RatingWidgetCOLUMNNAME[imgNum],RatingWidgetTABLENAME[imgNum],RatingWidgetOverallrating[imgNum]);
	
	//RatingWidgetTypes[imgNum] = RATINGSWIDGET_TYPE_COLOR;
	
	window.setTimeout("RatingWidgetNumStars["+imgNum+"] = document.frmWidget" + imgNum + ".idNumStars" + imgNum + ".value; RatingWidgetRestore("+imgNum+");",300);
	
	
	//rateHref = RATINGSWIDGET_SET_PAGE + rateHref;
	//rateHref = RATINGSWIDGET_SET_PAGE;
	//alert(rateHref);
	
	//RatingSubmitImage = new Image(80, 16);
    //RatingSubmitImage.src = rateHref;
	RatingWidgetRestore(imgNum)
	RatingWidgetEnabled = true;
	RatingWidgetChangeState[imgNum] = false;
	RatingWidgetLastEntered = -1;
	return void(0);
}

function RatingWidgetRestore(imgNum) {

    document.images["RatingWidget"+imgNum].src = RatingWidgetImage(RatingWidgetTypes[imgNum], RatingWidgetNumStars[imgNum]);
    
    if(RatingWidgetHeading[imgNum] != 0){
    	if(RatingWidgetTypes[imgNum] == 1)
    	{
    		document.images["ratingHeader" + imgNum].src = RatingWidgetMemberRatingImage.src;
		}else{
			document.images["ratingHeader" + imgNum].src = RatingWidgetMyRatingImage.src;
		}
	}
	
    if (RatingWidgetLastEntered == imgNum) {
        RatingWidgetLastEntered = -1;
    }

}

function RatingWidgetMouseOut(whichStar) {
    // Restore the image to the saved state, once a little time has elapsed.
    var imgNum = RatingWidgetLastEntered;
    if (imgNum < 0) {
        return void(0);
    }
	if(RatingWidgetChangeState[imgNum]) {
	    if (! RatingWidgetTimers[imgNum]) {
    	    RatingWidgetTimers[imgNum] = window.setTimeout("RatingWidgetRestore("+imgNum+")", 100);
    	}
	}
}

function RatingWidgetCreate(imgNum, itemId, starColor, numStars, heading) {
    with (document) {
    write("<table cellspacing=0 cellpadding=0 border=0 >");
    	if (heading == 1){
    		if(starColor == 1){
  
    			write("<tr><td><img id='ratingHeader" + imgNum + "' name='ratingHeader" + imgNum + "' src='"
                  + RATINGSWIDGET_IMG_ROOT + "member_rating.gif"
                  + "' width=80 height=16 border=0></td>");
    		}else if (starColor == 2){
    			write("<tr><td><img id='ratingHeader" + imgNum + "' name='ratingHeader" + imgNum + "' src='"
                  + RATINGSWIDGET_IMG_ROOT + "my_rating.gif"
                  + "' width=80 height=16 border=0></td>");
             }
    	}
        if (itemId < 0) {
            // If an Item is negative this makes the bar disabled...
            write("<td><img src='"
                  + RatingWidgetImage(starColor, numStars)
                  + "' width=80 height=16 border=0></td></tr>");
        } else {
          
                   write("<td class='link'><map name='RatingWidget"
                  + imgNum
                  + "'>"
                  + "<area onClick='javascript:RatingWidgetClick(-1);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",-1);' onMouseOut='RatingWidgetMouseOut(-1);' shape='rect' coords='0,0,14,16'>"
                  
                  + "<area onClick='javascript:RatingWidgetClick(5);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",5);' onMouseOut='RatingWidgetMouseOut(5);' shape='rect' coords='14,0,20,16'>"
                  
                  + "<area onClick='javascript:RatingWidgetClick(10);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",10);' onMouseOut='RatingWidgetMouseOut(10);' shape='rect' coords='20,0,27,16'>"
                  
                  + "<area onClick='javascript:RatingWidgetClick(15);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",15);' onMouseOut='RatingWidgetMouseOut(15);' shape='rect' coords='27,0,33,16'>"

                  + "<area onClick='javascript:RatingWidgetClick(20);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",20);' onMouseOut='RatingWidgetMouseOut(20);' shape='rect' coords='33,0,40,16'>"

                  + "<area  onClick='javascript:RatingWidgetClick(25);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",25);' onMouseOut='RatingWidgetMouseOut(25);' shape='rect' coords='40,0,46,16'>"
                  
                  + "<area  onClick='javascript:RatingWidgetClick(30);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",30);' onMouseOut='RatingWidgetMouseOut(30);' shape='rect' coords='46,0,53,16'>"
                  
                  + "<area  onClick='javascript:RatingWidgetClick(35);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",35);' onMouseOut='RatingWidgetMouseOut(35);' shape='rect' coords='53,0,59,16'>"
                  
                  + "<area  onClick='javascript:RatingWidgetClick(40);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",40);' onMouseOut='RatingWidgetMouseOut(40);' shape='rect' coords='59,0,66,16'>"

                  + "<area  onClick='javascript:RatingWidgetClick(45);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",45);' onMouseOut='RatingWidgetMouseOut(45);' shape='rect' coords='66,0,72,16'>"

                  + "<area  onClick='javascript:RatingWidgetClick(50);' onMouseOver='RatingWidgetMouseOver("
                  + imgNum
                  + ",50);' onMouseOut='RatingWidgetMouseOut(50);' shape='rect' coords='72,0,79,16'>"

                  + "</map><img id='RatingWidget" + imgNum + "' name='RatingWidget"
                  + imgNum
                  + "' usemap='#RatingWidget"
                  + imgNum
                  + "' src='"
                  + RatingWidgetImage(starColor, numStars)
                  + "' width=80 height=16 border=0><form name='frmWidget" + imgNum + "' style='margin:0px;padding:0px;' id='frmWidget" + imgNum + "'><input type='Hidden' value='"+RatingWidgetNumStars[imgNum]+"' id='idNumStars" + imgNum + "'></form></td></tr>");
                  
        }
        write("</table>");
    }
}

function RatingWidgetInsert(itemId, memberUser, numStars, validate, type, heading,USERID,RATEDITEMID,COLUMNNAME,TABLENAME,OVERALLRATING) {

    var imgNum = RatingWidgetCount++;
    if (itemId >= 0) {
        // Get orginal values
        RatingWidgetItemIds[imgNum] = itemId;
        RatingWidgetTypes[imgNum] = memberUser;
        RatingWidgetNumStars[imgNum] = numStars;
        RatingWidgetValidate[imgNum] = validate;
        RatingWidgetTimers[imgNum] = 0; 
        RatingWidgetmediaType[imgNum] = type;
        RatingWidgetHeading[imgNum] = heading;
		RatingWidgetUSERID[imgNum] = USERID;
		RatingWidgetRATEDITEMID[imgNum] = RATEDITEMID;
		RatingWidgetCOLUMNNAME[imgNum] = COLUMNNAME;
		RatingWidgetTABLENAME[imgNum] = TABLENAME;
		RatingWidgetOverallrating[imgNum] = OVERALLRATING;
		RatingWidgetChangeState[imgNum] = false;
   }
    
    RatingWidgetCreate(imgNum, itemId, memberUser, numStars, heading);

}

RatingWidgetPreload();


