// JavaScript Document
// Post-load scripts
document.observe("dom:loaded", postload);
function postload() {
	setupRounded();
	setupSearch();
	$("quicklinksmenu").selectedIndex = 0;
}

function setupRounded() {
	var rounded = $$(".rounded");
	var l = rounded.length;
	for (var i=0; i<l; ++i){
		rounded[i].insert("<div class='tl'></div><div class='tr'></div><div class='bl'></div><div class='br'></div>");
	}
	
	delete rounded;
}

// Site search //
var searchHtml = '<div id="searchbox"><h2>Enter Search Text:</h2><form id="searchbox_009995234366953746921:izif8vs7xoi" action="http://www.google.com/cse">'
searchHtml += '<input type="hidden" name="cx" value="009995234366953746921:izif8vs7xoi" />'
searchHtml += '<input type="hidden" name="cof" value="FORID:11" />'
searchHtml += '<input name="q" id="searchtext" autocomplete="off" type="search" autosave="" class="text" maxlength="255" tabindex="1" />'
searchHtml += '<input name="sa" type="submit" class="button" value="Site Search" tabindex="2" /></form>'

// Person search //
searchHtml += '<form action="http://ds411.ewp.rpi.edu:10411/ds/dosearch" method="post" name="searchForm" id="peopleSearchForm">'
searchHtml += '<input type="hidden" name="mode" value="smart" />'
searchHtml += '<input type="hidden" name="base" value="o=rh.edu" />'
searchHtml += '<input type="hidden" name="ldapserver" value="ds411.ewp.rpi.edu" />'
searchHtml += '<input type="hidden" name="ldapport" value="10389" />'
searchHtml += '<input type="hidden" name="type" value="People" />'
searchHtml += '<input type="hidden" name="ldapsizelimit" value="1000" />'
searchHtml += '<input type="submit" name="SUBMIT" class="button" value="Find People" tabindex="3" />'
searchHtml += '<input type="hidden" name="searchstring" id="peoplesearchstring" /></form>'

function setupSearch() {
	$("wrapper").insert(searchHtml);
	var sb = $("searchbox");
	
	
	sb.setOpacity(0);
	sb.hide();
	sb.observe('mouseover', cancelSearchTimeout);
	sb.observe('mouseout', hideSearch);
	
	$("peopleSearchForm").observe('submit', prepPeopleSearch);
	
	var searchers = $$(".search");
	var l = searchers.length;
	for (var i=0; i<l; ++i) {
		var a = searchers[i];
		Event.observe(a, 'click', showSearch);
		Event.observe(a, 'mouseover', showSearch);
		Event.observe(a, 'mouseout', hideSearchDelayed);
	}
}

function prepPeopleSearch(event) {
	//Copy single text field's value into people search's searchstring
	$("peoplesearchstring").value = $("searchtext").value;
}

function stopEvent(event) {
	Event.stop(event);
}

function showSearch(event) {
	var tar = Event.element(event);
	var sb = $('searchbox');
	
	sb.show();
	sb.style.left = "550px";
	sb.style.top = "40px";
	sb.clonePosition(tar, {setLeft:true, setTop:true, setWidth:false, setHeight:false, offsetLeft:-110, offsetTop:20});
	
	
	fadeIn(sb);
	$("searchtext").focus();
	
	Event.stop(event);
	return false;
}

var tid;
function cancelSearchTimeout(event) {
	clearTimeout(tid);
	clearInterval(fadeid);
}

function hideSearchDelayed(event) {
	cancelSearchTimeout();
	tid = setTimeout(hideSearch, 700);
	$('searchbox').setOpacity(1);
}

function hideSearch(event) {
	fadeOut($('searchbox'));
}

var fadeid;
function fadeIn(e) {
	e.show();
	if (fadeid) {
		clearInterval(fadeid);
	}
	fadeid = setInterval(function(){fadeDiff(e, 0.2)}, 50);
}

function fadeOut(e) {
	if (fadeid) {
		clearInterval(fadeid);
	}
	fadeid = setInterval(function(){fadeDiff(e, -0.2)}, 50);
}

function fadeDiff(e, amt) {
	var cur = e.getStyle('opacity');
	if ((cur >= 1 && amt>0) || (cur<=0 && amt<0)) {
		clearInterval(fadeid);
		fadeid = null;
		if (amt<0){
			e.hide();//auto hide
		}
		return;
	}
	e.setOpacity(cur+amt);
}
