var nlpq;
var feedback;

function clearText(){
  if (nlpq.value == queryPrompt){nlpq.value = "";}
  if (feedback.value == feedbackPrompt){feedback.value = "";}
}

function initEvents () {
  nlpq = document.getElementById('nlpq');
  feedback = document.getElementById('feedback');

  if (nlpq) nlpq.onfocus = clearText;
  if (feedback) feedback.onfocus = clearText;
  
  createCookie('cookies-enabled', 'true', 0);
  if (readCookie('cookies-enabled')) {
    if (!readCookie('show-contact')) {
      // Hide contact link
      var ul = document.getElementById('links');
      if (ul) {
        var li = ul.getElementsByTagName('li')[0];
            li.parentNode.removeChild(li);
      }
    }
  }
  eraseCookie('cookies-enabled');

  if (window.opener) {
    changeLinks();
    writeLinks();
  } else {
    changeLogoLink();
  }
  rater();
  character_limit("feedback", true);
}

function character_limit (id, init) {
  var count_field = document.getElementById(id);
  if (count_field) {
    
    if (init) {
      var div = document.createElement('div');
          div.setAttribute('id', 'counter');
          div.appendChild(document.createTextNode('100 characters remaining'));

      count_field.parentNode.appendChild(div);
      count_field.onkeyup = function() {
        character_limit(id, false);
      }
    }

    if (count_field.value != feedbackPrompt) {
      var characters;
      if (count_field.value.length > 100) {
        characters = 0;
        count_field.value = count_field.value.substring(0, 100);
      } else {
        characters = (100 - count_field.value.length);
      }

      document.getElementById("counter").firstChild.nodeValue = (characters + " character" + (characters != 1 ? "s" : "") + " remaining");
    }
  }
}

function changeLogoLink () {
  var logoLink = document.getElementById('logoLink');
  if (logoLink) {
    logoLink.href = 'http://www.mothercare.com';
  }
}

// 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.mothercare.com") == -1){
      linkRef.onclick = function() {
        window.opener.location = this.href;
        window.opener.focus(); return false;
      }
    }
  }

  var banners = document.getElementById('banners');
  if (banners) {
    var list = banners.getElementsByTagName("a");
    for (i=0;i< list.length;i++) {
      var element = list[i];
      element.onclick = function() {
        window.opener.location = this.href;
        window.opener.focus(); return false;
      }
    }
  }
}

// Change rater inputs to submit onclick
function rater () {
  var rateYes  = document.getElementById('rate_radio_1');
  var rateNo   = document.getElementById('rate_radio_0');
  var rateForm = document.getElementById('rate_form');
  if (rateYes && rateNo && rateForm) {
    rateYes.onclick = function(){rateForm.submit();}
    rateNo.onclick  = function(){rateForm.submit();}
  }
}

function writeLinks () {

  var ul = document.getElementById('links');
  if (ul) {
    var li_contact = ul.getElementsByTagName('li')[0];
    if (li_contact) {
      li_contact.setAttribute('class', 'divide');
    }

    var link_back = document.createElement('a');
    link_back.setAttribute('href', '#');
    link_back.appendChild(document.createTextNode('Go back'));
    link_back.onclick = function () {
      history.go(-1);
      return false;
    }
    var link_li = document.createElement('li');
        link_li.setAttribute('class', 'divide');
        link_li.appendChild(link_back);

    ul.appendChild(link_li);

    var link_close = document.createElement('a');
    link_close.setAttribute('href', '#');
    link_close.appendChild(document.createTextNode('Close window'));
    link_close.onclick = function () {
      window.close();
      return false;
    }
    var link_li = document.createElement('li');
        link_li.appendChild(link_close);

    ul.appendChild(link_li);
  }
}

function feedbackPopup(){
  var feedbackLink = document.getElementById('feedbackLink');
  if(feedbackLink){
    var theLink = feedbackLink.getAttribute('href');
    feedbackLink.setAttribute('href', '#');
    feedbackLink.onclick = function(){
       var feedbackWin = window.open(theLink,'feedbackWindow',"screenX=10,screenY=10,left=10,top=10,width=430,height=440,resizable,scrollbars");
      feedbackWin.focus();
    }
  }
}

function closePopup(){
  var emailcancel = document.getElementById('emailcancel');
  if(emailcancel){
    emailcancel.onclick = function(){window.close();}
  }
}

function emailForm () {
  var titleRow      = document.getElementById('title_row');
  var titleField    = document.getElementById('title');
  var postCodeRow   = document.getElementById('postcode_row');
  var subjectField  = document.getElementById('subject');
  var titleText     = document.getElementById('title_other_text');
  var postCodeText  = document.getElementById('postcode_row_text');
  var postCodeLabel = document.getElementById('postcode_label');

  if (postCodeRow && subjectField) {
    if (subjectField.value != "order enquiry" && subjectField.value != "order cancellation") {
      postCodeRow.style.display = 'none';
    }
    subjectField.onchange = function() { togglePostcodeField(subjectField.value); }
  }

  if (titleRow && titleField) {
    if (titleField.value != "Other") {
      titleRow.style.display = 'none';
    }
    titleField.onchange = function() { toggleTitleField(titleField.value); }
  }

  if (titleText) {
    titleText.innerHTML = '(Please specify) <span class="mandatory">*</span>';
  }
  if (postCodeText) {
    postCodeText.style.display = 'none';
  }
  if (postCodeLabel) {
    postCodeLabel.innerHTML = 'Order No. / Postcode <span class="mandatory">*</span>';
  }
}

function toggleTitleField(value) {
  var titleRow = document.getElementById('title_row');
  var title    = document.getElementById('title_other');

  if (titleRow) {
    if (value == "Other") {
      titleRow.style.display = '';
    } else {
      titleRow.style.display = 'none';
      if (title) {
        title.value = '';
      }
    }
  }
}

function togglePostcodeField(value) {
  var postCodeRow = document.getElementById('postcode_row');
  var postCode    = document.getElementById('postcode');

  if (postCodeRow) {
    if (value == "order enquiry" || value == "order cancellation") {
      postCodeRow.style.display = '';
    } else {
      postCodeRow.style.display = 'none';
      if (postCode) {
        postCode.value = '';
      }
    }
  }
}

//------------------------------------------------------
// 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 eraseCookie(name) {
	createCookie(name,"",-1);
}

