
function createWindow(contentUri,CWwidth,CWheight,alphaEffect,param1,title,isResiZable,generalColor,isAutomaticResize)
{	
	var DogeneralColor="";
	// automatiqualy verif the width
	var maxSize=windowOptimalSize(CWwidth,CWheight-18);
	
	if(CWwidth > maxSize[0])
		CWwidth=maxSize[0]*0.95;

	var windowPos=positionTheWindow(CWwidth,CWheight);
	
	if(param1 != "")
		param1="?param1="+param1;
	
	if(generalColor && generalColor != "")	
		DogeneralColor=";background-color:#"+generalColor;
		
	var content='<div class="flyw_main" id="flyw_main" style="width:'+CWwidth+'px;overflow:none'+DogeneralColor+'" align="center"><div class="flyw_ancre" id="flyw_anchor" style="cursor:move'+DogeneralColor+'"><h1 id="windowTitle">&nbsp;Title</h1><div class="flyw_close" id="flyw_closeBtn"><a href="javascript:void(0);"></a></div>';

	if(isResiZable && isResiZable == true)	
		content+='<div class="flyw_max" id="flyw_maxBtn" style="display:none"><a href="javascript:void(0);"></a></div><div class="flyw_min" id="flyw_minBtn" ><a href="javascript:void(0);"></a></div>';
	
	content+='</div><div class="flyw_border" style="'+DogeneralColor+'" ><div id="div_inner" class="flyw_inner" style="height:'+CWheight+'px; " >';
	content+='<iframe id="ifr_main" src="'+contentUri+param1+'" width="'+(CWwidth-5)+'px" height="'+(CWheight)+'px" style="border:0px;margin:0px;padding:0px"></iframe></div></div></div>';

	$("flyWindow").innerHTML=content;

	windowChangePosition(windowPos[0],windowPos[1]);
	
	var myDragInstance = new Drag($('flyWindow'),{			
		handle:$('flyw_anchor'),
		onStart: function(el){
		}
	});
	
	// Close button
	$('flyw_closeBtn').addEvent('click', function(){
		$('flyWindow').innerHTML="&nbsp;";	
		modalWindow(false);		
	});	
	
	if(isResiZable && isResiZable == true)	
	{
		// Maximize button
		$('flyw_maxBtn').addEvent('click', function(){
			var maxSize=windowOptimalSize(CWwidth,CWheight-18)
			windowChangeSize(maxSize[0],maxSize[1]);
			$('flyw_minBtn').style.display="";
			$('flyw_maxBtn').style.display="none";
		});
		
		// Minimise button
		$('flyw_minBtn').addEvent('click', function(){
			windowChangeSize(CWwidth,CWheight);
			$('flyw_minBtn').style.display="none";
			$('flyw_maxBtn').style.display="";
		});	
	}
	
	if(!title)
		title="";
	changeTitleWindow(title);
	
	/*var myFx = new Fx.Morph($('flyw_main'), {duration: 1500, transition: Fx.Transitions.Sine.easeOut}); 
			myFx.start({
				'opacity': [0, 1]
			});
	*/
	
	modalWindow(true);
	if(isResiZable && isResiZable == true)	
		if((isAutomaticResize && isAutomaticResize == true) || (!isAutomaticResize && isAutomaticResize !== false) )
		windowChangeSize(maxSize[0],maxSize[1]);
}

function getSCrollHeightFromTop()
{
	var pixelFromTop=0;
	
	if (parseInt(navigator.appVersion)>3)
	{
		 if (navigator.appName=="Netscape")
		 {
			pixelFromTop=self.pageYOffset;
		 }
		 
		 if (navigator.appName.indexOf("Microsoft")!=-1)
		 {
			pixelFromTop=document.body.scrollTop;
		 }
	}
		
	return pixelFromTop;
}

function windowOptimalSize(minW,minH)
{	
	var winW = minW, winH = minH;

	if (parseInt(navigator.appVersion)>3)
	{
		 if (navigator.appName=="Netscape")
		 {
			winW = window.innerWidth;
			winH = window.innerHeight;
		 }
		 
		 if (navigator.appName.indexOf("Microsoft")!=-1)
		 {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		 }
	}
	
	if((winW != minW && winH != minH) && (winW >= minW && winH >= minH))
	{
		winW*=0.9;
		winH*=0.9;
	}
	return ([winW,winH]);
}

function windowChangePosition(posx,posy)
{
	$("flyWindow").setStyle("left",posx);
	$("flyWindow").setStyle("top",posy);	
}

function windowChangeSize(CWwidth,CWheight)
{
	$('flyw_main').style.width=CWwidth+"px";
	$('flyw_main').style.height=CWheight+"px";
	$('ifr_main').width=(CWwidth-5)+"px";
	$('ifr_main').height=CWheight+"px";
	$('div_inner').style.height=CWheight+"px";
	
	var windowPos=positionTheWindow(CWwidth,CWheight);	
	windowChangePosition(windowPos[0],windowPos[1]);
}

function positionTheWindow(CWwidth,CWheight)
{
	var winW = 15, winH = 15;

	if (parseInt(navigator.appVersion)>3)
	{
		 if (navigator.appName=="Netscape")
		 {
			winW = window.innerWidth;
			winH = window.innerHeight;
		 }
		 
		 if (navigator.appName.indexOf("Microsoft")!=-1)
		 {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		 }
	}
		
	if(winW != 15 && winH != 15)
	{
		winW = (winW/2)-(CWwidth/2)
		winH = (winH/2)-(CWheight/2)
	}
	
	if(winW <=0 || winH<=0)
	{
		winW = 15;
		winH = 15;
	}

	return ([winW,winH+getSCrollHeightFromTop()])
}

function changeTitleWindow(title)
{
	$('windowTitle').innerHTML="&nbsp;"+title;
}

function modalWindow(statut)
{
	if(statut == true && !$('modalDiv'))
	{
		var modalDiv=document.createElement('div');
		modalDiv.setAttribute("class","modalDiv");		
		modalDiv.style.position="absolute";	
		modalDiv.style.backgroundColor="#000000";	
		modalDiv.style.filter="alpha(opacity=80)";
		modalDiv.style.opacity= "0.8";
		modalDiv.style.top=0+getSCrollHeightFromTop();	
		modalDiv.style.left=0;	
		
		modalDiv.style.width="100%";
		modalDiv.style.height="100%";
		modalDiv.id="modalDiv";
		modalDiv.innerHTML="";
		
		var body=document.getElementsByTagName("body")[0];		
		body.appendChild(modalDiv);
	}
	if(statut == false && $('modalDiv'))
	{
		var theDiv=$('modalDiv');
		theDiv.parentNode.removeChild(theDiv);
	}
}
//-------------------------------------------------------------------------------------
//-----------------------  Special function for admin full screen design mode
//-------------------------------------------------------------------------------------
function createWindow2(contentUri,CWwidth,CWheight,alphaEffect,param1,title,isResiZable,generalColor)
{	
	var DogeneralColor="";
	// automatiqualy verif the width
	var maxSize=windowOptimalSize2(CWwidth,CWheight-18);
	
	if(CWwidth > maxSize[0])
		CWwidth=maxSize[0]*0.95;

	var windowPos=[0,0];//positionTheWindow(CWwidth,CWheight);
	
	if(param1 != "")
		param1="?param1="+param1;
	
	if(generalColor && generalColor != "")	
		DogeneralColor=";background-color:#"+generalColor;
		
	var content='<div class="flyw_main" id="flyw_main" style="width:'+CWwidth+'px;overflow:none'+DogeneralColor+'" align="center"><div class="flyw_ancre" id="flyw_anchor" style="cursor:move'+DogeneralColor+'"><h1 id="windowTitle">&nbsp;Title</h1><div class="flyw_close" id="flyw_closeBtn"><a href="javascript:void(0);"></a></div>';

	if(isResiZable && isResiZable == true)	
		content+='<div class="flyw_max" id="flyw_maxBtn" style="display:none"><a href="javascript:void(0);"></a></div><div class="flyw_min" id="flyw_minBtn" ><a href="javascript:void(0);"></a></div>';
	
	content+='</div><div class="flyw_border" style="'+DogeneralColor+'" ><div id="div_inner" class="flyw_inner" style="height:'+CWheight+'px; " >';
	content+='<iframe id="ifr_main" src="'+contentUri+param1+'" width="'+(CWwidth-5)+'px" height="'+(CWheight)+'px" style="border:0px;margin:0px;padding:0px"></iframe></div></div></div>';

	$("flyWindow").innerHTML=content;

	//windowChangePosition(windowPos[0],windowPos[1]);
	$("flyWindow").setStyle("left",0);
	$("flyWindow").setStyle("top",0+getSCrollHeightFromTop());	
	
	var myDragInstance = new Drag($('flyWindow'),{			
		handle:$('flyw_anchor'),
		onStart: function(el){
		}
	});
	
	// Close button
	$('flyw_closeBtn').addEvent('click', function(){
		$('flyWindow').innerHTML="&nbsp;";	
		modalWindow(false);		
	});	
	
	if(isResiZable && isResiZable == true)	
	{
		// Maximize button
		$('flyw_maxBtn').addEvent('click', function(){
			var maxSize=windowOptimalSize2(CWwidth,CWheight-18)
			windowChangeSize2(maxSize[0],maxSize[1]);
			$('flyw_minBtn').style.display="";
			$('flyw_maxBtn').style.display="none";
		});
		
		// Minimise button
		$('flyw_minBtn').addEvent('click', function(){
			windowChangeSize2(CWwidth,CWheight);
			$('flyw_minBtn').style.display="none";
			$('flyw_maxBtn').style.display="";
		});	
	}
	
	if(!title)
		title="";
	changeTitleWindow(title);
	
	/*var myFx = new Fx.Morph($('flyw_main'), {duration: 1500, transition: Fx.Transitions.Sine.easeOut}); 
			myFx.start({
				'opacity': [0, 1]
			});
	*/
	
	modalWindow(true);
	if(isResiZable && isResiZable == true)	
		windowChangeSize2(maxSize[0],maxSize[1]);
}

function windowOptimalSize2(minW,minH)
{	
	var winW = minW, winH = minH;

	if (parseInt(navigator.appVersion)>3)
	{
		 if (navigator.appName=="Netscape")
		 {
			winW = window.innerWidth;
			winH = window.innerHeight;
		 }
		 
		 if (navigator.appName.indexOf("Microsoft")!=-1)
		 {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		 }
	}
	
	if((winW != minW && winH != minH) && (winW >= minW && winH >= minH))
	{
		winW*=1;
		winH*=0.96;
	}
	return ([winW,winH]);
}

function windowChangeSize2(CWwidth,CWheight)
{
	$('flyw_main').style.width=CWwidth+"px";
	$('flyw_main').style.height=CWheight+"px";
	$('ifr_main').width=(CWwidth-5)+"px";
	$('ifr_main').height=CWheight+"px";
	$('div_inner').style.height=CWheight+"px";
	
	var windowPos=positionTheWindow(CWwidth,CWheight);
	windowChangePosition(0,0+getSCrollHeightFromTop());
}