var NS4 =  (document.layers) ? 1 : 0;
var IE4 =  (document.all) ? 1 : 0;
var DOM =  (document.getElementById) ? 1 : 0;
var ver4 = (NS4 || IE4) ? 1 : 0;

regq = new RegExp( "([][(){}.*?$+])", "g" );

function RegExpQuote( str ) {
	str.replace(regq, "\\$1");
	return str;
}

function UrlAddArgument( uri, arg, val ) {
	sarg = RegExpQuote( escape( arg ) );
	fld = escape( arg ) + "=" + escape( val );
	regu = new RegExp( "([?&])" + sarg + "=[^&]+" );

	if( regu.test( uri ) ) {
		return uri.replace( regu, "$1"+fld );
	} else {
		if( uri.indexOf( "?" ) >= 0 ) {
			return uri+"&"+fld;
		} else {
			return uri+"?"+fld;
		}
	}
}

function UrlRemArgument( uri, arg ) {
	sarg = RegExpQuote( escape( arg ) );
	regu = new RegExp( "([?&])" + sarg + "=[^&]+[?&]?" );

	if( regu.test( uri ) ) {
		return uri.replace( regu, "$1" );
	}
	
	return uri;
}

function UrlGetArgument( uri, arg ) {
	sarg = RegExpQuote( escape( arg ) );
	regu = new RegExp( "([?&])" + sarg + "=([^&]+)" );

	if( regu.test( uri ) ) {
		var parts = uri.match( regu );
		return parts[2];
	} else {
		return 0;
	}
}

