(function(global){

  var $ = function(id) { return global.document.getElementById(id); };

  /* Locale Plate code */

  var plate    = $('locale-plate');
  var selector = $('country-selector_wrapper');

  if (plate) {
    // Show if the query parameter "m=" is set
    var loc = ""+global.location;
    if (loc.match(/(\?|\&)m=/)) plate.style.display = 'block';

    var cancelEvent = function(e) {
      if (e.preventDefault) e.preventDefault();
      e.returnValue = false;
      if (e.stopPropagation) e.stopPropagation();
      e.cancelBubble = true;
      return false;
    };

    var hidePlate = function(e) {
      plate.style.display = 'none';
      return cancelEvent(e);
    }

    var showHideCountrySelector = function(e) {
      if (selector) {
        if (selector.style.display == 'block')
          selector.style.display = 'none';
        else
          selector.style.display = 'block';
      }
      return cancelEvent(e);
    };

    var divs, showLinks, hideLink;

    // Attach events to the links
    try {
      var closeP = plate.getElementsByTagName('p');
      if (closeP.length==0) return false;
      var closeLink = closeP[0].getElementsByTagName('a');
      if (closeLink.length==0) return false;

      if (closeLink[0].addEventListener)
        closeLink[0].addEventListener('click', hidePlate, false);
      else if (closeLink[0].attachEvent)
        closeLink[0].attachEvent('onclick', hidePlate);
    } catch(err) {}

    var closeP = plate.getElementsByTagName('p');
    if (closeP.length > 0) closeP = closeP[0];
    var closeLink = closeP.getElementsByTagName('a');
    if (closeLink.length > 0) closeLink = closeLink[0];

    divs = plate.getElementsByTagName('div');

    if (divs.length > 0) {
      showLinks = divs[1] ? divs[1].getElementsByTagName('a') : Array();
      for (var i = 0; i < showLinks.length; i++) {
        if (showLinks[i].addEventListener)
          showLinks[i].addEventListener('click', showHideCountrySelector, false);
        else if (showLinks[i].attachEvent)
          showLinks[i].attachEvent('onclick', showHideCountrySelector);
      }

      hideLink = divs[2] ? divs[2].getElementsByTagName('a') : Array();
      if (hideLink.length > 0) {
        if (hideLink[0].addEventListener)
          hideLink[0].addEventListener('click', showHideCountrySelector, false);
        else if (hideLink[0].attachEvent)
          hideLink[0].attachEvent('onclick', showHideCountrySelector);
      }
    }
  }

}(this));