xFenster.z = 0; // xFenster static property
var lastfenster=gebi('fen1');


if(!fenPosX || !fenPosY){
var fenPosX = new Array (50,60,70,80)
var fenPosY = new Array (50,60,70,80)
} 

var fen = new Array(), fen_count = 4;
var oldFenId;

				        
function gebi(id){
return document.getElementById(id);
}


function Activeness(idname){
 if(document.getElementById(idname).className != "inset") document.getElementById(idname).className = "inset";
 else document.getElementById(idname).className = "inset2";
}



function putOnShewron(id){
 document.getElementById(id).style.display='none';
 document.getElementById(id+'-Shewron').style.display='';
}



function hookFenster()   // Fired from body.onload
{
  for (var i = 1; i <= fen_count; ++i) {
    if(i > 1) 
           fen[i] = new xFenster('fen'+i, fenPosX[i-1], fenPosY[i-1], 'fenBar'+i, 'fenResBtn'+i, 'fenMaxBtn'+i);
  }
}

window.onunload = function()
{
  for (var i = 1; i <= fen_count; ++i) {
//    if(i == 1) fenframe_1.onunload();
//    fen[i].onunload();
  }
}

function xFenster(eleId, iniX, iniY, barId, resBtnId, maxBtnId) // object prototype
{

  // Private Properties
  var me = this;
  var ele = xGetElementById(eleId);
  var rBtn = xGetElementById(resBtnId);
  var mBtn = xGetElementById(maxBtnId);
  var x, y, w, h, maximized = false;
  // Public Methods

  this.onunload = function()
  {
    if (xIE4Up) { // clear cir refs

      me = ele = rBtn = mBtn = null;
    }
  }
  this.paint = function()
  {
    xMoveTo(rBtn, xWidth(ele) - xWidth(rBtn), xHeight(ele) - xHeight(rBtn));
    xMoveTo(mBtn, xWidth(ele) - xWidth(rBtn), 0);//alert(xWidth(ele)+ " "+ xWidth(rBtn));
  }

var shewronTop = 30;
var topBarH = (shewronTop.h + shewronTop.y );
if(navigator.userAgent.indexOf("MSIE") == -1 ) topBarH += 5;
  // Private Event Listeners
  var outsidex=false;
  var outsidey=false;
  var outX,outY;


function barOnDrag(e, mdx, mdy)
  { 

        var newPosX,newPosX2,newPosY,newPosY2,mdy2;
	mdy2 = mdy;

	newPosX = xLeft(ele) + mdx;

    	if(eleId =='fen1')	var ele2 = document.getElementById('backwin');

	if(ele2)	newPosX2 = xLeft(ele2) +mdx;

	var temp = FindXY(ele);
        outX = iniOMDx;
	outY = iniOMDy;

	if( ( (temp.x) < 0) || (  (_xDrgMgr.ele.xDPX + mdx) < 0 ) )
		{ 	if(!outsidex)	outsidex = true; 
			newPosX = 0; }
	if(outsidex && (_xDrgMgr.ele.xDPX) > (outX + 21) ) 
		{ 	outsidex = false; 
			newPosX = _xDrgMgr.ele.xDPX-outX - 21; }

	if(ele2){var temp2 = FindXY(ele2);
		if(temp2.x < 0 || ( (temp2.x +mdx) < 0) ) {newPosX2 = 0;}
		if(temp.y < topBarH) mdy2 = 0;
	}

	newPosY = _xDrgMgr.ele.xDPY - outY-5;//xTop(ele) + mdy;

	if(  (temp.y + mdy) <= topBarH ){
		newPosY = topBarH;
		if(!outsidey) outsidey = true;
	}

	if( outsidey && ( (_xDrgMgr.ele.xDPY-outY) > topBarH ) ){
	outsidey = false;
	newPosY = topBarH;
	}

	if( (!outsidex|| temp.x < 0) && !outsidey ){
		xMoveTo(ele, newPosX, newPosY);
		if(ele2)xMoveTo(ele2, newPosX2, xTop(ele2) + mdy2);
	}
	else if(outsidex){
		xMoveTo(ele, 0, newPosY);
		if(ele2)xMoveTo(ele2, 0, xTop(ele2) + mdy);

	}
	else if(!outsidex && outsidey){
		xMoveTo(ele, newPosX, topBarH);
		if(ele2)xMoveTo(ele2, newPosX2, xTop(ele2) + mdy);

	}
	if(outsidex && outsidey ){
		xMoveTo(ele, 0, topBarH );
		if(ele2)xMoveTo(ele2, 0, xTop(ele2) + mdy2);
	}


  }

  function resOnDrag(e, mdx, mdy)
  { var wlimit =  WIDTH ;
    var hlimit =  HEIGHT ;
    var nw = xWidth(ele);
    var nh = xHeight(ele);

    //preventing menu distortion ( fall on new line when width is too thin)
	if( (nw+mdx) < wlimit){ mdx = 0; nw = wlimit; }
	if( (nh+mdy) < wlimit){ mdy = 0; nh = hlimit; }

    if(nw <wlimit) nw = wlimit;
    if(nh < hlimit) nh = hlimit;
	if( ( (xLeft(ele)+nw) > _xDrgMgr.ele.xDPX ) && nw == wlimit) mdx = 0;
	if( ( (xTop(ele) +nh) > _xDrgMgr.ele.xDPY ) && nh == hlimit) mdy = 0;
	//xResizeTo(ele, nw + mdx, nh + mdy);
	xResizeTo(ele, nw*1 + mdx, nh*1 + mdy);
    me.paint();
	if(ele.id=="fen1")iframeheightUpdate( windowsNum , toolbarsNum );

  }

  function maxOnClick()
  {
    if (maximized) {
      maximized = false;
      xResizeTo(ele, w, h);
      xMoveTo(ele, x, y);
    }
    else {
      w = xWidth(ele);
      h = xHeight(ele);
      x = xLeft(ele);
      y = xTop(ele);
      xMoveTo(ele, xScrollLeft(), xScrollTop()+31);
//      xMoveTo(document.getElementById('fenframe1'), xScrollLeft(), xScrollTop()+31);
      maximized = true;
      xResizeTo(ele, xClientWidth(), xClientHeight()-31);
//      xResizeTo(document.getElementById('fenframe1'), xClientWidth(), xClientHeight()-31);
    }
        if(ele.id=="fen1"){ iframeheightUpdate(windowsNum , toolbarsNum );}
	me.paint();
      }
function fenOnMousedown()
{ 
	if(coverdiv){
		coverdiv.close();
        }
        if( lastfenster && ele != lastfenster ){

		fen[lastfenster.id.replace('fen','')].closeCover();
		fen[lastfenster.id.replace('fen','')].createcover();
		lastfenster = ele;
		xFenster.z+=2; 
		
        }
        if(ele.id!= 'fen4')
	xZIndex(ele, xFenster.z++);    
	oldFenId = eleId;
}


  // Constructor Code
  xFenster.z++;
  xMoveTo(ele, iniX, iniY);
//if(ele.id=="fen1")
//	{ xResizeTo(ele,fenPosW[0],fenPosH[0]); }

function show(){
	if(lastfenster)
//	fen[lastfenster.id.replace('fen','')].closeCover();
//	fen[lastfenster.id.replace('fen','')].createcover();
	lastfenster = ele;
	xFenster.z+=2; 
	xZIndex(ele, xFenster.z++);
	xShow(ele);
}
function createcover()
	{
	return coverdiv = new cover(ele,xLeft(ele),xTop(ele)); 
	}


  this.paint();
  xEnableDrag(barId, null, barOnDrag, null, 1);              //Last paramets specifies if iframes should be hidden during dragging
  xEnableDrag(rBtn, null, resOnDrag, null);
  if(mBtn)
  mBtn.onclick = maxOnClick;
  ele.onmousedown = fenOnMousedown;
  this.show = show;
  var coverdiv;
  this.getCD = function (){return coverdiv;}
  this.closeCover = function() { if(coverdiv) coverdiv.close(); }
//{return (coverdiv?true:false);}
  this.createcover = createcover;


    xShow(ele);
 if(ele.id == "fen1") {
	lastfenster = ele;
	var coverdiv = new cover(ele,iniX,iniY);
	coverdiv.close();
	
       }

} // end xFenster object prototype

function cover(el,x,y){
z= el.style.zIndex;
if(el.id!= 'fen1'){

w=xWidth(el);
h=xHeight(el);
var w_offset,h_offset,x_offset,y_offset;
w_offset = 20;
h_offset = 41;
x_offset = 5;
y_offset = 5;

if(el.id=='fen2'){
y_offset = 40;
h_offset = 75;
}
if(el.id =='fen5'){
y_offset = 40;
h_offset = 95;

}
if(el.id =='fen6'){
h_offset = 120;
}
if(w>w_offset) w -= w_offset; 
if(h>h_offset) h -= h_offset;
x+= x_offset;
y+= y_offset;

if(!x || !y ) {x=xLeft(el);y=xTop(el);}
var tdiv = document.createElement("div");
tdiv.className = "cover";
tdiv.style.position = "absolute";
tdiv.style.zIndex = z*1+1;
tdiv.style.width = w+"px";
tdiv.style.height= h+"px";
tdiv.style.left = x+5+"px";
tdiv.style.top = y+26+"px";
tdiv.style.background = "black";
tdiv.onclick = function() {     
	xFenster.z+=2; 
	xZIndex(el, xFenster.z++);
	this.parentNode.removeChild(this); 
	var sm = gebi("startmenu");
	var smf = gebi("startmenuframe");
	if(sm && smf ){
	sm.style.display = "none";
        smf.style.display = "none";
	}
	if(el != lastfenster&& lastfenster){
		fen[lastfenster.id.replace('fen','')].createcover();
		lastfenster = el;

	}

	
}
if(el.id != 'fen4')
document.body.appendChild(tdiv);
}
else{
var s = gebi('source');
var t = gebi('target');
var fs = 200;
var ft = 300;

var w1 = xWidth(s);
var h1 = xHeight(s);
var x1 = fs.x;
var y1 = fs.y;

var w2 = xWidth(t);
var h2 = xHeight(t);
var x2 = ft.x;
var y2 = ft.y;

var tdiv = document.createElement("div");
var tdiv2 = document.createElement("div");


tdiv.className = "cover";
tdiv.style.position = "absolute";
tdiv.style.zIndex = z*1+1;
tdiv.style.width = w1+"px";
tdiv.style.height= h1+"px";
tdiv.style.left = x1+"px";
tdiv.style.top = y1+"px";
tdiv.style.background = "black";
tdiv.onclick = function() {     
	xFenster.z+=2; 
	xZIndex(el, xFenster.z++);
	spreadFrame();
	gebi("startmenu").style.display = "none";
        gebi("startmenuframe").style.display = "none";
	this.parentNode.removeChild(this); 
	tdiv2.parentNode.removeChild(tdiv2);
	if(el != lastfenster&& lastfenster){
		fen[lastfenster.id.replace('fen','')].createcover();
		lastfenster = el;

	}
}





tdiv2.className = "cover";
tdiv2.style.position = "absolute";
tdiv2.style.zIndex = z*1+1;
tdiv2.style.width = w2+"px";
tdiv2.style.height= h2+"px";
tdiv2.style.left = x2+"px";
tdiv2.style.top = y2+"px";
tdiv2.style.background = "black";
tdiv2.onclick = function() {     
	xFenster.z+=2; 
	xZIndex(el, xFenster.z++);
	spreadFrame();
	gebi("startmenu").style.display = "none";
        gebi("startmenuframe").style.display = "none";
	this.parentNode.removeChild(this); 
	tdiv.parentNode.removeChild(tdiv);
	if(el != lastfenster&& lastfenster){
		fen[lastfenster.id.replace('fen','')].createcover();
		lastfenster = el;

	}
}



document.body.appendChild(tdiv);
document.body.appendChild(tdiv2);



	if(windowCount = '3'){

	}


}


function close(){


if(tdiv&&tdiv.parentNode)
tdiv.parentNode.removeChild(tdiv);
if(tdiv2 && tdiv2.parentNode)
tdiv2.parentNode.removeChild(tdiv2);
tdiv = null;
return true;
}
this.close = close;
this.covered = function() { return (tdiv?true:false);}
//this.getCover = function () { return tdiv; }
}




function ShowBarFocus(el){

document.getElementById(el.id.replace("fen","fenBar")).style.background = "red"; //= "fenBarInFocus";
if(oldFenId && oldFenId != el.id)
document.getElementById(oldFenId.replace("fen","fenBar")).style.background = "#596380";
} 

var virkHidden = true;  // Used for later hiding/showing

//IFRAME HIDER DURING DRAG - fixes IE's loss of drag upon entering IFRAMES
var iframesdisabled = false;
function disableIframes(){
iframesdisabled=(iframesdisabled?false:true);
//debugdiv.innerHTML += "iframesdisabled-"+iframesdisabled+"<br>";
var w = window;
var iframecol = w.document.getElementsByTagName("iframe");
for(i=0;i<iframecol.length;i++)
{
	iframecol[i].style.visibility = (iframesdisabled?"hidden":"visible");
}
for(i=0;i<w.frames.length;i++)
{
	//look for iframes in iframes
//	var iframecol = w.frames[i].document.getElementsByTagName("iframe");

	for(ii=0;ii<iframecol.length;ii++){
	iframecol[ii].style.visibility = (iframesdisabled?"hidden":"visible");
	}
}
}




function launchApp(ID,par,e){
var el = document.getElementById("fen"+ID);
switch(ID){
	case 1:
		el.style.display = "";
		break;
	case 2:
		mapBuilder(par);
		break;
	case 3:
		contactsBuilder();
		break;
	case 4:
		specialsBuilder(par);
		break;
	default:
		return false;break;

        }
	fen[ID].show();
        xZIndex(el, xFenster.z++);
}







function mapBuilder(par){
if(document.getElementById('map')){
  var frame = document.getElementById('map');
  if(frame)	frame.parentNode.removeChild(frame);
}

    if(!document.getElementById("map")){
    var die = document.createElement("iframe");
//    die.src = "http://maps.yahoo.com/index.php" + par;
    die.src = "maps.asp?id="+par;
    die.name = "map";
    die.id="map";
    die.width="100%";
    die.height="390px";
    die.scrolling="yes";
    die.frameBorder="0";
    document.getElementById('map_container').appendChild(die);
    document.getElementById('fen2').style.display='';
    }
    else     document.getElementById('fen2').style.display='none';
}


function contactsBuilder(){
if(document.getElementById('contacts')){
  var frame = document.getElementById('contacts');
  if(frame)	frame.parentNode.removeChild(frame);
}

    if(!document.getElementById("contacts")){
    var die = document.createElement("iframe");
    die.src = "contact_form.asp";
    die.name = "contacts";
    die.id="contacts";
    die.width="100%";
    die.height="600";
    die.scrolling="no";
    die.frameBorder="0";     
    document.getElementById('contacts_container').appendChild(die);
    document.getElementById('fen3').style.display='';
    }
    else     document.getElementById('fen3').style.display='none';
}


function specialsBuilder(sp){
if(document.getElementById('specials')){
  var frame = document.getElementById('specials');
  if(frame)	frame.parentNode.removeChild(frame);
}

    if(!document.getElementById("specials")){
    var die = document.createElement("iframe");
    die.src = "specials/" + sp + ".asp";
    die.name = "specials";
    die.id="specials";
    die.width="100%";
    die.height="400px";
    die.scrolling="yes";
    die.frameBorder="0";
    document.getElementById('specials_container').appendChild(die);
    document.getElementById('fen4').style.display='';
    }
    else     document.getElementById('fen4').style.display='none';
}


function XClose(divID){
document.getElementById(divID).style.display='none';
return false;

}

