var nlpq;

function clearText(){
  if (nlpq.value == queryPrompt){
	  nlpq.value = "";
  }
}

function initEvents () {
	nlpq = document.getElementById('nlpq');
	if (nlpq) {
    nlpq.onfocus = clearText;
  }
  changeLinks();
  writeLinks();
  previously_viewed();
}

// Change non-metafaq links to open in a new window
function changeLinks () {
	for(var e=0; e<document.links.length; e++){
		var linkRef = document.links[e];
		if (linkRef.href.indexOf("mailto") == -1 && linkRef.hostname.indexOf("metafaq.com") == -1 && linkRef.hostname.indexOf("help.coral.co.uk") == -1 && linkRef.hostname.indexOf("help.galabingo.com") == -1){
      linkRef.target = "_blank";
		}
	}
}

// cookie functions
function createCookie (name,value,days) {
  if (days) {
      var date = new Date();
      date.setTime(date.getTime()+(days*24*60*60*1000));
      var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie (name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function writeLinks () {
  var printIt = document.getElementById('print-link');
  if (printIt) {
    var printBtnLink = document.createElement('a');
    printBtnLink.setAttribute('href', '#');
    // set onclicks - have to perform function else auto triggers the behaviour
    printBtnLink.onclick = function() { window.print(); return false;}
    var printBtnText = document.createTextNode('Print');
    printBtnLink.appendChild(printBtnText);
    printIt.appendChild(printBtnLink);
  }

  var contactLink = document.getElementById('contact-link');
  if(contactLink){
    var theLink = contactLink.getAttribute('href');
    contactLink.setAttribute('href', '#');
    contactLink.onclick = function(){
      var contactWin = window.open(theLink,'contactWindow',"top=10,left=10,left=10,top=10,width=550,height=450,resizable,scrollbars");
      contactWin.focus();
      return false;
    }
  }
}

function previously_viewed () {

  var entry_title     = document.getElementById("question");
  var history_element = document.getElementById('history');

  if (history_element && entry_title) {

    var exists  = new Array();
    var entries = new Array();

    // display current list
    var cookie = readCookie ('previouslyViewed');
    
    if (cookie) {
      // split cookie
      var split = cookie.split("~");

      // output heading etc...
      var tag_h2 = document.createElement('h2');
      tag_h2.appendChild(document.createTextNode('Previously viewed answers'));
      history_element.appendChild(tag_h2);

      var tag_ul = document.createElement('ul');
      tag_ul.setAttribute('id', 'faq-list');
      history_element.appendChild(tag_ul);

      var loop_length = ((split.length < 5) ? split.length : 5);
      for (i = 0; i < loop_length; i++) {
        var details = split[i].split("*");
        if (!exists[details[1]]) {
          // add to existing
          exists[details[1]] = 1;

          // output
          var tag_li = document.createElement('li');
          var tag_a  = document.createElement('a');
          tag_a.setAttribute('href', details[1]);
          tag_a.appendChild(document.createTextNode(details[0]));
          tag_li.appendChild(tag_a);
          tag_ul.appendChild(tag_li);

          // push on to new array
          entries.push(details[0] + "*" + details[1]);
        }
      }
    }

    var url = window.location.href;
    if( !url.match( /&theScore/ ) ) {
      // Pop new data on the front of list
      entries.unshift(entry_title.title + "*" + window.location.href);

      // Create the cookie, overwriting old
      createCookie('previouslyViewed', entries.join("~"), 0);
    }
  }
}