var timerScroll;
var old_scroll=0;

function showLoad(){
	//$j("#load_indicator").style("display","fixed");
	$j("#load_indicator").show();
}

function hideLoad(){
	$j("#load_indicator").hide();
}

function scrollAuto()
{
//  if (typeof document.body.style.maxHeight === "undefined") {
  	window.scrollBy(0,-50);
//  }
  if(document.documentElement.scrollTop>0){
  	timerScroll = setTimeout('scrollAuto()',1);
  }
}

var critical_class = 'critical1';
	        
function setCriticalLevel(level){
	critical_class = 'critical'+level;
	$j("#feedback_message_content").attr('class',critical_class);
}

function displayMessage(message, message_container){
	if( (message_container == '') || (message_container == undefined))
	{
		$j("#feedback_message_content").html(message);
		$j("#feedback_message").fadeIn("fast");
		
//		if (typeof document.body.style.maxHeight === "undefined") {
			//window.document.getElementById("hiding_message").style.display='block';
			//old_scroll=document.body.scrollTop;
			scrollAuto();
//		}
	}
}

function hideMessage(){
	$j("#feedback_message").hide();
	$j("#feedback_message").fadeOut("slow");
}


var IE6 = false;

var strChUserAgent = navigator.userAgent;
var intSplitStart = strChUserAgent.indexOf("(",0);
var intSplitEnd = strChUserAgent.indexOf(")",0);
var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);

if(strChMid.indexOf("MSIE 6") != -1) IE6 = true;

	
var dftTools = {};

/**
* DFT POPUP
* 
* Popup personnalisée, s'affiche en premier plan
*
*
*/
var _current_popup;

var dftTools = {};

dftTools.popups = new Array();  

dftTools.popup = function(){
	var valid_btn_text ='' ;
	var cancel_btn_text = '';
	
	var valid_url_dest = '';
	var cancel_url_dest = '';
	
	var valid_js = '';
	var cancel_js = '';
	
	var html_content = '';
	var content_dest_element = '';
	var content_url = '';
	var width = '350';
	var height = 'auto';
	
	_current_popup = this;
}

dftTools.popup.prototype =
{
	setValidBtn: function(text,url,js) {
		this.valid_btn_text = text;
		this.valid_url_dest = url;
		this.valid_js = js;
	}
	,
	setCancelBtn:function(text,url,js){
		this.cancel_btn_text = text;
		this.cancel_url_dest = url;
		this.cancel_js = js;
	}
	,
	setContent:function(src,dest_id,url)
	{
		this.html_content = src;
		this.content_dest_element = dest_id;
		this.content_url = url;
		if($j("#content_dest_to_return")!=undefined){
			$j("#content_dest_to_return").remove();
		}
	}
	,
	
	setWidth:function(width)
	{
		if(width>0){
			this.width = width;
		}
	}
	,
	
	setHeight:function(height)
	{
		if((height!='auto')&&(height>0)){
			this.height = height;
		}
	}
	,
	
	display:function(){		
		if($j("#message_background").css("display") != "none"){
			return;
		};
		if (typeof document.body.style.maxHeight === "undefined") {
			window.document.getElementById("hiding_message").style.display='block';
		}
			old_scroll=document.body.scrollTop;
			scrollAuto();
		
		$j("#popup_content").empty();
		$j("#btn_cancel_pop").empty();
		$j("#btn_valid_pop").empty();
		
		if( (this.content_dest_element != '') && (this.content_dest_element != undefined) ){
			$j("#popup_content").html($j("#"+this.content_dest_element).html());
			$j("#"+this.content_dest_element).html(' ');
			$j("#popup_content").append('<input type="hidden" id="content_dest_to_return" value="'+this.content_dest_element+'"/>');
			$j("#popup_content").show();
		}
		else if(this.content_url != '')
		{
			showLoad();
			$j("#popup_content").load(this.content_url,'',function(){_current_popup.definePositions();hideLoad();});
		}
		else
		{
			$j("#popup_content").append(this.html_content);
		}

		if( (this.cancel_btn_text != '') && (this.cancel_btn_text != undefined) ){
			$j("#btn_cancel_pop").append(this.cancel_btn_text);
			$j("#btn_cancel_pop").show();
		} else {
			$j("#btn_cancel_pop").hide();
		}

		if( (this.valid_btn_text != '') && (this.valid_btn_text != undefined) ){
			$j("#btn_valid_pop").append(this.valid_btn_text);
			$j("#btn_valid_pop").show();
		} else {
			$j("#btn_valid_pop").hide();
		}
		this.definePositions();
		$j("select").hide();
		$j("input[@type=text]").hide();
		$j("#message_background").show();
		$j("#cadre_message").fadeIn("slow");
		if((this.valid_js != '')&&(this.valid_js != 'undefined')&&(this.valid_js != undefined))
		{
			window.document.getElementById("btn_valid_pop").onclick = eval(this.valid_js);
		}
		if((this.cancel_js != '')&&(this.cancel_js != 'undefined')&&(this.cancel_js != undefined)) {
			window.document.getElementById("btn_cancel_pop").onclick = eval(this.cancel_js);
		} else {
			window.document.getElementById("btn_cancel_pop").onclick = eval('this.hide');
		}
		
	}
	,
	
	definePositions:function(){
		if( (this.width != '') && (this.width > 0) ){
			$j("#cadre_message").css('width',this.width+'px');
		}
		if( (this.height != '') && (this.height > 0) ){
			$j("#cadre_message").css('height',this.height+'px');
		}
		var pagesize = getPageSize();
		var x = pagesize[0] - 70;
        var y = pagesize[1] - 55;

		var real_height = $j("#cadre_message").height();
		var real_width = $j("#cadre_message").width();
//		var margin_left = parseInt(((y-real_width)/2));
		var margin_left = parseInt(((x-real_width)/2));

		if(IE6){
			margin_left = parseInt(((x-real_width)/2) -(x/2));
		}
		$j("#cadre_message").css('marginLeft', margin_left + 'px');
		//$j("#cadre_message").css('margin', 'auto');
		$j("#cadre_message").css('margin-top', parseInt(((y-real_height)/2)) + 'px');
	}
	,
	hide:function(){
		hidePopup();
	}
}

function getPageSize(){
    var de = document.documentElement;
    var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
    var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
    arrayPageSize = [w,h];
    return arrayPageSize;
}

function hidePopup(){
   if (typeof document.body.style.maxHeight === "undefined") {
       window.document.getElementById("hiding_message").style.display='none';
       document.body.scrollTop = old_scroll+50;
   }
	$j("#message_background").fadeOut("fast");
	$j("#cadre_message").fadeOut("normal",function(){$j("#popup_content").html(" ");});
	if($j("#content_dest_to_return")!=undefined){
		$j("#"+$j("#content_dest_to_return").val()).html($j("#popup_content").html());
	}
   
   $j("select").show();
   $j("input[@type=text]").show();
}
