


//********************************************************************************
//********************************************************************************
// Dictionary functions
//********************************************************************************
//********************************************************************************

	// CreateDictionary(ResponseLines)
	//		ResponseLines: array of name/value pairs
	//	Turns name/value pairs into dictionary
	function CreateDictionary (ResponseLines)
	{
		var dictionary = new Array();
		for (i = 0; i < ResponseLines.length; i++)
		{
			currentLine = ResponseLines[i];
			lineSplit = currentLine.split ("=");
			if(lineSplit.length > 2)  //name = field=value1|field2=value2
			{
			    equalsSign = currentLine.indexOf("=");
			    name=currentLine.substring(0, equalsSign);
			    value=currentLine.substring(equalsSign+1);
			}
			else  // name = value
			{
			    name=lineSplit[0];
			    value=lineSplit[1];
			}
			UpdateDictionary (dictionary, name, value );
		}
		return dictionary;
	}

	// Similar to above, but also takes out &s
	function CreateDictionaryWrap(Response)
	{
		var myArray = new Array();
		myArray = Response.split('&');
		return CreateDictionary(myArray);
	}


	// UpdateDictionary(dictionary, name, value)
	//	Adds a name/value pair to dictionary
	function UpdateDictionary (dictionary, name, value )
	{
		if (dictionary == null)
		{
			dictionary = new Array ();
		}
		var newEntry = new Object ();
		newEntry['name']= name;
		newEntry['value'] = value;
		dictionary.push (newEntry);
	}

	// GetValue(dictionary, name)
	//	Grabs value of name from dictionary dictionary
	function GetValue (dictionary, name)
	{
		if(dictionary != null)
		{
			for (i = 0;i < dictionary.length;i++)
			{
				if (dictionary[i]['name'] == name)
				{
					return dictionary[i]['value'];
				}
			}
		}
		return null;
	}
	
//********************************************************************************
//********************************************************************************
// Other functions
//********************************************************************************
//********************************************************************************

	function ShowAlert(someString)
	{
		alert(someString);
	}

    function ReportURLParams()
    {
        var params = getURLParam("params");
        var returnParams = "";
        var indParams = params.split("|");
		for (i = 0; i < indParams.length; i++)
		{
			currentLine = indParams[i];
			if(currentLine != "")
			{
			    lineSplit = currentLine.split (",");
                returnParams += lineSplit[0] + "=" + lineSplit[1] + "&";
            }
		}
        return returnParams;
    }
	
	// found online...original author unknown
	function getURLParam(strParamName)
    {
	    var strReturn = "";
	    var strHref = window.location.href;
	    if ( strHref.indexOf("?") > -1 )
	    {
		    var strQueryString = strHref.substr(strHref.indexOf("?"));
		    var aQueryString = strQueryString.split("&");
		    for ( var iParam = 0; iParam < aQueryString.length; iParam++ )
		    {
			    if (aQueryString[iParam].indexOf(strParamName + "=") > -1 )
			    {
				    var aParam = aQueryString[iParam].split("=");
				    strReturn = aParam[1];
				    break;
			    }
		    }
	    }
	    return strReturn;
	}
