Get all Sub-category list by a main category Id in magento

By default there is a top.phtml file in Magento which show all category and subcategory .To modify menu display style it needs to modify in core file which will create problem to Update Magento in future,So without touching the core file we can access all category and subcategory in Magento.

For that we will write the code in top.phtml file.

<?php foreach ($this->getStoreCategories() as $_category): ?>
  <li>
  <a href="<?php echo $this->getCategoryUrl($_category)   ?>"><?php echo $this->htmlEscape($_category->getName())   ?></a>
  <?php
  $_catid=$_category->getId();
  $category = Mage::getModel('catalog/category')->load($_catid);
  $subcategory =  $category->getAllChildren(true);
  array_shift($subcategory);
  if($subcategory!=null)
  {?>
  <ul>
  <?php

  foreach ($subcategory as $sub)
  {
  $sub1 = Mage::getModel('catalog/category')->load( $sub);
  ?>
  <li><a href="<?php echo $sub1->getUrl();?>"><span>
  <?php echo $sub1->getName(); ?>
  </span></a></li>
  <?php } ?>

  </ul>
  <?php  }?>

  </li>
  <?php endforeach ?>
DOWNLOAD SOLUTION HERE