var setShadow = function(){
	var obj = jQuery('#dialog').parent();
	var width = obj.outerWidth();
	var height = obj.outerHeight();
	jQuery('div.ui-widget-shadow').css({height:height});
};
var getPosition = function(obj){
	var width = obj.outerWidth();
	var height = obj.outerHeight();
	var offset = obj.offset();
	var scrollheight = jQuery(document).scrollTop();
	
	return Array(offset.left, offset.top+height-scrollheight);
};
jQuery(function($){
	//left navbar event
	$('a.navbar').click(function(){
		var obj = $('#control-body');
		var fold = obj.hasClass('fold')?true:false;
		
		obj.removeClass().addClass(fold?'unfold':'fold');
		if(fold)
			_cookie.del('mmj-user-nav-fold');
		else
			_cookie.add('mmj-user-nav-fold', 'fold');
			
		return false;
	});
	//left dropmenu event
	$('a[dropmenu]').click(function(){
		var self = $(this);
		var menu = self.attr('dropmenu');
		
		$('ul.dropmenu_'+menu).slideToggle(function(){
			var hide = $(this).css('display')=='none'?true:false;
			_cookie.add('mmj-user-dropmenu-'+menu, hide?'none':'block');
		});
		return false;
	});
	$('#dialog').dialog({
		autoOpen:false,
		draggable:false,
		resizable:false,
		modal: true,
		minHeight:30,
		width:300
	});
	$('#tips').dialog({
		autoOpen:false,
		draggable:true,
		resizable:false,
		modal: true,
		minHeight:80,
		width:200,
		title:'Tips Info'
	});
	
	//ajax popwin
	$('a[ajax="true"]').live('click', function(){
		var self = $(this);
		var action = self.attr('href');
		var model = self.attr('model');
		var position = self.attr('position');
		position = position?position:getPosition(self);
		var title = self.attr('title');
		title = title?title:'Pop Window';
		var width = self.attr('width');
		width = width?width:300;
		var height = self.attr('height');
		height = height?height:'auto';
		var showbtn = self.attr('showbtn')=='true'?true:false;
		
		if(model=='confirm'){
			$('#dialog').dialog('close').html('<p class="pad_bth_10">Are you sure to do this?</p>').dialog('option', {title:title, position:position, width:width, buttons:{'Yes':function(){
				$.post(action, function(json){
					if(json.ok){
						if(json.url)
							window.location.href = json.url;
						else if(json.refresh)
							window.location.reload();
						else
							$('#dialog').dialog('close');
					}else{
						$('#dialog').dialog('close');
					}
				}, 'json');
			}, 'No':function(){
				$(this).dialog('close');
			}}}).dialog('open');
		}else{
			$('#dialog').dialog('close').html('loading...').dialog('option', {title:title, position:position, width:width}).dialog('open');
			$.get(action, function(html){
				$('#dialog').html(html).dialog('option', { maxHeight:height, position:position});
				if(showbtn){
					$('#dialog').dialog('option', {position:position, buttons:{'Submit':function(){
						var frm = $('#dialog').find('form:visible');
						var action = frm.attr('action');
						
						$.post(action, frm.serialize(), function(json){
							if(json.msg)
								$('#tips').html(json.msg).dialog('open');
							if(json.ok){
								$.timeout(function(){
									if(json.close){
										$('#dialog, #tips').dialog('close');
									}else if(json.url){
										window.location.href = json.url;
									}else if(json.refresh){
										window.location.reload();
									}
								}, 1000);
							}
						}, 'json');
					}, 'Cancel':function(){
						$(this).dialog('close');
					}}});
				}
				setShadow();
			},'html');
		}
		return false;
	});
	
	//quick login
	$('form.frmQukLogin').live('submit', function(){
		var self = $(this);
		var action = self.attr('action');
		var btn = self.find(':submit');
		var txt = btn.attr('value');
		self.find('p.error').remove();
		setShadow();
		
		btn.attr({value:'submitting...', disabled:'true'});
		$.post(action, self.serialize(), function(json){
			if(json.ok){
				if(json.referer)
					$.get(json.referer, function(html){
						$('#dialog').html(html);
						setShadow();
					},'html');
				else
					document.location.reload();
			}else{
				btn.attr({value:txt, disabled:false}).removeAttr('disabled').before('<p class="error pad_bth_5 fnt_FF0000 b">'+json.msg+'</p>');
				setShadow();
			}
		}, 'json');
		
		return false;
	});
	
	$('a[href="go:top"]').click(function(){
		$($.browser.safari ? 'body' : 'html').animate({scrollTop:0}, 'slow', 'linear');
		return false;
	});
});
