var clip = null;
var errorTimer, emptyTimer;

window.onload = function(){
    init();
}

function init() {
    $('#longurl').focus();
    $('#shorten-button').mouseover(function(){
	    $(this).attr('src', 'images/ptl_btn1on.jpg');
	}).mouseout(function(){
		$(this).attr('src', 'images/ptl_btn1.jpg');
	    });

	initClip();

    $('#shorturl')
	.focus(function(){
		var self = this;
		setTimeout(function() {
			$(self).select();
		    }, 10); // Safari
	    })
	.click(function(){
		var self = this;
		setTimeout(function() {
			$(self).select();
		    }, 10); // Safari
		return false;
	    });

    $('#copybtn')
	.mouseover(function(){
		$('#copy-button').attr('src', 'images/ptl_btn2on.jpg');
	    })
	.mouseout(function(){
		$('#copy-button').attr('src', 'images/ptl_btn2.jpg');
	    });
    
    $('#tweet-button')
	.click(function(){
		window.open('http://twitter.com/?status=' + $('#shorturl').val());
	    });

	$('.chobi form').first().submit(function(e){
		$('.chobi input[name="submit"]').addClass('load').val(' ').attr('disabled', 'disabled');
		var q = $('.chobi input[name="q"]').val();
		if (q == '') {
			emptyAnimation();
			return false;
		}
		$.ajax({
			type: 'POST',
			url: './',
			data: {q: q, format:'partial_html'},
			success: function(data, textStatus, jqXHR){
				$('.chobi').replaceWith(data.html);
				setTimeout(function(){
					shortenAnimation();
				},100);
			},
			error: function(data, textStatus, jqXHR){
				// data.status == 400
				errorAnimation();
			}
		});
		return false;
	});
}

function initClip() {
    clip = new ZeroClipboard.Client();
    clip.setHandCursor(false);
    clip.addEventListener('mouseOver', myMouseOver);
    clip.addEventListener('mouseDown', myMouseDown);

    clip.glue('copy-button');
}

function errorAnimation() {
	$('.chobihead').removeClass('empty').addClass('error');
	$('.muri').show().css('opacity', 0).animate({opacity:1}, {duration:600, queue:false});
	clearTimeout(errorTimer);
	errorTimer = setTimeout(function(){
		$('.chobihead').removeClass('error');
		$('.muri').animate({opacity:0}, 300);
	}, 1700);
}
function emptyAnimation() {
	$('.chobihead').removeClass('error').addClass('empty');
	$('.hatena').show().css('opacity', 0).animate({opacity:1}, {duration:600, queue:false});
	clearTimeout(emptyTimer);
	emptyTimer = setTimeout(function(){
		$('.chobihead').removeClass('empty');
		$('.hatena').animate({opacity:0}, 300);
	}, 1700);
}
function shortenAnimation() {
	setTimeout(function(){
		$('.naiyo img').attr('src', 'images/naiyo2.png');
		var t = 500;
		$('.chobi').delay(500).animate({paddingLeft:'62px'}, t);
		$('.chobibody input[type="text"]').delay(500).animate({width:'15px'}, t);
		$('.chobibody input[type="Submit"]').delay(500).animate({width:'15px'}, t, function(){
			$('.chobihead').addClass('short');
			$('.chobibody').animate({opacity: 0}, 500);
			$('.chobishoulder').animate({opacity:0}, 500);
			$('.chobitail').animate({opacity: 0}, 500, function(){
				$('.chobi').hide();
				$('.finish').show();
				var d = 500;
				$('.result').delay(d).slideDown(100, initClip);
				$('.naiyo').delay(d).slideUp(100);
			});
		});
	}, 500);
}

function myMouseOver(client) {
    clip.setText($('#shorturl').val());
}


function myMouseDown(client) {
    clip.setText($('#shorturl').val());
}

function createURL() {
    var balloon              = document.getElementById('balloon');
    balloon.style.visibility = 'visible';
}

