var currentlyOpenWindow = new Array();
var settings = 'width=1024,height=800,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no';

var newWindow = function(title,link) {
	// receives: title,link
	this[title] = window.open(link,title,settings);
	this[title].focus();
	this[title].focus();
	
	/*
	if(! currentlyOpenWindow[title]['open']) {
		currentlyOpenWindow[title] = window.open (link, title, settings);
		currentlyOpenWindow[title]['open'] = true;
	} else {
		currentlyOpenWindow[title].focus();	
		currentlyOpenWindow[title].focus();	
	}
	*/
}

function OK(msg,url) {
	var answer=confirm(msg);
	if(answer) document.location=url;

}

function valEmail(text) {
	myRegExp = /^(([^<>()[\]\.,;:\s@\']+(\.[^<>()[\]\\.,;:\s@\']+)*)|(\'.+\'))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
	if(myRegExp.test(text) == false)
	{
		return false;
	} else {
		return true;
	}
}


// API
var initial = new Array();
var destination = new Array();
var direction = new Array();

var currentlytweening = new Array();
var currentobj = new Array();

var TID = new Array();
var tick = 5;	// optimal
var duration = 400;	// duration of animation in milliseconds

function divopen(target){
	if(currentlytweening[target])
		return;
 
	if(document.getElementById(target).style.display != "none")
		return; // already visible
 
	currentlytweening[target] = true;
	direction[target] = "down";
	tween(target);
}
 
function divclose(target){
	if(currentlytweening[target])
		return;
 
	if(document.getElementById(target).style.display == "none")
		return; // already hidden
 
	currentlytweening[target] = true;
	direction[target] = "up";
	tween(target);
}

function tween(target){
	currentobj[target] = document.getElementById(target);
 
	destination[target] = parseInt(currentobj[target].style.height);
	initial[target] = (new Date()).getTime();
 
	if(direction[target] == "down"){
		currentobj[target].style.height = "1px";
	}
 
	currentobj[target].style.display = "block";
 
	TID[target] = setInterval('tweentick(\'' + target + '\');',tick);
}

function tweentick(target){
	var elapsed = (new Date()).getTime() - initial[target];
 
	if (elapsed > duration)
		tweencomplete(target)
	else {
		var d =Math.round(elapsed / duration * destination[target]);
		if(direction[target] == "up")
			d = destination[target] - d;
 
		currentobj[target].style.height = d + "px";
	}
 
	return;
}

function tweencomplete(target){
	clearInterval(TID[target]);
 
	if(direction[target] == "up")
		currentobj[target].style.display = "none";
 
	currentobj[target].style.height = destination[target] + "px";
 
	delete(currentlytweening[target]);
	delete(TID[target]);
	delete(initial[target]);
	delete(destination[target]);
	delete(currentobj[target]);
	delete(direction[target]);
	
	return;
}