var cms = {    
   'ini': function(){
	$("#cms-login").show().click(function(e){
	     e.preventDefault();
	     $().jOverlay({url:'/cms/login/'});
	});
   },
	   
    'popup': {   
	'close' : function(){
            cms.menu.paused = false;
	    $.closeOverlay();
	}
    },
    
    'login': {
	'process': function(){
	    $('#cms-login-form').hide(1, function(){
		$('#cms-login-process').show();
		var form = $('#cms-login-form');
		var username = $('input[name=username]').val();
		var password = $('input[name=password]').val();
		$.post('/cms/login/', {'username':username, 'password':password}, function(data){
		    cms.login.done(data);
		}, "json");
	    });
	    return false;
	},
	
	'done': function(data){
	    if(data.success){
		location.reload(true);
	    }else{
		$('#cms-login-error').text(data.error).show();
		$('#cms-login-form').show();
		$('#cms-login-process').hide();
	    }
	}
    },
    'alert':function( message, klass, life ){
         if( !message ){
            message = "Unknown Error";	
         }
         var a = $('<div>').text(message).addClass(klass).hide().prependTo($('#c0alert')).slideDown(200);
         if( life > 0 ){
            setTimeout(function(){a.slideUp(200);},life);
         }
         id = Math.random()
         a.data('id', id);
         return id;
      },
   'closeAlert':function(id){
      $('#c0alert div').each(function(c,a){
         a = $(a);
         if(a.data('id')==id){
            a.slideUp(200);
         }   
      });
   },
    'message': function( message ){
       cms.alert( 'cms.message: '+message, 'message', 10000 );
    },
    
    'error': function( message ){
       cms.alert( 'cms.error: '+message, 'error', 10000 );
    }
}

$(document).ready(function(){
   cms.ini();
   $(document).ajaxError(function(XMLHttpRequest, textStatus, errorThrown){
      cms.alert( 'ajax error: '+textStatus+errorThrown, 'error', 10000 );
   });
});
