var ie6 = false;
var ie4 = false;
var ns4 = false;
var Initialized = false;

var myHandlers = new Object;

/*
function Initialize() {
    window.focus();

    if(Initialized) {
	return;
    }
    else {
	if (document.getElementById || document.all || document.layers) {
	    if (document.getElementById) {
		ie6 = true;
	    }
	    else if (document.all) {
	        ie4 = true;
	    }
	    else if (document.layers) {
	        ns4 = true;
	    }
	}
    }

    Initialized = true;
}
*/

function OpenWindow(Handle, Page, Width, Height, Left, Top, Status, Scroll, Menus, Resize) {
    Width  = Width  || screen.availWidth - 10;
    Height = Height || screen.availHeight - 35;

    var midX = (screen.availWidth - Width) / 2;   // Used for Auto Centering
    var midY = (screen.availHeight - Height) / 2; // Used for Auto Centering

    Left   = Left   || midX;
    Top    = Top    || midY;
    Status = Status || 'no';
    Scroll = Scroll || 'auto';
    Menus  = Menus  || 'no';
    Resize = Resize || 'no';

    var attributes = "status = " + Status + ", width = " + Width + ", height = " + Height + ", scrollbars = " + Scroll + ", toolbar = " + Menus + ", menubar = " + Menus + ", location = " + Menus + ", left = " + Left + ", top = " + Top + ", resizable = " + Resize;
    
    var WinObj = window.open(Page, Handle, attributes);

    if(!(defined(WinObj))) {
        alert('popup blocked');
        exit(0);
    }


    //while(WinObj.document.readyState != 'complete'){} // hold until page is loaded...what happens if page never loads..is this an inifite loop?

    if(!(defined(WinObj.opener))) {
	WinObj.opener = self; // Create a Object Value that lets the child window know who opened it
    }

    //self.opener.myHandlers[Handle] = WinObj; // Create an array of references to the child windows (Elements are Associative)
    myHandlers[Handle] = WinObj;
    WinObj.focus();
}


function CloseChildren() {
    var h;

    var tempArray = new Array;
    for(var h in myHandlers) { //maybe i use this to populate a new array and reverse it?
        tempArray.push(h);
        h = myHandlers.pop(); //remove last element and shorten array, doesnt seem to work with associative arrays
//        alert(h);

        if(defined(h)) {
            h.close();
        }
    }
}

/*
function LoadHREF(f, p) { // LoadHREF(object frame, string pattern)
    var u = f.location;
    var url = u.toString();
    var pattern = p || '?=';

    // may need to escape pattern...not sure!

    if(defined(pattern)) { //allow for custom patterns...
        if(url.match(/pattern/) {
            var a = new Array;
            a = url.split(pattern);
            var mURL = '';
    
            a.shift(); //remove first element
            mURL = a.join(pattern); // Rejoin to any remaining vars in case it gets passed to another LoadHref Script

            a = []; // emply array to regain memory...forced garbage collection
            f.location.href = mURL;
        }
    }

    f.focus(); //not sure if this will work if I give a frame name and not a window name...
    return;
}
*/

function defined(v) {
    if(v != null && typeof(v) != 'undefined') {
        return 1;
    }

    return 0;
}



// Image Preloader Functions....
function MM_findObj(n, d) { //v4.01
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
