﻿var activeBookmarkId = 0;
var curPage = 1;
var u = '';

    
    
    function GetBookmarkListings(p) {
        $.get('/services/disp_multiplebookmark.ashx?u=' + u + '&p=' + p, function(r) {
                $('.srs-bookmarks').html(r);
                BindSearch();
                BindButtons();
            });
    }
    
    function Bookmark_Add(jthis) {
            var parent =  jthis.parents('.srw-bookmark-adder');
            var add = parent.find('.sra-add');
            var text = parent.find('input.srf-url');
            
            var url = text.val();
         
            add.hide();
            text.after('<span><img src="/s/i/ajaxspinner.gif" /></span>');
            
            $.get('/es/v1/s/AddBookmark.ashx?url=' + url, function() {
                parent.find('span').remove();
                text.after('<span style="font-weight:bold;color:#00FF0B">Successful</span>');///.fadeIn('fast') ;
                setTimeout(function() { parent.find("span").remove(); GetBookmarkListings(1); text.val(""); add.fadeIn("slow") }, 1000);
            });
    }

    function Bookmarks_Adder_BindActions() {
        $('.srw-bookmark-adder').each(function() {
            $(this).find('input:text').keypress(function(e) {
                if (e.which == 13) Bookmark_Add( $(this) );
            });
            $(this).find('.sra-add').click(function() { Bookmark_Add($(this)); });
        });
    }

    function Bookmark_RemoveConfirm(id) {
        activeBookmarkId = id;
        $('#srd-bookmark-remove').dialog('open');
        return false;
    }       
    
    function BookmarkAdd(jthis) {
        //alert('bookmark ' + jthis.parents('li.sr-artifact-listing').attr('artifactid') );
        $.get('/api/v1/s/action_bookmark_add.ashx?aid=' + jthis.parents('.srt-artifact').attr('artifactid'), function(r) {
            ShowInfo('Added bookmark');
        });
        
        return false;
    }
    
    
    
    function ArtifactShare(jthis) {
       $("#srd-artifact-share").dialog('open');
        $('#srd-artifact-share .srs-artifact').html('').load('/services/display_artifactblock.ashx?id=' + jthis.parents('.srt-artifact').attr('artifactid'));
        
        //ShowInfo('Added bookmark');
       return false;
    }
    
    
    
    
    function Artifact_DialogShare_BindActions() {
        $('#srd-artifact-share .sra-share').click(function() {
                var parent = $('#srd-artifact-share');
                
                var aid= parent.find('.srt-artifact').attr('artifactid');
                
                var arrPerId = new Array();
                
                $('#finder .selectPerson').each(function() {
                    arrPerId[arrPerId.length] = $(this).attr('id');
                });
                
                var fids= arrPerId.join(',' );
                
                var comment = parent.find('.comment').val();
                $.post('/api/v1/s/action_suggestion_save.ashx', {'aid':aid, 'fids':fids, 'comment': comment }) ;

                
                $("#srd-artifact-share").dialog('close');
                
                return false;
        });
    }
    
    

    
    function BindButtons() {
        
        $('.srt-artifact').each(function() {
            var jthis = $(this);
            $(this).find('.sra-bookmark-add').unbind('click').click(function() { return BookmarkAdd($(this)); });
            $(this).find('.sra-share').unbind('click').click(function() { return ArtifactShare($(this)); });
            $(this).find('.sra-bookmark-remove').unbind('click').click(function() {
                Bookmark_RemoveConfirm(jthis.attr('artifactid'));
                return false;
            });
        });
        
        
//    $('.bookmarklink').click(function() {
//        thickboxOpen('Bookmark Link',  $(this).attr('href'), 730, 440);
//        return false;
//    });
    
    


}




$(function() {
//    
//    var o = $('#srw-hoverfinder');
//    var p = o.show().position();
//    
//    $('body').append('<img src="/s/i/shadow/tl.png" style="position:absolute; left:' + (p.left-50)+'px; top:' +(p.top-51)+'px" />') ;
//    $('body').append('<img src="/s/i/shadow/tr.png" style="position:absolute; left:' + (p.left+o.width())+'px; top:' +(p.top-51)+'px" />') ;
//    
//    $('body').append('<img src="/s/i/shadow/bl.png" style="position:absolute;  left:' + (p.left-50)+'px; top:' +(p.top+o.height())+'px" />') ;
//    $('body').append('<img src="/s/i/shadow/br.png" style="position:absolute;  left:' + (p.left+o.width())+'px; top:'+(p.top+o.height())+'px" />') ;
//    
    
            /*
	    	$('#' + searchControl).change(function() {
	    		//$(this).unbind();
	    		//BindTypeAhead();
	    	});
	    	*/
	    	
   	        BindTypeAhead();
          

    $('input[type=text],input[type=password]').keypress(function (e) {
        e.stopPropagation();
        return true;
        
        var code = (e.keyCode ? e.keyCode : e.which);

        if (code == 37 || code == 39) {
            e.stopPropagation();
        }
   });
        
    

    $(this).keypress(function (e) {
        var code = e.which;//(e.keyCode ? e.keyCode : e.which);
        
        var alpha = String.fromCharCode(code);
        var isAlpha = isAlphanum(alpha);
        
        //keyboard pagination
        if (code == 37) { // left
            if (curPage >1) { curPage--; GetBookmarkListings(curPage); }
        } else if (code == 39) { //right
            curPage++;
            GetBookmarkListings(curPage);
        }
        
        
        
        if (Settings.HoverFinder.Enabled) {
            //hoverfinder widget
            if ( !$('#srw-hoverfinder').is(':visible')) {
                //Action_Widget_Show();
                if (isAlpha) { //only display the hover
                    var widget = $('#srw-hoverfinder');
                    widget.css('z-index', 1000).fadeIn('slow');
                    //widget.dropShadow();
            
                    widget.find('input[type=text]').val(alpha).focus().keypress(function(ew) {
                        var codeWidget = (ew.keyCode ? ew.keyCode : ew.which);
                        if (codeWidget == 27) widget.fadeOut('fast');        
                        ew.stopPropagation();
                        return true;
                    });
                }
            }
        }
        

    });
     

    BindButtons();


        
    $("#srd-artifact-share").dialog({ 
        bgiframe: true,
	    autoOpen: false,
		modal: true,
		width:650, height:600,
        overlay: { 
            opacity: 0.5,
            background: "black" 
        }
            //thickboxOpen('Share',  $(this).attr('href'), 730, 440);
           
        });    


        Bookmarks_Adder_BindActions();
        Artifact_DialogShare_BindActions();
        
        BindSearch();
        

        $('.tag_box').blur(function() {
            var jthis = $(this);
            $.get('/services/tags_addtag.ashx?t=' + $(this).val() + '&a=' + $(this).attr('artifactid'), function() {
                jthis.val('');
                var parent = jthis.parent('.bookmark-listing');
                
                $.get('/services/disp_tags.ashx?b=' + jthis.attr('artifactid'), function( html) {
                    jthis.parent().find('div.tags').html(html);              
                });
            });
        });
    
    $("#srd-bookmark-remove").dialog({ 
	    bgiframe: true,
	    autoOpen: false,
		resizable: false,
        modal: true,  
        height:190,
        overlay: { 
            opacity: 0.5,
            background: "black" 
        },
	    buttons: {
				    'Yes, delete bookmark': function() {
					    $(this).dialog('close');
					    $.get('/services/bookmark_remove.ashx?id=' + activeBookmarkId, function() {
					        GetBookmarkListings(1);
					        
					    });
					    
					    //alert('remove');
				    },
				    'No': function() {
					    $(this).dialog('close');
				    }
			    }
    });

});

   
   




    
    function BindSearch() {
       $('.srs-bookmarks .sra-next').click(function() {
            curPage++;
            GetBookmarkListings(curPage);
            return false;
        });
        $('.srs-bookmarks .sra-previous').click(function() {
            curPage--;
            GetBookmarkListings(curPage);
            return false;
        });        
        //BindPreview();
    }






        function BindTypeAhead() {
            BindTypeAhead_HoverFinder();
            BindTypeAhead_Header();
        }
        
	    function BindTypeAhead_HoverFinder() {
	    //alert('test');
	    	$('#srw-hoverfinder .srf-text').autocomplete('/services/searchProxy.ashx?searchType=' +  'me', {
	    		        matchContains: true,
	    		        minChars: 3, max: 25,
	    		        width: 410,
	                    formatItem: function(item) {
	                        var row = eval('(' + item.toString() + ')' );
	                        return '<div><img style="float:left" src="/services/getthumbnail.ashx?size=T&id=' + row.id + '" /><span style="float:right">' + row.text + ' - <br />' + row.site + '</span></div>';// + row.highlight;
	                    },
	                    formatMatch: function(row, i, max) {
	    			        //alert(row);
	    			        return 'test';
	    		        },
	    		        formatResult: function(row) {
	    		            return eval('(' + row.toString()+ ')' ).text;
	    		        }
	    	        }).result(function(event, item) {
	                    var row = eval('(' + item.toString() + ')' );
	                    location.href = 'http://' + row.url;
            	});
	    }
  
        
        //$('#srw-hoverfinder')
	    
	    function BindTypeAhead_Header() {
	    	$('#srf-search-header .srf-text').autocomplete('/services/searchProxy.ashx?searchType=' + $('#srf-search-header .srf-scope').val(), {
	    		        matchContains: true,
	    		        minChars: 3, max: 25,
	    		        width: 410,
	                    formatItem: function(item) {
	                        var row = eval('(' + item.toString() + ')' );
	                        return '<div><img style="float:left" src="/services/getthumbnail.ashx?size=T&id=' + row.id + '" /><span style="float:right">' + row.text + ' - <br />' + row.site + '</span></div>';// + row.highlight;
	                    },
	                    formatMatch: function(row, i, max) {
	    			        //alert(row);
	    			        return 'test';
	    		        },
	    		        formatResult: function(row) {
	    		            return eval('(' + row.toString()+ ')' ).text;
	    		        }
	    	        }).result(function(event, item) {
	                    var row = eval('(' + item.toString() + ')' );
	                    location.href = 'http://' + row.url;
            	});
	    }

