function fillForm() {		
	var prefix = $('#short-url .option-selector:checked').siblings('.prefix');
	var suffix = $('#short-url .option-selector:checked').siblings('.suffix');
	
	if(prefix && prefix.val()) {
		$('#prefix').val(prefix.val());
	} else {
		$('#prefix').val('');
	}
	
	if(suffix && suffix.val()) {
		$('#suffix').val(suffix.val());
	} else {
		$('#suffix').val('');
	}
	
	return 1;
}

function checkDomain(str) {
	$('#short-url .domain-info').remove();

	var arr = str.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/);
	var domain = false;
	var isIP = false;
	if(arr) {
		// ip
		domain = arr[0];
		isIP = true;
	} else {
		// try exec domain
		arr = str.split('.').reverse();
		// check dots
		if(arr.length > 1) {
			// begin from the end
			for(var i=0; i < arr.length; i++) {
				// find TLD
				var tld = arr[i].match(/(aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z]{2})/i);
				if(arr[i+1]) {
					// check second level
					var name = arr[i+1].match(/[^a-z0-9_\-]*([a-z0-9_\-]+$)/i);
					// if ok, get domain
					if(tld) if(name) if(name[1]) {
						domain = name[1]+'.'+tld[1];
						break;
					}
				}
			}
		}
	}
	
	if(domain) {
		var server = BaseServer;
		if(server == 'byst.ro' || server == 'tinyurl.ru') {
			server = 'whoyougle.ru';
		}
		
		var output = '<div class="domain-info">Информация о <a href="http://'+domain+'">'+domain+'</a>:';
		output += ' <a href="http://'+server+'/net/whois/#'+domain+'">cправка '+(isIP ? 'об IP' : 'о домене')+'</a>,';
		output += ' <a href="http://'+server+'/net/nslookup/#'+domain+'">cправка об адресе</a>,';
		output += ' <a href="http://'+server+'/net/ping/#'+domain+'">жив ли сайт</a>,';
		output += ' <a href="http://'+server+'/net/traceroute/#'+domain+'">путь до сайта</a>';
		output += '</div>';
		$('#short-url').append(output);
	}
		
	return domain;
}

var prevOption;

$(function() {
	prevOption = $('#short-url .more ul :radio:checked').val();
	if(!prevOption) prevOption = 0;
	
	$('#short-url .option-selector, #short-url .more ul :text').click(function() {
		var selectedOption;
		if(this.type == 'text') {
			$(this).siblings(':radio').attr('checked', 'checked');
			selectedOption = $(this).siblings(':radio').val()
		} else {
			selectedOption = this.value;
		}
		
		if(selectedOption != prevOption) {
			var arrFix = ['prefix', 'suffix'];
			
			for(var fix in arrFix) {
				fix = arrFix[fix];
				var selectedText = $('#option-'+selectedOption+' ~ .'+fix+':text');
				var prevText = $('#option-'+prevOption+' ~ .'+fix+':text');
				
				if(selectedText && prevText && prevText.val())
					selectedText.val(prevText.val());				
				
				prevText.val('');
			}
			
			prevOption = selectedOption;
		}
	});
});

function checkInput() {
	if(!$.trim(this.value)) {
		$(this).next().attr('disabled', 'disabled');
	} else {
		$(this).next().removeAttr('disabled');
		
		if (this.name == 'long') {
			checkDomain(this.value);
		}
	}
}


$(function() {
	$('.url').bind('change keyup input', checkInput).each(checkInput);;
	
	$('#urls').tabs({ 
		cookie: { expires: 1 },
		show: function(event, ui) {
			//console.log(ui);
			$(ui.panel).find('.url').focus();
		} 
	});
	
	$('.button-copy').each(function(){
		var self = this;
		
		ZeroClipboard.setMoviePath(dynamicServer + '/js/jplugins/ZeroClipboard.swf');
		var clip = new ZeroClipboard.Client();
		clip.handCursorEnabled = false;
		clip.glue(this);
		clip.setText($('#result-url').val());
		
		clip.addEventListener('complete', function(){
			self.focus();
			var alert = $('#copy-alert')
			alert.css('visibility', 'visible');
			alert.show();
			setTimeout(function(){
				alert.fadeOut(700, function(){
					alert.css('display', 'block');
					alert.css('visibility', 'hidden');
				});
			}, 3000);
		});
		
		$('#' + clip.movieId).bind('mousedown', function(){
			$(self).css({
				'top': 1,
				'left': 1
			});
			self.focus();
		});
		
		$('#' + clip.movieId).bind('mouseup mouseleave', function(){
			$(self).css({
				'top': 0,
				'left': 0
			});
		});
	});
})
