function changeSort(sSort, iType, mInst)
{
	if ( typeof iType != 'number' ) {
		iType = 0;
	} else if ( iType != 0 && iType != 1 && iType != 2 ) {
		iType = 0;
	}
	
	if ( typeof mInst == 'number' ) {
		mInst = mInst.toString();
	} else if ( typeof mInst != 'string' ) {
		mInst = '';
	}
	
	var aSort = sSort.split(';');
	var sURL = document.location.toString();
	var sChar = ( sURL.indexOf('?') > -1 ) ? '&' : '?';
	
	switch ( iType ) {
		case 0:
			var rReplace = new RegExp('([?&])sort' + mInst + '\\[]=([^&]*)', 'ig');
			sURL = sURL.replace(rReplace, '$1') + sChar + 'sort' + mInst + '[]=' + sSort;
			break;
		
		case 1:
			var rReplace = new RegExp('([?&])sort' + mInst + '\\[]=' + aSort[0] + ';(?:asc|desc)(&|$)', 'i');
			if ( rReplace.test(sURL) ) {
				sURL = sURL.replace(rReplace, '$1sort' + mInst + '[]=' + sSort + '$2');
			} else {
				var rSort = new RegExp('^(.*?)([?&])(sort' + mInst + '\\[]=.*?)$', 'i');
				if ( rSort.test(sURL) ) {
					sURL = sURL.replace(rSort, '$1$2sort' + mInst + '[]=' + sSort + '&$3');
				} else {
					sURL += sChar + 'sort' + mInst + '[]=' + sSort;
				}
			}
			break;
		
		case 2:
			var rReplace = new RegExp('([?&])sort' + mInst + '\\[]=' + aSort[0] + ';(?:asc|desc)(&|$)', 'i');
			if ( rReplace.test(sURL) ) {
				sURL = sURL.replace(rReplace, '$1sort' + mInst + '[]=' + sSort + '$2');
			} else {
				sURL += sChar + 'sort' + mInst + '[]=' + sSort;
			}
			break;
	}
	
	sURL = sURL.replace(/&{2,}/g, '&');
	window.location = sURL;
	return sURL;
}
function modifyURLParam(sName, sValue, sURL)
{
	if ( typeof sURL != 'string' ) {
		var sURL = document.location.toString();
	}
	
	var rSearch = new RegExp('([?&])' + sName + '=[^&]*', 'i');	
	var sReplace = '$1' + sName + '=' + encodeURIComponent(sValue);
	if ( rSearch.test(sURL) ) {
		sURL = sURL.replace(rSearch, sReplace);
	} else if ( sURL.indexOf('?') > -1 ) {
		sURL += '&' + sName + '=' + encodeURIComponent(sValue);
	} else {
		sURL += '?' + sName + '=' + encodeURIComponent(sValue);
	}
	return (sURL);
}
function disabledSubmit(oForm)
{
	$(':submit').attr('disabled', 'disabled');
	oForm.submit();
	return;
}
function deleteCECredit(ceid)
{
	var sMessage = 'Are you sure you wish to delete this CE credit record?';
	if ( window.confirm(sMessage) ) {
		$.ajax({
			'type' : 'get',
			'url' : 'index.php?neverrewind&module=aacd&cmd=deletececredit',
			'data' : 'id=' + parseInt(ceid, 10).toString(),
			'success' : refreshProfile
		});
	}
	return;
}
function deleteCEEvent(ceEventId)
{
	var sMessage = 'Are you sure you wish to delete this CE event?';
	if ( window.confirm(sMessage) ) {
		$.ajax({
			'type' : 'get',
			'url' : 'index.php?neverrewind&module=aacd&cmd=deleteceevent',
			'data' : 'id=' + parseInt(ceEventId, 10).toString(),
			'success' : refreshProfile
		});
	}
	return;
}
function refreshProfile(sResponse)
{
	try {
		eval("var jResponse = " + sResponse + ";");
	} catch (e) {
		window.alert('An unknown error occurred.');
		return;
	}
	if ( jResponse.error == 0 && jResponse.id > 0 ) {
		hideRow(jResponse.id);
	} else if ( jResponse.error == 0 && jResponse.image ) {
		hideImage(jResponse.image);
	} else if ( jResponse.error == 0 ) {
		reloadPage();
	} else {
		window.alert(jResponse.error);
	}
	return;
}
function hideRow(id)
{
	$('#r' + id)[0].className += '_deleted';
	$('#r' + id).fadeOut(1000, reloadPage);
	return;
}
function reloadPage()
{
	document.location.reload();
	return;
}
function enableSubmit()
{
	$(':submit').removeAttr('disabled');
	return;
}
