
/*
Библиотека функций, реализующая всплывающие окна. 

Работает с  библиотеками:
- gui.js
- dragndrop.js
- zanoves.js
*/



var boxWindow=function(head,text)
{
    //Заголовок окна
    this.Whead=head;
	//Текст окна
	this.Wtext="<div>"+text+"</div>";
	//уникальный ID окна
	this.idu=Math.round(Math.random()*1000000);
    //структура окна
    this.html="";

	//ссылка на элемент окна
	this.wElement=false;	
	
	
	//параметры по умолчанию
	
	//ширена окна
	this.width=300;
	
    //высота
	this.height=100;
	
	this.left=null;
	this.top=null;
	this.opacity=95;
	
	//Отображать занавесь (true)
    this.zanoves=false;
	
	//Цвет занавеси. В формате CSS (свойство background)
	this.zanovesColor='black';
	
	//Прозрачность  занавески от 0-100
	this.zanovesOpacity=100;
	this.scroll='on'
	
	
}
//метод выводит окна (создает если не создан)
boxWindow.prototype.showWindow=function()
{
    //если окно не было создано
	
	if(!this.wElement)
	{
	    //занавешиваем  
	    if(this.zanoves)
		{
			var z=new zanaves(this.zanovesColor,this.zanovesOpacity);
			z.idNmae="z"+this.idu;
			z.show();
		}
			
		//Создаем “контейнер ” окна
		var elem=document.createElement('div');
		elem.className="windowGui";
		getOpacity(elem,this.opacity);
		el=getObject("winbox")
		this.wElement=el.appendChild(elem);
		
		
    }
	
	//Html структура окна
	this.html="<table class=\"t1\"  border=0 cellspacing=3 cellpadding=0>";
	this.html+="<tr>";
	this.html+="<td height=14>";
	this.html+="<table border=0 cellspacing=0 cellpadding=0 height=14 style=\"width:"+this.width+"px\">";
	this.html+="<tr>";
	this.html+="<td class=\"text\" id=\"text"+this.idu+"\" onmousedown='dragStart(finClassName(this,\"windowGui\"),event)'>"+this.Whead;
	this.html+="</td>";
	this.html+="<td class=\"button\"><img src=\"images/w_rollup.gif\" width=\"16\" id=\"wrollup"+this.idu+"\"><img src=\"images/w_close.gif\" id=\"wclose"+this.idu+"\" width=\"16\"></td>";
	this.html+="</tr>";
	this.html+="	</table>";
	this.html+="</td>";
	this.html+="<tr>";
	this.html+="	<td  class=\"body\" id=\"body"+this.idu+"\" VALIGN=top style=\"width:"+this.width+"px;height:"+this.height+"px;\">"+this.Wtext;
	this.html+="	</td>";
	this.html+="</tr>";
	this.html+="</table>";
	
    //
	this.wElement.innerHTML=this.html;
    //В переменную заносим ссылку на элемент кнопки “закрыть”
	var bClose=getObject("wclose"+this.idu);
	
	//При нажатии на кнопку "закрыть"
	bClose.onclick=function()
	{
	    
	    var el=finClassName(this,"windowGui");
		if(el)
		{
			el.style.display="none";
		}
		
		
		var thisid=this.id;
	    var ida=thisid.substring(6,thisid.length);
		
	    var zel=getObject("z"+ida);
	    if(zel)
	    {
		    zel.style.display="none";
		  }  
		
	}
	var brollup=getObject("wrollup"+this.idu);



	brollup.onclick=function ()
	{


	   var thisid=this.id;
	   var ida=thisid.substring(7,thisid.length);
	   var wbody=getObject("body"+ida);
       if(wbody.style.display=="none")
       {
			wbody.style.display="";
			this.src="images/w_rollup.gif";

       }
       else
       {
			wbody.style.display="none";
            this.src="images/w_unfold.gif";
	   }
	}

	this.wElement.style.display="";



	if(!this.top || !this.left)
	{
		positionCenter(this.wElement);
	}
    if(this.top){this.wElement.style.top=this.top;}	
	if(this.left){this.wElement.style.left=this.left;}
}

boxWindow.prototype.include=function(url)
{
   this.Wtext="<iframe src="+url+" width="+this.width+" name=\"frame"+this.idu+"\" height="+this.height+" scrolling=\""+this.scroll+"\"></iframe>";

}



boxWindow.prototype.hideWindow=function()
{
	if(this.wElement)
	{
		this.wElement.style.display="none";
	}
}
