var RATINGSOBJECT_IMG_ROOT	= '/images/ratings/';
var RATINGSOBJECT_POST_FORM	= 'frmRating';
var RATINGSOBJECT_SET_PAGE	= 'http://new.wholesalewarehousesupply.com/ratings.php';

// This is the color that you will rate on.
var RATINGSOBJECT_TYPE_COLOR = 2;
// This is the number of colors that should be selected
var RATINGSOBJECT_TYPE_MAX = 2;

// These are the values associated with the size of the rating object
var RATINGSOBJECT_HEIGHT = 16;
var RATINGSOBJECT_WIDTH = 86;

// Storing and preloading of ratingobject images
var RatingObjectImages;

function RatingObjectImageName(starColor, n) 
{
    return RATINGSOBJECT_IMG_ROOT + "rating_" + starColor + "_" + n + ".gif";
}

function RatingObjectImage(starColor, numStars) {
	if( !RatingObjectImages[starColor][numStars] ){
       RatingObjectImages[starColor][numStars] = new Image(RATINGSOBJECT_WIDTH, RATINGSOBJECT_HEIGHT);
       RatingObjectImages[starColor][numStars].src = RatingObjectImageName(starColor, numStars);
	}
    return RatingObjectImages[starColor][numStars].src;
}

function RatingObjectPreload() {
    if (! RatingObjectImages) {
        RatingObjectImages = new Array();
        for (var j = 0; j <= RATINGSOBJECT_TYPE_MAX; j++) {
            RatingObjectImages[j] = new Array();
        }
        for (var j = 1; j <= RATINGSOBJECT_TYPE_COLOR; j++) {
        
            for (var i = 0; i <= 10; i++) {
                RatingObjectImages[j][i*5] = new Image(RATINGSOBJECT_WIDTH, RATINGSOBJECT_HEIGHT);
                RatingObjectImages[j][i*5].src = RatingObjectImageName(j,i*5);
                
            }
        }

        RatingObjectEnabled = true;
    }
}

// State Info about all the RatingObjects on the page
var RatingObjectCount = 0;
var RatingObjectItemIds = new Array();
var RatingObjectTypes = new Array();
var RatingObjectNumStars = new Array();
var RatingObjectValidate = new Array();
var RatingObjectValidateMsg = new Array();
var RatingObjectTimers = new Array();
var RatingObjectmediaType = new Array();
var RatingObjectUserSet = new Array();
var RatingObjectBare = new Array();
var RatingObjectClicked = new Array();
var RatingObjectActionLink = new Array();
var RatingObjectLocked = new Array();
var RatingObjectLastEntered = -1;
var RatingObjectEnabled = false;

function ValidateRatings() {
	for (var j = 0; j < RatingObjectItemIds.length; j++){
		if ( RatingObjectValidate[j] == 1 ) {
			if ( RatingObjectNumStars[j] == 0 ) {
				var msg = RatingObjectValidateMsg[j];
				if ( msg == '' || msg == '1' ) msg = 'Selection #'+j+' ('+RatingObjectItemIds[j]+')';
				alert('Please rate the following: '+msg+'.\n\nYou may do this by clicking on the star\nof your choice. The higher number of \nstar clicked the higher the approval rating.');
				return(false);
			}
		}
	}
	return(true)
}
function GetRatingValues() {
	var values = '';
	for (var j = 0; j < RatingObjectItemIds.length; j++){
		if ( j > 0 ) values += '&';
		values += RatingObjectItemIds[j]+'='+RatingObjectNumStars[j];
	}
	return(values);
}
function GetRatingValue(imgId) {
	for (var j = 0; j < RatingObjectItemIds.length; j++){
		if ( RatingObjectItemIds[j] == imgId ) return(RatingObjectNumStars[j]);
	}
}
function GetWasClicked(imgId) {
	//alert('RatingObjectItemIds.length: '+RatingObjectItemIds.length);
	for (var j = 0; j < RatingObjectItemIds.length; j++){
		if ( RatingObjectItemIds[j] == imgId ) {
			//alert('RatingObjectItemIds['+j+']: '+RatingObjectItemIds[j]+' '+imgId+' = '+RatingObjectUserSet[j]);
			return(RatingObjectUserSet[j]);
		}
	}
}

function RatingStaticObjectMouseOver(imgId, whichStar) {
    if (RatingObjectTimers[imgId] != 0) {
        window.clearTimeout(RatingObjectTimers[imgId]);
        RatingObjectTimers[imgId] = 0;
    }
    RatingObjectLastEntered = imgId;
    // Make the RatingObject show appropriate feedback.
    if (whichStar > -1) { document.images["RatingObject"+imgId].src = RatingObjectImage(RATINGSOBJECT_TYPE_COLOR, whichStar); }
    if (whichStar == -1){ document.images["RatingObject"+imgId].src = RatingObjectImage(RATINGSOBJECT_TYPE_COLOR, whichStar); }
    return false;
}
function RatingObjectMouseOver(imgId, whichStar, bSetNotClicked) {
	if (bSetNotClicked == undefined) { bSetNotClicked = false; }
	//alert('RatingObjectMouseOver('+imgId+', '+whichStar+', '+bSetNotClicked+')');
    // Cancel any background request to restore this image.
    if (RatingObjectTimers[imgId] != 0) {
        window.clearTimeout(RatingObjectTimers[imgId]);
        RatingObjectTimers[imgId] = 0;
    }
	//alert('imgId: '+imgId);
    RatingObjectLastEntered = imgId;
	if (!bSetNotClicked) {
		if ( RatingObjectClicked[imgId] ) return;
		RatingObjectClicked[imgId] = false;
	}
    // Make the RatingObject show appropriate feedback.
	//alert('RATINGSOBJECT_TYPE_COLOR: '+RATINGSOBJECT_TYPE_COLOR+'  whichStar: '+whichStar);
    if (whichStar > -1) {
        document.images["RatingObject"+imgId].src = RatingObjectImage(RATINGSOBJECT_TYPE_COLOR, whichStar);
    }
    if (whichStar == -1){
    	document.images["RatingObject"+imgId].src = RatingObjectImage(RATINGSOBJECT_TYPE_COLOR, whichStar);
    }
    return false;
}

function RatingStaticObjectClick(whichStar) {
	//alert('RatingObjectClick('+whichStar+')');
    var imgId		= RatingObjectLastEntered;
	var actionLink	= RatingObjectActionLink[imgId];
	if ( actionLink != undefined && actionLink != '' ) {
	    //alert(imgId+' - '+actionLink);
		document.location.href = actionLink;
	}
	return void(0);
}


function RatingObjectClick(whichStar) {
	//alert('RatingObjectClick('+whichStar+')');
    var itemId;
    var rateHref;
    var rateWindow;
    var mediaType;
    var imgId = RatingObjectLastEntered;
	RatingObjectLocked[imgId] = true;
	RatingObjectClicked[imgId] = true;
	RatingObjectUserSet[imgId] = true;
	//alert('RatingObjectUserSet['+imgId+']: '+RatingObjectUserSet[imgId]);
    RatingObjectMouseOver(imgId, whichStar, true);
	
    RatingObjectEnabled = false;
    itemId = RatingObjectItemIds[imgId];
    mediaType = RatingObjectmediaType[imgId];
    
	// Update the saved state of the RatingObject and the display
	RatingObjectTypes[imgId] = RATINGSOBJECT_TYPE_COLOR;
	RatingObjectNumStars[imgId] = whichStar;
	
	//rateHref = "?titleID="+itemId+"&rating="+whichStar+"&mediaType="+mediaType;
	//rateHref = RATINGSOBJECT_SET_PAGE + rateHref;
	//RatingSubmitImage = new Image(0, 0);
    //RatingSubmitImage.src = rateHref;
	RatingObjectEnabled = true;
	return void(0);
}

function RatingObjectRestore(imgId) {
	//alert('imgId: '+imgId+' RatingObjectTypes[imgId]: '+RatingObjectTypes[imgId]+'  RatingObjectNumStars[imgId]: '+RatingObjectNumStars[imgId]);
    document.images["RatingObject"+imgId].src = RatingObjectImage(RatingObjectTypes[imgId], RatingObjectNumStars[imgId]);
    
    if (RatingObjectLastEntered == imgId) {
        RatingObjectLastEntered = -1;
    }

}

function RatingObjectMouseOut(whichStar) {
    // Restore the image to the saved state, once a little time has elapsed.
    var imgId = RatingObjectLastEntered;
    if (imgId < 0) {
        return void(0);
    }
	//alert(whichStar+' -> '+RatingObjectNumStars[imgId]);
    if (! RatingObjectTimers[imgId] && !RatingObjectClicked[imgId]) {
        RatingObjectTimers[imgId] = window.setTimeout("RatingObjectRestore("+imgId+")", 100);
	}
}

function RatingObjectCreate(imgId, itemId, starColor, numStars) {
    with (document) {
    write("<table cellspacing=0 cellpadding=0 border=0>");
        if (itemId < 0) {
            // If an Item is negative this makes the bar disabled...
            write("<tr><td><img src='"
                  + RatingObjectImage(starColor, numStars)
                  + "' style='cursor:pointer;' width=80 height=15 border=0></td></tr>");
        } else {
             write("<tr ><td class='link'><map name='RatingObject"
            + imgId
            + "'>"
            + "<area onClick='javascript:RatingObjectClick(5);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",5);' onMouseOut='RatingObjectMouseOut(5);' shape='rect' coords='0,0,8,16' title='Click to rate \"Poor\"'>"
            
            + "<area onClick='javascript:RatingObjectClick(10);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",10);' onMouseOut='RatingObjectMouseOut(10);' shape='rect' coords='8,0,16,16' title='Click to rate \"Poor\"'>"
            
            + "<area onClick='javascript:RatingObjectClick(15);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",15);' onMouseOut='RatingObjectMouseOut(15);' shape='rect' coords='16,0,25,16' title='Click to rate \"Bad\"'>"

            + "<area onClick='javascript:RatingObjectClick(20);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",20);' onMouseOut='RatingObjectMouseOut(20);' shape='rect' coords='25,0,33,16' title='Click to rate \"Bad\"'>"

            + "<area  onClick='javascript:RatingObjectClick(25);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",25);' onMouseOut='RatingObjectMouseOut(25);' shape='rect' coords='33,0,42,16' title='Click to rate \"Okay\"'>"
            
            + "<area  onClick='javascript:RatingObjectClick(30);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",30);' onMouseOut='RatingObjectMouseOut(30);' shape='rect' coords='42,0,50,16' title='Click to rate \"Okay\"'>"
            
            + "<area  onClick='javascript:RatingObjectClick(35);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",35);' onMouseOut='RatingObjectMouseOut(35);' shape='rect' coords='50,0,58,16' title='Click to rate \"Good\"'>"
            
            + "<area  onClick='javascript:RatingObjectClick(40);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",40);' onMouseOut='RatingObjectMouseOut(40);' shape='rect' coords='58,0,66,16' title='Click to rate \"Good\"'>"

            + "<area  onClick='javascript:RatingObjectClick(45);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",45);' onMouseOut='RatingObjectMouseOut(45);' shape='rect' coords='66,0,72,16' title='Click to rate \"Excellent\"'>"

            + "<area  onClick='javascript:RatingObjectClick(50);' onMouseOver='RatingObjectMouseOver("
            + imgId
            + ",50);' onMouseOut='RatingObjectMouseOut(50);' shape='rect' coords='72,0,80,16' title='Click to rate \"Excellent\"'>"

            + "</map><img name='RatingObject"
            + imgId
            + "' usemap='#RatingObject"
            + imgId
            + "' src='"
            + RatingObjectImage(starColor, numStars)
            + "' width=80 height=16 border=0 style='cursor:pointer;'></td></tr>");
        }
        write("</table>");
    }
}

function RatingStaticObjectCreate(imgId, itemId, starColor, numStars) {
    with (document) {
    write("<table cellspacing=0 cellpadding=0 border=0>");
        if (itemId < 0) {
            // If an Item is negative this makes the bar disabled...
            write("<tr><td><img src='"
                  + RatingObjectImage(starColor, numStars)
                  + "' style='cursor:pointer;' width=80 height=15 border=0></td></tr>");
        } else {
             write("<tr ><td class='link'><map name='RatingObject"
            + imgId
            + "'>"
            + "<area onClick='javascript:RatingStaticObjectClick(5);'  shape='rect' coords='0,0,8,16'   onMouseOver='RatingStaticObjectMouseOver("+imgId+",5);'  onMouseOut='RatingObjectMouseOut(5);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(10);' shape='rect' coords='8,0,16,16'  onMouseOver='RatingStaticObjectMouseOver("+imgId+",10);' onMouseOut='RatingObjectMouseOut(10);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(15);' shape='rect' coords='16,0,25,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",15);' onMouseOut='RatingObjectMouseOut(15);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(20);' shape='rect' coords='25,0,33,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",20);' onMouseOut='RatingObjectMouseOut(20);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(25);' shape='rect' coords='33,0,42,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",25);' onMouseOut='RatingObjectMouseOut(25);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(30);' shape='rect' coords='42,0,50,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",30);' onMouseOut='RatingObjectMouseOut(30);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(35);' shape='rect' coords='50,0,58,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",35);' onMouseOut='RatingObjectMouseOut(35);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(40);' shape='rect' coords='58,0,66,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",40);' onMouseOut='RatingObjectMouseOut(40);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(45);' shape='rect' coords='66,0,72,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",45);' onMouseOut='RatingObjectMouseOut(45);' title='Click to Rate'>"
            + "<area onClick='javascript:RatingStaticObjectClick(50);' shape='rect' coords='72,0,80,16' onMouseOver='RatingStaticObjectMouseOver("+imgId+",50);' onMouseOut='RatingObjectMouseOut(50);' title='Click to Rate'>"
            + "</map><img name='RatingObject"
            + imgId
            + "' usemap='#RatingObject"
            + imgId
            + "' src='"
            + RatingObjectImage(starColor, numStars)
            + "' width=80 height=16 border=0 style='cursor:pointer;'></td></tr>");
        }
        write("</table>");
    }
}
function RatingBareObjectCreate(imgId, itemId, starColor, numStars) {
    with (document) {
    write("<table cellspacing=0 cellpadding=0 border=0>");
        if (itemId < 0) {
            // If an Item is negative this makes the bar disabled...
            write("<tr><td><img src='"
                  + RatingObjectImage(starColor, numStars)
                  + "' width=80 height=15 border=0></td></tr>");
        } else {
             write("<tr ><td><img name='RatingObject"+imgId+ "' src='"+RatingObjectImage(starColor, numStars)+"' width=80 height=16 border=0></td></tr>");
        }
        write("</table>");
    }
}

function RatingObjectInsert(itemId, memberUser, numStars, validate, color, type) {
    var imgId = RatingObjectCount++;
	//alert('imgId: '+imgId);
	if ( color == undefined ) { color = 1; }
	
	//alert('RatingObjectInsert - '+itemId+' '+memberUser);
	RatingObjectItemIds[imgId]		= itemId;
	RatingObjectTypes[imgId]		= memberUser;
	RatingObjectNumStars[imgId]		= numStars;
	RatingObjectTimers[imgId]		= 0; 
	RatingObjectmediaType[imgId]	= type;
	RatingObjectLocked[imgId]		= false;
	RatingObjectClicked[imgId]		= false;
	RatingObjectUserSet[imgId]		= false;
	RatingObjectBare[imgId]			= false;
	RatingObjectActionLink[imgId]	= '';
	if ( validate != undefined && validate != 0 ) {
		RatingObjectValidate[imgId]	= 1;
		RatingObjectValidateMsg[imgId]	= validate;
	} else {
		RatingObjectValidate[imgId]	= 0;
		RatingObjectValidateMsg[imgId]	= '';
	}
	RatingObjectCreate(imgId, itemId, color, numStars);
}

function RatingStaticObjectInsert(itemId, memberUser, numStars, actionLink, color) {
    var imgId = RatingObjectCount++;
	if ( color == undefined ) { color = 1; }
	
	//alert('RatingObjectInsert - '+itemId+' '+memberUser);
	RatingObjectItemIds[imgId]		= itemId;
	RatingObjectTypes[imgId]		= memberUser;
	RatingObjectNumStars[imgId]		= numStars;
	RatingObjectTimers[imgId]		= 0; 
	RatingObjectmediaType[imgId]	= '';
	RatingObjectLocked[imgId]		= false;
	RatingObjectClicked[imgId]		= false;
	RatingObjectUserSet[imgId]		= false;
	RatingObjectBare[imgId]			= false;
	RatingObjectValidate[imgId]		= 0;
	RatingObjectActionLink[imgId]	= actionLink;
	RatingStaticObjectCreate(imgId, itemId, color, numStars);
}

function RatingBareObjectInsert(memberUser, numStars, color) {
    var imgId = RatingObjectCount++;
	if ( color == undefined ) { color = 1; }
	itemId = 'BARE'+imgId;
	//alert('RatingBareObjectInsert - '+itemId+' '+memberUser+' '+numStars);
	RatingObjectItemIds[imgId]		= itemId;
	RatingObjectTypes[imgId]		= memberUser;
	RatingObjectNumStars[imgId]		= numStars;
	RatingObjectTimers[imgId]		= 0; 
	RatingObjectmediaType[imgId]	= '';
	RatingObjectLocked[imgId]		= false;
	RatingObjectClicked[imgId]		= false;
	RatingObjectUserSet[imgId]		= false;
	RatingObjectBare[imgId]			= true;
	RatingObjectValidate[imgId]		= 0;
	RatingObjectActionLink[imgId]	= '';
	RatingBareObjectCreate(imgId, itemId, color, numStars);
}

RatingObjectPreload();


