function inArray(array, value)
{
	var i;
	for (i = 0; i < array.length; i++)
	{
		if (array[i] === value)
		{
			return true;
		}
	}
	return false;
};

function pairToObject(nameValueArray)
{
	var result = {};
	for ( var idx in nameValueArray)
	{
		result[nameValueArray[idx]['name']] = nameValueArray[idx]['value'];
	}
	return result;
}

(function($)
{
	$.fn.serializeJSON = function()
	{
		var json = {};
		jQuery.map($(this).serializeArray(), function(n, i)
		{
			json[n['name']] = n['value'];
		});
		return json;
	};
})(jQuery);

/**
 * Function : dump() Arguments: The data - array,hash(associative array),object
 * The level - OPTIONAL Returns : The textual representation of the array. This
 * function was inspired by the print_r function of PHP. This will accept some
 * data as the argument and return a text that will be a more readable version
 * of the array/hash/object that is given. Docs:
 * http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 */
function dump(arr, level, maxlevel)
{
	var dumped_text = "";
	if (!level)
		level = 0;
	if (!maxlevel)
		level = 999;
	// The padding given at the beginning of the line.
	var level_padding = "";
	for ( var j = 0; j < level + 1; j++)
		level_padding += "    ";

	if (typeof (arr) == 'object')
	{ // Array/Hashes/Objects
		for ( var item in arr)
		{
			var value = arr[item];

			if (typeof (value) == 'object')
			{ // If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				if (level <= maxlevel)
				{
					dumped_text += dump(value, level + 1, maxlevel);
				}
			}
			else
			{
				dumped_text += level_padding + "'" + item + "' => \"" + value
						+ "\"\n";
			}
		}
	}
	else
	{ // Stings/Chars/Numbers etc.
		dumped_text = "===>" + arr + "<===(" + typeof (arr) + ")";
	}
	return dumped_text;
}
