// JavaScript Document
function ranking(caller) {
	
		var currRank = caller.selectedIndex;
		var rankDisplay = document.getElementById("rankings");
		var entryName = caller.getAttribute("name");
		
		var rankings = new Array();

		// initiating array
		for (var i = 0; i < 5; i++) {
			var j = i+1;
			var currNode = document.getElementById(j+"place");	
			
			if (currNode.hasChildNodes()) {
				var currName = currNode.firstChild.data;
				var str = ""+currName;
				rankings[i] = str.substr(3, 50);	
			}
			
			if (rankings[i] == entryName)
				var oldRank	 = j;
		}
		
		// Sorting Array
		if (currRank > 0) {
			
			if (oldRank == undefined) {
				if (rankings[4] != undefined) {
					var currSelect = document.getElementById(rankings[4]);	
					currSelect.selectedIndex = 0;
				}
				if (rankings[currRank-1] != undefined) {
					for (var i = 4; i > (currRank-1); i--) {
						rankings[i] = rankings[i-1];
					}
				}
				rankings[currRank-1] = entryName;	
				
			} else if (currRank < oldRank) {
				if (rankings[4] != undefined) {
					var currSelect = document.getElementById(rankings[4]);	
					currSelect.selectedIndex = 0;
				}
				if (rankings[currRank-1] != undefined) {	
					rankings[oldRank-1] = undefined;
					for (var i = oldRank; i > (currRank-1); i--) {
						rankings[i] = rankings[i-1];
					}
				} else {
					rankings[oldRank-1] = undefined;
				}
				rankings[currRank-1] = entryName;		
				
			} else if (currRank > oldRank) {	
				for (var i = (oldRank-1); i < (currRank-1); i++) {
					rankings[i] = rankings[i+1];
				}
				rankings[currRank-1] = entryName;
			}
			
		} else {
			
			for (var i = (oldRank-1); i <= 4; i++) {
				rankings[i] = rankings[i+1];
				rankings[i+1] = undefined;
			}
			
			
			
		}
				
			
		// Displaying data
		for (var i = 0; i < 5; i++) {
			
			j = i+1;
			var currNode = document.getElementById(j+"place");	

			var newNode = document.createTextNode(j+". "+ rankings[i]);
	
			if (rankings[i] != undefined) {
				
				var currSelect = document.getElementById(rankings[i]);	
				currSelect.selectedIndex = j;
				
				var hiddenNode = document.getElementById("rank"+j);
				hiddenNode.setAttribute("value", rankings[i]);
				
				if (currNode.hasChildNodes())
					currNode.replaceChild(newNode, currNode.firstChild);
				else 
					currNode.appendChild(newNode);
			} else {
				if (currNode.hasChildNodes())
					 currNode.removeChild(currNode.firstChild);		 
			}
				
		}
		
}

//
function checkVotes() {
	var valid = true;
	
	for (var i=0; i<5; i++) {
		j = i+1;
		var currField = document.getElementById("rank"+j);	
		if (currField.getAttribute("value") == "")
			valid = false;		
	}
	
	if (!valid)
		alert("Please rank your top 5 entries!");
	
	return valid;
}