/**
  * Initializes gateway=>department links
  * @return array
  */
 protected function _initGatewaysDepartments()
 {
     if (!self::$_gatewaysDepartments) {
         $gateways = array();
         $globalDeps = array();
         $departments = Mage::getModel('helpdeskultimate/department')->getCollection()->addActiveFilter();
         foreach ($departments as $department) {
             if (!$department->usesAllGateways()) {
                 foreach ($department->getGateways() as $gw) {
                     @($gateways[$gw][] = $department->getId());
                 }
             } else {
                 //department uses all gateways
                 $globalDeps[] = $department->getId();
             }
         }
         if (sizeof($globalDeps)) {
             foreach (Mage::getModel('helpdeskultimate/gateway')->getCollection()->addActiveFilter() as $gateway) {
                 foreach ($globalDeps as $gdId) {
                     @($gateways[$gateway->getId()][] = $gdId);
                 }
             }
         }
         self::$_gatewaysDepartments = $gateways;
     }
 }