$(document).ready(function() {
  $('#availability-form').submit(function() {
    var name = $('#name').attr('value');
    if (!name)
      return false;
    $('#availability-button').attr('value', "Checking…");
    $('#availability-button').attr('disabled', true);
    $('#availability-results').html('&nbsp;<br>&nbsp;');
    $.getJSON('/availability/'+encodeURIComponent(name.replace(/\//g, '')), {}, function(result) {
      var html;
      if (result.error)
        html = result.error;
      else {
        if (result.available) {
          var link = '<a href="/domains/register?name='+result.domain_name+'">Register it now &raquo;</a>';
          html = result.domain_name + ' is <strong>available</strong> for NZ$' + result.price + ' + GST for a ' + result.term + ' month registration.<br>' + link;
        }
        else {
          var link = '';
          if (result.domain_name.indexOf('.nz') != -1)
            link = '<br><a href="/availability/'+result.domain_name+'">View WHOIS details &raquo;</a>';
          else {
            var suggestion = result.domain_name.split('.')[0] + '.co.nz';
            link += '<br>You could also check <a href="#" onclick="$(\'#name\').attr(\'value\', \'' + suggestion + '\'); $(\'#availability-form\').submit(); return false;">' + suggestion + '</a>.';
          }
          html = result.domain_name+' is not available for registration.' + link;
        }
      }
      $('#availability-results').html(html);
      $('#availability-button').attr('value', 'Check \u00BB');
      $('#availability-button').attr('disabled', false);
    });
    return false;
  });
  
  $('#macron-links').html('Add vowels with macrons: <a href="#" onclick="return addCharacter(\'\\u0101\');">&#257;</a> <a href="#" onclick="return addCharacter(\'\\u0113\');">&#275;</a> <a href="#" onclick="return addCharacter(\'\\u012B\');">&#299;</a> <a href="#" onclick="return addCharacter(\'\\u014D\');">&#333;</a> <a href="#" onclick="return addCharacter(\'\\u016B\');">&#363;</a>');
});

function addCharacter(chr) {
  var tb = document.getElementById('name');
  var br = ((tb.selectionStart || tb.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false));
  var pos = 0;
  if (br == "ie") {
    tb.focus();
    var range = document.selection.createRange();
    range.moveStart('character', -tb.value.length);
    pos = range.text.length;
  }
  else if (br == "ff")
    pos = tb.selectionStart;

  var front = tb.value.substring(0, pos);  
  var back = tb.value.substring(pos, tb.value.length); 
  tb.value = front + chr + back;
  pos += chr.length;
  if (br == "ie") { 
      tb.focus();
      var range = document.selection.createRange();
      range.moveStart('character', -tb.value.length);
      range.moveStart('character', pos);
      range.moveEnd('character', 0);
      range.select();
  }
  else if (br == "ff") {
      tb.selectionStart = pos;
      tb.selectionEnd = pos;
      tb.focus();
  }

  return false;
}


