var params;


function getParameters()
{
	if ( params ) return params;
	
	var query = window.location.search.substring( 1 );
	
		
	if ( query == "" )
	{
		params = null;

		return params;
	}
	else
	{
		var pairs  = query.split( "&" );
		var params = new Array( pairs.length );
		
		for ( var i = 0; i < pairs.length; i++ )
		{
			var pos = pairs[i].indexOf( "=" );

			if ( pos == -1  ) continue;

		
			var param = new Object;

			param.name  = pairs[i].substring( 0, pos );
			param.value = pairs[i].substring( pos + 1 );
			
			params[i] = param;
		}

		return params;
	}
}	


function getParameter( name )
{
	if ( !params )
	{
		params = getParameters();
	}


	var value = "";
	
	if ( params != null )
	{
		for ( var i = 0; i < params.length; i++ )
		{
			if ( params[i] && ( params[i].name == name ) )
			{
				value = params[i].value;
				
				break;
			}
		}	
	}
	
	return value;
}


// Deprecated: Use getMainFrameURL */
function redirectMainFrame( defaultURL )
{
	var mainFrame = findFrame( parent, "main" );

	if ( mainFrame )
	{
		mainURL = unescape( getParameter( "mainURL" ) );

		if ( mainURL )
		{
			mainFrame.location.href = mainURL;
		}
		else
		{
			mainFrame.location.href = defaultURL;
		}
	}
}


function getMainFrameURL( defaultURL )
{
	mainURL = unescape( getParameter( "mainURL" ) );

	if ( mainURL )
	{
		return mainURL;
	}
	else
	{
		return defaultURL;
	}
}

// Deprecated: Append window.search.location to url
function forwardWithParams( frameName, url )
{
	var frame = findFrame ( parent, frameName );

	if ( frame )
	{
		frame.location.href = url + window.location.search;
	}
}

// WO 523 Pass Params To My Settings So Nav Bar Will Be Returned
function getAdminNavigationParams()
{
	var mainFrame = findFrame( parent, "main" );

	if(mainFrame.myform)
	{ 
		params = "actionBar="+mainFrame.myform.actionBar.value;
		params +="&actionIndex="+mainFrame.myform.actionIndex.value;
		//WO 606
		if(mainFrame.myform.optionIndex)
		{
			params +="&optionIndex="+mainFrame.myform.optionIndex.value;
		}
		params +="&actionBarReturnURL="+mainFrame.myform.actionBarReturnURL.value;
		return params;
	}
return 0;
}

function forwardWithReturnURL( baseURL )
{
	var mainFrame = findFrame( parent, "main" );

	if(mainFrame)
	{
		// WO 523 IF VIEW SETTINGS GO OFF AND GET ADMIN PARAMS
		if(baseURL.indexOf("EditUserRegistration.php3") > 0)
		{
			navparams = getAdminNavigationParams();
			if(navparams != 0)
			{
				mainFrame.location.href = baseURL + escape( mainFrame.location.href ) + "&"+navparams;
			} else {
				mainFrame.location.href = baseURL + escape( mainFrame.location.href );
			}
		} else {
			mainFrame.location.href = baseURL + escape( mainFrame.location.href );
		}
	}
	else
	{
		parent.main.location.href = baseURL;
	}
}


function findFrame( frame, name )
{
	//Can't retrieve the location of an external URL in the frameset
	if (typeof(frame.name) == 'unknown')
	{
		return null;
	}

	if ( frame.name == name )
	{
		return frame;
	}
	else
	{
		if ( frame.frames.length > 0 )
		{
			for ( var i = 0; i < frame.frames.length; i++ )
			{
				var newFrame = findFrame( frame.frames[i], name );
				if ( newFrame != null ) return newFrame;
			}
		}
	}
}


function listFrames( frame, name )
{
	if ( !frame )
	{
		frame = parent;
		name  = "parent";
	}
	
	name = name + "." + frame.name;
	
	if ( frame.frames.length > 0 )
	{
		for ( i = 0; i < frame.frames.length; i++ )
		{
			listFrames( frame.frames[i], name );
		}
	}
}

