
var $em = 0.0625;

var	siteURL	   = "";
var	siteId	   = "";
var iRenderer  = null;
var currentSelectedObject;
var mainObject = "siteobj";
var siteSelName = "";
var appInfo = null;
var siteData = null;
var fSMode = 0;
var fullSel = "siteobj";
var tongle = 0;
var btTongle = null;
var newsite = true;
var _fe = false;
var moz_plug = "isitecorp 3d rendering v";
var moz_ver  = "5.01";
var goUrl = '';

//var mainStyle = '';

function $Id(name)
{
    return (document.getElementById(name));
}

function getTag(tag)
{
    return (tag && tag.nodeType!=1)? tag.nextSibling: tag;
}

function getFirst(tag)
{
    return getTag(tag.firstChild);
}

function getText(obj)
{
    var result = (obj.text ? obj.text : obj.textContent);
    return (result?result:'');
}

function isNewVersion()
{
    if (browserType == "ff")
    {
	    if( navigator.mimeTypes && navigator.mimeTypes["application/isitecorp-3d-render"]	&& navigator.mimeTypes["application/isitecorp-3d-render"].enabledPlugin	&& navigator.plugins ) 
	    var version = iRenderer.getAttribute('version');
	    if (version)
	    {
	        if (navigator.mimeTypes && navigator.mimeTypes["application/isitecorp-3d-render"])
	        {
	            var compName = navigator.mimeTypes["application/isitecorp-3d-render"].enabledPlugin;
	            if (compName)
	                compName = compName.name;
	            if (compName)
	            {
	                var i = compName.lastIndexOf('.');
	                if (i>0)
	                {
	                    var v = compName.substr(i-2, 4);
	                    return (v<version);
	                }
	            }
	        }
	    }
	}
    return true;
}

function PluginCallbackDone(url, b)
{
    // for automatic refresh the mime tu
    document.cookie = "i3dframeInstall=true";  

    if (b==0) 
        init3D();
    return true;
}

function installXpi()
{
    if (typeof(InstallTrigger)!='undefined') 
    {
        var InstallXPI = {'Extensions': 'ctrl/is3dMz.xpi'}; 
        InstallTrigger.install(InstallXPI, PluginCallbackDone); 
        return true;
    }
}

function initAll()
{
  iRenderer = $Id("iSiteRenderer");
  if (typeof initHorizontalScroller!="undefined")
  {
    initHorizontalScroller();
    //initVerticalScroller();
    init3D();
    if (typeof onSiteAppLoad=='function')
    {
        try
        {
        appInfo = onSiteAppLoad();
        }
        catch(e)
        {}
    }
    btTongle = $Id("btTongle");
    if (btTongle)
        btTongle.style.display = "none";
 }
}

function onCheckState()
{
    if (typeof iRenderer=="undefined")
     return;
    
	if (siteData.readyState	== 4)
	{
		siteLoaded = siteData.parseError ==	0;
		if (siteLoaded && newsite)
		{
			// Apply language transformation
			//applyLanguage( siteData, langId	)
			// Initialize component
            if (typeof iRenderer!="undefined")
			{
			    try
			    {
			        iRenderer.Finalize3D();	
			        var eng = new Number((engineType != "")?engineType:((siteengine!="")?siteengine:1));
			        iRenderer.SetImplementation(eng);
    					
				    var	sitePath = siteURL + "../sites/" + siteId +	"/"	+ siteId + ".xml";
    				
		            siteLoaded = 1;
		            iRenderer.Init3D();
		            //var	resourcesURL = siteURL.substring(0,	siteURL.lastIndexOf("source")) + "sites/" +	siteId;
		            var	resourcesURL = siteURL.substring(0,	siteURL.lastIndexOf("src")) + "sites/" +	siteId;
		            iRenderer.PutResourcesURL(resourcesURL);
		            var	xmlURL = siteURL + "applyLanguage.asp?siteName=" + siteId +	"&langId=" + langId;
		            iRenderer.LoadSiteFromURL(xmlURL);
		            newsite = false;
		        }
		        catch(e){};
			}
			window.status  = "Site Loaded : " + siteData.selectSingleNode("//def:sitedata/def:name").text;
		}
		else
			window.status =	"Failed	to Load	site : " + siteId;
	}
}

function detectFF()
{
	navigator.plugins.refresh(false);
	var reg_check = new RegExp(moz_plug, 'i');
	for (var plugin = 0; plugin < navigator.plugins.length; plugin++) 
	{
	    if (reg_check.test(navigator.plugins[plugin].name)) 
	    {
	        var s = navigator.plugins[plugin].name;
	        s = s.replace(moz_plug, '');
	        var v  = parseFloat(moz_ver);
	        var v1 = parseFloat(s);
	        if (v<=v1) 
	            return navigator.plugins[plugin];
	        else
	            return false;
	    }
	}
	return false;
}

function init3D()
{
  window.name =	"dciApp";
  var resourcesURL_Path	= siteURL +	"../sites/"	+ siteId;
  siteSelName = siteId;
  if (browserType == "msie")
  {
        if (typeof iRenderer=="undefined")
            return;
        var comp = null;
        try
        {
		    comp = new ActiveXObject("iSite.3DRenderer");
		}
		catch(e)
		{
		    comp = null
		}
		if (comp)	
		{
		    var	sitePath = siteURL + "../sites/" + siteId +	"/"	+ siteId + ".xml";
		    siteData = Sarissa.getDomDocument("http://www.isitecorp.com/iSite");
		    siteData.async = false;
		    siteData.setProperty("SelectionLanguage", "XPath");
            Sarissa.setXpathNamespaces(siteData, 'xmlns:def="http://www.isitecorp.com/iSite"');
            newsite = true;
		    siteData.onreadystatechange	= onCheckState;
            siteData.load("applyLanguage.asp?siteName=" + siteId +	"&langId=" + langId);
		}
		else 
		{
		    var refURL = document.location.href;
		    refURL = escape(refURL);
			//window.location.href = "install_ie.asp?ref=" + refURL+"&langid="+langId;
        }
  }
  else 
    if (browserType == "ff")
    {
		//var ctrl = $Id("mzCtrl");
		//ctrl.innerHTML = '<object id="iSiteRenderer" codebase="bin/is3dMz.xpi" pluginurl="bin/is3dMz.xpi" name="dxobj" width="500" height="281" type="application/isitecorp-3d-render" class="isiterender" text="isitecorp"></object>';
		
	    if(detectFF()) // navigator.mimeTypes && navigator.mimeTypes["application/isitecorp-3d-render"]	&& navigator.mimeTypes["application/isitecorp-3d-render"].enabledPlugin	&& navigator.plugins ) 
		  { 
		    var ctrl = $Id("mzCtrl");
		    ctrl.innerHTML = '<embed id="iSiteRenderer" name="dxobj" class="ctrl3d" width="500" height="281" type="application/isitecorp-3d-render" class="isiterender" text="isitecorp"></embed>';

            iRenderer = $Id("iSiteRenderer");
            		    
            if (!iRenderer)
                return;
		    
		    //if (isNewVersion())
		     //   alert("New version of Control");
		        
		    var	sitePath = siteURL + "../sites/" + siteId +	"/"	+ siteId + ".xml";
		    siteData = Sarissa.getDomDocument("http://www.isitecorp.com/iSite");
		    siteData.async = false;
		    siteData.setProperty("SelectionLanguage", "XPath");
            Sarissa.setXpathNamespaces(siteData, 'xmlns:def="http://www.isitecorp.com/iSite"');
            newsite = true;
		    siteData.onreadystatechange	= onCheckState;
            siteData.load("applyLanguage.asp?siteName=" + siteId +	"&langId=" + langId);
		  }
	    else // Plugin not installed
	    {
	    
	            var v = navigator.userAgent;
	            //if (v.indexOf("Firefox/3")<=0)
	            {
                  if (InstallTrigger.updateEnabled())
                      installXpi();
	                else window.parent.windowAlert("Software installation is disabled.\n\n"); 
	            }
	            //else
	            {
	              //  window.open("bin/iS3dSetup.exe");
	            }
	    }
	}
    
    // setTimeout(function(){$Id("imglist").xxlv.enableHint = true;}, 1800);
}

function getSiteObject(siteData, id)
{
    if (siteData!=null)
    {
	    var obj = siteData.selectSingleNode('//def:object[@id="' + id + '"]' );
	    return (obj);
	}
}

function onObjSiteReady()
{
    if (typeof iRenderer=="undefined")
     return;
    if (_fe) 
    {
        _fe = false;
	    window.setTimeout(function(){iRenderer.SelectObject(fullSel)}, 200);
    }
    else
        iRenderer.SelectObject(fullSel);	 
    if (fSMode==1)
    {
        iRenderer.SetObjectVisible("full", false);
        iRenderer.SetObjectVisible("closefs", true);
    }
    else
    {
        iRenderer.SetObjectVisible("full", true);
        iRenderer.SetObjectVisible("closefs", false);
    }
}

function SelectObject(id, id2)
{
    if (typeof iRenderer=="undefined")
     return;
    if ((id2===true)||(typeof id2=="undefined"))
    {
        if (siteId==siteSelName)
            iRenderer.SelectObject(id);
        else
        {
            siteSelName = siteId;
            mainObject = id;
            goAnotherSite();
        }
    }
    else
        if (id==siteSelName)
        {
            if (id2===false)
                id2 = "siteobj";
            iRenderer.SelectObject(id2);
        }
        else
        {
            if (id2===false)
            {
                // go to another site, object sitobject
                siteSelName = id;
                mainObject = "siteobj";
            }
            else
            {
                siteSelName = id;
                mainObject = id2;
                
                // go to another site, 
            }
            goAnotherSite();
        }
}


function goAnotherSite()
{
    var iRenderer = document.getElementById("iSiteRenderer");
    if (typeof iRenderer!="undefined")
    {
	    iRenderer.Finalize3D();	
	    iRenderer.Init3D();
	    var	resourcesURL = siteURL.substring(0,	siteURL.lastIndexOf("src")) + "sites/" +	siteSelName;
	    iRenderer.PutResourcesURL(resourcesURL);
	    var	xmlURL = siteURL + "applyLanguage.asp?siteName=" + siteSelName +	"&langId=" + langId;
	    iRenderer.LoadSiteFromURL(xmlURL);
	}
}

function onObjSelectedById(sourceId)
{
    if (typeof iRenderer=="undefined")
     return;
	if (siteLoaded)
	{
		if (sourceId!="")
		{
		    fullSel = sourceId;
		    if ((sourceId=="siteobj")&&(siteId!=siteSelName))
		        sourceId = siteSelName;
		      
			var	obj	= getSiteObject(siteData, sourceId);
			if ( obj != null )
			{
			    if (appInfo!=null)
			    {
			        var i=0;
			        while ((i<appInfo.length)&&(typeof appInfo[i]=='object')&&(appInfo[i].objId!=sourceId))
			          i++;
			        if ((typeof appInfo[i]=='object')&&(appInfo[i].objId==sourceId))
			        {
			            var delay = appInfo[i].delay;
			            if (delay<200)
			                delay = 200;
    			            
			            var url = appInfo[i].href;
			            if (url)
			            {   
			                if (langId==0)
			                    url = '3d_eng.asp?'+url;
			                else
			                    url = '3d_fra.asp?'+url;
	                        if (fSMode==1)
                            {
                                iRenderer.SetObjectVisible("full", false);
                                iRenderer.SetObjectVisible("closefs", true);
                            }
                            goUrl = url;
			                setTimeout(goClick, delay);
			            }
    			            
			            var s = appInfo[i].sound;
			            if (s)
			            {
			                s = siteURL + "../sites/" + siteId +	"/resources/"	+ s;
			                sound = '<EMBED SRC="'+s+'" HIDDEN="TRUE" AUTOSTART="TRUE" MASTERSOUND></EMBED>';
			            }
			        }
			    }
			    else
			    {
			        var sound = "";
			        var jumpto = obj.selectSingleNode("def:attributes/def:jumpto");
			        if (jumpto)
			        {
			            var delay = jumpto.getAttribute('delay');
			            if (delay<200)
			                delay = 200;
    			            
			            var url = jumpto.getAttribute('href');
			            if (goUrl)
			            {
			                setTimeout(function(){window.location = url;}, delay);
	                        if (fSMode==1)
                            {
                                iRenderer.SetObjectVisible("full", false);
                                iRenderer.SetObjectVisible("closefs", true);
                            }
			            }
    			            
			            var s = jumpto.getAttribute('sound');
			            if (s)
			            {
			                s = siteURL + "../sites/" + siteId +	"/resources/"	+ s;
			                sound = '<EMBED SRC="'+s+'" HIDDEN="TRUE" AUTOSTART="TRUE" MASTERSOUND></EMBED>';
			            }
			        }
			        
			        var v = obj.selectSingleNode("def:attributes/def:visible");
			        if (v)
                        applyRadio(v, sourceId);
			    }
			    try
			    {
                    var objTextTitle = document.getElementById("obj_text_title");
                    var tx = getText(siteData.selectSingleNode('//def:object[@id="' + sourceId + '"]/def:name'));
                    //if (tx)
                    {
                        objTextTitle.innerHTML = tx+(sound?sound:"");
                        
                        var objText = document.getElementById("text_container");
                        objText.innerHTML = "";
                        //if (fSMode==0)
                            objText.style.height = "";
                        objText.innerHTML = getText(siteData.selectSingleNode('//def:object[@id="' + sourceId + '"]/def:content'));
                        if (fSMode==0)
                        {
                            objText.className = "text_container";
                            var h = (objText.offsetHeight+10)*0.0892; // 0.0892 = 0.625/(font size 70%)
                            if (h<3.8)
                                h=3.8;
                            objText.style.height = h+'em'; 
                        }
                        else
                        {
                           $Id("growtext").scrollTop = 0;

                        }
                        
                        var imgList = document.getElementById("img_list_scrollable");
                        if (imgList)
                        {
                            for (i=0; i<imgList.rows.length; i++) 
                            {
                                var rows = imgList.rows[i];
                                for (j=0; j<rows.cells.length; j++) 
                                {
                                    var _onsel = rows.cells[j].getAttribute('_onsel');
                                    if (_onsel)
                                    {
                                        if (_onsel==sourceId)
                                        {
                                            var img = getFirst(rows.cells[j]);
                                            img.style.border = "0.125em solid #c8d8d8";
                                            selectKey(rows.cells[j], true);
                                            ajustScroll(img, "img_list_scrollable");
                                        }
                                        else
                                        {
                                            getFirst(rows.cells[j]).style.border = "";
                                            selectKey(rows.cells[j], false);
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            var imglist =  $Id("imglist");
                            if (imglist && imglist.xxself)
                                 imglist.xxself.select.apply(imglist, [sourceId]);
                        }
                     }
                  }
                  catch(e)
                  {}
			}
    }
  }
}

function goClick()
{
    var form = document.createElement('form');
    form.setAttribute('action', goUrl);
    form.setAttribute('method', 'post');
    
    form.innerHTML = '<INPUT type="hidden" name="park" value="click">';
    document.body.appendChild(form);
    form.submit();
}

function applyRadio(r, id)
{
    if (r!=null)
    {
        if (id=="siteobj" && _fe)
            return;
            
        _fe = true;
        
        var group = r.getAttribute("group");
        if (group)
        {
	        var objs = siteData.selectNodes('//def:object/def:attributes/def:visible[@group="'+group+'"]');
	        for (var i=0; i<objs.length; i++)
	        {
	            try
	            {
	                var o = objs.item(i);
	                var v = o.parentNode.parentNode.getAttribute('id');
	                var c = o.getAttribute('child');
	                iRenderer.SetObjectVisible(v, (v==id || c==id));
	            }
	            catch(e)
	            {}
	            //
            }
	    }
        var show = r.getAttribute("show");
        if (show)
        {
            var s = show.split(",");
            for (var i=0; i<s.length; i++)
                if (s[i]!="") 
                    iRenderer.SetObjectVisible(s[i], true);
        }
        var hide = r.getAttribute("hide");
        if (hide)
        {
            var s = hide.split(",");
            for (var i=0; i<s.length; i++)
            {   
                if (s[i]!="") 
                    iRenderer.SetObjectVisible(s[i], false);
            }
        }
	}
}


function selectKey(cell, sel)
{
    var temp = 0;
    var img = getTag(cell.childNodes.item(2));
    if ((img)&&(img.tagName!="IMG"))
        img = img.nextSibling;
    if ((img)&&(img.tagName=="IMG"))
    {
        if (sel)
            img.style.display="block";
        else 
            img.style.display="none";
    }
}

function onUIAction( control, action, data )
{
	if (action == 1)
	{
		switch (control)
		{
			case "home" :
			{
				iRenderer.SelectObject( "siteobj" );
				break;
			}
			case "res":
			case "closefs":
			{
			    if (fSMode==1)
			    {
			        iRenderer.switchToWindowed();
			        fSMode = 3;
			    }
			    break;
			}
			case "full":
			{
			    if (fSMode==0)
			    {
			        iRenderer.SwitchToFullScreen(0, 0, 0);// set fullscreen an IE as child
			        fSMode = 3;
			    }
			    break;
			}
		}
	}
}

function $Style(name)
{
    var st = document.getElementById(name);
    if (st) 
        return st.style;
    return null;
}

function $s(n)
{
    var t = document.styleSheets.cssRules[n];
}

function switchCtrl(n, b)
{
    var ctr = $Id(n);
    if (ctr)
    {
        if (b)
        {
            ctr.dStore = ctr.style.display;
            ctr.style.display = "none";
        }
        else
        {
            if (ctr.dStore)
            {
                ctr.style.display = ctr.dStore;
            }
            else
                ctr.style.display  = "block";
        }
    }
}

function changeCSS(s, d)
{
    var l = document.styleSheets;
    for (var i=0; i<l.length; i++)
    {
        var v = l[i].href;
        var n = v.replace(s, d);
        if (n!=v) 
        {
            l[i].imports[0].href = n;
            //l[i].href = n;
        }
    }

}

var stCopy = [];
function applyStyle(n, d, f)
{
    var s = null;
    if (s = document.getElementById(n))
    {
        s = s.style;
        if (f) 
        {
            var g = {};
            for (var i in d)
            {
                g[i] = s[i];
                s[i] = d[i];
            }
            g._name = n;
            stCopy.push(g);
        }
        else
            for (var i in d)
                s[i] = d[i];
    }
    return s;
}

function reverse()
{
    //debugger;
    for (var i=0; i<stCopy.length; i++)
    {
        var g = stCopy[i];
        if (g) 
        {
            var n = g._name;
            var s;
            if (s=document.getElementById(n))
            {
                s = s.style;
                for (var j in g)
                    if (j!='_name')
                        s[j] = g[j];
           }
        }
    }
}

function onFullScreen(v)
{
    // here convert the WEB Page to FullScreen
    // v=1 -->go FullScreen
    // v=0 -->go Normal
    fSMode = v;
    
    //iRenderer.Sleep();
    //setTimeout(function(){iRenderer.awake();}, 300);
    if (v==1) // normal
    {
        if (tongle==1)
            tongleFullInfo($Id("btTongle"));
            
        iRenderer.SetObjectVisible("full", false);
        iRenderer.SetObjectVisible("closefs", true);
        
        var sw = ["hfotter", , "header", "bg", "tabs_nav", "top_nav_enter", 
        "enter-1a", "menu_left_nav-1b", "z8end", "grow"];
        for (var i=0; i<sw.length; i++)
            applyStyle(sw[i], {display: "none"}, true);
        
        var width = screen.width;
        var height = screen.height;
        
        var h = height-192;
        var w = Math.round(h*(16/9));
        if (w>width)
            w = width;

        h = Math.round(w*(9/16));
        
        applyStyle("pageCenter", {backgroundColor: "black"}, true);

        var b = document.body;
        var st = b.style;
        st.backgroundColor = "black"
        st.border = "none";

        if (browserType == "msie")
        {
            b.scroll = "no";
            var pe = b.parentElement.style;
	        pe.overflow = "hidden";
            pe.border = "none";
            pe.margin= "0px";
            pe.padding = "0px";
	    }
	    
        var v = {
                    width  : w+"px",
                    height : (h+192)+"px",
                    textAlign : "left",
                    background: "black"
                    // overflow : "hidden" // mozilla freezing
                };
                    //margin : "0px",

        st = applyStyle("Table_01", v, true);

        
        //if (st && (browserType == "msie"))
          //  st.overflow = "hidden";

        v = {
                width : w+"px",
                height : h+"px",
                left : "0px",
                top : "0px"
            };
        
        applyStyle("ctrlv", v, true);
        

        applyStyle("iSiteRenderer", { width : w+"px", height :h+"px"}, true);
        
        v = {
                top : (h+26)+"px",
	            left : "70px",
	            width: ((Math.round((w-70)/90)-1)*90+60)+"px",
	            background : "black"
	        };  
	        
        if (applyStyle("imglist", v, true))
	        if (browserType!="ff") 
	            $Id("imglist").xxlv.enableHint = true;

        applyStyle("site_title", {display:"block"}, true)

        applyStyle("text_container", {background : "black"}, true)

        v =
        {
            top : (h+116)+"px",
	        left : "60px",
	        width: "600px",
	        height : "60px",
	        overflow : "auto",
	        position: "absolute"
        };
        applyStyle("growtext", v, true)

        applyStyle("txcner", {backgroundColor : "black", backgroundImage: "none" }, true);
        applyStyle("gtblack", {backgroundImage: "none" }, true); 
                
        applyStyle("btexpand", {top :(h)+"px",left:"1px"}, true)
        v =
        {
            top : (h+87)+"px",
	        left : "50px",
	        width: (w-120)+"px",
	        position: "absolute"
        };
        applyStyle("obj_text_title", v, true)
	    
      	window.setTimeout(function(){iRenderer.SelectObject(fullSel)}, 200);
	    // window.setTimeout(function(){onObjSelectedById(fullSel)}, 200);
        applyStyle("btTongle", {display : "inline"}, true)
        //applyStyle("z8end", {visibility : "hidden"}, true)
    }
    else
        if (v==0)
        {
            if (tongle==1) 
                tongleFullInfo($Id("btTongle"));
                
            iRenderer.SetObjectVisible("full", true);
            iRenderer.SetObjectVisible("closefs", false);

            var b = document.body;
            b.style.backgroundColor = "";
            b.scroll = "";
            b.style.border = "";
            if (browserType == "msie")
            {
                b.style.border = "";
	            b.style.overflowX =	"";
	            b.style.overflowY =	"";
	            
                var pe = b.parentElement.style;
                if (pe)
                {
	                pe.overflow = "";
                    pe.border = "";
                    pe.margin= "";
                    pe.padding = "";
                }
	        }    
	        if (browserType!="ff") 
	            $Id("imglist").xxlv.enableHint = false;
	                
            reverse();
      
            applyStyle("gtblack", {backgroundImage: "url(../images/bgblack.gif)",  position: "relative"}); 
            applyStyle("txcner", {backgroundImage: "url(../images/bgtext.gif)" });
            applyStyle("Table_01", {background: "#993300"});
        	window.setTimeout(function(){iRenderer.SelectObject(fullSel)}, 200);
	        //window.setTimeout(function(){onObjSelectedById(fullSel)}, 200);
        }
}

var _obj_text_title = "";
var _growtext = "";
function tongleFullInfo(ct)
{
    var width = screen.width;
    var height = screen.height;
    
    var h = height-200;

    var st;
    if (tongle==0)
    {
    
        if (st=$Style("obj_text_title"))
        {
            _obj_text_title = st.display;
            st.display = "none";
        }
        if (st=$Style("growtext"))
        {
            _growtext = st.display;
            st.display = "none";
        }

        h = height-100;
        ct.xxself.setButton.apply(ct, [1]);
        tongle = 1;
    }
    else
    {
        if (st=$Style("obj_text_title"))
            st.display = _obj_text_title;
        if (st=$Style("growtext"))
            st.display = _growtext;
        
        ct.xxself.setButton.apply(ct, [0]);
        tongle = 0;
    }
    var w = Math.round(h*(16/9));
    if (w>width)
        w = width;

    h = Math.round(w*(9/16));
    
    var st = $Style("iSiteRenderer");
    st.width  = w+"px";
    st.height = h+"px";

    st = $Style("btexpand");
    st.top = h+"px";
    
    st = $Style("imglist");
    st.top = (h+26)+"px";

    st = $Style("Table_01");
    st.width  = w+"px";
    
    if (tongle==0)
    {
        st.height = h+189+"px";
        if (browserType == "msie")
            st.overflow = "visible";
    }
    else
    {
        st.height = h+100+"px";
        if (browserType == "msie")
            st.overflow = "hide";
    }
}

function dxobj_OnCameraMove()
{
    return false;
}

function releaseControl()
{
    if (typeof iRenderer!="undefined")
    {
        try
        {
            iRenderer.Finalize3D();	
        }
        catch(e)  
        {
        }
    }
}


if (window.addEventListener)
{
    window.addEventListener("unload", releaseControl, false);
    document.addEventListener("DOMContentLoaded", initAll, false);
}
else 
    if (window.attachEvent)
    {
        window.attachEvent("onload", initAll);
        window.attachEvent("onunload", releaseControl);
    }
    else
    {
        window.onunload=releaseControl;
        window.onload = initAll;
    }

