﻿// from jquery.rightClick (inserted here because it's small and to avoid a separate include)
if(jQuery){(function(){$.extend($.fn,{rightClick:function(a){$(this).each(function(){$(this).mousedown(function(c){var b=c;$(this).mouseup(function(){$(this).unbind("mouseup");if(b.button==2){a.call($(this),b);return false}else{return true}})});$(this)[0].oncontextmenu=function(){return false}});return $(this)},rightMouseDown:function(a){$(this).each(function(){$(this).mousedown(function(b){if(b.button==2){a.call($(this),b);return false}else{return true}});$(this)[0].oncontextmenu=function(){return false}});return $(this)},rightMouseUp:function(a){$(this).each(function(){$(this).mouseup(function(b){if(b.button==2){a.call($(this),b);return false}else{return true}});$(this)[0].oncontextmenu=function(){return false}});return $(this)},noContext:function(){$(this).each(function(){$(this)[0].oncontextmenu=function(){return false}});return $(this)}})})(jQuery)};

var searchTarget = 'search';

$(document).ready(function() {

  // bind events
  $("#searchgo").click(function(event) {
    goSearch();
  });
  $("#searchrating").click(function(event) {
    window.open('http://www.filmratings.com');
  });
  $("#searchsite").click(function(event) {
    goSearch();
  });
  $("img").rightMouseUp(function(e) {
    // Just capture right-click; do nothing.
  });
  $('#searchinput').keypress(function(event) {
    if (event.keyCode == '13') {
      goSearch();
    }
  });
});

function goSearch() {
  var s = $("#searchinput").val();
  if (s.length > 0) {
    window.location.href = '/' + searchTarget + '/' + escape(s);
  }
}

function setNavActive(parent) {
  $("#"+parent).addClass("active");
}

function escapeHTML(str) {
   var div = document.createElement('div');
   var text = document.createTextNode(str);
   div.appendChild(text);
   return div.innerHTML;
}; 


function doSearch() {
  var q = unescape(location.pathname.substring(8));
  if (q.length > 0) {
    getSearchResults(q);
  }
}

function getSearchResults(query,pageNumber,pageSize) {
  var baseUrl = '/ajax/default.aspx';
  $.ajax({ url: baseUrl,
           data: {a: "search", q: query, alt: "json-in-script", pagenumber: "1", pagesize: "100", s: getEnv()},
           timeout: 3000,
           dataType: "json",
           cache: false,
           success: function(data){loadSearchResults(data);},
           error: function(xhr,status,errorThrown){ajaxFailure(xhr,status,errorThrown);}
   });
}

function doPRs(year) {
  if (!year) {
    var d = new Date();
    year = d.getFullYear();
  }
  getEnv();
  setPRFolders(year);
  getPressReleases(year);
}

function setPRFolders(yr) {
  var code = '<ul class="ulFolders">';
  var activeClass = '';
  var d = new Date();
  var thisYear = d.getFullYear();
  for (var x = 2007; x <= thisYear; x++) {
    activeClass = (x == yr) ? ' class="yearActive"' : '';
    code += '<li'+activeClass+' onClick="javascript:doPRs('+x+')">';
    code += '<br><a href="javascript:doPRs('+x+')">'+x+'</a>';
    code += '</li>';
  }
  code += '</ul>';
  $("#prFolders").html(code);
}


function getPressReleases(yr) {
  var baseUrl = '/ajax/default.aspx';
  $.ajax({ url: baseUrl,
           data: {a: "pr", alt: "json-in-script", year: yr, pagenumber: "1", pagesize: "500", s: getEnv()},
           timeout: 3000,
           dataType: "json",
           cache: false,
           success: function(data){loadPRResults(data);},
           error: function(xhr,status,errorThrown){ajaxFailure(xhr,status,errorThrown);}
   });
}

var resultRows = new Array();
var itemsPerPage = 10;

function loadSearchResults(searchData) {
  var summaryData = searchData.mpaasearch.summarydata;
  if (summaryData.totitems > 0) {
    var itemArray = searchData.mpaasearch.itemdata.item;
    resultRows = new Array();
    for (var i = 0; i < itemArray.length; i++) {
      resultRows[i] = makeSearchRow(itemArray[i]);
    }
    makePagination();
    $(".searchHeader").html('Results for "'+(summaryData.searchterm)+'"');
  } else {
    $(".searchHeader").html('No results found for "'+summaryData.searchterm+'"');
  }
}

function loadPRResults(prData) {
  var summaryData = prData.mpaasearch.summarydata;
  if (summaryData.totitems > 0) {
    var itemArray = prData.mpaasearch.itemdata.item;
    resultRows = new Array();
    for (var i = 0; i < itemArray.length; i++) {
      resultRows[i] = makePRRow(itemArray[i]);
    }
    makePagination();
  } else {
    $('#results').html('');
  }
}

function makePagination() {
	$("#pagination-head").pagination(resultRows.length, {
		items_per_page:itemsPerPage, 
		callback:handlePaginationClick,
		next_text: ">",
		prev_text: "<"
	});
}

function makeSearchRow(item) {
  return '<div class="searchresult"><a href="'+item.link+'">'+item.title+'</a><br/>'+item.description+'</div>';
}

function makePRRow(item) {
//<img src="/templates/images/pdf_icon.gif" style="border:0;"><br/>
//<div class="docicon"><a href="'+item.link+'" target="_blank">'+item.filesize+'</div>
  return '<div class="searchresult"><a href="'+item.link+'" target="_blank">'+item.title+'</a><br/>'+item.description+'<div class="clear"></div></div>';
}

function handlePaginationClick(newPage, pagination_container) {
  $('#results').html('');
  var startItem = (newPage == 0) ? 0 : ((newPage * itemsPerPage) - 1);
  var endItem = startItem + itemsPerPage;
  for(var i=startItem;i<endItem&&i<resultRows.length; i++) {
    $('#results').append(resultRows[i]);
  }
  return false;
}

function ajaxFailure(req,status,err) {
  //alert('ajax error:\nStatus: '+status+'\nError: '+err);
}


function getEnv() {
  return (location.port == 81) ? "1" : "0";
}

