var _BTN = '_BTN';
var _CAL = '_CAL';
var _DDL = '_DDL';
var _HDN = '_HDN';
var _IMG = '_IMG';
var _LNK = '_LNK';
var _PNL = '_PNL';
var _REQ = '_REQ';
var _PFX = 'ctl00_ContentArea_';
var _MININT = '-2147483648';

var ICL = 
	function() 
	{

		return {

			/**
			 * Yahoo presentation platform utils namespace
			 */
			Web: {},

			/**
			 * Returns the namespace specified and creates it if it doesn't exist
			 *
			 * ICL.namespace("property.package");
			 * ICL.namespace("ICL.property.package");
			 *
			 * Either of the above would create ICL.property, then
			 * ICL.property.package
			 *
			 * @param  {String} sNameSpace String representation of the desired
			 *                             namespace
			 * @return {Object}            A reference to the namespace object
			 */
			namespace: function( sNameSpace ) {

				if (!sNameSpace || !sNameSpace.length) {
					return null;
				}

				var levels = sNameSpace.split(".");

				var currentNS = ICL;

				// ICL is implied, so it is ignored if it is included
				for (var i=(levels[0] == "ICL") ? 1 : 0; i<levels.length; ++i) {
					currentNS[levels[i]] = currentNS[levels[i]] || {};
					currentNS = currentNS[levels[i]];
				}

				return currentNS;

			}
		};

	} ();

