function selectAll( hdlChk, szPrecede, hdlFrm ) {

        if( szPrecede == null ) { szPrecede = ""; }
        if( hdlFrm == null ) { hdlFrm = hdlChk.form; }
        szPrecede = String( szPrecede );

        for( i = 0; i < hdlFrm.elements.length; i++ ) {

                // If it's a checkbox && it's not the master checkbox && it has the neccessay preceding characters
                if( hdlFrm.elements[i].type == "checkbox" && hdlFrm.elements[i].name != hdlChk.name && hdlFrm.elements[i].name.slice( 0, szPrecede.length ) == szPrecede ) {
                        if( hdlChk.checked == true ) {
                                hdlFrm.elements[i].checked = true;
                        } else {
                                hdlFrm.elements[i].checked = false;
                        }
                }
        }

}


function validate_zip(inputfield, inputevent) {
	var key;
	var keychar;

	if (inputfield.value.length == 5) {
		if (window.event) {
			key = window.event.keyCode;
		} else if (inputevent) {
			key = inputevent.which;
		} else {
			return true;
		}

		keychar = String.fromCharCode(key);
		// control keys
		if ((key==null) || (key==0) || (key==8) ||
    			(key==9) || (key==13) || (key==27)) {
			return true;

		// numbers
		} else if (("0123456789-").indexOf(keychar) > -1) {
			return true;
		} else {
			return false;
		}
	} else {
		if (window.event) {
			key = window.event.keyCode;
		} else if (inputevent) {
			key = inputevent.which;
		} else {
			return true;
		}

		keychar = String.fromCharCode(key);
		// control keys
		if ((key==null) || (key==0) || (key==8) ||
    			(key==9) || (key==13) || (key==27)) {
			return true;

		// numbers
		} else if (("0123456789").indexOf(keychar) > -1) {
			return true;
			
		} else {
			return false;
		}
	}
}


function selInput_moveUp( selObj, dataChangedFlag ) {
	var iSelIndex 		= selObj.selectedIndex;
	var szTempOption 	= new Option();
	if( iSelIndex >= 1 ) {
		szTempOption = selObj.options[iSelIndex];
		selObj.options[iSelIndex] = new Option( selObj.options[iSelIndex-1].text, selObj.options[iSelIndex-1].value );
		selObj.options[iSelIndex-1] = new Option( szTempOption.text, szTempOption.value );
		selObj.options[iSelIndex-1].selected = true;
		if( dataChangedFlag ) {
			dataChangedFlag.value="1";
		}
	}
}

function selInput_moveDown( selObj, dataChangedFlag ) {
	var iSelIndex = selObj.selectedIndex;
	var szTempOption = new Option();
	if( iSelIndex >= 0 && iSelIndex < ( selObj.options.length - 1 ) ) {
		szTempOption = selObj.options[iSelIndex];
		selObj.options[iSelIndex] = new Option( selObj.options[iSelIndex+1].text, selObj.options[iSelIndex+1].value );
		selObj.options[iSelIndex+1] = new Option( szTempOption.text, szTempOption.value );
		selObj.options[iSelIndex+1].selected = true;
		if( dataChangedFlag ) {
			dataChangedFlag.value="1";
		}
	}
}

function disableLikeFields( cb, frm, strStarts ) {
	var state = false;
	if( cb.checked == true ) {
		state = true;
	}

	arrStarts = strStarts.split( "," );
	for( var i = 0; i < frm.elements.length; i++ ) {
		for( i2 = 0; i2 < arrStarts.length; i2++ ) {
			if( arrStarts[i2] != "" ) {
				if( frm.elements[i].name.substr( 0, arrStarts[i2].length ) == arrStarts[i2] ) {
					frm.elements[i].disabled = state;
				}
			}
		}
	}
}

