/* HELP POP-UP FUNCTIONS */

function getObject(obj)
{
	if ( document.getElementById )
		obj = document.getElementById( obj );
	else if ( document.all )
		obj = document.all.item( obj );
	else
		obj = null;
	
	return obj;
}

function moveObject2(obj, e)
{
	var x = 450;
	var y = 350;

	var tempX = 0;
	var tempY = 0;
	var offset = 5;
	var objHolder = obj;

	obj = getObject( obj );
	if (obj==null) return;

	if (document.all)
	{
		tempX = event.clientX + document.body.scrollLeft - x;
		tempY = event.clientY + document.body.scrollTop - y;
	}
	else
	{
		tempX = e.pageX - x;
		tempY = e.pageY - y;
	}

	if (tempX < 0){tempX = 0}
	if (tempY < 0){tempY = 0}

	obj.style.top  = (tempY + offset) + 'px';
	obj.style.left = (tempX + offset) + 'px';

	displayObject( objHolder, true );
	//alert("Object height is: " + obj.offsetHeight);
}

function displayObject( obj, show )
{
	obj = getObject( obj );
	if (obj==null) return;

	obj.style.display = show ? 'block' : 'none';
	obj.style.visibility = show ? 'visible' : 'hidden';
}


/* VALIDATION FUNCTIONS */


function IsValidEmail(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1)													return false;
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)		return false;
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)	return false;
	if (str.indexOf(at,(lat+1))!=-1)											return false;
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)		return false;
	if (str.indexOf(dot,(lat+2))==-1)											return false;
	if (str.indexOf(" ")!=-1)													return false;
	return true;
}


function IsValidDate2(str)	//not used anymore
{
	/*
	//valid format is "2007/12/31"
	var Numbers = "1234567890";
	if (str.length != 10)						return false;
	if (Numbers.indexOf(str.charAt(0)) == -1)	return false;
	if (Numbers.indexOf(str.charAt(1)) == -1)	return false;
	if (Numbers.indexOf(str.charAt(2)) == -1)	return false;
	if (Numbers.indexOf(str.charAt(3)) == -1)	return false;
	if (str.charAt(4) != '/')					return false;
	if (Numbers.indexOf(str.charAt(5)) == -1)	return false;
	if (Numbers.indexOf(str.charAt(6)) == -1)	return false;
	if (str.charAt(7) != '/')					return false;
	if (Numbers.indexOf(str.charAt(8)) == -1)	return false;
	if (Numbers.indexOf(str.charAt(9)) == -1)	return false;
	var Year = str.substring(0,4);
	if (Year < 1900 || Year > #Year(now())+1#)
		return false;
	var Month = str.substring(5,7);
	if (Month < 01 || Month > 12)
		return false;
	var Day = str.substring(8,10);
	if (Day < 01 || Day > 31)
		return false;
	*/
	return true;
}


/* FORM SUBMISSION FUNCTIONS */

var Delimiter = ",";


function GetNumTokens(string)
{
	var NumTokens = 0;
	
	for (var i = 0; i <= string.length; i++)
	{
		if (string.charAt(i) == Delimiter)
			NumTokens++;
	}
	if (string.length > 0)
		NumTokens++;
	
	return NumTokens;
}

function GetToken(TokenNum,String)
{
	if (String.length > 0)
	{
		var TokenArray = String.split(Delimiter);
		return TokenArray[TokenNum];
	}
	else
		return "";
}

function CategoryInListAlready(CategoryID,ListOfCategories)
{
	//go thru the list of categories.  Check if the CategoryID that was passed in is already in there
	var NumTokens = GetNumTokens(ListOfCategories);
	
	for (var i = 0; i < NumTokens; i++)
	{
		var AToken = GetToken(i,ListOfCategories);
		
		if (AToken == CategoryID)
			return true;
	}
	return false;
}
/*
function AddCategory(ListOfCategories,ClusterMasterID,SubID)
{
	//do not let them add a category that this submission is already in.
	var NewCategory = document.getElementById('add_cat').value;

	if (CategoryInListAlready(NewCategory,ListOfCategories))
	{
		alert("This submission is already in the selected category.");
		return false;
	}
	
	var NewListOfCategories = ListOfCategories + "," + NewCategory;

	$WI.Ajax({
		url: "index.cfm?ci_id="+ClusterMasterID,
		method: "post",
		parameters: "UpdateCategories=" + NewListOfCategories + "&Action=Add&Language=" + document.getElementById('language').value + "&SubID=" + SubID,
		onComplete: AfterAjax
	});
}
*/
function AfterAjax(xml,text)
{
	document.getElementById('MainDiv').innerHTML = xml.getElementsByTagName('ResultHTML')[0].firstChild.nodeValue;
}

function RemoveOneFromList(CategoryID,ListOfCategories)
{
	//Get each token.  If it's NOT the one that was passed in add it to the list
	var NewList = "";
	var NumTokens = GetNumTokens(ListOfCategories);
	
	for (var i = 0; i < NumTokens; i++)
	{
		var AToken = GetToken(i,ListOfCategories,",");
		
		if (AToken != CategoryID)
		{
			if (NewList.length > 0)
				NewList += ",";
				
			NewList += AToken;
		}
	}
	return NewList;
}
/*
function RemoveCategoryFromSubmission(CategoryID,SubmissionID,ListOfCategories,ClusterMasterID)
{
	var NewListOfCategories = RemoveOneFromList(CategoryID,ListOfCategories);

	if (NewListOfCategories.length == 0)
	{
		alert("You may not remove the only category for this submission.  If you wish to delete a submission select it from step two and press the 'Delete' button.");
		return false;
	}
	
	$WI.Ajax({
		url: "index.cfm?ci_id="+ClusterMasterID,
		method: "post",
		parameters: "UpdateCategories=" + NewListOfCategories + "&Action=Remove&Language=" + document.getElementById('language').value + "&SubID="+SubmissionID+ "&CategoryToRemove=" +CategoryID,
		onComplete: AfterAjax
	});
}
*/

function AddEntryFromEditSubmissions2(ClusterMasterID,CategoryID,SubID)
{
	if (CategoryID == 0)
	{
		alert("Please select a category.");
		return false;
	}
	
	document.getElementById('NewCategoryID').value = CategoryID;
	document.getElementById('HiddenSubmitChangeInformationForm').value = 'ADD';
	document.ChangeInformationForm.submit();
}

function RemoveEntryFromEditSubmissions2(CategoryID)
{
	document.getElementById('NewCategoryID').value = CategoryID;	//category to remove
	document.getElementById('HiddenSubmitChangeInformationForm').value = 'REMOVE';
	document.ChangeInformationForm.submit();
}
