var clip
window.addEvent("domready",function(){
	clip = new ZeroClipboard.Client();

   
	
	if($chk($('postthis')) && $chk($('url'))){
		$('url').addEvent('keyup',function(e){
			if(e.key=='enter'){
				$('postthis').fireEvent('click', $('postthis'));
			}
		});
		
		
		$('postthis').addEvent("click",function(e){
			if(typeof(e.stop)=='function') e.stop();
			
			
			var Overlay = new Element('div', {'id': 'backgroundoverlay'}).inject($(document.body));
			
			var MessageBoxContainer = new Element('div', {'id': 'messageboxContainer'}).inject($(document.body));
			var top = (window.getSize().y/2).toInt()+40;
			MessageBoxContainer.setStyles({'top':top,'position':'absolute','width':'100%'});
			
			var MessageBox = new Element('div', {'id': 'messagebox'}).inject(MessageBoxContainer);
			var closebox = new Element('div', {'id': 'closebox'}).inject(MessageBoxContainer);
			
			Overlay.addEvent('click',function(){
				closebox.dispose();
				MessageBox.dispose();
				Overlay.dispose();
				$('url').value = 'Enter URL to Shorten...';
			});
			
			var closelink = new Element('a', {'id': 'closelink','href':'#','events':{
				'click':function(e){
					e.stop();
					closebox.dispose();
					MessageBox.dispose();
					Overlay.dispose();
					$('url').value = 'Enter URL to Shorten...';
				}
			}}).inject(closebox);
			
			var jsonRequest = new Request.JSON({url: "/gen/post",'method':'post','onSuccess': function(json){
				if(typeof(json)=='object'){
					if(json.error.id==0){
						if(json.isnew==1){
							//Set Clipboard Text
							clip.setText(json.url);
							//Glue SWF layer to closelink
							var div = clip.glue( 'closelink' );
							clip.addEventListener( 'complete', function(client, text) {
								closebox.dispose();
								MessageBox.dispose();
								Overlay.dispose();
								clip.destroy();
								clip = new ZeroClipboard.Client();
								$('url').value = 'Enter URL to Shorten...';
							});
	
							//Hack to push SWF down over the close link
							var pos = closelink.getPosition();
							$(div).setStyles({'top':(pos.y+140).toInt(),'left':pos.x.toInt(),'z-index':99999});

							if(Browser.Engine.trident && Browser.Engine.version<=5){
								var top = (window.getSize().y/2).toInt()-29;
								MessageBoxContainer.setStyles({'top':top});
							}
							
							MessageBox.addClass('ok');
							var IMG = new Element('p', {'id': 'mess'}).inject(MessageBox);
							
							var text = "<b>"+json.url+"</b>";
							var ptext = new Element('p', {'id': 'thelink','html': text}).inject(MessageBox);
						}else{
							
							MessageBox.addClass('preview');
							var text = "<p>Your Link goes to:</p><b>"+json.url+"</b>";
							var ptext = new Element('div', {'id': 'thelink','html': text});
							ptext.inject(MessageBox);
						}
					}else{
						MessageBox.addClass('bad');
						var ptext = new Element('p', {'text': json.error.message}).inject(MessageBox);
					}
				}else{
					MessageBox.addClass('bad');
					var ptext = new Element('p', {'text': 'Could not Get URL'}).inject(MessageBox);
				}
			},onFailure:function(){
				MessageBox.addClass('bad');
				var ptext = new Element('p', {'text': 'Could not Get URL'}).inject(MessageBox);
			}}).send("url="+encodeURIComponent($('url').get("value")));
			
		});
	}
});
