﻿//Develop:Yaron[NoCheck] Date:22/09/2009 11:36:59 Ticket:

function MemberFeedsDelete(FeedId,DivId){
    GenericPopup.SetDisplay(GenericPopupType.confirm, { header: 'אישור מחיקה', body: ['האם ברצונך למחוק את הידיעה?'], arrBtns: [
            new buttonType(enmTypeBtn.ok, function() {
                $.ajax('DeleteFeed', { postBody: "FeedID=" + FeedId,
                    onSuccess: function(transport, state) {
                        var Result = transport;
                        if (state) { $(DivId).fade({duration : 0.5}); }
                    }
                })
            })
        ]
    }); 

};

/* Video Preview */
function PlayVideoFromFeed(source, dvElement){        
    //var o = {};
    //o.VideoEntryID = id;   
    FillQuickPreviewInlineVideo(source, dvElement);        
    //$.ajax('GetVideoSRCByID', { postBody : o, onSuccess : function( data ){    
        //var source = data.getHTML("source").trim();        
    //}});                
    //QuickPreview(id);
}       

var viewedVideoCount = 0;
function FillQuickPreviewInlineVideo(src, el){            
    //var src = $val('txtVideoSrc');                                                                                                                                                                                                                                                                                        
    src = src + "&autoplay=1";    
    viewedVideoCount++;
    var params = { allowScriptAccess : 'always', movie : 'src', quality : 'high', scale : 'exactfit', wmode : 'transparent', bgcolor : '#999999', allowfullscreen : 'true' };
    var attributes = { id: "VideoObj" + viewedVideoCount, name: "VideoObj" };
            
    //var elementUp = $(el).up('.feed-msg-middle');    
    // do not change the feed structure
    var elementUp = $(el).up(2);    
    var newId = "feedMsgMiddle_" + viewedVideoCount;    
    $(elementUp).writeAttribute("id", newId);
             
    swfobject.embedSWF(src, newId, "387", "312", "9.0.0","expressInstall.swf", {}, params, attributes);                                                                                                                                                                                                                                           
    
};         
         
function FillQuickPreviewVideo(){            
    var src = $val('txtVideoSrc');                                                                                                                                                                                                                                                                            
    var params = {               
        allowScriptAccess : 'always',
        movie : 'src',
        quality : 'high',
        scale : 'exactfit',
        wmode : 'transparent',
        bgcolor : '#999999',
        allowfullscreen : 'true'              
    };
    var attributes = { id: "VideoObj", name: "VideoObj" };
    swfobject.embedSWF(src, "dvPreviewVideo", "425", "350", "9.0.0","expressInstall.swf", {}, params, attributes);                                                                                                                                                                                                                            
};                          
function QuickPreview(videoId){            
    GenericAjaxCTL.Start(
        '',
        ['Type=VideoPreview','VideoEntryID=' + videoId],
        'VideoPreview.js',
        ['VideoEntryID=' + videoId],
        FillQuickPreviewVideo
    );       
};  

var feedData = {
    data : {},
    add : function(obj){
        this.data[obj.feedId] = obj;
    },
    getData : function(id){
        return this.data[id];
    },
    showAllIncr : function(id){
        this.data[id].showAllIncrj();
    }
};
function feedObject(feedId, dvCommentContainerId, txtCommentId, dvFeedCommentAdd, commentCount,dvLoaderComment,dvLoaderCommentSmall,imgUser,dvCommentBtn, canCommentAdd){
    this.feedId = feedId;
    this.dvCommentContainerId = dvCommentContainerId;
    this.txtCommentId = txtCommentId;           
    this.dvFeedCommentAdd = dvFeedCommentAdd;           
    this.commentCount = commentCount;     
    this.showAllCount = 0;
    this.locked = false;
    this.dvLoaderComment = dvLoaderComment;
    this.dvLoaderCommentSmall = dvLoaderCommentSmall;
    this.imgUser = imgUser;
    this.dvCommentBtn = dvCommentBtn;
    this.showAllIncr = function(){
        this.showAllCount++;
        return this.showAllCount;                
    };        
    this.canCommentAdd = canCommentAdd;    
    
    
    
};
var feedHandler = {
    ajaxCall : function(action, dvLoader, ptrFunction, postBody, feed, prop){
        prop = prop || {};
        //$(feed.txtCommentId).up(1).addClassName('ajax-on');
        commentHandler.displayLoader(feed,prop,true);
        $.ajax( action, { url : 'Feeds/AjaxFeedServices.aspx?Command=', postBody : postBody,
            onSuccess : function(response){
                commentHandler.displayLoader(feed,prop,false);
                //$(feed.txtCommentId).up(1).removeClassName('ajax-on');
                ptrFunction(response, feed);
            }
        });
    },
    feedCommentAdd : function(feedId){//, txtId, commentContainer
        var feed = feedData.getData(feedId);
        var p = { Content : $F(feed.txtCommentId), FeedID : feed.feedId };                                    
        if(feed.locked){return};
        if(($F(feed.txtCommentId) == commentHandler.defaultTxt) || ($F(feed.txtCommentId).length <=0)){return commentHandler.error(feed.txtCommentId)};
        commentHandler.setLock(feed,true);
        var prop = {action:'add',feedId : feedId };
        feedHandler.ajaxCall('FeedCommentAdd', null, function(response, feed){                                                               
            if(response.ajaxBAD()){return;}                        
            //$(feed.dvCommentContainerId).innerHTML = response.getHTML("FeedCluster");                        
            var newDiv = document.createElement("div");            
            newDiv.innerHTML = response.getHTML("FeedCluster");            
            $(feed.dvCommentContainerId).appendChild(newDiv);
            commentHandler.clear($(feed.txtCommentId));
            commentHandler.scrollTo(feed);;
            commentHandler.setLock(feed,false);
            commentHandler.blur($(feed.feedId));
        }, p, feed,prop);
    
    },
    _showDeleteConfirm : function(feedId, feedCommentId, feedCommentContainer, currentFeedDivId){
                               
        //alert('feedId : ' + feedId);
        
        var feed = feedData.getData(feedId);                                        
        var p = { FeedID : feed.feedId, feedCommentId : feedCommentId};                       
        var prop = { action : 'delete', currentFeedDivId : currentFeedDivId };
                        
        GenericPopup.SetDisplay(GenericPopupType.confirm,{header:'אישור מחיקה',body : ['האם ברצונך למחוק את התגובה?'],arrBtns : [
            new buttonType( enmTypeBtn.ok, function(){
                feedHandler.ajaxCall('FeedCommentDelete', null, function(response){                                                                                                
                    //$(feed.dvCommentContainerId).innerHTML = response.getHTML("FeedCluster");                                                                                                                                                                                                                                                                                       
                    $(prop.currentFeedDivId).fade({ duration: 1.0, from: 1.0, to: 0 });                                                            
                }, p, feed, prop);
            })
        ]});        
    },
    feedShowAll : function(feedId, commentContainer, feedShowMoreCount, showMoreContainer){
        var feed = feedData.getData(feedId);
        var prop = {action:'showAll'};
        
        var p = { FeedID : feed.feedId ,Counter : feed.showAllIncr(), CommentCount : feed.commentCount };                       
                        
        feedHandler.ajaxCall('FeedCommentGetRange', null, function(response,feed){                                                                                                                                                                                               
            
            if (isFirstRow(response, "true")){
            
                var counter = response.getHTML("Counter");                                    
                if (counter){                
                    if (Number(counter) > 0){                                                                                                    
                        $(feedShowMoreCount).innerHTML = Number(counter);                                                                                    
                    }else{
                        $(showMoreContainer).hide();
                    }
                }
                var newDiv = document.createElement("div");            
                newDiv.innerHTML = response.getHTML("FeedCluster");          
                $(commentContainer).insertBefore(newDiv, $(commentContainer).firstChild);                                                
            }else{
                $(showMoreContainer).hide();
            }
            //$(feed.dvCommentContainerId).innerHTML = response.getHTML("FeedCluster");
        }, p,feed,prop);            
    },
    showMore : function(id, lblId){
        $(id).show();
        $(lblId).hide();
    }
};
var commentHandler = {
    defaultTxt : 'כתבו משהו...',
    focus: function(feedId){
        var feed = feedData.getData(feedId);
        
        if (!feed.canCommentAdd){
            return;
        }        
        
        var txtBox = $(feed.txtCommentId);
        var imgUser = $(feed.imgUser);
        var dvCommentBtn = $(feed.dvCommentBtn);
        if(commentHandler.isDefaultTxt(txtBox)){
            $(txtBox).value = '';
            $(txtBox).className = 'feed-txt-comment-extended';
            $(txtBox).setStyle({color:'#333333'});
            $(imgUser).show();
            $(dvCommentBtn).show();
            
        };
    },
    blur : function(feedId){
        var feed = feedData.getData(feedId);
        if ($F(feed.txtCommentId).length == 0){
            $(feed.txtCommentId).value = commentHandler.defaultTxt;
            $(feed.txtCommentId).setStyle({color:'#AAA'});
            //$(feed.txtCommentId).className = 'feed-txt-comment';
        }
        return;
        if (!feed.canCommentAdd){
            return;
        }
        
        var txtBox = $(feed.txtCommentId);
        var imgUser = $(feed.imgUser);
        var dvCommentBtn = $(feed.dvCommentBtn);
        
    },
    display: function(feedId){
        var feed = feedData.getData(feedId);
        if (!feed.canCommentAdd){
            return;
        }        
        //$(feed.dvFeedCommentAdd).toggle();
        $(feed.txtCommentId).focus();
        commentHandler.scrollTo(feed);
        /*if($(feed.dvFeedCommentAdd).getStyle('display').toLowerCase() == 'none'){
            $(feed.dvFeedCommentAdd).show();
        }
        */
        try {$(feed.txtCommentId).focus();} catch(e){};
    },
    clear : function(element){
        $(element).value = '';
    },
    isDefaultTxt : function(element){
        if(trim($(element).value) == commentHandler.defaultTxt){
            return true;
        }else return false;
    },
    error : function(element){
        //Effect.Pulsate(element, { pulses: 4, duration: 0.8 });
    },
    setLock : function(feed,flag){
        feed.locked = flag;
        if(flag){
            $(feed.txtCommentId).style.backgroundColor = '#DDD';
            $(feed.txtCommentId).setAttribute("disabled","disabled")
        }else{
            $(feed.txtCommentId).removeAttribute("disabled");
            $(feed.txtCommentId).style.backgroundColor = '#FFF';
        }
    },
    setLoaderHeight : function(feed){
        var loaderHeight = $(feed.dvCommentContainerId).getHeight();                                                                                                
        loaderHeight = loaderHeight + "px";                                                                
        $(feed.dvLoaderComment).setStyle( { 'height' : loaderHeight } );
    },
    displayLoader : function(feed,prop,flag){
        commentHandler.setLoaderHeight(feed);
        switch(prop.action){
            case 'delete' :
            case 'showAll' : 
            if (flag){$(feed.dvLoaderComment).show()}else {$(feed.dvLoaderComment).hide()}
            break;
            case 'add' :
                if (flag){$(feed.dvLoaderCommentSmall).show()}else {$(feed.dvLoaderCommentSmall).hide()}
        }
        //dvLoaderComment
        //dvLoaderCommentSmall
    },
    scrollTo: function(feed) {
        if((document.viewport.getScrollOffsets()[1] + document.viewport.getHeight() - $(feed.txtCommentId).cumulativeOffset()[1]) < 100 ){
            ScrollToElement(feed.dvCommentBtn,600);
        }
    }
};

//Develop:UdiT[NoCheck] Date:18/02/2010 17:12:22 Ticket:51050
var MainPoll = {
    Vote: function(pollId, voteBtn, options, answers) {
        selectedAnswerId = this.CheckVoteForPoll(pollId);
        var data = { PollId: pollId, SelectedAnswerId: selectedAnswerId };
        $.json('AnswerMainPoll', { url: 'Json/JsonMain.aspx?action=', postBody: data, onSuccess: function(json, state) {
            if (state) {
                $(options).hide();
                $(voteBtn).hide();
                $(answers).innerHTML = json.MainPollAnswersDisplay;
                $(answers).show();
            }
        }
        });
    },
    CheckVoteForPoll: function(pollId) {
        var Name = "ctl00$BasicMasterPage$MainPollDisplay$MainPoll_" + pollId;
        var Options = document.getElementsByName(Name);
        for (var i = 0; i < Options.length; i++) {
            if (Options[i].checked) return Options[i].value;
        }
        $('dvNoAnswer').show();
        Effect.Pulsate('dvNoAnswer', { duration: 1.5, afterFinish: function() { $('dvNoAnswer').hide(); } });
        return false;
    }
};
