News={
    postNews:function(){
        $("#dialog").empty().html("<div id='news_form'><div style='padding:10px'><b>news title</b> : <input type='text' id='news_title'><span id='news_error' class='error'></span></div><textarea id='news_body' name='news_body' rows='20' cols='75'></textarea><input type='button' id='news_save_button' value='save'></div>");
        $("#dialog").dialog(
        {
            title:"Post San Shou News",
            modal: true,
            width:600,
            height:400,
            top:100,
            left:100,
            autoOpen:false,
            overlay: {
                backgroundColor: '#000',
                opacity: 0.90
            }
            }
        );
        $("#dialog").dialog("open");
        var Dom = YAHOO.util.Dom,
        Event = YAHOO.util.Event;

        var myConfig = {
            height: '200px',
            width: '550px',
            title:'news',
            dompath: true,
            focusAtStart: false
        };

        var newsEditor = new YAHOO.widget.SimpleEditor('news_body', myConfig);
        newsEditor.STR_TITLE="news"
        newsEditor.render();
        $("#news_save_button").click(function(){
            newsEditor.saveHTML();
            var t = $('#news_title')[0].value;
            var b = $('#news_body').val();
            if(!t || !b){
                $("#news_error").html("&nbsp;&nbsp;please fill out form before clicking the button");
                setTimeout(function(){
                    $("#news_error").fadeOut("slow")
                    },2000);
                return;
            }
            $("#news_save_button").attr("disabled","true");
            $("#news_save_button").attr("value","posting...");
            var insert = new net.nextdb.Insert("NEWS");
            insert.setRelationship(user.PK, "USERS_NEWS");
            insert.setParameters( {
                title : t ,
                body : b,
                created : "now"
            } );
            conn.executeInsert(insert,
                function(rowId,error){
                    if(error){
                        alert(error.toString());
                    } else {
                        News.getAllNews();
                        $("#dialog").dialog("close");
                    }
                }
                );
        });
    },
    getAllNews: function (){
        $("#news").append(loader);
        var query = new net.nextdb.Query("MY_NEWS");
        query.setPageSize(100);
        query.setParameters({
            login:user.PK
            });
        conn.executeQuery(query, function(myRows,error){
            if(error){
                alert(error);
                return;
            }
            var query = new net.nextdb.Query("PUBLIC_NEWS");
            query.setPageSize(100);
            conn.executeQuery(query, function(rows,error){
                if(error){
                    alert(error.getMessage());
                }else{
                    $("#news").empty();
                    var html=""
                    for(var i=0;i<rows.length;i++){
                        // find deletable
                        var deleteLink = "";
                        for(var ii=0;ii<myRows.length;ii++){
                            if(myRows[ii].NEWS.title == rows[i].NEWS.title && myRows[ii].NEWS.created == rows[i].NEWS.created){
                                deleteLink="<a href='#' class='news_delete' pk='"+myRows[ii].NEWS.PK+"'>delete</a>";
                            }
                        }
                        html+=("<div style='height:auto;padding:0px;border-bottom:1px solid #eee;'>")
                        html+=("<div class='news_title_bar'>")
                        html+=("<div class='news_title'>"+rows[i].NEWS.title.substring(0,25)+"</div>")
                        html+=("<div class='news_date'>"+deleteLink+" - "+net.nextdb.Util.shortDateFormat(net.nextdb.Util.convertFromServerDateFormat(rows[i].NEWS.created))+"</div>");
                        html+=("<br style='clear:both;'/>")
                        html+=("</div>")
                        html+=("</div>")
                        html+=("<div class='news_body'>"+rows[i].NEWS.body+"</div>")
                        html+=("<br>")
                    }
                    $("#news").append(html);
                    $(".news_delete").unbind("click");
                    $(".news_delete").click(function(){
                        var del = new net.nextdb.Delete("NEWS");
                        del.setRowId($(this).attr("pk"));
                        conn.executeDelete(del,
                            function(error){
                                if(error){
                                    alert(error);
                                } else {
                                    News.getAllNews();
                                }
                            }
                            );
                    });
                }
                });
        })
    },
    getPublicNews:function (){
        var query = new net.nextdb.Query("PUBLIC_NEWS");
        query.setPageSize(5);
        conn.executeQuery(query, function(rows,error){
            if(error){
                alert(error.getMessage());
            }else{
                $("#news").empty();
                var html=""
                for(var i=0;i<rows.length;i++){
                    html+=("<div style='height:auto;padding:0px;border-bottom:1px solid #eee;'>")
                    html+=("<div class='news_title_bar'>")
                    html+=("<div class='news_title'>"+rows[i].NEWS.title.substring(0,25)+"</div>")
                    html+=("<div class='news_date'>"+
                        net.nextdb.Util.shortDateFormat(net.nextdb.Util.convertFromServerDateFormat(rows[i].NEWS.created))+"</div>");
                    html+=("<br style='clear:both;'/>")
                    html+=("</div>")
                    html+=("</div>")
                    html+=("<div class='news_body'>"+rows[i].NEWS.body+"</div>")
                    html+=("<br>")
                }
                $("#news").append(html+"<hr><b><i>create an account to see more news</i></b>")
            }
            });
    }

}