//if (!window.TW_Modal)
//	var TW_Modal = new Object();

/**
 *
 * @access public
 * @return void
 **/
function CheckIfIsHide(id)
{
	if(isset('#'+id))
	{
		if($('#'+id).css('display') == 'none')
		{
			$('#'+id).css('display', 'block');
		}
	}
}

TW_Modal = {
	options: { // parametres de base de la modale.
		parent:"body",
		js:"head",
		title: "TW_Modal Window", // Title of the ModalTW window
		id: "TW_Modal_window",
		content:null,
		header_content:null,
		footer_content:null,
		overlayClose: false, // Close modalTW by clicking on overlay [true or false],
		opacity:0.5,
		width: 650, // Default width in px
		height: 450, // Default height in px
		params: {},
		//overlay:{opacity:0.5, height:100, width:100, background:"002737"},
		method: 'get', // Default Ajax request method
		autoFocusing: true, // Toggles auto-focusing for form elements. Disable for long text pages.
		aspnet: false // Should be use then using with ASP.NET costrols. Then true Modalbox window will be injected into the first form element.
	},
	headerheight:function()
	{
		var header_height = 50;
		return(header_height);
	},
	contentheight:function(total_height, header_height, footer_height)
	{
		var content_height=(total_height-(header_height + footer_height));
		return(content_height);
	},
	footerheight:function()
	{
		var footer_height= 30;
		return(footer_height);
	},
	open_onverlay:function()
	{
		var overlay = TW_Modal.create_overlay();
		var temp = 1000;

		if($.browser.msie)
		{
			$(this.options.parent).append(overlay);
			$("#TW_Modal_overlay").slideDown(temp);
		}
		else
		{
			$(this.options.parent).append(overlay);
			$("#TW_Modal_overlay").fadeTo(temp, 0.5);

		}
	},
	open:function()
	{
		var modal = TW_Modal.create();
		var temp = 1000;

		if($.browser.msie)
		{
			$(this.options.parent).append(modal);

			/*$("#TW_Modal_overlay").slideDown(temp);*/
			$("#TW_Modal_window").slideDown(temp);
			$(".TW_Modal_close").click(function(){TW_Modal.close();});

			/*if(this.options.overlayClose)
				$("#TW_Modal_overlay").click(function(){TW_Modal.close();});*/
		}
		else
		{
			$(this.options.parent).append(modal);

			/*$("#TW_Modal_overlay").fadeTo(temp, 0.5);*/
			$("#TW_Modal_window").fadeIn(temp);
			$(".TW_Modal_close").click(function(){TW_Modal.close();});

			/*if(this.options.overlayClose)
				$("#TW_Modal_overlay").click(function(){TW_Modal.close();});*/
		}
	},
	open_light:function()
	{
		var modal = TW_Modal.create_light();
		var temp = 1000;

		if($.browser.msie)
		{
			$(this.options.parent).append(modal);

			$("#TW_Modal_overlay").slideDown(temp);
			$("#TW_Modal_window_light").slideDown(temp);
			$(".TW_Modal_close_light").click(function(){TW_Modal.close_light();});

			if(this.options.overlayClose)
				$("#TW_Modal_overlay").click(function(){TW_Modal.close();});
		}
		else
		{
			$(this.options.parent).append(modal);

			$("#TW_Modal_overlay").fadeTo(temp, 0.5);
			$("#TW_Modal_window_light").fadeIn(temp);
			$(".TW_Modal_close_light").click(function(){TW_Modal.close_light();});

						if(this.options.overlayClose)
				$("#TW_Modal_overlay").click(function(){TW_Modal.close();});
		}
	},
	create_overlay:function()
	{
		var overlay = "<div id=\"TW_Modal_overlay\"></div>";
	},
	create:function()
	{
		/*TW_Modal.create(TW_Modal.options);*/
		TWM_ww = this.options.width;
		TWM_wh = this.options.height;
		TWM_h = TW_Modal.headerheight();
		TWM_f = TW_Modal.footerheight();
		TWM_c = TW_Modal.contentheight(TWM_wh, TWM_h, TWM_f);



		var modal = "";
		modal += "<div id=\"TW_Modal_window\" style=\"width:" + TWM_ww + "px; height:" + TWM_wh + "px; margin-top:-" + (TWM_wh / 2) + "px; margin-left:-" + (TWM_ww / 2) + "px; z-index:1000;\">";
			modal += "<div id=\"TW_Modal_header\" style=\"height:" + TWM_h + "px;\">" + this.options.header_content +"<a class=\"TW_Modal_close\"></a></div>";
			modal += "<div id=\"TW_Modal_content\" style=\"height:" + TWM_c + "px;\">" + this.options.content + "</div>";
			modal += "<div id=\"TW_Modal_footer\" style=\"height:" + TWM_f + "px;\">" + this.options.footer_content +"</div>";
		modal += "</div>";

		return(modal);
	},
	create_light:function()
	{
		/*TW_Modal.create(TW_Modal.options);*/
		TWM_ww = this.options.width;
		TWM_wh = this.options.height;
		TWM_id = this.options.id;
		TWM_h = TW_Modal.headerheight();
		TWM_f = TW_Modal.footerheight();
		TWM_c = TW_Modal.contentheight(TWM_wh, TWM_h, TWM_f);



		var modal = "";
		modal = "<div id=\"TW_Modal_overlay\" style=\"z-index:50;\"></div>";
		modal += "<div id=\""+ TWM_id +"_light\" style=\"width:" + TWM_ww + "px; height:" + TWM_wh + "px; margin-top:-" + (TWM_wh / 2) + "px; margin-left:-" + (TWM_ww / 2) + "px; z-index:100;\">";
			modal += "<div id=\"TW_Modal_header\" style=\"height:" + TWM_h + "px;\">" + this.options.header_content +"<a class=\"TW_Modal_close_light\"></a></div>";
			modal += "<div id=\"TW_Modal_content\" style=\"height:" + TWM_c + "px;\">" + this.options.content + "</div>";
			modal += "<div id=\"TW_Modal_footer\" style=\"height:" + TWM_f + "px;\">" + this.options.footer_content +"</div>";
		modal += "</div>";

		return(modal);
	},
	close:function()
	{
		var timing = 1000;

		if($.browser.msie)
		{
			CheckIfIsHide('TW_Modal_window_light');
			TW_Modal.remove();
		}
		else
		{
			CheckIfIsHide('TW_Modal_window_light');
			$("#TW_Modal_window").fadeOut(timing);
			/*$("#TW_Modal_overlay").fadeTo(timing, 0);*/
			setTimeout(TW_Modal.remove, timing);
		}
	},
	close_light:function()
	{
		var timing = 1000;

		if($.browser.msie)
		{
			TW_Modal.remove_light();
		}
		else
		{
			$("#TW_Modal_window_light").fadeOut(timing);
			$("#TW_Modal_overlay").fadeTo(timing, 0);
			setTimeout(TW_Modal.remove_light, timing);
		}
	},
	remove:function()
	{
		$("#TW_Modal_window").remove();

		/*$("#add_css").remove();*/
	},
	remove_light:function()
	{
		$("#TW_Modal_window_light").remove();
		$("#TW_Modal_overlay").remove();
		$("#add_css").remove();
	},
	addCSS:function(file)
	{
		$(this.options.js).append("<div id='add_css'><link rel='stylesheet' type='text/css' href="+ file +" media='screen' /></div>");
	},
	removeCSS:function()
	{
		$("#add_css").remove();
	}
};


function getPageSize(){
	var docelem = document.documentElement;
	var width = window.innerWidth || self.innerWidth || (docelem&&docelem.clientWidth) || document.body.clientWidth;
	var height = window.innerHeight || self.innerHeight || (docelem&&docelem.clientHeight) || document.body.clientHeight;
	arrayPageSize = [width,height];
	return arrayPageSize;
}

function	Tw_XMLHTTP_POST(url, data)
{

	var request = null; // on déclare l'instance
	if (window.XMLHttpRequest)
		request = new XMLHttpRequest(); // Firefox, Opera, Konqueror, Safari, ...
	else if (window.ActiveXObject)
		request = new ActiveXObject.Microsoft("XMLHTTP"); // Internet Explorer
	else
		return (false);

	request.open("POST", url, false);
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.send(data);

	if (request.readyState == 4 && request.status == 200)
	{
		return(request.responseText);
	}
	else
	{
		return(false);
	}
}


var Close_TW_Modal = function()
{
	TW_Modal.close();

};

var Simple_Close = function()
{
	TW_Modal.close();
};

var Close_TW_Modal_Light = function()
{
	TW_Modal.close_light();
};

var Open_TW_Modal_light = function(source, height, new_id)
{
	TW_Modal.options.height = height;
	TW_Modal.options.id = new_id;
	TW_Modal.options.header_content = "<div id=\"TWM_header_left\"></div><div id=\"TWM_header_center\"></div><div id=\"TWM_header_right\"></div>";
	TW_Modal.options.footer_content = "<div id=\"TWM_footer_left\"></div><div id=\"TWM_footer_center\"></div><div id=\"TWM_footer_right\"></div>";
	TW_Modal.options.content = "<iframe width='100%' height='100%' frameborder='0' scrolling='no' allowtransparency='true' src='" + source + "'></iframe>";
	TW_Modal.open();
};

var Open_TW_Modal = function(source, height)
{
	TW_Modal.options.height = height;
	TW_Modal.options.header_content = "<div id=\"TWM_header_left\"></div><div id=\"TWM_header_center\"></div><div id=\"TWM_header_right\"></div>";
	TW_Modal.options.footer_content = "<div id=\"TWM_footer_left\"></div><div id=\"TWM_footer_center\"></div><div id=\"TWM_footer_right\"></div>";
	TW_Modal.options.content = "<iframe width='100%' height='100%' frameborder='0' scrolling='no' allowtransparency='true' src='" + source + "'></iframe>";
	TW_Modal.open();
};

var Open_File_TW_Modal_Light = function(file, height)
{

	/*ouverture du fichier en ajax*/

	var url = "./include/AJAX/ajax_modal_fct.php";
	var data = "get_div_from_file="+file;

	var recup_div = Tw_XMLHTTP_POST(url, data);

	if (recup_div == 0)
	{
		return (false);
	}
	else
	{
		TW_Modal.addCSS("./Css/TW_Modal.css");
		TW_Modal.options.height = height;
		TW_Modal.options.header_content = "<div id=\"TWM_header_left\"></div><div id=\"TWM_header_center\"></div><div id=\"TWM_header_right\"></div>";
		TW_Modal.options.footer_content = "<div id=\"TWM_footer_left\"></div><div id=\"TWM_footer_center\"></div><div id=\"TWM_footer_right\"></div>";
		TW_Modal.options.content = "<div>"+ recup_div +"</div>";
		TW_Modal.open_light();
	}
};

var Open_File_TW_Modal = function(file, height)
{

	/*ouverture du fichier en ajax*/

	var url = "./include/AJAX/ajax_modal_fct.php";
	var data = "get_div_from_file="+file;

	var recup_div = Tw_XMLHTTP_POST(url, data);

	if (recup_div == 0)
	{
		return (false);
	}
	else
	{
		TW_Modal.options.height = height;
		TW_Modal.options.header_content = "<div id=\"TWM_header_left\"></div><div id=\"TWM_header_center\"></div><div id=\"TWM_header_right\"></div>";
		TW_Modal.options.footer_content = "<div id=\"TWM_footer_left\"></div><div id=\"TWM_footer_center\"></div><div id=\"TWM_footer_right\"></div>";
		TW_Modal.options.content = "<div>"+ recup_div +"</div>";
		TW_Modal.open();
	}
};
