var RendererSuggest = new Class({

    Extends: RendererAbstract,

    options: {
        text: "Veikiate kažką įdomaus? O gal žinote kas šuo metu vyksta?  Praneškite apie tai Savaitgalis.lt lankytojams."
    },

    initialize: function(options) {
        this.setOptions(options);
    },

    render: function() {        			
				var content = new Element('div');
        content.innerHTML = this.options.text;
        content.appendChild(document.createElement("BR"));
				

        var form = new Element('form');
				jQuery(form).attr({'method': "get", 'action': ""});
				
        var divCont1 = new Element('div');

        field = new Element('input');
				jQuery(field).attr({"type" : "hidden", "value" : "", "name" : "facebook_uid"});
        field.inject(divCont1);

				label = new Element('label');
				jQuery(label).addClass("suggestion-label");
        label.appendText('Tavo vardas:');
        node_input = new Element('input');
				jQuery(node_input).attr({
					'id': "suggestion-name", 'class': "suggestion-email", 'name': "name", 'type' : "text",
					'maxlength' : 17, 'size' : 17
				}).css("border", "solid 1px #D4D0C7");
        node_input.inject(label);
        label.inject(divCont1);

        label = new Element('label');
				jQuery(label).addClass("suggestion-label");
        label.appendText('Įveskite žinutę*:');
        var textarea = new Element('textarea');
				jQuery(textarea).attr({
            'id': "suggestion-text",
            'class': "ta suggestion-text",
            'rows': "5",
            'name': "suggestion",
						'onkeyup' : "this.value=this.value.substring(0,120)",
						'onchange' : "this.value=this.value.substring(0,120)"
        });
        textarea.inject(label);
        label.inject(divCont1);

        divCont1.inject(form);

        var splitter = new Element('div');
				splitter.className = "clear";
        splitter.inject(form);

        var divCont2 = new Element('div');

        var divBorderLeft = new Element('div');
				divBorderLeft.className = "fl";

        var img1 = new Element('img');
				jQuery(img1).attr({
            'src': "http://www.savaitgalis.lt/images/suggest/btnl.gif",
            'alt': ""
        });

        img1.inject(divBorderLeft);

        divBorderLeft.inject(divCont2);

        var divSubmit = new Element('div');
				divSubmit.className = "fl";

        var input = new Element('input');
				jQuery(input).css({'width': "60px"}).attr({
            'id': 'suggestion-submit',
            'class': 'btn',
            'type': 'submit',
            'value': 'Siųsti'
        });
        input.addEvent('click', this.handleSubmit.bind(this));

        input.inject(divSubmit);

        divSubmit.inject(divCont2);

        var divBorderRight = new Element('div');
				divBorderRight.className = "fl";

        var img2 = new Element('img');				
				jQuery(img2).attr({
            'src': "http://www.savaitgalis.lt/images/suggest/btnl.gif",
            'alt': ""
        });

        img2.inject(divBorderRight);

        divBorderRight.inject(divCont2);

        var divClear = new Element('div');
				divClear.className = "clear";

        divClear.inject(divCont2);
        divCont2.inject(form);				
        form.inject(content);
				
				var contentFacebook = new Element('div');
				contentFacebook.innerHTML = "Norėdami parašyti komentarą " +
					"<a href='javascript:savaitgalis.facebook.login();void(0)'>prisijunkite prie facebook</a>";
				
				var container = new Element('div');
				container.id = 'suggestDialogContainer';
				
				content.inject(container);
				contentFacebook.inject(container);

        return container;
    },

    onshow: function() {
    	var el = $("suggestDialog");
    	el.style.position = "fixed";
      el.style.top = '15%';
			this.reset();
			this.setError(false);
    },

		reset: function() {
			var elContainers = jQuery("#suggestDialogContainer > div");
			elContainers.hide();
			jQuery(elContainers.get(savaitgalis.facebook.getIsLoggedIn() ? 0 : 1)).show();
			if (savaitgalis.facebook.getIsLoggedIn()) {
				$('suggestion-text').focus();
				jQuery("*[name='facebook_uid']").val(savaitgalis.facebook.getUserId());
			}
		},

    onhide: function() {
        $('suggestion-text').value = "";
    },

		setError : function(error) {
			$('suggestion-text').style.border = "solid 1px " + (error ? "#FF0000" : "#D4D0C7");
		},

    handleSubmit: function() {
				
				var el = $('suggestion-text');				
				if (el.value == "") {
					this.setError(true);
					return false;
				}
				var message = [jQuery("#suggestion-text").val()];
				var user = jQuery("#suggestion-name").val();
				if (user) {
					message.push("(" + user + ")");
				}
        var request = new Request.HTML({
            'url': "lt/,ajax.1,suggest.1",
            'method': 'post',
            'data': {
                'action': 'submit',
                'suggestion': message.join(" "),
								'facebook_uid' : jQuery("*[name='facebook_uid']").val(),								
                'url': location.href
            },
            'async': false
        }).send();

        $('suggestion-text').value = "";

        this.close();

        return false;
    }
});
RendererSuggest.implement(new Options);

RendererSuggest.__instance__ = null;

window.addEvent('load', function() {
	var options = {
		'title': "Parašyk, kas vyksta įdomaus!", 
		'renderer': new RendererSuggest(), 'id': 'suggestDialog'
	};
	var nodes = jQuery(".suggestion-link");
	if (nodes.length > 0) {
		nodes.show();
		options.onClick = function() {
			RendererSuggest.__instance__.open();
			return false;
		}	
		RendererSuggest.__instance__ = new Dialog(options);
		RendererSuggest.__instance__.renderer = options.renderer;
		nodes.click(options.onClick);
	}	
});
