function VV_Popup(url, name, features, replace)
{
	VV_DisplayMessage("START VV_Popup(" + url + ", " + name + ", " + features + ", " + replace + ")");
	try
	{
		window.open(url, name, features, replace);
	}
	catch (error)
	{
		VV_DisplayMessage("ERROR VV_Popup(" + url + ", " + name + ", " + features + ", " + replace + ") : " + error.message);		
	}
	finally
	{			
		VV_DisplayMessage("END VV_Popup(" + url + ", " + name + ", " + features + ", " + replace + ")");
	}
}

function VV_SetCookies(iid, cid)
{
	VV_DisplayMessage("START VV_SetCookies(" + iid + ", " + cid + ")");
	try
	{	
		// set time, it's in milliseconds
		var today = new Date();
		today.setTime( today.getTime() );
		var expires_date = new Date( today.getTime() + (30 * 1000 * 60 * 60 * 24) ); //30 days
		//Set IID
		document.cookie = "VirtuOz_IID=" + iid + ";expires=" + expires_date.toGMTString()+";path=/";
		//Set CID
		document.cookie = "VirtuOz_CID=" + cid + ";path=/";	
	}
	catch (error)
	{
		VV_DisplayMessage("ERROR VV_SetCookies(" + iid + ", " + cid + ") : " + error.message);		
	}
	finally
	{			
		VV_DisplayMessage("END VV_SetCookies(" + iid + ", " + cid + ")");
	}
}

function VV_SetAllCookies(iid, cid, index)
{
	VV_DisplayMessage("START VV_SetAllCookies(" + iid + ", " + cid + ", " + index + ")");
	try
	{	
		// set time, it's in milliseconds
		var today = new Date();
		today.setTime( today.getTime() );
		var expires_date = new Date( today.getTime() + (30 * 1000 * 60 * 60 * 24) ); //30 days
		//Set IID
		document.cookie = "VirtuOz_IID=" + iid + ";expires=" + expires_date.toGMTString()+";path=/";
		//Set CID
		document.cookie = "VirtuOz_CID=" + cid + ";path=/";
		//Set AID
		document.cookie = "VirtuOz_AID=" + index + ";path=/";
	}
	catch (error)
	{
		VV_DisplayMessage("ERROR VV_SetAllCookies(" + iid + ", " + cid + ", " + index + ") : " + error.message);		
	}
	finally
	{			
		VV_DisplayMessage("END VV_SetAllCookies(" + iid + ", " + cid + ", " + index + ")");
	}
}

function VV_SetAnswerCookie(index)
{
	VV_DisplayMessage("START VV_SetAnswerCookie(" + index + ")");	
	try
	{
		//Set AID
		document.cookie = "VirtuOz_AID=" + index + ";path=/";
	}
	catch (error)
	{
		VV_DisplayMessage("ERROR VV_SetAnswerCookie(" + index + ") : " + error.message);		
	}
	finally
	{	
		VV_DisplayMessage("END VV_SetAnswerCookie(" + index + ")");	
	}
}

function VV_SetCookiesAndNav(iid, cid, url)
{
	VV_DisplayMessage("START VV_SetCookiesAndNav(" + iid + ", " + cid + ", " + url + ")");	
	try
	{
		// set time, it's in milliseconds
		var today = new Date();
		today.setTime( today.getTime() );
		var expires_date = new Date( today.getTime() + (30 * 1000 * 60 * 60 * 24) ); //30 days
		//Set IID
		document.cookie = "VirtuOz_IID=" + iid + ";expires=" + expires_date.toGMTString()+";path=/";
		//Set CID
		document.cookie = "VirtuOz_CID=" + cid + ";path=/";
		//set the new url to the current location
		top.location.href = url;
	}
	catch (error)
	{
		VV_DisplayMessage("ERROR VV_SetCookiesAndNav(" + iid + ", " + cid + ", " + url + ") : " + error.message);		
	}
	finally
	{	
		VV_DisplayMessage("END VV_SetCookiesAndNav(" + iid + ", " + cid + ", " + url + ")");	
	}
}

function VV_GetCookie(name)
{
	VV_DisplayMessage("START VV_GetCookie(" + name + ")");	
	try
	{
		if (document.cookie) // Le cookie est-il valide ?
		{
			var cookieName = name + "=";
			if (document.cookie.length > 0)
			{
				offset = document.cookie.indexOf(cookieName);
				if (offset != -1)
				{
					offset += cookieName.length;
					end = document.cookie.indexOf(";", offset)
					return unescape(document.cookie.substring(offset, (end != -1) ? end : document.cookie.length));
				}
				return null;
			}
			return null;
		}
		return null;
	}
	catch (error)
	{
		VV_DisplayMessage("ERROR VV_GetCookie(" + name + ") : " + error.message);		
	}
	finally
	{
		VV_DisplayMessage("END VV_GetCookie(" + name + ")");
	}
}

function VV_DisplayMessage(message)
{
	if (VV_Debug) alert(message);
}
