function getDomClicks($pageUrl, $siteId, $startDate, $endDate, $document_id = '', $period = '', $resultsPerPage = 100, $page = 1, $format = 'jsonp')
 {
     // Fetch document object
     $d = owa_coreAPI::entityFactory('base.document');
     if (!$document_id) {
         $eq = owa_coreAPI::getEventDispatch();
         $document_id = $d->generateId($eq->filter('page_url', urldecode($pageUrl), $siteId));
     }
     $d->getByColumn('id', $document_id);
     $rs = owa_coreAPI::supportClassFactory('base', 'paginatedResultSet');
     $db = owa_coreAPI::dbSingleton();
     $db->selectFrom('owa_click');
     $db->selectColumn("click_x as x,\r\n\t\t\t\t\t\t\tclick_y as y,\r\n\t\t\t\t\t\t\tpage_width,\r\n\t\t\t\t\t\t\tpage_height,\r\n\t\t\t\t\t\t\tdom_element_x,\r\n\t\t\t\t\t\t\tdom_element_y,\r\n\t\t\t\t\t\t\tposition");
     $db->orderBy('click_y', 'ASC');
     $db->where('document_id', $document_id);
     $db->where('site_id', $siteId);
     if ($period) {
         $p = owa_coreAPI::supportClassFactory('base', 'timePeriod');
         $p->set($period);
         $startDate = $p->startDate->get('yyyymmdd');
         $endDate = $p->endDate->get('yyyymmdd');
     }
     if ($startDate && $endDate) {
         $db->where('yyyymmdd', array('start' => $startDate, 'end' => $endDate), 'BETWEEN');
     }
     // pass limit to rs object if one exists
     $rs->setLimit($resultsPerPage);
     // pass page to rs object if one exists
     $rs->setPage($page);
     $results = $rs->generate($db);
     //$rs->resultsRows = $results;
     if ($format) {
         owa_lib::setContentTypeHeader($format);
         return $rs->formatResults($format);
     } else {
         return $rs;
     }
 }
 function setContentTypeHeader($type = 'html')
 {
     owa_lib::setContentTypeHeader($type);
 }