function changeVis(div,mode)
{
	if(mode != null)
	{
		document.getElementById(div).style.display = mode;
	}
	else
	{
		vista = (document.getElementById(div).style.display == 'none') ? '' : 'none';
		document.getElementById(div).style.display = vista;
	}	
}

function checkedAll (id, checked) {
	var el = document.getElementById(id);
	for (var i = 0; i < el.elements.length; i++) {
		el.elements[i].checked = checked;
	}
}

function updateErrorText(errorText, parentID, elementIDBelow)
{
	if(errorFieldset = document.getElementById('errorText'))
	{
		errorFieldset.innerHTML = "<p>"+errorText+"</p>";					
	}
	else
	{
		//Fieldset errorText is not present. Lets make it.
		errorFieldset = document.createElement("fieldset");
		errorFieldset.setAttribute("id", "errorText");
		errorLegend = document.createElement("legend");
		errorLegend.innerHTML = "Notice";
		errorFieldset.appendChild(errorLegend);
		errorFieldset.appendChild(document.createElement('p')).innerHTML = errorText;
		document.getElementById(parentID).insertBefore(errorFieldset,document.getElementById(elementIDBelow));
	}		
}

function changeToggle(toggle)
{
	toggle = document.getElementById(toggle);					
	toggle.innerHTML = (toggle.innerHTML == '+') ? '&ndash;' : '+';
}


var win = null;
var closewin = null;

function NewWindow(mypage,myname,w,h,scroll){
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings =
	'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable=no','fullscreen=yes'
	win = window.open(mypage,myname,settings)
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function quickResult(id, checkIt, value, formID)
{
	if(checkIt != null) document.getElementById(id).checked = 'checked';
	else document.getElementById(id).value = value;
	document.getElementById(formID).submit();	
}

function quickResultRange(prefix, value, formID)
{
	fromElement = document.getElementById(prefix+'_from');
	toElement 	= document.getElementById(prefix+'_to');
	
	fromValue = null;
	toValue = null;
	
	value = value.replace(/\$/g, "");
	value = value.replace(/,/g, "");
	
	/**
	 * Value is 1 of these:
	 * < n
	 * n - n
	 * n +
	 */
	if ((middle = value.indexOf('<')) >= 0)
	{
		toValue 	= value.substring(middle + 1);
	}
	else if ((middle = value.indexOf('-')) >= 0)
	{
		fromValue 	= value.substring(0, (middle - 1));
		toValue 	= value.substring((middle + 2));
	}
	else if (value.indexOf('+') >= 0)
	{
		fromValue 	= value.substring(0, (value.length - 2));
	}
	
	
	if (fromValue) 	fromElement.value 	= fromValue;
	if (toValue) 	toElement.value		= toValue;
	
	document.getElementById(formID).submit();	
}

/**
 * Confirm Text Swap
 * 
 * @param {Object} selectInputID
 */
function confirmSwap(selectInputID)
{
	selectInput = document.getElementById(selectInputID);
	if (selectInput.options[selectInput.selectedIndex].value == 0)
	{
		alert(selectInput.options[selectInput.selectedIndex].text);
		return false;
	}
	else
	{
		confirmText = selectInput.options[selectInput.selectedIndex].text + ' this item?';
		return confirm(confirmText);
	}
}

/**
 * Swap images
 * 
 * @param {Object} imageName
 * @param {Object} divID
 */
function imageSwap(imageName, divID)
{
	document.getElementById(divID).src = imageName;
	document.getElementById(divID+'Link').href = imageName.replace("200x250", "800x600");
}

/**
 * Check all/none checkboxes
 * 
 * REQUIRES: getElementByClass
 * 
 * @param {Object} parentBox
 * @param {Object} className
 */				
function switcharoo(parentBox, className)
{
	selectBoxes = getElementsByClass(className);
	if (parentBox == 'checked' || parentBox.checked) 
		for(i=0;i<selectBoxes.length;i++) selectBoxes[i].checked = 'checked';
	else 
		for(i=0;i<selectBoxes.length;i++) selectBoxes[i].checked = '';
}

function countAds(ipAddress)
{
	var adArray = new Array();
	var ads = new Array();
	ads[0] = getElementsByClass('ad_listing');		
	ads[1] = getElementsByClass('ad_detailpage');		
	ads[2] = getElementsByClass('ad_sidebar');	
	for (j = 0; j < ads.length; j++) 
	{
		for (i = 0; i < ads[j].length; i++) 
		{
			adArray.push((ads[j][i]).id.substring(7));
		}
	}
	if (adArray.length > 0) 
	{
		adString = adArray.join(',');
		new Ajax.Request('/count_ads.php', 
		{
			method: 'post',
			parameters: 
			{
				ids: adString,
				ipAddress: ipAddress
			}
		});
	}
}