/**
* AFW module Page restriction
*
*/
if(typeof(afw) === 'undefined')
{
	var afw = {};
}
if(typeof(afw.module) === 'undefined')
{
	afw.module = {};
}
afw.module.pageRestriction =
{
	params :
	{
		pages :
		{
			deny : null // {p1:false, p2:false, p3:{s1:false,s2:false}, p4:{s1:false,s2:{t1:false}}}    false indicates no children
			,allow : null
		}
	}
	,checkPage : function(pages)
	{
		if(afw.common.functions.isUndefined(pages)
		|| !afw.common.functions.isObject(pages))
		{
			pages = afw.module.pageRestriction.params.pages;
		}
		var result = true;
		if(pages.allow
		|| pages.deny)
		{
			if(pages.allow)
			{
				result = false;
				if(!afw.common.functions.isUndefined(pages.allow[afw.common.params.p]))
				{
					if(pages.allow[afw.common.params.p])
					{
						if(!afw.common.functions.isUndefined(pages.allow[afw.common.params.p][afw.common.params.s]))
						{
							if(pages.allow[afw.common.params.p][afw.common.params.s])
							{
								if(!afw.common.functions.isUndefined(pages.allow[afw.common.params.p][afw.common.params.s][afw.common.params.t]))
								{
									if(pages.allow[afw.common.params.p][afw.common.params.s][afw.common.params.t])
									{
										if(!afw.common.functions.isUndefined(pages.allow[afw.common.params.p][afw.common.params.s][afw.common.params.t][afw.common.params.u]))
										{
											result = true;
										}
									}
									else
									{
										result = true;
									}
								}
							}
							else
							{
								result = true;
							}
						}
					}
					else
					{
						result  = true;
					}
				}
			}
			else
			{
				if(!afw.common.functions.isUndefined(pages.deny[afw.common.params.p]))
				{
					if(pages.deny[afw.common.params.p])
					{
						if(!afw.common.functions.isUndefined(pages.deny[afw.common.params.p][afw.common.params.s]))
						{
							if(pages.deny[afw.common.params.p][afw.common.params.s])
							{
								if(!afw.common.functions.isUndefined(pages.deny[afw.common.params.p][afw.common.params.s][afw.common.params.t]))
								{
									if(pages.deny[afw.common.params.p][afw.common.params.s][afw.common.params.t])
									{
										if(!afw.common.functions.isUndefined(pages.deny[afw.common.params.p][afw.common.params.s][afw.common.params.t][afw.common.params.u]))
										{
											result = false;
										}
									}
									else
									{
										result = false;
									}
								}
							}
							else
							{
								result = false;
							}
						}
					}
					else
					{
						result  = false;
					}
				}
			}
		}
		return result;
	}
};
