function openWin(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function jumpTo(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// Mailcheck
function checkEmail(sEmail) {
	var retVal = true;

	var reEmail1 = /^(.*)@(.*)$/
	var reEmail2 = /\.\.|\,|[\.]$|^[\.]|@/g
	var reEmail3 = /[^a-zA-Z0-9\.\-_@]/g
	var reEmail4 = /^.*\..{2,4}$/

	retVal = reEmail1.test(sEmail);
	retVal = !reEmail2.test(RegExp.$1) && retVal;
	retVal = !reEmail2.test(RegExp.$2) && retVal;
	retVal = !reEmail3.test(sEmail) && retVal;
	retVal = reEmail4.test(RegExp.$2) && retVal;
	if(!retVal)
		alert("E-Mail Incorrect!\nPlease try again.");
	return retVal;
}

// Jump Menu
function jumpTo(targ,selObj,restore){
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// Worldmixing
var detailsWindow;
function showDetails(winURL)
{
 detailsWindow = window.open(winURL,"CONSOLE","width=800,height=550,scrollbars,status,resizable=no");
 detailsWindow.focus();
 return false;
}

// img fade
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
/* 
object - image to be faded (actual object, not name);
destop - destination transparency level (ie 80, for mostly solid)
rate   - time in milliseconds between trasparency changes (best under 100)
delta  - amount of change each time (ie 5, for 5% change in transparency)
*/
function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
    if (object != "[object]"){  //do this so I can take a string too
        setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
        return;
    }
        
    clearTimeout(nereidFadeTimers[object.sourceIndex]);
    
    diff = destOp-object.filters.alpha.opacity;
    direction = 1;
    if (object.filters.alpha.opacity > destOp){
        direction = -1;
    }
    delta=Math.min(direction*diff,delta);
    object.filters.alpha.opacity+=direction*delta;

    if (object.filters.alpha.opacity != destOp){
        nereidFadeObjects[object.sourceIndex]=object;
        nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
    }
}