var availWth = screen.availWidth;
var wth = availWth - 40;
var availHgt = screen.availHeight;
var hgt = availHgt - 140;
var cfg = "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes";

var domainNameRegex = /^([a-z0-9]([-a-z0-9]*[a-z0-9])?\.)+((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|(m[acdghklmnopqrstuvwxyz]|mil|mobi|museum)|(n[acefgilopruz]|name|net)|(om|org)|(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw])$/i;

var lastThumbClicked;
var lastColorClicked;

function chatPop(URL){
   var left = ((availWth / 2) - 260);
   var top = ((availHgt / 2) - 150);
   window.open(URL, 'chat', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=520,height=300,left=' + left + ',top=' + top);
}

function setExpDateValue(){
   var mo = document.getElementById('expMonth');
   var yr = document.getElementById('expYear');
   var exp = document.getElementById('expirationDate');
   var d = '';
   switch (parseInt(mo.value)) {
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
         d = '-31';
         break;
      case 2:
         d = isLeapYear(yr) ? '-29' : '-28';
         break;
      default:
         d = '-30';
         break;
   }
   var tzo = '' + (new Date().getTimezoneOffset() / 60) * (-1);
   if (tzo.length == 2) tzo = tzo.charAt(0) + '0' + tzo.charAt(1);
   exp.value = yr.value + '-' + mo.value + d + 'T23:59:59.000' + tzo + ':00';
   return exp.value;
}

function setTextFromSelect(select, textId){
   var e = document.getElementById(textId);
   e.value = select.options[select.selectedIndex].title;
   e.style.visibility = 'visible';
}

function checkDomainName(callback){
   var domainName = document.getElementById("domainName").value;
   document.getElementById("domainNameResult").innerHTML = domainName;
   document.getElementById("domainNameResult2").innerHTML = domainName;
   var whoisResult = $("#whoisResult");
   var len = domainName.length;
   var msg = '';
   if (len == 0) 
      msg = 'Enter a domain name';
   else if (domainName.search(domainNameRegex) == -1 || domainName.match(/www\./)) msg = 'Invalid domain. Try again. See Example';
   if (msg.length == 0) {
      $.get("/whois/client.php", {
         dn: domainName
      }, function(xml){
         $(xml).find('result').each(function(){
            var dn = $(this).attr('domain');
            if (dn === domainName) {
               var avail = ($(this).attr('available') === 'true');
               var err = $(this).attr('error');
               var m = (avail ? 'Available: Click Next' : 'Already Registered: Try Again');
               var color = (avail ? '#00FF00' : '#CA7900');
               if (!avail && err && err.length > 0) m = err;
               whoisResult.css('color', color);
               whoisResult.show().html(m);
               if (m == 'Already Registered: Try Again') {
                  setTimeout(function(){
                     whoisResult.hide();
                  }, 2000);
               }
               if (callback && avail) callback.apply(this);
            }
         });
      });
   } else {
      whoisResult.css({
         'color': '#CA7900',
         'font-size': '14px'
      });
      whoisResult.show().html(msg);
      if (msg == 'Invalid domain. Try again. See Example') {
         setTimeout(function(){
            whoisResult.hide()
         }, 2000);
      }
   }
   return false;
}

function checkDomainNameForAddition(){
   checkDomainName(function(){
      showPane('paneThree');
      changePaneTitle('paneTitle3');
   });
   return false;
}

function highlightThumb(obj){
   if (lastThumbClicked) lastThumbClicked.style.border = '1px solid #CCC';
   obj.style.border = '2px solid #424242';
   lastThumbClicked = obj;
}

function highlightYoutubeColor(obj){
   if (lastColorClicked) lastColorClicked.style.border = '2px solid transparent';
   obj.style.border = '2px solid #424242';
   lastColorClicked = obj;
}

