﻿$(document).ready(function(){
   $('#SLD').val('');
   $('#Com').addClass('CBSelect');
   $('#SCom').text('Com');
  
   $('.CBClick').toggle(
      function(){
         var TLDName = this.id;
         $(this).addClass('CBSelect');
         $('#S'+TLDName).text(TLDName);
      },
      function(){
         var TLDName = this.id;
         $(this).removeClass('CBSelect');
         $('#S'+TLDName).text('');
      }
   );
   
   $('#SLD').keyup(function(event){
      var ChCode = event.keyCode ? event.keyCode : event.charCode ? event.charCode : 0;
      if (ChCode == 13){DomainQuery();}
   });
   
   $('#SLD').keypress(function(event){
      var ChCode = event.keyCode ? event.keyCode : event.charCode ? event.charCode : 0;
      if ((ChCode >= 65 && ChCode <= 90) || (ChCode >= 97 && ChCode <= 122) || (ChCode >= 48 && ChCode <= 57) || (ChCode == 37) || (ChCode == 39) || (ChCode == 45) || (ChCode == 8))
      {
         return true;
      }
      else
      {
         return false;
      }
   });
});

var TLDList = new Array();
TLDList[0] = 'Com';
TLDList[1] = 'Net';
TLDList[2] = 'Org';
TLDList[3] = 'Co';
TLDList[4] = 'Eu';
TLDList[5] = 'Biz';
TLDList[6] = 'Tv';
TLDList[7] = 'Info';
TLDList[8] = 'Cc';
TLDList[9] = 'Mobi';
TLDList[10] = 'ComTr';
TLDList[11] = 'NetTr';
TLDList[12] = 'OrgTr';
TLDList[13] = 'GovTr';
TLDList[14] = 'GenTr';
TLDList[15] = 'WebTr';
TLDList[16] = 'BizTr';
TLDList[17] = 'InfoTr';
TLDList[18] = 'DrTr';
TLDList[19] = 'AvTr';
TLDList[20] = 'K12Tr';

DomainQuery = function() 
{
   var SLD = '';
   SLD = $('#SLD').val();
   if (SLD != '')
   {
      $.scrollTo(200, {duration : 1000});
      SLD = ToLowerCase(SLD);
      $('#SLD').val(SLD);
      if (SLDValidate(SLD))
      {
         $('.DomainQueryResultAll').html('');
         var TLD = '';
         var SelectTLD = '';
         var ResultLine = '';
         var SelectTLDList = '';
         var SelectTLDLength = 0;
         var SLDValidateLength = '';
         var SLDLength = SLD.length;
     
         for (i=0; TLDList.length > i; i++)
         {
            SelectTLDList = TLDList[i];
            SelectTLD = $('#S'+SelectTLDList).text();
            TLD = TLDValidate(SelectTLDList);
            
            if (TLD == 'com.tr' || TLD == 'net.tr' || TLD == 'org.tr' || TLD == 'gov.tr' || TLD == 'gen.tr' || TLD == 'web.tr' || TLD == 'biz.tr' || TLD == 'info.tr' || TLD == 'dr.tr' || TLD == 'av.tr' || TLD == 'k12.tr' || TLD == 'eu')
            {
               SLDValidateLength = '2';
            }
            else if (TLD == 'biz' || TLD == 'info' || TLD == 'co')
            {
               SLDValidateLength = '3';
            }
            else
            {
               SLDValidateLength = '';
            }
            
            if (SelectTLD != '')
            {
               SelectTLDLength += 1;
               if (SLDValidateLength == '' || SLDLength >= SLDValidateLength)
               {
                  ResultLine = '<div class="DomainQueryLine" id="A' + SelectTLDList + '">' +
                               '   <ul>' +
                               '      <li class="DQLIcon StopIcon"></li>' +
                               '      <li class="DQLDomain">' + SLD + '.' + TLD + '</li>' +
                               '      <li class="DQLLink"></li>' +
                               '      <li class="DQLButton"><img src="img/ajax-loader02.gif" class="Loader02" /></li>' +
                               '   </ul>' +
                               '</div>';
               }
               else
               {
                  ResultLine = '<div class="DomainQueryLine" id="A' + SelectTLDList + '">' +
                               '   <ul>' +
                               '      <li class="DQLIcon StopIcon"></li>' +
                               '      <li class="DQLDomain02"><strong>.' + TLD + '</strong> uzantılı domain sorgulamalarında, sorgulanacak kelime <strong>en az ' + SLDValidateLength + ' karakter</strong> olmalıdır.</li>' +
                               '   </ul>' +
                               '</div>';
               }

               $('.DomainQueryResultAll').append(ResultLine);
            }
         }
         if (SelectTLDLength > 0)
         {
            DomainQueryStart(SLD);
         }
         else
         {
            MessageType = 'Warning';
            MessageText = 'En az bir domain uzantısı seçilmelidir. Lütfen kontrol ediniz.';
            MessageBoxOpen(MessageType, MessageText);
         }
      }
      else
      {
         MessageType = 'Warning';
         MessageText = 'Sorgulama yapmak istediğiniz kelimede geçersiz karakterler bulunmaktadır. Lütfen kontrol ediniz.';
         MessageBoxOpen(MessageType, MessageText);
      }
   }
   else
   {
      MessageType = 'Warning';
      MessageText = 'Lütfen sorgu alanını boş bırakmayınız.';
      MessageBoxOpen(MessageType, MessageText);   
   }
}

DomainQueryStart = function(SLD)
{
   var SelectTLDList = '';
   var SelectTLD = '';
   var TLD = '';
   var PostURL = '';
   SLD = ToLowerCase(SLD);
   var SLDLength = SLD.length;
   var SLDValidateLength = '';
   
   if (SLDValidate(SLD))
   {
      for (i=0; TLDList.length > i; i++)
      {
         SelectTLDList = TLDList[i];
         SelectTLD = $('#S'+SelectTLDList).text();
         TLD = TLDValidate(SelectTLDList);
         if (SelectTLD != '')
         {
            if (TLD == 'com.tr' || TLD == 'net.tr' || TLD == 'org.tr' || TLD == 'gov.tr' || TLD == 'gen.tr' || TLD == 'web.tr' || TLD == 'biz.tr' || TLD == 'info.tr' || TLD == 'dr.tr' || TLD == 'av.tr' || TLD == 'k12.tr' || TLD == 'eu')
            {
               SLDValidateLength = '2';
            }
            else if (TLD == 'biz' || TLD == 'info' || TLD == 'co')
            {
               SLDValidateLength = '3';
            }
            else
            {
               SLDValidateLength = '';
            }
            if (SLDValidateLength == '' || SLDLength >= SLDValidateLength)
            {                        
               TLD = TLDValidate(TLDList[i]);
               PostURL = 'DomainQuery.aspx';
               PostStr = 'TLD='+TLD+'&SLD='+SLD+'&PT=QP';
               AjaxActionAllTLD(PostURL, PostStr, DomainQueryResult);
            }
         }
      }
   }
   else
   {
      MessageType = 'Warning';
      MessageText = 'Sorgulama yapmak istediğiniz kelimede geçersiz karakterler bulunmaktadır. Lütfen kontrol ediniz.';
      MessageBoxOpen(MessageType, MessageText);
   }
}

SLDValidate = function(SLD)
{
   CharCode = '';
   State = true;
   
   for (i=0; SLD.length > i; i++)
   {
      CharCode = SLD.charCodeAt(i);
      if (!((CharCode >= 97 && CharCode <= 122) || (CharCode >= 48 && CharCode <= 57) || (CharCode == 45)))
      {
         State = false;
         break;
      }
   }
   return State;
}

ToLowerCase = function(SLD)
{
   return SLD.toLowerCase();
}

AjaxActionAllTLD = function(PostURL, PostStr, ActionControl)
{
   $.ajax({type : 'Post', url : PostURL, data : PostStr, success : function(QueryResult){ActionControl(QueryResult);}});
}

DomainQueryResult = function(QueryResult)
{
   var thisLi = '';
   var WS = '';
   var TLD = '';
   var SLD = '';
   var result = '';
   var CharCode = '';
   var WSStart = false;
   var TLDDivName = '';
   var Domain = '';
   
   for (i=0; QueryResult.length > i; i++)
   {
      CharCode = QueryResult.charCodeAt(i);
      if (result != '')
      {
         if (WSStart == false)
         {
            if (CharCode != '63')
            {
               TLD += QueryResult.charAt(i);
            }
            else
            {
               WSStart = true;
               i++;
            }
         }
         if (WSStart == true)
         {
            WS += QueryResult.charAt(i);
         }
      }
      else
      {
         result = QueryResult.charAt(i);
         i++;
      }
   }
   TLDDivName = TLDDivNameValidate(TLD);
   thisLi = $('#A'+TLDDivName).children('ul');
   SLD = $('#SLD').val();
   if (result == 0)
   {
      Domain = thisLi.children('.DQLDomain').text();
      thisLi.children('.DQLLink').addClass('DQLwww').html('<a href="http://www.' + Domain + '" target="_blank"></a>');
      thisLi.children('.DQLButton').html("<a href=\"javascript:void(0);\" onclick=\"DomainWhoisStart('" + SLD + "', '" + TLD + "', '" + WS + "');\"></a>").addClass('DQLWhois');
   }
   else if (result == 1)
   {
      thisLi.children('.DQLIcon').removeClass('StopIcon').addClass('OkeyIcon');
      thisLi.children('.DQLButton').html('<a href="https://www.bmt.net.tr/SaleStart.aspx?ST=Domain&S=' + SLD + '&T=' + TLD + '&ADS=ADS"></a>').addClass('DQLSatinAl');
   }
   else if (result == 2)
   {
      thisLi.children('.DQLButton').css({paddingTop: '9px', height: '25px'}).html('Sorgulanamaz');
   }
}

DomainWhoisStart = function(SLD, TLD, WS)
{
   $('#WhoisSelectDomain').val(SLD + '.' + TLD);
   $('#BlackOverlay').animate({opacity : 'show'}, 300).animate({opacity : '0.8'}, 300);
   $('#Overlay').delay(600, function(){$(this).css({zIndex : '11', display : 'block'});});
   setTimeout(function(){DomainWhoisLoaderAnimate(SLD, TLD, WS);}, 600);
}

DomainWhoisLoaderAnimate = function(SLD, TLD, WS)
{
   $('#Overlay').html(WhoisHtml);
   $('.WhoisResultLoader').delay(200, function(){$(this).animate({opacity : 'show'}, 400);});

   PostURL = 'DomainWhois.aspx';
   PostStr = 'TLD='+TLD+'&SLD='+SLD+'&WS='+WS+'';
   AjaxStart(PostURL, PostStr, DomainWhoisResult);   
   setTimeout(function(){AjaxStart(PostURL, PostStr, DomainWhoisResult);}, 700);
}

DomainWhoisResult = function(AjaxResult)
{
   var WhoisSelectDomain = $('#WhoisSelectDomain').val();
   $('.WhoisResultLoader').animate({opacity : 'hide'}, 200);
   $('.WhoisResultContainer').delay(400, function(){$(this).animate({opacity: 'show', width: '770px'}, 300).animate({top: '-150px'}, 200);});
   $('.WhoisResult').delay(650, function(){$(this).animate({height: '500px'}, 300);});
   $('.DWCCenter').delay(700, function(){$(this).animate({height: '470px'}, 300);});
   $('.WhoisResultContent').delay(900, function(){$(this).html(WhoisResultHtml).animate({opacity: 'show'}, 300);$('.DWCDomainName').text('Domain : ' + WhoisSelectDomain);$('.DWCResult').html(AjaxResult);});
}

DomainWhoisClose = function()
{
   $('.WhoisResultContent').animate({opacity: 'hide'}, 200)
   $('.WhoisResult').delay(200, function(){$(this).animate({opacity: 'hide'}, 300);});
   $('#Overlay').delay(500, function(){$(this).html('').css({zIndex: '5', display: 'none'});});
   $('#BlackOverlay').delay(600, function(){$(this).animate({opacity: 'hide'}, 300);})
}

var WhoisHtml = '';
WhoisHtml = '<table width="100%" height="100%">' +
            '   <tr>' +
            '     <td align="center">' +
            '        <div class="WhoisResult" align="center">' +
            '        <div class="WhoisResultLoader"><img src="img/ajax-loader02.gif" /></div>' +
            '        <div class="WhoisResultContainer" align="center">' +
            '              <div class="DWC01"><div class="DWC02"></div></div>' +
            '              <div class="DWCCenter"><div class="WhoisResultContent"></div></div>' +     
            '              <div class="DWC03"><div class="DWC04"></div></div>' +
            '        </div>' +
            '        </div>' +
            '     </td>' +
            '   </tr>' +
            '</table>';

var WhoisResultHtml = '';
WhoisResultHtml = '   <ul>' +
                  '      <li class="DWCTitle"></li>' +
                  '      <li class="DWCDomainName">Domain : -</li>' +
                  '      <li class="DWCResult"></li>' +
                  '      <li class="DWCButton"><a href="javascript:void(0);" onclick="DomainWhoisClose();"><img src="img/Kapat.gif" alt="" /></a></li>' +
                  '   </ul>';
                  
TLDDivNameValidate = function(TLD)
{
   result = '';
   CharCode = '';
   
   for (i=0; TLD.length > i; i++)
   {
      CharCode = TLD.charCodeAt(i);
      if (i == 0)
      {
         result = TLD.charAt(i).toUpperCase();
      }
      else 
      {
         if (CharCode == 46)
         {
            i++;
            result += TLD.charAt(i).toUpperCase();
         }
         else
         {
            result += TLD.charAt(i);
         }
      }
      
   }
   return result;
}

AllSelectTLD = function(ProcessType)
{
   if (ProcessType == 'SelectAll')
   {
      for (i=0; TLDList.length > i; i++)
      {
         TLD = TLDValidate(TLDList[i]);
         $('#S'+TLDList[i]).text(TLD);
         $('#'+TLDList[i]).addClass('CBSelect');
      }
   }
   else if (ProcessType == 'UnSelectAll')
   {
      for (i=0; TLDList.length > i; i++)
      {
         $('#S'+TLDList[i]).text('');
         $('#'+TLDList[i]).removeClass('CBSelect');
      }
   }
}

TLDValidate = function(TLD)
{
   var ReturnTLD = '';
   if (TLD == 'Com')
   {
      ReturnTLD = 'com';
   }
   else if (TLD == 'Net')
   {
      ReturnTLD = 'net';
   }
   else if (TLD == 'Org')
   {
      ReturnTLD = 'org';
   }
   else if (TLD == 'Co')
   {
      ReturnTLD = 'co';
   }
   else if (TLD == 'Eu')
   {
      ReturnTLD = 'eu';
   }
   else if (TLD == 'Biz')
   {
      ReturnTLD = 'biz';
   }
   else if (TLD == 'Tv')
   {
      ReturnTLD = 'tv';
   }
   else if (TLD == 'Info')
   {
      ReturnTLD = 'info';
   }
   else if (TLD == 'Cc')
   {
      ReturnTLD = 'cc';
   }
   else if (TLD == 'Mobi')
   {
      ReturnTLD = 'mobi';
   }
   else if (TLD == 'ComTr')
   {
      ReturnTLD = 'com.tr';
   }
   else if (TLD == 'NetTr')
   {
      ReturnTLD = 'net.tr';
   }
   else if (TLD == 'OrgTr')
   {
      ReturnTLD = 'org.tr';
   }
   else if (TLD == 'GovTr')
   {
      ReturnTLD = 'gov.tr';
   }
   else if (TLD == 'GenTr')
   {
      ReturnTLD = 'gen.tr';
   }
   else if (TLD == 'WebTr')
   {
      ReturnTLD = 'web.tr';
   }
   else if (TLD == 'BizTr')
   {
      ReturnTLD = 'biz.tr';
   }
   else if (TLD == 'InfoTr')
   {
      ReturnTLD = 'info.tr';
   }
   else if (TLD == 'DrTr')
   {
      ReturnTLD = 'dr.tr';
   }
   else if (TLD == 'AvTr')
   {
      ReturnTLD = 'av.tr';
   }
   else if (TLD == 'K12Tr')
   {
      ReturnTLD = 'k12.tr';
   }
   return ReturnTLD;
}
