
var gctWindow = null;
var gctCallBack = null;
var gctIsCallBack = null;
var gctOverlay = null;
var GCTWindow = new GCTWINDOW();
var IsEffect = 'true';
function GCTWINDOW ()
{
 this.close = closeGCTWindow ;
 this.customOpen = OpenCustomWindow;
}

function OpenCustomWindow (htm,title,width,height,modal) 
{
    var gctOver = null;
    var gctwin = null;
    if (document.getElementById('GCTOVERLAY') == null)
    {
        gctOver = document.createElement('div');
        document.body.appendChild(gctOver);
        gctwin = document.createElement('div');
        document.body.appendChild(gctwin);
        gctOver.setAttribute('id','GCTOVERLAY');
        gctwin.setAttribute('id','GCTWINDOW');
		gctOver.style.position = 'absolute';
        gctOver.style.zindex = 3001;
        gctwin.style.position = 'absolute';
        gctwin.style.zindex = 3002;
        gctwin.style.opacity = 0;
        gctwin.style.MozOpacity = 0;
        gctwin.style.KhtmlOpacity = 0;
        gctOver.style.left = '0px';
        gctOver.style.top = '0px';    
        gctOver.style.opacity = 0;
        gctOver.style.MozOpacity = 0;
        gctOver.style.KhtmlOpacity = 0;
	//   gctwin.style.filter = "alpha(opacity=0)";
     //   gctOver.style.filter = "alpha(opacity=" + 0 +")"; 	
    }
    else
    {
      gctOver = document.getElementById('GCTOVERLAY');
      gctwin = document.getElementById('GCTWINDOW');
    }
	gctOver.className = 'GctOverlay';
    gctwin.className = 'GctWindow';
    gctWindow = 'GCTWINDOW';
    gctOverlay = 'GCTOVERLAY';  
	var Pagesize = getPageSize();
    if(modal == 'True' || modal == 'true')
    {
		gctOver.style.display = '';
	    if(IsEffect == 'true') 
			opacity(gctOverlay ,0,50,0);
	    else
		{
			var object = document.getElementById(gctOverlay).style; 
			object.opacity = .5;
			object.MozOpacity = .5;
			object.KhtmlOpacity = .5;
			object.filter = "alpha(opacity=50)"; 
		}
		gctOver.style.height = Pagesize.pageHeight + 'px';
		gctOver.style.width = Pagesize.pageWidth + 'px';
    } 
	gctwin.style.display = '';
	gctwin.innerHTML = "<div  class='GctTitleRow' ><span unselectable='on' class='GctTitle'>" + title +"</span><span class='GctClose' unselectable='on' onClick='closeWindow();'><b>Close</b></span></div>" + htm;
	gctwin.style.width = width + 'px';
    gctwin.style.height = height + 'px';  
	gctwin.style.top = (Pagesize.height - height)/2 + Pagesize.scrollTop  + 'px';
    gctwin.style.left = (Pagesize.width - width)/2 + 'px';
	if(IsEffect == 'true') 
		opacity(gctWindow ,0,100,1000);
	else
	{
		var object = document.getElementById(gctWindow).style; 
		object.opacity = 1;
		object.MozOpacity = 1;
		object.KhtmlOpacity = 1;
		object.filter = "alpha(opacity=100)"; 
	}
	
}


function closeGCTWindow(callbackfunction)
{
   if(gctWindow != null)
   {
    if(IsEffect == 'true') 
    {
   opacity(gctOverlay,50,0,2000);
   opacity(gctWindow,100,0,1000);
   }
    else
    {
		var obover = document.getElementById(gctOverlay).style;
		var obwind = document.getElementById(gctWindow).style;
		obwind.opacity = 0;
		obwind.MozOpacity = 0;
		obwind.KhtmlOpacity = 0;
		obwind.display = 'none';
		obover.opacity = 0;
		obover.MozOpacity = 0;
		obover.KhtmlOpacity = 0;
		obover.display = 'none';
   }
   }
   if(callbackfunction != '')
   eval(callbackfunction + "();");
}
        
function closeWindow()
{ 
   if(gctWindow != null)
   {
    if(IsEffect == 'true') 
    {
     opacity(gctOverlay,50,0,2000);
     opacity(gctWindow,100,0,1000);
    }
    else
    {
		var obover = document.getElementById(gctOverlay).style;
		var obwind = document.getElementById(gctWindow).style;
		
		obwind.opacity = 0;
		obwind.MozOpacity = 0;
		obwind.KhtmlOpacity = 0;
		obwind.display = 'none';
		
		obover.opacity = 0;
		obover.MozOpacity = 0;
		obover.KhtmlOpacity = 0;
		obover.display = 'none';

    }
   }
}

function opacity(id, opacStart, opacEnd, millisec) 
{

	var speed = Math.round(millisec / 100);
	var timer = 0;

	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;		}	} 
	else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;		}	}
	
}
 var ov = 'false';
 var op = 'false';
 var closing = false;
function changeOpac(opacity, id)
{
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	if(IsEffect == 'true') object.filter = "alpha(opacity=" + opacity +")"; 
	
    if (id == gctOverlay && ov == 'true' && opacity == 0)    {   
        document.getElementById(gctOverlay).style.display = 'none';
	  ov = 'mid';     }
    if (id == gctWindow && op == 'true' && opacity == 0)    {   
        document.getElementById(gctWindow).style.display = 'none';
	  op = 'mid';    }
    if (id == gctWindow && op != 'mid')    {    op = 'true';   }
    else if(id == gctWindow && op == 'mid') { op ='false'; } 
    if (id == gctOverlay && ov != 'mid')    {    ov = 'true';   }
    else if(id == gctOverlay && ov == 'mid') { ov ='false'; } 
}

var ie6 = navigator.userAgent.indexOf("MSIE 6")>-1;
var ie = navigator.userAgent.indexOf("MSIE")>-1;
var ie7 = navigator.userAgent.indexOf("MSIE 7")>-1;
var safari = navigator.userAgent.indexOf("Safari")>-1;
var macintosh = navigator.userAgent.indexOf("Macintosh")>-1;
var fireFox = navigator.userAgent.indexOf("Firefox")>-1;

 function getPageSize() 
 {
	var iebody = document.compatMode && document.compatMode != "BackCompat" 
		? document.documentElement : document.body;	
	var b = document.body;
	var xScroll = (window.innerWidth && window.scrollMaxX) 
			? window.innerWidth + window.scrollMaxX :
				(b.scrollWidth > b.offsetWidth ? b.scrollWidth : b.offsetWidth),
		yScroll = (window.innerHeight && window.scrollMaxY) 
			? window.innerHeight + window.scrollMaxY :
				(b.scrollHeight > b.offsetHeight ? b.scrollHeight : b.offsetHeight),
		pageWidth = ie ? iebody.scrollWidth :
			(document.documentElement.clientWidth || self.innerWidth);
      	pageHeight = ie? iebody.clientHeight : 
			(document.documentElement.clientHeight || self.innerHeight);
	
	var width = ie ? iebody.clientWidth : 
			(document.documentElement.clientWidth || self.innerWidth),
		height = ie ? iebody.clientHeight : self.innerHeight;
	
	return {
		pageWidth: xScroll < pageWidth ? pageWidth : xScroll,
		pageHeight: yScroll < pageHeight ? pageHeight : yScroll,
		width: width,
		height: height,		
		scrollLeft: ie ? iebody.scrollLeft : pageXOffset,
		scrollTop:  ie ? iebody.scrollTop : pageYOffset
	    }
}