

function insertAfter(newElm,elm)
{
	var clone = elm.cloneNode(true);
	elm.parentNode.insertBefore(clone,elm);
	elm.parentNode.replaceChild(newElm,elm);
}

function changeOpac(opacity, id)
{
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function opacity(id, opacStart, opacEnd, millisec)
{
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

myvars = [];
function send_msg(msg_id, msg_contents)
{
	if(myvars[msg_id] == undefined)
	{
		myvars[msg_id]=document.createElement('div');
		myvars[msg_id].className = 'msg';
		myvars[msg_id].setAttribute('id', msg_id);
		document.getElementById('msgs').appendChild(myvars[msg_id]);
		myvars[msg_id].innerHTML=msg_contents;
	}
}

function show_hide(div, auto)
{
	var element = document.getElementById(div);
	if (element.style.display == "none")
	{
		element.style.display = 'block';
	}
	else
	{
		element.style.display = 'none';
	}

	if(auto != undefined && auto > 0)
	{
		setTimeout("show_hide('"+ div +"')", auto);
	}

return false;
}

function show(div)
{
	var element = document.getElementById(div);
	element.style.display = 'block';
	return false;
}

function hide(div)
{
	var element = document.getElementById(div);
	element.style.display = 'none';
	return false;
}

function numbers_only(e,element)
{
	var keynum;
	var keychar;
	var numcheck;
	keynum = e.keyCode;
	if(keynum == 13)
	{
		onKeyPress(e,element);
	}
	if((keynum >= 48 && keynum <= 57) || (keynum >= 96 && keynum <= 105) || (keynum == 8) || keynum == 9 || (keynum >= 37 && keynum <= 40))
	{
		return true;
	}
	return false;
}

function capWords(inputString)
{
	var outputString = ""; // The output text field
	var tmpStr, tmpChar, preString, postString, strlen;
	tmpStr = inputString.toLowerCase();
	stringLen = tmpStr.length;

	if (stringLen > 0)
	{
		for (i = 0; i < stringLen; i++)
		{
			if (i == 0)
			{
				tmpChar = tmpStr.substring(0,1).toUpperCase();
				postString = tmpStr.substring(1,stringLen);
				tmpStr = tmpChar + postString;
			}
			else
			{
				tmpChar = tmpStr.substring(i,i+1);
				if (tmpChar == " " && i < (stringLen-1))
				{
				tmpChar = tmpStr.substring(i+1,i+2).toUpperCase();
				preString = tmpStr.substring(0,i+1);
				postString = tmpStr.substring(i+2,stringLen);
				tmpStr = preString + tmpChar + postString;
				}
			}
		}
	}
outputString = tmpStr;
return outputString;
}

function select_element(select_el,target_el)
{
	// find and display target
	if(document.getElementById(target_el))
	{
		target_parent_el = document.getElementById(target_el).parentNode;
		for(i=0;i<target_parent_el.childNodes.length;i++)
		{
			this_el = target_parent_el.childNodes[i];

			if(this_el.id == target_el)
			{
				this_el.style.display = "block";
			}
			else
			{
				this_el.style.display = "none";
			}
		}
	}
	
	// highlight this trigger, normalize others
	parent_el = document.getElementById(select_el).parentNode;
	for(x=0;x<parent_el.childNodes.length;x++)
	{
		this_el = parent_el.childNodes[x];
		if(this_el.id == select_el)
		{
			opacity(this_el.id,100,60,40);
		}
		else
		{
			opacity(this_el.id,60,100,40);
		}
	}	
}	


function textClear (input)
{
	if ( input.value == input.defaultValue ) 
	{ 
		input.value = ""; 
	} 
}
function textRestore (input)
{
	if ( input.value == "" ) 
	{
		input.value = input.defaultValue;	
	} 
}

function getUrl(url) {
var http = new XMLHttpRequest();
http.open("GET",url,false);
http.send("");
return http.responseText;
}

dateobj = new Date();
last_type = dateobj.getTime();
flat_file = "";
blockBlur = false;
autosuggest_selected_index = 0;
num_autosuggest_results = 0;
 
function filterText(sText) {
	var reBadWords = /"|'/gi;
	return sText.replace(reBadWords, function (sMatch) {
		return sMatch.replace(/./g, "*");
	});
}



function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}