/***************************
* Copyright (c) GrocerySavings.ca
* All Rights Reserved.
*
* Author: Ben Cho
* Website: grocerysavings.ca, localgrocerydeals.com
* CopyRight: 2007
*
* Utility file responsible for managing dates and times
****************************/

var USER_NOT_LOGGED_IN = 1;
var MAX_VOTES_PER_WEEK = 10;

function checkVotedForGrocery(event, groceryID)
{
	// list of already voted for grocery ids for a single week
	var votedGroceryIDList = getVotedGroceryIDs();

	if (!isEmpty(votedGroceryIDList))
	{
		var votedGroceryIDArray = votedGroceryIDList.split(",");

		// check to see if user has exceeded maximum votes per week
		if (votedGroceryIDArray.length >= MAX_VOTES_PER_WEEK)
		{
			alert('You are only allowed to vote for 10 groceries per week.');
			return;
		}

		// check to see if the grocery has already been voted by user
		var votedGroceryID = "";
		for (var i=0; i<votedGroceryIDArray.length; i++)
		{
			votedGroceryID = votedGroceryIDArray[i];
			// check to see if the grocery has already been voted by user
			if (trimString(votedGroceryID) == groceryID)
			{
				alert('You have already voted for this grocery. Thanks!');
				return;
			}
		}
	}

	// user has not voted for this grocery 

	// now check if the user is logged in or not
	var domMemberID = document.getElementById("hiddenMemberID");
	if (domMemberID.value == USER_NOT_LOGGED_IN)
	{

		// setup the dialog box coordinates
		fixUserNotLoggedInDialogCoordinates(event);
		// show dialog box
		showUserNotLoggedInDialog();

		// store the grocery ID in a hidden field so that we know which grocery ID was getting a vote
		var domGroceryID = document.getElementById("hiddenGroceryID");
		domGroceryID.value = groceryID;
	}
	else
	{
		voteForGrocery(groceryID);
	}


	// give each vote link an id
	// get document and change text
}

function voteForGrocery(groceryID)
{
	// if groceryID is empty, then it means that the user voted but was not logged in
	// so therefore get the value from the hidden field
	if (groceryID == null || groceryID == "" )
	{
		var domGroceryID = document.getElementById("hiddenGroceryID");
		groceryID = domGroceryID.value;
	}

	// add groceryID to the cookie
	setVotedGroceryIDs(groceryID);

	// permanently put vote in DB, this function lives in ajax.js
	incrementGroceryVote(groceryID);

	// show increment vote number by one
	var domVoteNumberDisplayed = document.getElementById("votes" + groceryID);
	domVoteNumberDisplayed.innerHTML = parseInt(domVoteNumberDisplayed.innerHTML) + 1;

	hideUserNotLoggedInDialog();
}

function showUserNotLoggedInDialog()
{
	var domUserNotLoggedInDialog = document.getElementById("userNotLoggedInDialog");
//	domUserNotLoggedInDialog.style.visibility = "visible";
	domUserNotLoggedInDialog.style.display = "block";
}

function hideUserNotLoggedInDialog()
{
	var domUserNotLoggedInDialog = document.getElementById("userNotLoggedInDialog");
//	domUserNotLoggedInDialog.style.visible = "hidden";
	domUserNotLoggedInDialog.style.display = "none";
}

function fixUserNotLoggedInDialogCoordinates(event)
{
	x=event.clientX;
	y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;

	var domUserNotLoggedInDialog = document.getElementById("userNotLoggedInDialog");

	domUserNotLoggedInDialog.style.left = 0 + "px";
	y = y - 340;
	domUserNotLoggedInDialog.style.top = y + "px";

}
