aryWindows = new Array();
var isTopFrame = true; //-= Tells findWindow to stop

function findWindow(win) {
	try {
		for (i = 0; i < aryWindows.length; i++) {
			if (aryWindows[i][0] == win) {
				aryWindows[i][1].location = aryWindows[i][1].location;
			}
		}
	} catch (e) {}
}

function spawnWindow(docRequestor, strLocation, strWindowName, intX, intY, dx, dy, strAttributes) {
  if (docRequestor == null ) {
    alert("Invalid document handle");
    return;
  }
  var tmpAry = Array();
  if (intX < 0 && intY < 0) { 														//>
    intX = 480;
    intY = 320;
  }
  var intTop = ((screen.availHeight - intY) / 2) + dy;
  var intLeft = ((screen.availWidth - intX) / 2) + dx;
  strAttributes = strAttributes +"";
  focusWindows();	
  var newWin = window.open(strLocation, strWindowName, 'top='+ intTop +',left='+ intLeft +',width='+ intX +',height='+ intY +',status=1,resizable=1,'+ strAttributes);
  var blnFound = false;
  for (var i = 0; i < aryWindows.length; i++) { 														//>
    if (aryWindows[i][0] == newWin) {
      blnFound = true;
      try {
        newWin.focus();
      } catch (e) {
        var intIdx = aryWindows.length;
        aryWindows[intIdx] = new Array(newWin, docRequestor);
      }
    } 
  }
  if (! blnFound) { 
    var intIdx = aryWindows.length;
    aryWindows[intIdx] = new Array(newWin, docRequestor);
  }
}

function win_onClose() {
  setTimeout('compactWindows()', 1500);	
}

function docRefresh(winChild) {
  for (var i = 0; i < aryWindows.length; i++) { 														//>
    try {
      if (aryWindows[i][0] == winChild) {
        aryWindows[i][1].location = aryWindows[i][1].location;
      }
    } catch (e) {
    }
  }
}

function docOpener(winChild) {
  for (var i = 0; i < aryWindows.length; i++) { 														//>
    try {
      if (aryWindows[i][0] == winChild) {
        return aryWindows[i][1];
      }
    } catch (e) {
    }
  }
}


function focusWindows() {
  return;
  var intTop = 0; 
  var intLeft = 0;
  for (var i = 0; i < aryWindows.length; i++) { 														//>
    try {
      intTop = ((screen.availHeight - 300 + (30 * (i + 1))) / 2) -34;
      intLeft = ((screen.availWidth - 450+ (30 * (i + 1))) / 2) +10;
      aryWindows[i][0].moveTo(intLeft, intTop);
      aryWindows[i][0].focus();
    } catch (e) {
    }
  }
}

function closeWindows() {
  for (var i = 0; i < aryWindows.length; i++) { 														//>
    try {
      aryWindows[i][0].close();
    } catch (e) {
      //-= window was already closed, remove the reference
    }
  }
}

function compactWindows() {
  var tmpAry = new Array();
  for (var i = aryWindows.length -1 ; i > -1; i--) { 														
    try {
	    if(aryWindows[i][0].name.length > 0) {
	      tmpAry[tmpAry.length] = new Array(aryWindows[i][0], aryWindows[i][1]);
	    } 
    } catch (e) { /*-= handle IE error, do nothing about it. */ }
  }
  aryWindows = new Array();
  for (var i = 0; i < tmpAry.length; i++) {
    try {
      aryWindows[i][0] = tmpAry[i][0];
      aryWindows[i][1] = tmpAry[i][1];
    } catch (e) {   
    }
  }
  aryWindows = tmpAry;
}

function window_onClose() {
 closeWindows();
 return false;
}


