var Forum_class = function(){
	this.rootPath ="";
	this.actionsPath ="";
}

Forum_class.prototype = {
	onLoad:function()
    {
    	var obj = this;
    	var el = document.getElementsByClassName('forum_form_submit');
    	el = el['0'];
    	el.down('a').onclick=function(e){Forum.submit(e);return false;};
    	var length = parseInt($('forum_chars_left').innerHTML);
    	el.up(1).down('textarea').onkeypress=function(){
    		this.value = this.value.substr(0,600);
    		$('forum_chars_left').innerHTML = length-this.value.length; 
    	};
    	obj.init();
    	obj.list();
    },
    init:function()
    {
    	var el = document.getElementsByClassName('forum_form_submit');
    	el = el['0'].up('table').down('td[class=notice]');
    	el.hide();
    },
    submit:function(e)
    {
    	var obj = this;
    	new Ajax.Request(InitObj.getRootPath()+InitObj.getActionsPath()+'Forum/forum.php', {
            method: 'post',
            parameters:{
                "action": "add",
                "forum_nick":$F('forum_name'),
                "forum_message":$F('forum_message'),
                "forum_email": $F('forum_email')
            },
            onCreate:function(){
            	obj.init();
            },
            onSuccess: function(transport) {
            	//alert(transport.responseText.trim());
            	var table = e.target.up('table');
            	var el = table.down('td[class=notice]')
            	el.update(obj.response2li(transport.responseText.trim()));
            	el.show();
            	if(transport.responseText.trim().match(/\[scs\].+/))
            	{
            		$('forum_name').value='';
                    $('forum_message').value='';
                    $('forum_email').value='';
                    obj.list();
            	}
            		
            	
            },
            onFailure: function(transport) {
                alert(transport.responseText.trim());    
            }
            
        });
    },
    list:function()
    {
    	var obj = this;
    	new Ajax.Request(InitObj.getRootPath()+InitObj.getActionsPath()+'Forum/forum.php', {
            method: 'post',
            parameters:{
                "action": "list"
            },
            onSuccess: function(transport) {
            	//alert(transport.responseText.trim());
            	$('gouest_book').update(transport.responseText.trim());
            },
            onFailure: function(transport) {
                alert(transport.responseText.trim());    
            }
            
        });
    },
    response2li:function(es, par)
    {   
        var errorArray = null;
        var successArray = null;
        var popupArray = null;
        
        errorArray = es.split("[err]");
        errorArray.shift();
        successArray = es.split("[scs]");
        successArray.shift();
        popupArray = es.split("[pop]");
        popupArray.shift();
        
        var result ='';
        if(errorArray.length>0)
        {
            result = '<ul class="errors">';
            errorArray.each(
                function(Elem)
                {
                    if(Elem.length>0)
                    {
                        var id, value;
                        id=Elem.split(':=>');
                        value = id[1];
                        id = id[0];
                        result = result + '<li><span>'+value+'</span></li>';
                    }
                }
            );
        }
        if(successArray.length>0)
        {
            result ='<ul class="success">'
            	successArray.each(
                function(Elem)
                {
                    if(Elem.length>0)
                    {
                        result = result + '<li>'+Elem+'</li>';
                    }
                }
            );
        }
        if(popupArray.length>0)
        {
        	popupArray.each(
                function(Elem)
                {
                    if(Elem.length>0)
                    {
                    	alert(Elem);
                    }
                }
            );
        }
        result = result +'</ul>';
        return result;
    }

}

var Forum = new Forum_class();
InitObj.addOnLoadObject(Forum); 
