$.fn.mt_window2 = function()
{
		var defaults = {
			closeWindowHandler: null
    	};
    	 
    	var options = $.extend(defaults, options);
		var _this = this;
  		$('body').append('<div class="mt_window2_bg"></div>');
  		$('body').append('<div class="mt_window2_container"></div>');
  		$('.mt_window2_container').append('<div class="mt_window2_wrapper">' +
  													'<div class="mt_window2_body">' +
  														'<div class="mt_window2_header">' +
  															'<div class="mt_window2_header_corner_left"></div>' +
  															'<div class="mt_window2_header_center">'+
  																'<div class="mt_window2_header_spinner"></div>'+
  																'<div class="mt_window2_header_title"></div>'+
  																'<div class="mt_window2_header_close mt_window2_close"></div>'+
  															'</div>' +
   															'<div class="mt_window2_header_corner_right"></div>' +
  														'</div>' +
  														'<div class="mt_window2_content"></div>' +
  														'<div class="mt_window2_bottom_bar">' +
  															'<div class="bottom_margin"></div>' +
  															'<div class="left_corner"></div>' +
  															'<div class="center"></div>' +
  															'<div class="right_corner"></div>'+
  														'</div>' +
  													'</div>' +
  											'</div>');
  		
  		var closeButton = $('.mt_window2_close');
  		var background = $('.mt_window2_bg');
  		var windowContainer = $('.mt_window2_container');
  		var appendedContent = false;
  		var appendedElement = '';
  		var appendedElementParent = '';
  		var windowWrapper = $('.mt_window2_wrapper');
  		var promptOkFunction = null;
  		var promptCancelFunction = null;
  		
  		 $(".mt_window2_header_spinner").bind("ajaxSend", function() {
  	        $(this).show();
  	    }).bind("ajaxStop", function() {
  	        $(this).hide();
  	    }).bind("ajaxError", function() {
  	        $(this).hide();
  	    });
  		 
  		 
  		$('#prompt_ok').live('click', function(){promptOkFunction(); $.fn.mt_window2.closeWindow();}); 
  		$('#prompt_cancel').live('click', function(){promptCancelFunction(); $.fn.mt_window2.closeWindow();}); 
  		
  		 
  		closeButton.click(function(){
			background.hide();
			windowContainer.hide();
  		});
  		
    	$('.mt_window2_header').mousedown(function(){
    			$(this).css({cursor : 'move'});
    	}).mouseup(function(){
    			$(this).css({cursor : 'default'});
    	});
  	  
  	  $.fn.mt_window2.closeWindow = function(){
  		  $.fn.mt_window2.setContent('');
  		  closeButton.click();
  		  return _this;
	  };
	  $.fn.mt_window2.showWindow = function(){
  		  background.show();
  		  windowContainer.show();
  		  windowWrapper.offset({ top: 70 });
  		  $(window).scrollTop(0); 
  		  initBackground();
  		  return _this;
	  };
	  
	  $.fn.mt_window2.setContent = function(content){
		  reverseContent();
		  $('.mt_window2_content').html(content);
		  appendedContent = false;
		  return _this; 
	  };
	  
	  $.fn.mt_window2.setTitle = function(title){
		  $('.mt_window2_title').text(title);
		  return _this; 
	  };
	  
	  $.fn.mt_window2.setWidth = function(width){
		  $('.mt_window2_body').width(width);
		  $('.mt_window2_wrapper').width(width);
		  if($('.mt_window2_content').css('border-left-width') || $('.mt_window2_content').css('border-right-width')){
			 lwidth =  parseInt($('.mt_window2_content').css('border-left-width'));
			 rwidth = parseInt($('.mt_window2_content').css('border-right-width'));
			 $('.mt_window2_content').width(width - (lwidth + rwidth));
		  } else {
			  $('.mt_window2_content').width(width);
		  }
		  
		  $('.mt_window2_header_center').width(width-(
				  									 parseInt($('.mt_window2_header_corner_left').width())+ 
				  									 parseInt($('.mt_window2_header_corner_right').width())
				  									 ));
		  $('.mt_window2_header_title').width(width-50);
		  $('.mt_window2_bottom_bar .center').width(width-22);
		 
		  return _this; 
	  };
	  
	  $.fn.mt_window2.appendContent = function(idAppendedElement){
		  reverseContent();
		  appendedElement = $('#' + idAppendedElement);
		  appendedElementParent = appendedElement.parent();
		  appendedElement.appendTo('.mt_window2_content');
		  appendedContent = true;
		  return _this;
	  };
	  $.fn.mt_window2.setAppendedContent = function(value){
		  appendedContent = value;  
	  };

	  $.fn.mt_window2.alert = function(alertMessage, successFunction){
		  	var alertHtml = '<div style="margin:5px 10px; text-align:left;"><p><strong>Warning</strong></p><p>' + alertMessage+ '</p></div>'+
		  						'<div style="margin:20px 10px 10px 10px; float:right; width:80px;" >' +
		  						'<div class="mt_button">'+
	  								'<div class="mt_button_small_left mt_button_small_silver_light_left"></div>'+
	  								'<div class="mt_button_small_center mt_button_small_silver_light_center">'+
	  									'<button onclick="$.fn.mt_window2.closeWindow()" type="button">Ok</button>'+
	  								'</div>'+
	  								'<div class="mt_button_small_right mt_button_small_silver_light_right"></div>'+
	  							'</div>' +
		  							
		  					'</div>';
			$.fn.mt_window2.setContent(alertHtml);
			$.fn.mt_window2.showWindow();
	  };
	  
	  $.fn.mt_window2.prompt = function(promptMessage, success, cancel){
		  if(cancel != null){
			  promptCancelFunction = cancel;  
		  } else {
			  promptCancelFunction = $.fn.mt_window2.closeWindow;
		  }
		  
		  if(success != null){
			  promptOkFunction = success;  
		  } else {
			  promptOkFunction = $.fn.mt_window2.closeWindow;
		  }
		  
		  var promptButtons = '<div style="margin:5px 10px; text-align:left;"><p><strong>Warning</strong></p><p>' + promptMessage + '</p></div>'+
									'<div style="margin:20px 10px 10px 10px; float:right; width:165px;" >' +
										'<div class="mt_button" style="margin:0 10px; float:left;">'+
											'<div class="mt_button_small_left mt_button_small_silver_light_left"></div>'+
											'<div class="mt_button_small_center mt_button_small_silver_light_center">'+
												'<button id="prompt_ok" type="button">Ok</button>'+
											'</div>'+
											'<div class="mt_button_small_right mt_button_small_silver_light_right"></div>'+
										'</div>' +
										'<div class="mt_button" style="margin:0 10px; float:left;">'+
											'<div class="mt_button_small_left mt_button_small_silver_light_left"></div>'+
											'<div class="mt_button_small_center mt_button_small_silver_light_center">'+
												'<button id="prompt_cancel" type="button">Cancel</button>'+
											'</div>'+
											'<div class="mt_button_small_right mt_button_small_silver_light_right"></div>'+
										'</div>' +
									'</div>';
		  	$.fn.mt_window2.setContent(promptButtons);
			$.fn.mt_window2.showWindow();
	  };
	  
	  $(window).resize(function(){
		  initBackground();
	  });
	  
	
	  var initBackground = function(){
		  background.width($(document).width())
		  			.height($(document).height())
		  			.css({'opacity' : 0.4});
	  };
	  var reverseContent = function(){
		  if (appendedContent){
			 var a = $('.mt_window2_content').children().hide();
			 var b = appendedElementParent;
			 a.appendTo(b);
		  } else {
			  $('.mt_window2_content').html(null);
		  }
		  appendedContent = false;
		  
	  };
	  $('.mt_window2_wrapper').draggable({ handle : '.mt_window2_header', containment: background, drag : initBackground});
	  initBackground();
	  


  return _this;
};
