// JavaScript Document

/*
Author: Addam M. Driver
Date: 10/31/2006
*/

var sMax;	// Isthe maximum number of stars
var holder; // Is the holding pattern for clicked state
var preSet; // Is the PreSet value onces a selection has been made
var rateda;
var ratedb;
var ratedc;
var ratedd;
//add or remove vars for each poll, add alphabet char after all ids in the div, & modify accordingly all switch statements below

// Rollover for image Stars //
function rating(num){
	sMax = 0;	// Isthe maximum number of stars
	for(n=0; n<num.parentNode.childNodes.length; n++){
		if(num.parentNode.childNodes[n].nodeName == "A"){
			sMax++;	
		}
	}
	char = num.id.substr(0,1);
	var rated = '';
	switch (char) {
		case 'a': rated = rateda; break;
		case 'b': rated = ratedb; break;
		case 'c': rated = ratedc; break;
		case 'd': rated = ratedd; break;
	}
	if(!rated){
		s = num.id.substr(1);
		s = s.replace("_", ''); // Get the selected star
		a = 0;
		for(i=1; i<=sMax; i++){		
			if(i<=s){
				document.getElementById(char+"_"+i).className = "on";
				
				document.getElementById("rateStatus"+char).innerHTML = num.title;	
				holder = a+1;
				a++;
			}else{
				document.getElementById(char+"_"+i).className = "";
				
			}
		}
	}
}

// For when you roll out of the the whole thing //
function off(me){
	var char = me.id.substr(0,1);
	var rated = '';
	switch (char) {
		case 'a': rated = rateda; break;
		case 'b': rated = ratedb; break;
		case 'c': rated = ratedc; break;
		case 'd': rated = ratedd; break;
	}
		if(!rated){
		if(!preSet){
			
			for(i=1; i<=sMax; i++){		
				document.getElementById(char+"_"+i).className = "";
				document.getElementById("rateStatus"+char).innerHTML = me.parentNode.title;
			}
		}else{
			rating(preSet);
			document.getElementById("rateStatus"+char).innerHTML = document.getElementById("ratingSaved"+char).innerHTML;
		}
	}
}

// When you actually rate something //
function rateIt(me){
	var char = me.id.substr(0,1);
	var rated = '';
	switch (char) {
		case 'a': rated = rateda; break;
		case 'b': rated = ratedb; break;
		case 'c': rated = ratedc; break;
		case 'd': rated = ratedd; break;
	}	
		if(!rated){
		document.getElementById("rateStatus"+char).innerHTML = document.getElementById("ratingSaved"+char).innerHTML + " :: "+me.title;
		preSet = me;
		switch (char) {
		case 'a': rateda = 1; break;
		case 'b': ratedb = 1; break;
		case 'c': ratedc = 1; break;
		case 'd': ratedd = 1; break;
	}
		sendRate(me);
		rating(me);
	}
}

// Send the rating information somewhere using Ajax or something like that.
function sendRate(sel){
	var char = sel.id.substr(0,1);
	var el = document.getElementById('rate'+char);
	el.value = sel.name;
}

