/*
 * $Id: myprofile.js,v 1.8 2007/09/20 05:08:01 jake Exp $
 * 
 * Author: Stacy Horton
 * 
 */


function onCountryIDChange () {
	ajax_request('ajax/getlocations.php?CountryID='+document.getElementById('CountryID').value, true, 'updateLocation');
	ajax_request('ajax/getstates.php?CountryID='+document.getElementById('CountryID').value, true, 'updateState');
}


function updateState ( response ) {
	StateIDBox = document.getElementById('StateID');
	ajax_result_fill_listbox(response, StateIDBox, 'State', 'StateID', 'StateName', 'Select One...');
	if ( StateIDBox.length > 1 ) {
		hideStateTextBox();
	} else {
		showStateTextBox();
	}
}


function updateLocation ( response ) {
	LocationIDBox = document.getElementById('LocationID');
	ajax_result_fill_listbox(response, LocationIDBox, 'Location', 'LocationID', 'LocationName', 'Select One...');
	if ( LocationIDBox.length > 1 ) {
		hideLocationTextBox();
	} else {
		showLocationTextBox();
	}
}


function showStateTextBox () {
	document.getElementById('StateSelectBox').style.display='none';
	document.getElementById('StateTextBox').style.display='inline';
}


function hideStateTextBox ( override ) {
	if ( override || document.getElementById('StateID').length > 0 ) {
		document.getElementById('StateSelectBox').style.display='inline';
		document.getElementById('StateTextBox').style.display='none';
		document.getElementById('State').text='';
		document.getElementById('State').value='';
	}
}


function showLocationTextBox () {
	document.getElementById('LocationSelectBox').style.display='none';
	document.getElementById('LocationTextBox').style.display='inline';
}


function hideLocationTextBox ( override ) {
	if ( override || document.getElementById('LocationID').length > 0 ) {
		document.getElementById('LocationSelectBox').style.display='inline';
		document.getElementById('LocationTextBox').style.display='none';
		document.getElementById('City').text='';
		document.getElementById('City').value='';
	}
}


function goToPage ( FormID, PageNo ) {
	document.getElementById(FormID).Page.value=PageNo;
	document.getElementById(FormID).submit();
}


function showHide ( showID, hideID ) {
	if ( show = document.getElementById(showID) ) {
		show.style.display='inline';
	}
	if ( hide = document.getElementById(hideID) ) {
		hide.style.display='none';
	}
}


function showHideSingle ( elementID ) {
	element = document.getElementById(elementID);
	if( element.style.display == 'none' ) {
		element.style.display = 'block';
	} else {
		element.style.display = 'none';
	}
}


function toggleFormValue ( elementID ) {
	element = document.getElementById(elementID);
	if ( element.value == '1' ) {
		element.value = '0';
	} else {
		element.value = '1';
	}
}


function moveAll ( from, to, removeFrom, addTo ) {
	selectBox = document.getElementById(from);
	if ( selectBox.type == "select-multiple" ) {
		for ( var j = 0; j < selectBox.length; j++ ) {
			if ( selectBox.options[j].value > 0 ) {
				selectBox.options[j].selected = true;
			}
		}
	}
	move(from, to, removeFrom, addTo);
}


function move ( from, to, removeFrom, addTo ) {
	tbox = document.getElementById(to);
	fbox = document.getElementById(from);
	var arrFbox = [];
	var arrTbox = [];
	var arrLookup = [];
	var i;
	for ( i = 0; i < tbox.options.length; i++ ) {
		arrLookup[tbox.options[i].text] = tbox.options[i].value;
		arrTbox[i] = tbox.options[i].text;
	}
	
	var fLength = 0;
	var tLength = arrTbox.length;
	for ( i = 0; i < fbox.options.length; i++ ) {
		arrLookup[fbox.options[i].text] = fbox.options[i].value;
		if ( fbox.options[i].selected && fbox.options[i].value != "" && fbox.options[i].value > 0 ) {
			arrTbox[tLength] = fbox.options[i].text;
			tLength++;
		} else {
			arrFbox[fLength] = fbox.options[i].text;
			fLength++;
		}
	}
	
	var c;
	if ( removeFrom ) {
		fbox.length = 0;
		for ( c = 0; c < arrFbox.length; c++ ) {
			var no = new Option();
			no.value = arrLookup[arrFbox[c]];
			no.text = arrFbox[c];
			fbox[c] = no;
		}
	}
	
	var temp = [];
	if ( addTo ) {
		tbox.length = 0;
		var count = 0;
		for ( c = 0; c < arrTbox.length; c++ ) {
			var no = new Option();
			no.value = arrLookup[arrTbox[c]];
			no.text = arrTbox[c];
			if ( temp[no.text] == undefined && no.text ) {
				tbox[count++] = no;	
			} else {
				
			}
			temp[no.text] = no.text;
		}
	}
}


function selectAll( tagID ) {
	selectBox = document.getElementById ( tagID );
	if ( selectBox.type == "select-multiple" ) {
		for(var j = 0; j < selectBox.length; j++) {
			selectBox.options[j].selected = true;
		}
	}
}


function selectAllMultipleSelects() {
	for(var i = 0; i < document.forms.length; i++) {
		for(var j = 0; j < document.forms[i].length; j++) {
			if ( document.forms[i].elements[j].type == "select-multiple" ) {
				for(var k = 0; k < document.forms[i].elements[j].length; k++) {
					document.forms[i].elements[j].options[k].selected = true;
				}
			}
		}
	}
}