function cookieAndReplace(cookieName, cookieValue, replaceNode, urlAppend) {
	var rand = Math.random() * 999999;

	if (cookieName == 'file_folder' || cookieName == 'file_sort')
	{
		createCookie('file_offset', 0, 9999);
	}
	if (cookieName.match('public_sort_'))
	{
		var userid = cookieName.substr(12);
		createCookie('public_offset_' + userid, 0, 9999);
	}
	
	createCookie(cookieName, cookieValue, 9999); 
	HTML_AJAX.replace(replaceNode, '/mover/ajaxHandler.php?node='+replaceNode+'&r='+rand+urlAppend);
	showLoading();
}

function metricsReplace(setCookie, replaceFiles)
{	
	var rand = Math.random() * 999999;

	if (setCookie)
	{
		var cookie_start = document.getElementById('start_year').value + '-' + document.getElementById('start_month').value 
					+ '-' + document.getElementById('start_day').value;	
		var cookie_end = document.getElementById('end_year').value + '-' + document.getElementById('end_month').value 
					+ '-' + document.getElementById('end_day').value;	
		createCookie('metrics_start', cookie_start, 0);
		createCookie('metrics_end', cookie_end, 0);
	}
	HTML_AJAX.replace('metrics-heading-graph', '/mover/ajaxHandler.php?node=metrics-heading-graph&r=' + rand);
	if (replaceFiles)
	{
		HTML_AJAX.replace('files', '/mover/ajaxHandler.php?node=files&r=' + rand);
	}
	showLoading();
}

function confirmAction(actionValue) {
	document.getElementById('confirmdelete').style.display = 'none';	
	document.getElementById('confirmmove').style.display = 'none';
	document.getElementById('confirmvisibility').style.display = 'none';
	document.getElementById('confirmemail').style.display = 'none';
	document.getElementById('confirmmetrics').style.display = 'none';
	document.getElementById('confirmzip').style.display = 'none';

	if (actionValue != 'none')
	{
		var node = document.getElementById('confirm'+actionValue);
		node.style.display = 'block';
	}
}

function toggleCheckAll(formId, toggleId) {
	var formNode  = document.getElementById(formId);
	var isChecked = document.getElementById(toggleId).checked;

	for (var i = 0; i < formNode.elements.length; i++) 
	{
    		var e = formNode.elements[i];
		if ((e.id != toggleId) && (e.type == 'checkbox'))
		{
			e.checked = isChecked;
		}
    	}
}

function clearChildren(elemId)
{
	elem = document.getElementById(elemId);
	while (elem.hasChildNodes())
	{
		elem.removeChild(elem.lastChild)
	}

}

function showLoading()
{
	var loadingElem = document.getElementById('HTML_AJAX_LOADING');
	positionLoading();
	loadingElem.style.zIndex = 10;
	loadingElem.style.display = 'block';
}

function positionLoading()
{
	var loadingElem = document.getElementById('HTML_AJAX_LOADING');
	if (loadingElem && window.pageYOffset != undefined)
	{
		loadingElem.style.top = window.pageYOffset + 'px';
	}
	else if (loadingElem)
	{
		loadingElem.style.top = document.documentElement.scrollTop + 'px';
	}
}

function processAjaxForm(formElem, node, num, action, secure)
{
	var script;
	/* ajax doesn't allow us to make a call to a different subdomain. 
	 * fix possibly is to get cert for https://www.movedigital.com 
	 *
	 *
	 * (secure) ? script = 'https://www.movedigital.com/mover/ajaxHandler.php' 
	 *	    : script = 'http://www.movedigital.com/mover/ajaxHandler.php';
	 *
	 */
	script = '/mover/ajaxHandler.php';

	var rand      = Math.random() * 99999;
	var serialize = serializeForm(formElem);
	HTML_AJAX.replace(node, script + '?node=' + node + '&fnode=' + num + '&directive=' + action + '&r='+rand + '&' + serialize);
	showLoading();
}

function processAjaxAdminForm(formElem, node, adminUser, adminPass, action)
{

	var script    = '/mover/ajaxHandler.php';
	var rand      = Math.random() * 99999;
	var serialize = serializeForm(formElem);
	HTML_AJAX.replace(node, script + '?node=' + node + '&auser=' + adminUser + '&apass=' + adminPass + '&directive=' + action + '&r='+rand + '&' + serialize);
	showLoading();
}

function serializeForm(formElem)
{
	var serializer = new Array();
	var elems      = new Array();

	var inputs     = formElem.getElementsByTagName('input');
	var selects    = formElem.getElementsByTagName('select');
	var textareas  = formElem.getElementsByTagName('textarea');
	elems = elems.concat(inputs, selects, textareas);

	/* inputs, selects and textareas */
	for (var j = 0; j < elems.length; j++)
	{
		for (var i = 0; i < elems[j].length; i++) 
		{
			if (elems[j][i].name && ((elems[j][i].type != 'checkbox') || (elems[j][i].type == 'checkbox' && elems[j][i].checked)))
			{
				serializer.push(elems[j][i].name + '=' + encodeURIComponent(elems[j][i].value));
			}
		}
	}

	return serializer.join('&');
	
}


