comment=function(){
    var $=jQuery;
    var me={}
    //var cont = $('#gallery');
    var getEnv = function(){return Array();} 
    me.getCapcha  = function(){return ''} ;
    me.onSucc = function(){};
    var commTamplate;
    var commContain;
    me.init = function(options){
        commContain=options['commContain'];   
        getEnv=options['getEnv'];    
        commTamplate=options['commTamplate'];
    }
    function getCommInfo(){
        var commInfo={};
        commInfo.text= $(commContain).find('#comm_text')[0].value;
        commInfo.sig= $(commContain).find('#comm_sig')[0].value;     
        return commInfo;
    } 
     
    me.getCapcha = function (){
        return  $(commContain).find('#captcha').attr('value');  
    }
    me.send=function(){     
        var comment = {'action':'add','options':getEnv(),'info':getCommInfo(),'template':commTamplate};      
        $.ajax({
            url: "/commenatry/addcomment.php",
            global: false,
            type: "POST",
            data: {'captcha':me.getCapcha(),'comment':$.json.encode(comment)},  
            success: function(msg){
                succfunc(msg);
            },
            error : function(XMLHttpRequest, textStatus, errorThrown){
                //console.error(errorThrown);
                //console.error(textStatus);
                
                errorfunc();           
            }            
        }) 
    }
    me.del = function(btn){
        var id=$(btn.parentNode).find(".id").html();        
        var comment = {'action':'del','id':id};
        $.ajax({
            url: "/commenatry/addcomment.php",
            global: false,
            type: "POST",
            data: {'comment':$.json.encode(comment)},  
            success: function(msg){
                succdel(msg,btn);
            },
            error : function(XMLHttpRequest, textStatus, errorThrown){
                //console.error(errorThrown);
                //console.error(textStatus);
                
                errordel();           
            }            
        })   
        
    }
    function succdel(msg,btn){
        try{
            var resp=$.json.decodeSecure(msg);
            if(resp['ok']){
                btn.parentNode.parentNode.removeChild(btn.parentNode);
            }
        }
        catch(e){
            
        }        
    }
    function succfunc(msg){ 
        try{
            var resp=$.json.decodeSecure(msg);
            if(resp['ok']){
                var com = $(document.createElement('div'));
                com.attr('class','comment') ;
                com.html(resp['ok']);
                $('#comments').append(com);
                me.onSucc();
            }
            setTimeout("$.fn.captcha()",500); 
        }
        catch(e){
            
        }
    }
    function errorfunc(){
        $(cont).html("Ошибка, обновите пожалуйста страницу.")
        setTimeout("$.fn.captcha()",500); 
    }
    function _update(_start,_stage){
        if(!_start&&_start!=0){
            _start=$('#gallery').children().filter("span#start")[0].innerHTML;   
        }
      
    }    
    return me;
};
