//Java Script for FilmsandTV.com
//Update June 2007

//Capture Kbd Event
var nav = window.Event ? true : false;
if (nav) {
   window.captureEvents(Event.KEYDOWN);
   window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
   document.onkeydown = MicrosoftEventHandler_KeyDown;
}

var newPageNews = 0;

function NetscapeEventHandler_KeyDown(e) {
  if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
  return true;
}

function MicrosoftEventHandler_KeyDown() {
  if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit') return false;
  return true;
}
//End Kbd Event

//***** Startup from PageLoad Event
function startup(inPageName) {
  pageName = inPageName;
  showAjaxSearch = false;
  searchPage = 'movie';
  activePage = '';
  
  switch(inPageName) {
    case 'index':   
	    window.status = "Home page at filmsandtv.com";
		  showAjaxSearch = true;
		  SetEleFocus('SearchStr');
		break
      
	  case 'searchmovie':   
		  window.status = "Search Movies at filmsandtv.com";
		  showAjaxSearch = true;
		  //SetEleFocus('SearchStr');
		break

    case 'boxoffice':
	      window.status = "Box Office Listings";
		  showAjaxSearch = true;
		  SetEleFocus('SearchStr');		  
		break
	
	  case 'advsearch':   
	    window.status = "Advanced Movie Search";
		  showAjaxSearch = true;
		  SetEleFocus('asTitle');		  
		break
	
	  case 'celebsearch':
	    window.status = "Celebrity News Search";
		  showAjaxSearch = true;
		  SetEleFocus('cns');
		  searchPage = 'news';
		  newPageNews = 1;
		  
		break
		
	  case 'trivia':   
	    window.status = "Movie Trivia";
		  showAjaxSearch = true;
		break
		
	  case 'commingsoon':   
	    window.status = "Coming Soon to Theaters";
		  showAjaxSearch = true;
		break
		
	  case 'genre':   
	    window.status = "Movie Listings by Genre";
	    showAjaxSearch = true;
		break
		
	  case 'oscar':   
	    window.status = "Oscar Listings";
	    showAjaxSearch = true;
		break
		
	  case 'tvseries':   
	    window.status = "TV Series Listings";
		  showAjaxSearch = true;
		break
		
	 case 'horrorseries':   
	    //window.status = "Horror Movie Listings";
		  showAjaxSearch = true;
		  break

	case 'thememovies':   
	    window.status = "Theme Movie Listings";
		showAjaxSearch = true;
		SetEleFocus('SearchStr');
		break
	
	  case 'primetime':   
	    window.status = "Prime Time TV Schedule";
		  showAjaxSearch = true;
		  break
		
	 case 'poster':
	    window.status = "View Movie Posters";
		showAjaxSearch = true;
		break

	  case 'episode':   
	    //window.status = "Episode Listings";
		  break

	  case 'login':   
	    window.status = "User Login";
		  document.forms[0].txtEmail.focus();
		  break

    case 'registration':   
	    window.status = "User Registration";
		  document.forms[0].txtEmail.focus();
		  break
		
	  case 'forgotpassword':   
	    window.status = "Retreive Password";
		  document.forms[0].txtEmail.focus();
		break
		
	 case 'editprofile':   
	    window.status = "Modify User Profile";
		  document.forms[0].txtEmail.focus();
		break

	 case 'myreviews':   
	    window.status = "My Movie Reviews";
		break
		
	 case 'reviewmovie':   
	    window.status = "Review and Rate Movie";
		document.getElementById('lstRating').focus();
	 break

   case 'activiation':   
	    window.status = "Registration Validation";
 	 break
		
	
   case 'test':   
	    window.status = "Test page at filmsandtv.com";
		break

      default:    
	    window.status = "filmsandtv.com";
   }
   
  if (showAjaxSearch == true) {
  	if (searchPage == 'movie') {
  	  document.getElementById("txtss1").value = "";
  	  document.getElementById("txtss2").value = "";
  	  document.getElementById("txtss3").value = "";
  	  document.getElementById("txtss4").value = "";
  	  document.getElementById("txtss5").value = "";
  	  	
	  
      if (document.getElementById("SearchStr").value == "") {
        ajaxSearch("a", 'movie', 1);
      } else {
        ajaxSearch(document.getElementById("SearchStr").value, 'movie', 1);
      }  
    }  
    
    if (searchPage == 'news') {
    	
  	  document.getElementById("newsss1").value = "";
  	  document.getElementById("newsss2").value = "";
  	  document.getElementById("newsss3").value = "";
  	  document.getElementById("newsss4").value = "";
  	  document.getElementById("newsss5").value = "";
  	  	
	  
      if (document.getElementById("cns").value == "") {
        ajaxSearch("A", 'news', 11);
        
      } else {
        ajaxSearch(document.getElementById("cns").value, 'news',11);
      }  
    }  
  }
  
  function SetEleFocus(inEle) {
    var f = document.getElementById(inEle);
    f.focus();
  }
}


//***** Ajax
var editNumMovie = 0;
var editNumNews = 0;
var numItems = 0;
var waitingForReply = false;



function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}
var httpObj = createRequestObject();

function ajaxSearch (inSearchStr, pageName, inOp) {
	
	activePage = pageName;
  var randNumber = 5;
  if (waitingForReply == false) {
  	waitingForReply = true;
    httpObj.open('get', '/ajaxSS.php?nocache=' + randNumber + '&ajq=' + inSearchStr + "&pageName=" + pageName + '&inOp=' + inOp);
    httpObj.onreadystatechange = handleResponse;
    httpObj.send(null);
  }  
}

function handleResponse() {
  if ((httpObj.readyState == 4) && (httpObj.status == 200)) {
    var retArr = httpObj.responseText.split("|");
    if (activePage == 'movie') {
      numItemsMovie = 0;
      if (retArr[1] != "0") {
        document.getElementById("txtss1").value = retArr[2];
        document.getElementById("txtss2").value = retArr[3];
        document.getElementById("txtss3").value = retArr[4];
        document.getElementById("txtss4").value = retArr[5];
        document.getElementById("txtss5").value = retArr[6];
	      if (retArr[2] != '') numItemsMovie = 1;
	      if (retArr[3] != '') numItemsMovie = 2;
	      if (retArr[4] != '') numItemsMovie = 3;
	      if (retArr[5] != '') numItemsMovie = 4;
	      if (retArr[6] != '') numItemsMovie = 5;
	    } 
	  }  
	  if (activePage == 'news') {
      numItemsNews = 0;
      
      if (retArr[1] != "0") {
      	
        document.getElementById("newsss1").value = retArr[2];
        document.getElementById("newsss2").value = retArr[3];
        document.getElementById("newsss3").value = retArr[4];
        document.getElementById("newsss4").value = retArr[5];
        document.getElementById("newsss5").value = retArr[6];
	      if (retArr[2] != '') numItemsNews = 1;
	      if (retArr[3] != '') numItemsNews = 2;
	      if (retArr[4] != '') numItemsNews = 3;
	      if (retArr[5] != '') numItemsNews = 4;
	      if (retArr[6] != '') numItemsNews = 5;
	    } 
	  }
	  waitingForReply = false;
	  if (newPageNews == 1) {
  	  newPageNews = 0;
  	  activePage = 'movie';
  	  ajaxSearch("A", 'movie', 1);
    }
  }
  
  
}


function itemClick(inEle, pageName) {
  if (document.getElementById(inEle).value != "") {
    if (pageName == 'movie') document.getElementById("SearchStr").value  = document.getElementById(inEle).value;
    if (pageName == 'news') document.getElementById("cns").value  = document.getElementById(inEle).value;
    if (pageName == 'movie') document.srchmoviefrm.submit();
    if (pageName == 'news') document.CelebNewsForm.submit();
  }
}
function mOver(inEle, pageName) {
	if (pageName == 'movie') {
	  mOut('txtss1');
	  mOut('txtss2');
  	mOut('txtss3');
   	mOut('txtss4');
 	  mOut('txtss5');
  }  
  if (pageName == 'news') {
	  mOut('newsss1');
	  mOut('newsss2');
  	mOut('newsss3');
   	mOut('newsss4');
 	  mOut('newsss5');
 	}  
  if (document.getElementById(inEle).value != "") {
    document.getElementById(inEle).style.backgroundColor = "#cc3333";
    document.getElementById(inEle).style.color = "white";
  }  
}
function mOut(inEle, pageName) {
  if (document.getElementById(inEle).value != "") {
    document.getElementById(inEle).style.backgroundColor = "transparent";
    document.getElementById(inEle).style.color = "black";
  }
}

function KeyUp(e, pageName) {
	
	var key = window.event ? e.keyCode : e.which;
	submitSearch = 1;
	if (key == 13 ||key == 27 ||key == 33 ||key == 34 ||key == 38 ||key == 48) submitSearch = 0;
	if (key == 13) {  //enter
		
		if (pageName == 'movie' && editNumMovie >= 0) {
    	if (editNumMovie == 0) itemClick("SearchStr", 'movie');
      if (editNumMovie == 1) itemClick("txtss1", 'movie');
  	  if (editNumMovie == 2) itemClick("txtss2", 'movie');
  	  if (editNumMovie == 3) itemClick("txtss3", 'movie');
  	  if (editNumMovie == 4) itemClick("txtss4", 'movie');
  	  if (editNumMovie == 5) itemClick("txtss5", 'movie');
	  }	
	  if (pageName == 'news' && editNumNews >= 0) {
    	if (editNumNews == 0) itemClick("cns", 'news');
      if (editNumNews == 1) itemClick("newsss1", 'news');
  	  if (editNumNews == 2) itemClick("newsss2", 'news');
  	  if (editNumNews == 3) itemClick("newsss3", 'news');
  	  if (editNumNews == 4) itemClick("newsss4", 'news');
  	  if (editNumNews == 5) itemClick("newsss5", 'news');
	  }	
  }
  if (pageName == 'movie') {
    if (key == 34) { // page down
    	newKey = document.getElementById("txtss5").value;
	    if (newKey != "")	ajaxSearch(newKey, pageName, 2);
	  }  
    if (key == 33) { // page up
  	  newKey = document.getElementById("txtss1").value;
	    ajaxSearch(newKey, pageName, 3);
	  }  
	  if (key == 38 || key == 40) {
      mOut("txtss1", 'movie');
  	  mOut("txtss2", 'movie');
  	  mOut("txtss3", 'movie');
  	  mOut("txtss4", 'movie');
  	  mOut("txtss5", 'movie');
  	  if (key == 38) editNumMovie--;  // up arrow
      if (key == 40) editNumMovie++;  // down arrow
      if (editNumMovie > numItemsMovie) editNumMovie = numItemsMovie;
      if (editNumMovie < 1) editNumMovie = 0;
      //if (editNum == 0)	mOver("SearchStr", 'movie');
  	  if (editNumMovie == 1)	mOver("txtss1", 'movie');
  	  if (editNumMovie == 2) mOver("txtss2", 'movie');
  	  if (editNumMovie == 3) mOver("txtss3", 'movie');
  	  if (editNumMovie == 4) mOver("txtss4", 'movie');
  	  if (editNumMovie == 5) mOver("txtss5", 'movie');
    }
  }
  
  if (pageName == 'news') {
  	
  	if (key == 34) { // page down
  		newKey = document.getElementById("newsss5").value;
	    if (newKey != "")	ajaxSearch(newKey, pageName, 1);
	  }  
 		if (key == 33) { // page up
      newKey = document.getElementById("txtss1").value;
	    ajaxSearch(newKey, pageName, 1);
	  }  
	  if (key == 38 || key == 40) {
      mOut("newsss1", 'news');
  	  mOut("newsss2", 'news');
  	  mOut("newsss3", 'news');
  	  mOut("newsss4", 'news');
  	  mOut("newsss5", 'news');
  	  if (key == 38) editNumNews--;  // up arrow
      if (key == 40) editNumNews++;  // down arrow
      if (editNumNews > numItemsNews) editNumNews = numItemsNews;
      if (editNumNews < 1) editNumNews = 0;
      //if (editNum == 0)	mOver("SearchStr", 'movie');
  	  if (editNumNews == 1)	mOver("newsss1", 'news');
  	  if (editNumNews == 2) mOver("newsss2", 'news');
  	  if (editNumNews == 3) mOver("newsss3", 'news');
  	  if (editNumNews == 4) mOver("newsss4", 'news');
  	  if (editNumNews == 5) mOver("newsss5", 'news');
    }
  }
  
  if (submitSearch == 1) {
    if (pageName == 'movie') {
      newKey = document.getElementById("SearchStr").value;
      if (newKey == '') newKey = "a";
      ajaxSearch(newKey, pageName, 1);
    
    }
    if (pageName == 'news') {
       newKey = document.getElementById("cns").value;
      if (newKey == '') newKey = "a";
      ajaxSearch(newKey, pageName, 11);
    }  
  }  
}


function getAbsLeft(el){
  var l=el.offsetLeft;
  while((el=el.parentNode) && el!=document) l+=el.offsetLeft;
  return l;
}

function getAbsTop(el){
  var t=el.offsetTop;
  while((el=el.parentNode) && el!=document) t+=el.offsetTop;
  return t;
}

// Get full top offset
function findPosY(obj) {  
  var curtop = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curtop += obj.offsetTop
      obj = obj.offsetParent;
    }
  }
  else if (obj.y) curtop += obj.y;
  return curtop;
}

function showPromoBox(curID, picName) {
  var linkID = 'dvd' + curID;
  var boxID = 'box' + curID;
  var picID = 'pic' + curID;
  
  obj2 = document.getElementById(linkID); 
  topPos = findPosY(obj2);
  leftPos = getAbsLeft(obj2);
	  
  //Set element hide/show
  if (document.getElementById){ 
    obj = document.getElementById(boxID); 
    if (obj.style.display == "none"){ 
      //Set X,Y Pos
	  var browser = navigator.appName;
      if(browser == "Microsoft Internet Explorer") {
        document.getElementById(boxID).style.left = leftPos + 150;
	    document.getElementById(boxID).style.top = topPos + 20;
	  } else {
	    document.getElementById(boxID).style.left = leftPos + 150;
	    document.getElementById(boxID).style.top = topPos - 24;
	  }
      
	  //show pic
      var picStr = '<img src="' + picName + '" alt="DVD" height=90 border=0 align=left vspace="3" hspace="3">';
      document.getElementById(picID).innerHTML = picStr;
      obj.style.display = ""; 
    } else { 
      obj.style.display = "none";
    } 
  }
}

function showMovieBox(linkID, boxID) {
  obj2 = document.getElementById(linkID); 
  topPos = findPosY(obj2);
  leftPos = getAbsLeft(obj2);
	  
  //Set element hide/show
  if (document.getElementById){ 
    obj = document.getElementById(boxID); 
    if (obj.style.display == "none"){ 
      //Set X,Y Pos
      document.getElementById(boxID).style.left = leftPos + 160;
	  document.getElementById(boxID).style.top = topPos;
      obj.style.display = ""; 
    } else { 
      obj.style.display = "none";
    } 
  }
}


//***** Top Menu
function showhide(id){ 
  if (document.getElementById){ 
    obj = document.getElementById(id); 
    if (obj.style.display == "none"){ 
      obj.style.display = ""; 
    } else { 
      obj.style.display = "none"; 
    } 
  }
} 


function showhidegenre(id){ 
  var picIDName = id.replace('n','genrepic');
  var hrefDName = id.replace('n','genrehref');
  
  if (document.getElementById){
    var objDiv = document.getElementById(id);
	var objPic = document.getElementById(picIDName);
	var objHref = document.getElementById(hrefDName);
	if (objDiv.style.display == "none") {
      objDiv.style.display = "";
	  objPic.src = '/i/minus.gif';
	  objPic.alt = 'click to close';
	  objHref.title = 'click to close';
    } else { 
      objDiv.style.display = "none"; 
	  objPic.src = '/i/plus.gif';
	  objPic.alt = 'click to expand';
	  objHref.title = 'click to expand';
    } 
  }
} 


function showhideoscar(id){ 
  var picIDName = id.replace('n','oscarpic');
  var hrefDName = id.replace('n','oscarhref');
  
  if (document.getElementById){
    var objDiv = document.getElementById(id);
	var objPic = document.getElementById(picIDName);
	var objHref = document.getElementById(hrefDName);
	if (objDiv.style.display == "none") {
      objDiv.style.display = "";
	  objPic.src = '/i/minus.gif';
	  objPic.alt = 'click to close';
	  objHref.title = 'click to close';
    } else { 
      objDiv.style.display = "none"; 
	  objPic.src = '/i/plus.gif';
	  objPic.alt = 'click to expand';
	  objHref.title = 'click to expand';
    } 
  }
} 


sfHover = function() {
  if (document.getElementById('tmenu') != null) {
  
    var sfEls = document.getElementById("tmenu").getElementsByTagName("LI");
    for (var i=0; i<sfEls.length; i++) {
      sfEls[i].onmouseover=function() {
        this.className+=" sfhover";
      }
      sfEls[i].onmouseout=function() {
        this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
      }
    }
  }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


function pasteAnonymous(){
  document.forms[0].txtUserName.value = "Anonymous";	
}

function bookmark() {
  var yep = confirm("Would you like to add filmsandtv.com to your favorites?\n\n URL:www.filmsandtv.com.com");
  if (yep) {
    if (window.external) 
	  window.external.AddFavorite('http://www.filmsandtv.com','Films and TV');
	else
    alert ("Sorry! Your browser doesn't support auto bookmarks. \nYou may add the link manually.");
  }
}


function showHideMoviePic(movieName,picName) {
  if (document.getElementById){
	movieName = movieName.replace(/_/g,' ');
	var objDiv = document.getElementById('showMoviePic');
    var objPic = document.getElementById('imgMoviePicName');
    var objLabel = document.getElementById('lblMovieName');	
	if (objDiv.style.display == "none") {
      objPic.src = picName;
	  objLabel.innerHTML = movieName;	  
	  objDiv.style.left = 196;
	  //Set Ypos
	  var yPos = 160;
	  if (nav) yPos = window.pageYOffset; else yPos = document.body.scrollTop;
	  if (yPos < 150) yPos = 160;	
	  objDiv.style.top = yPos;
	  objDiv.style.display = "";
    } else { 	  
	  objDiv.style.display = "none"; 
    } 
  }  
}
