function hideElement (objThis)
{
	objThis.style.display = 'none';
}

function submitNewsletter()
{
	if (document.getElementById('txtNewsletterEmail').value.indexOf('@') == -1)
	{
		alert ('Please enter an email address.');
	}
	else
	{
		var url = "newsletter_signup.php";
		var params = "txtNewsletterEmail=" + document.getElementById('txtNewsletterEmail').value;
		ajax.open ("POST", url, true);
		ajax.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
		ajax.setRequestHeader ("Content-length", params.length);
		ajax.setRequestHeader ("Connection", "close");
		ajax.send (params);
		alert ('Thank you, your email address has been stored.');
		document.getElementById('txtNewsletterEmail').value = 'enter email address';
	}
}

function setIdDisplay (strId)
{
	transitionEffect(strId, 'opacity', 0, 1, 20, 0.1);
}

function setIdHidden (strId)
{
	transitionEffect(strId, 'opacity', 1, 0, 20, 0.1);
}

function openAdvancedSearch()
{
	setIdHidden ('searchHover1');
	setIdHidden ('searchHover2');
	setIdDisplay ('advancedSearchMenu');
}

function GetServiceType()
{
	var ArrOptions = document.getElementById('service_type').options;
	for (i = 0; i < ArrOptions.length; i++)
	{
		if (ArrOptions[i].selected == true)
		{
			return ArrOptions[i].value;
		}
	}
	// default returns 1
	return 1;
}

function SetServiceType(intValue)
{
	var ArrOptions = document.getElementById('service_type').options;
	for (i = 0; i < ArrOptions.length; i++)
	{
		if (ArrOptions[i].value == intValue)
		{
			ArrOptions[i].selected = true;
		}
	}
}

function validateRatingSubmission (intId)
{
	var strError = '';
	if (document.getElementById('txtName' + intId).value == '')
	{
		strError += '-Name\n';
	}
	if (document.getElementById('txtSecurityCode' + intId).value == '')
	{
		strError += '-Security Code\n';
	}

	if (strError != '')
	{
		alert ('Please correct the following:\n\n' + strError);
		return false;
	}
	return true;
}

function validateAdvertiserLogin ()
{
	var strError = '';


	if (document.getElementById('txtEmail').value == '')
	{
		strError += '-Email Address\n';
	}
	if (document.getElementById('txtPassword').value == '')
	{
		strError += '-Password\n';
	}

	if (strError != '')
	{
		alert ('Please correct the following:\n\n' + strError);
		return false;
	}
	return true;
}

function validateAdvertiserAssistanceEmail ()
{
	var strError = '';
	if (document.getElementById('txtForgotEmail').value == '')
	{
		strError += '-Email Address\n';
	}
	if (document.getElementById('txtSecurityCode').value == '')
	{
		strError += '-Security Code\n';
	}

	if (strError != '')
	{
		alert ('Please correct the following:\n\n' + strError);
		return false;
	}
	return true;
}



var intSelectedTab = 0;
/*
 * @description Update class only if this tab is not selected.
 * @param objThis the current tab object.
 * @param strClassName the desired class name.
 */
function tabHover(objThis, strClassName)
{
	if (objThis.className != 'tab_selected')
	{
		objThis.className = strClassName;
	}
}

/*
 * @description Loop through all tabs. Set this tab as selected, and others as deselected.
 * @param objThis the current tab object.
 */
function tabSelect(objThis)
{
	var tabs = document.getElementById('tab_buttons').getElementsByTagName('DIV');

	for (i = 0; i < tabs.length; i++)
	{
		if (tabs[i].innerHTML == objThis.innerHTML)
		{
			tabs[i].className = 'tab_selected';
			handleIDStyle('tab_window_' + i, 'display', 'block');
			intSelectedTab = i;
		}
		else if (tabs[i].className == 'tab_selected')
		{
			tabs[i].className = 'tab_deselected';
			handleIDStyle('tab_window_' + i, 'display', 'none');
		}
	}
}


function evalWordCount(objThis, strIdDisplay, intMaxWords)
{
	var arrWords = objThis.value.split(' ');
	var strValue = '';
	var intWords = 0;
	if (arrWords.length > intMaxWords)
	{
		for (intI = 0; intI < intMaxWords; intI++)
		{
			strValue += arrWords[intI] + ' ';
			intWords++;
		}
		objThis.value = strValue;
	}
	else
	{
		intWords = arrWords.length;
	}
	intWords = (intMaxWords - intWords);
	if (intWords == 1)
	{
		document.getElementById(strIdDisplay).innerHTML = intWords + ' word remaining.';
	}
	else
	{
		document.getElementById(strIdDisplay).innerHTML = intWords + ' words remaining.';
	}
}

function formatCurrency(num)
{
	num = num.toString().replace(/\$|\,/g, '');
	if (isNaN(num)) 
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num * 100 + 0.50000000001);
	cents = num % 100;
	num = Math.floor(num / 100).toString();
	if (cents < 10) 
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) 
		num = num.substring(0, num.length - (4 * i + 3)) + ',' +
		num.substring(num.length - (4 * i + 3));
	return (((sign) ? '' : '-') + '$' + num + '.' + cents);
}

function clearValue(strId, strType)
{
	var objElement = document.getElementById(strId);
	if (strType == 'text')
	{
		objElement.value = '';
	}
	else if (strType == 'select')
	{
		objElement.options[0].selected = true;
	}
}

var intThisTab = 0;
var intNextTab = 1;
function nextTab(intTab)
{
	if (intTab == undefined)
	{
		var intTab = intNextTab;
	}
	intThisTab = intTab;
	tabSelect(document.getElementById('tab_' + intTab));
}