var globalBookmarks = 
{	
		'#bookmarkParams' : function(el) {
            
		},
        
		'#save-bookmark' : function(el) {	
			
			el.onclick = function() {
				globalBookmarks.saveBookmark();
				return false;
			}
		},
		'#bookmark-form-close' : function(el) {
			
			el.onclick = function(el) {
				$('bookmark-form').hide();
			}
		},
		'#open-bookmark-form' : function(el) {			
			el.onclick = function() {
				$('bookmark-form').show();
		                $('bookmark-name').focus();
				return false;
			}			
		},
        
		'#bookmarks-test-xml' : function(el) {
			el.onclick = function () {
				new Ajax.Updater('bookmarks-dropdown', '/data/bookmarks/getxml', {evalScripts: true});
			return false;
			}
		},
        
		'#bookmarks-dropdown' : function(el) {
			
		},
        
        '#customBookmarkName' : function(el) {
            el.onclick = function() {
                if (el.value == $('customBookmarkDefaultName').value) {
                    el.style.color = '#000';
                    el.value = '';
                }
            };
            
            el.onblur = function() {
                if (el.value == '') {
                    el.style.color = '#888';
                    el.value = $('customBookmarkDefaultName').value;
                }
            }
        },
        
        '.save-custom-bookmark' : function(el) {
            el.onclick = function() {
                var params = $F('customBookmarkParams');
                var name = $F('customBookmarkName');
                globalBookmarks.addCustomBookmark(name,params);
            }  
        },
        
		updateBookmarks : function() {
			new Ajax.Updater('bookmarks-dropdown', '/data/bookmarks/populate', {
                    onComplete: function() {
	            	    Behaviour.apply($('bookmarks-dropdown'));
	            	    globalBookmarks.showMessage('Bookmark saved');
	            	    timeoutID = window.setTimeout('globalBookmarks.closeBookmark()', 2000);
	            	 
    	            },
	                evalScripts: true			
    			}
			);
		},
		
	    addCustomBookmark : function(bookmarkName, bookmarkParams) {	
			var data = {params: bookmarkParams, name: bookmarkName }; 
			var xhr = new Ajax.Request('/data/bookmarks/save', {
                    method: 'post',
	                parameters: data,
	                onSuccess: function() {
						globalBookmarks.updateBookmarks();
						$('bookmark-report-form').hide();
			            $('bookmark-report-name').innerHTML = bookmarkName;
                        $('bookmark-report-message').show();
                     
					}			
                }
            );			
			return false;
		},
		closeBookmark : function() {
			$('bookmark-form').hide();
			$('bookmark-confirmation').hide();
			$('bookmark-form-container').show();
		},
		showMessage: function(message) {
			
			$('bookmark-form-container').hide();
     	    $('bookmark-confirmation').innerHTML = '<h1>' + message + '</h1>'; 
     	    $('bookmark-confirmation').show();
     	    return false;
		},
		saveBookmark : function() {
			
			globalBookmarks.showMessage('Please Wait. Saving bookmark');
			
			var data = {params: $('bookmark-params').value, name: $('bookmark-name').value }; 
			var xhr = new Ajax.Request('/data/bookmarks/save', {method: 'post',
	                parameters: data,
	                onSuccess: function() {
						//	menu hack - we cant make the menu to work with ajax and arrows properly
						//$$('.pointer_arrowdashboard_menu').each (function(s){s.remove(s.parent)});
						globalBookmarks.updateBookmarks();
					}
	                });
			return false;
		},
		'#bookmark-name' : function(e) {
			
			e.onkeyup = function(e) {
		        if (window.event) {
		        	e = window.event;
		        }
		        		keyCode = e.keyCode;
		        
		        if (keyCode == 13) {
		        	globalBookmarks.saveBookmark();
		        }
			}
		}
}
		
		
Behaviour.register(globalBookmarks);

