function showSearch(){
	if (document.getElementById('search').style.display == 'block') {
		document.getElementById('search').style.display = 'none';
	} else {
		document.getElementById('search').style.display = 'block';
	}
}

function getElementsByClassName(stringElementType, stringClassName) {
	d = document.getElementsByTagName(stringElementType);
	j=0;
	var cl = new Array()
	blnExcluding = false;
	if( stringClassName.indexOf( '!' ) == 0 ){
		blnExcluding = true;
		stringClassName = stringClassName.substring( 1 );
	}
	for(i=0;i<d.length;i++){
		if( blnExcluding ){
			if(d[i].className != stringClassName){
				cl[j] = d[i];
				j++
			}
		} else {
			if(d[i].className == stringClassName){
				cl[j] = d[i];
				j++
			}
		}
	}
	return cl
}

function toggleAll(){
	d = getElementsByClassName( 'input', 'checkbox' );
	blnCheck = false;
	for(i=0;i<d.length;i++){
		if ( d[i].checked != true ){
			blnCheck = true;
			break;
		}
	}
	for(i=0;i<d.length;i++){
		d[i].checked = blnCheck;
	}
}

function getSelected(){
	arrDel = new Array()
	d = getElementsByClassName( 'input', 'checkbox' );
	for(i=0;i<d.length;i++){
		if(d[i].checked == true){
			arrDel[arrDel.length] = d[i].value;
		}
	}
	strItems = arrDel.join( ',' );
	return strItems;
}

function deleteSelected( strBaseAddress ){
	if ( getSelected()){
		confirmDelete( strBaseAddress + '&arrItems=' + getSelected(), 'Are you sure you want to delete these items? This action cannot be undone.')
	} else {
		alert ( 'Please select items to delete' );
	}
}

function hideClass ( strElementType, strClassName ){
	objElements = getElementsByClassName(strElementType, strClassName);
	for (i=0;i<objElements.length;i++){
		objElements[i].style.display = 'none';
	}
}

function switchClass ( strElementType, strClassNameFrom, strClassNameTo ){
	objElements = getElementsByClassName(strElementType, strClassNameFrom);
	for (i=0;i<objElements.length;i++){
		objElements[i].className = strClassNameTo;
	}
}

function toggleShowHideLayer ( strObject ) {
	objElement = document.getElementById( strObject );
	if ( objElement.style.display == 'block' ){
		objElement.style.display = 'none';
	} else {
		objElement.style.display = 'block';		
	}
}

function attachEventToObject ( obj, strEvent, strAction ){
	if (obj.addEventListener){
		obj.addEventListener ( strEvent, strAction, false );
	} else if (obj.attachEvent){
		obj.attachEvent( 'on'+strEvent, strAction );
	}
}

function getClickedElement (objEvent){
	//	objEvent = arguments[0] || window.event,
	objElement = objEvent.target || objEvent.srcElement;
	return objElement;
}

/** Shows or hides an element based on the state of a checkbox **/
function showHideElementFromCheckbox( objCheck, objElement, blnReverse ){
	if ( !blnReverse ){
		strStyle1 = 'block'
		strStyle2 = 'none'
	} else {
		strStyle1 = 'none'
		strStyle2 = 'block'
	}
	if ( objCheck.checked ){
		objElement.style.display = strStyle1
	} else {
		objElement.style.display = strStyle2		
	}
}

function adjustForTax( strObj1, strObj2, fltTax ){
	objElement1 = document.getElementById( strObj1 );
	objElement2 = document.getElementById( strObj2 );	
	objElement2.value = Math.round( parseFloat( objElement1.value ) * parseFloat( fltTax ) * 100)/100;
	if ( objElement2.value == 'NaN' ){
		objElement1.value = 0;
		objElement2.value = 0;
	}
}