try 
{
	document.addEventListener ( 'click', handleClick, false );
} catch ( e ) 
{
	if ( document.attachEvent ) 
	{
		document.attachEvent ( 'onclick', handleClick );
	} 
	else 
	{
		document.onclick = handleClick;
	}
}

// Handle mouse clicks
function handleClick ( e ) 
{
	var event = e || window.event;
	
	if ( event.ctrlKey || event.shiftKey || event.altKey ) 
	{
		return true;
	}
	
	if ( event.which && event.which != 1) 
	{
		return true;
	}

	var target = event.target || event.srcElement;
	
	while ( target && !/^a$/i.test ( target.nodeName ) ) 
	{
		target = target.parentNode;
	}

	if ( !target || !target.getAttribute ( 'rel' ) ) 
	{
		return true;
	}

	var rel = target.getAttribute ( 'rel' );
	var href = target.getAttribute ( 'href' );
	
	switch ( rel ) 
	{
		default:
				return true;
			break;
	
		case 'external':
				window.open ( href );
			break;
	}

    try { event.preventDefault (); } catch ( e ) {}
    return false;
}


function random_string ( more_chars, string_length ) 
{
	var chars = 'abcdefghiklmnopqrstuvwxyz';
	if ( more_chars ) chars += 'ABCDEFGHIJKLMNOPQRSTUVWXTZ0123456789_-';
	var random_string = '';
	for ( var i=0; i<string_length; i++) 
	{
		var rnum = Math.floor(Math.random() * chars.length);
		random_string += chars.substring(rnum,rnum+1);
	}
	return random_string;
}


// Fix png transparency
$('img[@src$=.png]').ifixpng(); 

var ajax_inprogress = false;

$(function(){
	$( '.global_holder .content .button' )
		.attr ( 'value', '' )
		.bind ( 'mouseenter mouseleave', function ()
			{
				$( this ) .toggleClass ( 'button_hl' );
			});
			
	$( '.global_holder .content .url input' )
		.attr ( 'value', 'http://' )
		.addClass ( 'blur' )
		.focus (
			function ( e )
			{
				if ( $( this ) .attr ( 'value' ) == 'http://' )
				{
					$( this ) .attr ( 'value', '' ) .removeClass ( 'blur' );
				}
			})
		.blur (
			function ( e )
			{
				if ( $( this ) .attr ( 'value' ) == '' )
				{
					$( this ) .attr ( 'value', 'http://' ) .addClass ( 'blur' );
				}
			});
			
	$( '.global_holder .content form' )
		.submit (
			function ( e )
			{
				e .preventDefault();
				if ( ajax_inprogress ) return;
				
				$( '#popup' ) .slideUp ( 'fast' );
				$( '#popup_bg' ) .show ();
				$( '#popup_img' ) .css ( 'left', ( ( $(window) .width() - $( '#popup_img' ) .width () )/2 ) ) .css ( 'top', ( ( $(window) .height() - $( '#popup_img' ) .height () )/2 ) ) .show();
							$( '#popup_bg' ) .click ( function ( e ) 
										{ 
											if ( !( $( e.target ) .is( '#popup' ) || $( e.target ) .parents( '#popup' ).length ) )
											{
												$( '#popup' ) .fadeOut ( 'fast', function () { $( '#popup_bg' ) .hide (); } ); 
											}
										} );
				ajax_inprogress=true;
				$.ajax({
							type: "POST",
							url: api_url,
							data: "url="+escape ( $( '.global_holder .content .url input' ).attr('value') ),
						 	cache: true,
						 	complete: function(){ajax_inprogress=false},
						 	success: function(txt)
						 	{
						 		$( '#popup_img' ) .fadeOut ( 'fast', 
									function()
									{ 
										if ( txt.substr(0,7) != 'http://' )
										{
											var html = '<div class="error">'+ txt +'</div>';
										}
										else
										{
											var long_txt = 'http://'+ random_string ( false, Math.floor(Math.random() * 11)+30 ) +'.'+ txt.substr(7) +'/'+ random_string ( true, Math.floor(Math.random() * 11)+30 );
											var html = '<div class="short_url_img ';
											if ( language != 'lt' ) html += 'short_url_img_en'; else html += 'short_url_img_lt';
											html += '"></div>';
											html += '<div class="short_url"><span class="short_url_i"><input type="text" name="short_url" value="'+ txt +'" /></span><a href="http://twitter.com/?status='+ escape ( txt ) +'" rel="external"></a></div>';
											html += '<div class="shouldnt"></div>';
											html += '<div class="long_url_img ';
											if ( language != 'lt' ) html += 'long_url_img_en'; else html += 'long_url_img_lt';
											html += '"></div>';
											html += '<div class="long_url"><span class="long_url_i"><input type="text" name="long_url" value="'+ long_txt +'" /></span><a href="http://twitter.com/?status='+ escape ( long_txt ) +'" rel="external"></a></div>';
										}
										$( '#popup' ) .html ( html ) .css ( 'width', 600 ) .css ( 'left', ( ( $(document) .width() - $( '#popup' ) .width () )/2 ) ) .css ( 'top', ( ( $(window) .height() - $( '#popup' ) .height () )/2 ) ) .fadeIn (
											function ()
											{
												$( '#popup input' )
												.click (
												function ()
												{
													$( this ) .select ();
												});	
											}
										);
									});
						 	}
						});
			});
			
	var url_match = location.href.indexOf('#');
	if ( url_match > 0 )
	{
		url_match = location.href.substr ( url_match+1 );
		url_match = decodeURIComponent ( url_match );	
		if ( url_match .length > 4 )
		{
			$( '.global_holder .content .url input' ).attr('value', url_match);
			$( '.global_holder .content form' ) .submit ();
		}
	}
});