/*
	loadingAnim(loadText, loadElement)
// called with
    document.getElementById(loadElement).style.display='block';
    intrvLoad = setInterval(loadingAnim,400,loadText,loadElementID);
// end with
	clearInterval(intrvLoad);
*/
var loadDot = 1; // start at loadText .
var loadingAnim = function(loadText, loadElementID, loadItem){
	//alert(loadText+":"+loadElementID+":"+loadItem);
	//if(arguments[2]) loadItem = arguments[2];
    if(loadDot > 3) loadDot = 0;
    var newText = loadText+'&nbsp;';
    for(var i=0;i<loadDot;i++){
        newText += loadItem;
    }
    if(document.getElementById(loadElementID))document.getElementById(loadElementID).innerHTML = newText;
    loadDot++;
}

var loadSpin = 0; // start at |
var spinForms = new Array('|','/','-','\\');

var loadingSpin = function(loadText,loadElementID){
    if(loadSpin==4) loadSpin = 0;
    if(document.getElementById(loadElementID))document.getElementById(loadElementID).innerHTML = loadText+' '+spinForms[loadSpin];
    loadSpin++;
}
function callLoadAnim(){
	loadingAnim('','loadballs','&bull;');
}
function closePopAlert(alertID){
    document.getElementById(alertID).style.display='none';
    if(arguments[1]){
        document.getElementById(arguments[1]).style.display='block';
    }
}
function submitEnter(myfield,e,imageID){
	var unicode=e.charCode? e.charCode : e.keyCode;
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	//alert("u: " +unicode+ "\nkeycode: "+keycode);
	if (keycode == 13){
		// do enter action here
		return true;
	}else{
		return true;
	}
}
function opacity(objID, opacStart, opacEnd, millisec) {
	// set opacity to opacStart and reveal
	var obj = document.getElementById(objID).style;
	// remove opacity and reveal
	obj.opacity = opacStart;
	obj.MozOpacity = opacStart;
	obj.KhtmlOpacity = opacStart;
	obj.filter = 'alpha(opacity='+opacStart+')';
	obj.display = 'block';

	//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 + ",'" + objID + "',1)",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd){
		for(i = opacStart; i <= opacEnd; i++){
			setTimeout("changeOpac(" + i + ",'" + objID + "',0)",(timer * speed));
			timer++;
		}
	}
}
//change the opacity for different browsers
function changeOpac(opacity, objID, removeFin) {
	var obj = document.getElementById(objID).style;
	obj.opacity = (opacity / 100);
	obj.MozOpacity = (opacity / 100);
	obj.KhtmlOpacity = (opacity / 100);
	obj.filter = "alpha(opacity=" + opacity + ")";
	if(opacity == 0 && removeFin){// remove element
		obj.display = 'none';
	}
}
var selected = '';
/* Browser Sniff */
var isIE = false;
var isOther = false;
var isNS4 = false;
var isNS6 = false;
if(document.getElementById){
	if(!document.all){isNS6=true;}
	if(document.all){isIE=true;}
}
else{
	if(document.layers){isNS4=true;} else{isOther=true;}
}

/* End Browser Sniff */
/* Access Layer Style Properties */
function aLs(layerID){
var returnLayer;
	if(isIE)	{returnLayer = eval("document.all." + layerID + ".style");}
	if(isNS6)	{returnLayer = eval("document.getElementById('" + layerID + "').style");}
	if(isNS4)	{returnLayer = eval("document." + layerID);}
	if(isOther)	{returnLayer = "null";
	}
	return returnLayer;
}
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
function isInteger(s){
var i;
    for (i = 0; i < s.length; i++)    {
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function getExtension(file) {
	var p = file.lastIndexOf(".");
	if (p>-1) {
		return file.substring(p);
	}
	else {
		return "";
	}
}