//==========================================================================================
// dump: This function takes any variable (primitive, array, hashes, object), 
//       and will return a text representation of that object content.
//       This function is similar to PHP print_r function
//      args: variable - any variable - primitive, array, hash(associative array), object
//            level    - (optional)
//    return: The textual representation of the array.
//==========================================================================================
function dump(variable, level) 
{
    var dumped_text  = "";
    if(!level) level = 0;
    
    //The padding given at the beginning of the line.

    var level_padding = "";                         //padding for beginning of line
    
    for(var j=0; j<level+1; j++)                    //extend the padding 
        level_padding += "    ";
    
    if(typeof(variable) == 'object')                //Array/Hashes/Objects 
    {
        for(var item in variable) 
        {
            var value = variable[item];
            
            if(typeof(value) == 'object')           //If it is an array,
            {
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += dump(value,level+1);
            } 
            else
            {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } 
    else 
    {                                               //Stings/Chars/Numbers etc.
        dumped_text = "===> "+variable+" <===("+ typeof(variable) +")";
    }

    return dumped_text;
}
//=====================================================================================