function template(num,dm,ex){
	if(num==2){
		return '<div id="'+replacedot((dm+ex))+'"><label><strong>'+dm+'.'+ex+'</strong> | <img src="/img/loading2.gif" /> | Đang kiểm tra...</label></div>';
	}
	if(num==3){
		return '<label id="registered"><label><strong>'+dm+'.'+ex+'</strong> | <img src="/img/notavailable.gif" /> | <a href="javascript:ht_whois(\''+dm+'\',\''+ex+'\')">Đã đăng ký, click xem thông tin chủ thể</a></label>';
	}
	if(num==4){
		return '<label id="available"><strong><font color="green">'+dm+'.'+ex+'</font></strong> | <img src="/img/ok.gif" /> | <a href="/index.php/mod-regdomain.html?domain='+dm+'&ext='+ex+'">Chưa đăng ký, click đăng ký tên miền</a></label>';
	}
}
function replacedot(str){
	return str.replace(/[.]/gi,'');
}
$(function(){	
	$('#check').click(function(){
		
		var domain = $('#domainId').val();
		var ext = $('input[name=ext]');
		var errlogs = '';
		
		if(domain.length < 2){
			errlogs += '+ Tên miền quá ngắn, tối thiểu 3 ký tự \n';			
		}
		if(!validateDomain(domain)){
			errlogs += '+ Tên miền chỉ được chưa các ký tự A-Z, 0-9 và dấu trừ (-) \n';			
		}
		if(domain.indexOf('--') != -1){
			errlogs += '+ tên miền không thể chứa 2 dấu trừ liên tiếp: -- \n';
		}
		if(domain.indexOf('-')==0 || domain.lastIndexOf('-')==domain.length-1){
			errlogs += '+ tên miền không thể bắt đầu hoặc kết thúc bởi dấu trừ: - \n';
		}
		if(errlogs != ''){
			alert(errlogs);
			return false;
		}
		else {
			$('#rowResult').html('');
			window.location.hash= '#Result';
			if( domain.indexOf('.') > 0 )
			{
				$('#rowResult').html('<div><label><strong>'+domain+'</strong> | <img src="/img/loading2.gif" /> | Đang kiểm tra...</label></div>');
				window.location.href='/index.php/mod-domain.html?domain='+domain+'#Result';
			}else{				
				var hasChecked = false;
				ext.each(function(){
					if(this.checked){
						hasChecked=true;
						$(template(2,domain,this.id)).appendTo('#rowResult');
					}
				});
				if(!hasChecked){
					alert("Hãy chọn ít nhất một đuôi mở rộng của tên miền (tích chọn)");
					return false;
				}else{
					ext.each(function(){
						if(this.checked){
							$.ajax({
								type:'GET',
								url: '/checkdomain.php',
								data: 'ajax=true&act=check&domain='+domain+'&ext='+this.id,							
								success:function(html){
									html = $.trim(html);
									ext = new Array(html.slice(domain.length,(html.length -1)),html.slice(domain.length,(html.length)))
									if(html){
										if(html.lastIndexOf('.') == (html.length -1)){
											$('#'+replacedot(domain+ext[0])+'').html(template(3,domain,ext[0]));
										}
										else{
											$('#'+replacedot(domain+ext[1])+'').html(template(4,domain,ext[1]));
										}
									}else{
										$('#rowResult').html('Không kết nối được máy chủ, vui lòng thử lại');								
									}																
								}
							});
						}
					});
				}
			}
		}
	});			
	$('#chkall').click(function(){
		var checked_status = this.checked;
		$('input[name=ext]').each(function(){
			this.checked = checked_status;
		});
	});
});
function ht_whois(domain,ext){
	$('#resultInfo').dialog('open');
	$('#resultInfo').dialog({	
		width: 600,
		height: 500,
		modal:true
	});
	$('#resultInfo').dialog('option', 'title', 'Thông tin tên miền:'+' '+domain+'.'+ext);
	$('#resultInfo').html('<div style="text-align:center;margin-top:200px"><img src="/img/loading1.gif" /></div>');
	$.ajax({
		type: 'GET',
		url: '/checkdomain.php',
		data: 'act=info&domain='+domain+'&ext='+ext,
		success: function(html){
		 	$('#resultInfo').html(html);
		}
	});
}
function validateDomain(elementValue){    
   var domainPattern = /^[a-zA-Z0-9-.]+$/ ;
   return domainPattern.test(elementValue); 
}