
var xmlHttp;
var targetDIV;
var complete = false;

//=============================
// Returns correct ajax object
//=============================
function GetXmlHttpObject()
{
	var xmlHttp = null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch (e)
		{
			xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
		}
	}
	return xmlHttp;
}

//=========================
// Sets the target DIV ID
//=========================
function setTargetDIV(sTargetDIV)
{
	targetDIV = sTargetDIV;
}

//=========================
// Sets the complete
//=========================
function setComplete(sComplete)
{
	complete = sComplete;
}

//=========================
// Posts the returned data
//=========================
function stateChanged() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		document.getElementById(targetDIV).innerHTML = xmlHttp.responseText;
		setComplete(true);
	}
}

//========================
// Runs ajax
//========================
function runAjax(url)
{
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null)
	{
		return;
	}

	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open('GET', url, true);
	xmlHttp.send(null);
}

//================================================
// Checks if loading is complete
//================================================
function isComplete(panelID, loaderID, isIbox)
{
	if (complete == true)
	{
		if (document.getElementById(loaderID))
			document.getElementById(loaderID).style.display = 'none';

		if (document.getElementById(panelID))
			document.getElementById(panelID).style.display	= 'block';
		
		if (isIbox == true)
		{
			init_ibox();
		}		
	}
	else if (complete == false)
	{
		setTimeout('isComplete(\'' + panelID + '\', \'' + loaderID + '\', ' + isIbox + ')', 500);
	}
}


//================================================================================================================

//================================================
// Checks the database for any exact domain names
// and also validates the domain
//================================================
function checkDomain(domain)
{
	var url; 
	url = '/scripts/ajaxFunctions.asp?fnID=checkDomain&domain=' + escape(domain);
	setTargetDIV('ajax');

	runAjax(url);
}

//================================================
// Checks the database for any exact member names
// and also validates the member
//================================================
function checkMemberName(member)
{
	var url; 
	url = '/scripts/ajaxFunctions.asp?fnID=checkMember&member=' + escape(member);
	setTargetDIV('ajax');

	runAjax(url);
}

//================================================
// Checks the database for any exact member names
// and also validates the member
//================================================
function checkMemberNameAdmin(member)
{
	var url; 
	url = '/scripts/ajaxFunctions.asp?fnID=checkMember&member=' + escape(member);
	setTargetDIV('ajaxMemberAdmin');

	runAjax(url);
}

//================================================
// Checks the database for any exact member names 
// except if it is the same as the original 
// and also validates the member
//================================================
function checkMemberNameUpdate(member, origMember)
{
	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=checkMemberUpdate&member=' + escape(member) + '&origMember=' + escape(origMember);
	setTargetDIV('ajax');

	runAjax(url);
}


//================================================
// Refreshes members image
//================================================
function memberDisplayImage()
{
	var url; 
	url = '/scripts/ajaxFunctions.asp?fnID=memberDisplayImage';
	setTargetDIV('Ajax-Display');

	runAjax(url);	
}

//================================================
// Refreshes gallery images and changes page
//================================================
function refreshGallery(currentPage, memorialID, albumID, admin)
{
	document.getElementById('ajax-gallery').style.display	= 'none';
	document.getElementById('ajax-loading').style.display	= 'block';
	document.getElementById('pageNumber').value				= currentPage;

	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=refreshGallery&cPage=' + currentPage + '&memorialID=' + memorialID + '&albumID=' + albumID + '&a=' + admin;
	setTargetDIV('ajax-gallery');

	runAjax(url);
	setTimeout('isComplete(\'ajax-gallery\', \'ajax-loading\', true)', 500);
}

//================================================
// Refreshes imorial image
//================================================
function imorialDisplayImage(divID, memorialID)
{
	var url; 
	url = '/scripts/ajaxFunctions.asp?fnID=imorialDisplayImage&memorialID=' + memorialID;
	setTargetDIV(divID);

	runAjax(url);	
}

//================================================
// Refreshes YouTube search and changes page
//================================================
function refreshYouTube(tag, category, user, pageNo)
{
	document.getElementById('ajax-gallery').style.display	= 'none';
	document.getElementById('ajax-loading').style.display	= 'block';

	if (tag.length == 0)		tag			= ' ';
	if (category.length == 0)	category	= ' ';
	if (user.length == 0)		user		= ' ';

	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=refreshYouTube&tag=' + escape(tag) + '&cat=' + escape(category) + '&user=' + escape(user) + '&pNo=' + pageNo;
	setTargetDIV('ajax-gallery');

	runAjax(url);
	setTimeout('isComplete(\'ajax-gallery\', \'ajax-loading\', false)', 500);
}

//================================================
// Views the selected video
//================================================
function viewVideo(youTubeID)
{
	document.getElementById('YouTubeViewer').style.display			= 'none';
	document.getElementById('YouTubeViewer-Loader').style.display	= 'block';

	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=viewVideo&youTubeID=' + escape(youTubeID);
	setTargetDIV('YouTubeViewer');

	runAjax(url);
	setTimeout('isComplete(\'YouTubeViewer\', \'YouTubeViewer-Loader\', false)', 500);
}

//================================================
// Views the selected video
//================================================
function refreshVideoGallery(memorialID, page, vType)
{
	document.getElementById('ajax-video-gallery').style.display	= 'none';
	document.getElementById('ajax-video-loader').style.display	= 'block';
	//document.getElementById('pageNumber').value				= (pageNo);

	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=refreshVideoGallery&mID=' + escape(memorialID) + '&pg=' + escape(page) + '&vType=' + escape(vType);
	setTargetDIV('ajax-video-gallery');

	runAjax(url);
	setTimeout('isComplete(\'ajax-video-gallery\', \'ajax-video-loader\', true)', 500);
}

//================================================
// Quick search for members
//================================================
function quickSearchMembers(name)
{
	document.getElementById('SearchField').style.display	= 'none';
	document.getElementById('SearchWaiting').style.display	= 'block';

	// Clears last selected.
	clearRecipient();

	var mName = document.getElementById(name).value;
	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=quickSearchMembers&name=' + escape(mName);
	setTargetDIV('SearchField');

	runAjax(url);
	setTimeout('isComplete(\'SearchField\', \'SearchWaiting\', false)', 500);
}

//================================================
// Marks message as read
//================================================
function messageRead(memMsgID)
{
	document.getElementById('M-' + memMsgID).className	= 'Read';
	document.getElementById('I-' + memMsgID).src		= '/images/icons/mailbox-read.gif';

	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=messageRead&memMsgID=' + escape(memMsgID);
	setTargetDIV('Blank-Ajax');

	runAjax(url);
}

//================================================
// Refreshes group image
//================================================
function groupDisplayImage(divID, groupID)
{
	var url; 
	url = '/scripts/ajaxFunctions.asp?fnID=groupDisplayImage&gID=' + groupID;
	setTargetDIV(divID);

	runAjax(url);	
}

//================================================
// Changes page on groups members
//================================================
function refreshGroupMembers(groupID, page)
{
	document.getElementById('Group-Members-Ajax').style.display	= 'none';
	document.getElementById('Group-Members-Wait').style.display	= 'block';

	var url;
	url = '/scripts/ajaxFunctions.asp?fnID=refreshGroupMembers&gID=' + escape(groupID) + '&pgNo=' + escape(page);
	setTargetDIV('Group-Members-Ajax');

	runAjax(url);
	setTimeout('isComplete(\'Group-Members-Ajax\', \'Group-Members-Wait\', true)', 500);
}


//================================================
// Changes page on groups members
//================================================
function refreshRandomMemorials(number, mType)
{	
	document.getElementById('RandomMemorials').style.display		= 'none';
	document.getElementById('LoadingRandomMemorials').style.display	= 'block';

	var url;
	url = '/ajax/refresh-random-memorials.asp?num=' + escape(number) + '&mType=' + escape(mType);
	setTargetDIV('RandomMemorials');

	runAjax(url);
	setTimeout('isComplete(\'RandomMemorials\', \'LoadingRandomMemorials\', false)', 500);
}

//================================================
// Checks if loading is complete
//================================================
function completeRefresh(number, mType)
{
	if (complete == true)
	{
		if (document.getElementById('LoadingRandomMemorials'))
			document.getElementById('LoadingRandomMemorials').style.display = 'none';

		if (document.getElementById('RandomMemorials'))
			document.getElementById('RandomMemorials').style.display	= 'block';
		
		//document.getElementById('BtnRefresh1').onclick = "alert('sdasdsa');"//'refreshRandomMemorials(\'' + number +  '\', \'' + mType + '\');'
		//document.getElementById('BtnRefresh2').onclick = "alert('sdasdsa');"//'refreshRandomMemorials(\'' + number +  '\', \'' + mType + '\');'
		//document.getElementById('BtnRefresh3').onclick = 'refreshRandomMemorials(\'' + number +  '\', \'' + mType + '\');'
		//document.getElementById('BtnRefresh4').onclick = 'refreshRandomMemorials(\'' + number +  '\', \'' + mType + '\');'
	}
	else if (complete == false)
	{
		setTimeout('isComplete(\'' + panelID + '\', \'' + loaderID + '\', ' + isIbox + ')', 500);
	}
}



//================================================
// Refreshes's Random Memorial Mini Version
//================================================
function refreshRandomMemorialsMini(number, mType, sponsoredOnly)
{	
	document.getElementById('ajaxMemorialContainer').style.display	= 'none';
	document.getElementById('ajaxMemorialLoader').style.display		= 'block';

	var url;
	url = '/ajax/refresh-random-memorials-mini.asp?num=' + escape(number) + '&mType=' + escape(mType) + '&sponsoredOnly=' + escape(sponsoredOnly);
	setTargetDIV('ajaxMemorialContainer');

	runAjax(url);
	setTimeout('isComplete(\'ajaxMemorialContainer\', \'ajaxMemorialLoader\', false)', 500);
}