function ArrayDimension($array, $option = NULL)
 {
     $img = new ImageGallery();
     if (!is_array($array)) {
         return 0;
     } elseif (!$array) {
         return 1;
     } else {
         switch (strtolower($option)) {
             case 'first':
                 $keys = array_keys($array);
                 return $img->ArrayDimension($array[$keys[0]], $option) + 1;
             case 'last':
                 $keys = array_keys($array);
                 return $img->ArrayDimension($array[$keys[count($keys) - 1]], $option) + 1;
             case 'min':
                 foreach ($array as $key => $val) {
                     $dems[$key] = $img->ArrayDimension($val, $option);
                 }
                 return min($dems) + 1;
             case 'max':
             default:
                 foreach ($array as $key => $val) {
                     $dems[$key] = $img->ArrayDimension($val, $option);
                 }
                 return max($dems) + 1;
         }
     }
 }