/* 
*jQuery jPrompt Plugin v2.0.1
* Requires jQuery 1.2.6+
*
* Copyright (c) 2009 Muslum TORUN (MtDesign)
* Homepage: http//ww.muslumtorun.com
* Contact developer email : info@muslumtorun.com or by_muslum@hotmail.com
* Licensed under GPL (GPL-LICENSE.txt) license.
*
* Created: 2009-11-23
* Updated: 2010-04-06
*
* for example:
	before add initJPrompt tag;
	$(document).ready(function(){
		initJPrompt();
	}
	################################################################
	1) var modal = jPrompt($("#object"), "title"); or
	2) var modal = jPrompt($("#object"), "title", {width: 300}); or 
	3) $("#object").jPrompt("title"); or
	4) $("#object").jPrompt("title", {width: 300}); or
	################################################################
*/

var _jpWinCount = 0;
function initJPrompt() {
	var jpWin = $("#jp_win");
	var jpWinBuffer = $("#jp_winBuffer");
	var jpWinMask = $("#jp_winMask");
	/* v.2.0.0 */
	window.jPrompt = function(jpObject, jpTitle, properties) {
		/*win content and win title: settings
		variables: jpContentTitle, jpContent*/
		var jpContentTitle = jpTitle == "" ? "Untitle"+(_jpWinCount+1) : jpTitle;
		var jpContentBuffer = "N/A", jpContent = "", isJpObject = false;
		if ((typeof jpObject) == "string") {
			jpContentBuffer = jpObject;
			jpContentBuffer = jpContentBuffer.replace(/\n/g, "<br />");
			jpContent = jpContentBuffer; }
		else if ((typeof jpObject) == "object") {
			isJpObject = true;
			jpContentBuffer = jpObject.html();
			jpObject.empty();
			jpContent = jpContentBuffer;
		}
		
		/*new ID for new window
		variables: jpReplacedID*/
		var jpNewID = "box"+(_jpWinCount+1);
		var jpReplacedID = "jp_replacement_"+jpNewID+"_box";
		var jpWinHtml = jpWin.html();
		jpWinHtml = jpWinHtml.replace(/jp_replacement/g, jpReplacedID);
		jpWinBuffer.append(jpWinHtml);
	
		/*created box setting*/
		var jpStrCreatedBox = "#"+jpReplacedID;
		var jpCreatedBox = $(jpStrCreatedBox);
		var jpCreatedBox_title =  $(jpStrCreatedBox+"_title");
		var jpCreatedBox_content = $(jpStrCreatedBox+"_content");
	
		jpCreatedBox_title.text(jpContentTitle);
		jpCreatedBox_content.html(jpContent);
	
		/*if not null is propersies*/
		if (properties != null && properties != "") {
			properties = $.extend({width:null}, properties);
			/*set win width*/
			if (properties.width != null && properties.width != "")
			jpCreatedBox.children("table").attr("width", properties.width);		
		}
		
		/*win x,y positions*/
		var $window = $(window), $document = $(document);
		var jpNewPosX = 0, jpNewPosY = 0;
		jpNewPosX = ($window.width()-jpCreatedBox.width())/2;
		jpNewPosY = ($window.height()-jpCreatedBox.height())/2;
		
		if (jpCreatedBox.height() > $window.height())
		jpNewPosY = 0;
		jpCreatedBox.css("left", jpNewPosX);
		jpCreatedBox.css("top", jpNewPosY);

		/*z position*/
		jpWinMask.width($window.width());
		jpWinMask.height($document.height());
		jpCreatedBox.css("top", $document.scrollTop() + jpNewPosY);

		if (_jpWinCount <= 0)
		jpWinMask.css("display", "block");

		/*Win Dragg: Referances--> jquery.easydrag*/
		jpCreatedBox.easydrag(true);
		
		/*////////////// FUNCTIONS /////////////////*/
		jPrompt.Close = function() {
			_jpWinCount--;
			if (isJpObject)
			jpObject.html(jpContentBuffer);		

			if (_jpWinCount <= 0) {
			jpCreatedBox.remove();
			jpWinMask.css("display", "none"); }
		}

		_jpWinCount++;
		return jpCreatedBox;
	};
	
	/* v.2.0.1 */
	$.fn.jPrompt = function(jptitle, properties) {
		var $this = $(this);
		return window.jPrompt($this, jptitle, properties)
	};
}