aAllowedMethods = [ "display", "visibility" ];

show = function( mId, sMethod )
{
	sMethod = sMethod || "display";

	if( !aAllowedMethods.in_array( sMethod ) )
		return false;

	if( mId instanceof Array )
		for( var i = 0; i < mId.length; ++i )
		{
			oElement = document.getElementById( mId[ i ] );
			if( oElement )
				oElement.style[ sMethod ] = ( sMethod == "display" ? "block" : "visible" );
		}
	else
	{
		oElement = document.getElementById( mId );
		if( oElement )
			oElement.style[ sMethod ] = ( sMethod == "display" ? "block" : "visible" );
	}
}

hide = function( mId, sMethod )
{
	sMethod = sMethod || "display";

	if( !aAllowedMethods.in_array( sMethod ) )
		return false;

	if( mId instanceof Array )
		for( var i = 0; i < mId.length; ++i )
		{
			oElement = document.getElementById( mId[ i ] );
			if( oElement )
				oElement.style[ sMethod ] = ( sMethod == "display" ? "none" : "hidden" );
		}
	else
	{
		oElement = document.getElementById( mId );
		if( oElement )
			oElement.style[ sMethod ] = ( sMethod == "display" ? "none" : "hidden" );
	}
}

Array.prototype.in_array = function( sNeedle )
{
	for( var i = 0; i < this.length; ++i )
		if( this[ i ] == sNeedle )
			return true;
	return false;
}

String.prototype.ucFirst = function ()
{
	return this.substr(0,1).toUpperCase() + this.substr(1,this.length);
};

function array_merge () {
	// Merges elements from passed arrays into one array	
	// 
	// version: 1004.2314
	// discuss at: http://phpjs.org/functions/array_merge
	// +	original by: Brett Zamir (http://brett-zamir.me)
	// +	bugfixed by: Nate
	// +	input by: josh
	// +	bugfixed by: Brett Zamir (http://brett-zamir.me)
	// *		example 1: arr1 = {"color": "red", 0: 2, 1: 4}
	// *		example 1: arr2 = {0: "a", 1: "b", "color": "green", "shape": "trapezoid", 2: 4}
	// *		example 1: array_merge(arr1, arr2)
	// *		returns 1: {"color": "green", 0: 2, 1: 4, 2: "a", 3: "b", "shape": "trapezoid", 4: 4}
	// *		example 2: arr1 = []
	// *		example 2: arr2 = {1: "data"}
	// *		example 2: array_merge(arr1, arr2)
	// *		returns 2: {0: "data"}
	
	var args = Array.prototype.slice.call(arguments), retObj = {}, k, j = 0, i = 0, retArr = true;
	for (i=0; i < args.length; i++) {
		if (!(args[i] instanceof Array)) {
			retArr=false;
			break;
		}
	}
	
	if (retArr) {
		retArr = [];
		for (i=0; i < args.length; i++) {
			retArr = retArr.concat(args[i]);
		}
		return retArr;
	}	 var ct = 0;
	
	for (i=0, ct=0; i < args.length; i++) {
		if (args[i] instanceof Array) {
			for (j=0; j < args[i].length; j++) {
				retObj[ct++] = args[i][j];
			}
		} else {
			for (k in args[i]) {
				if (args[i].hasOwnProperty(k)) {
					if (parseInt(k, 10)+'' === k) {
						retObj[ct++] = args[i][k];
					} else {
						retObj[k] = args[i][k];
					}
				}
			}
		}
	}
	return retObj;
}