function swapVis(div1,div2){
	if(document.getElementById(div1).className == "show"){
		document.getElementById(div1).className = "hide";
		document.getElementById(div2).className = "show";
	} else {
		document.getElementById(div1).className = "show";
		document.getElementById(div2).className = "hide";
	}
}

function RenameDiv(fieldName){
	if(document.getElementById('Disp' + fieldName).style.display == "block"){
		document.getElementById('Edit' + fieldName).style.display = "block";
		document.getElementById('Input' + fieldName).value = document.getElementById(fieldName).value;
		document.getElementById('Disp' + fieldName).style.display = "none";
	} else {
		document.getElementById('Disp' + fieldName).style.display = "block";
		document.getElementById(fieldName).value = document.getElementById('Input' + fieldName).value
		document.getElementById('Disp' + fieldName).innerHTML = '<h1>' + document.getElementById(fieldName).value + '</h1><a href="javascript:RenameDiv(\'' + fieldName + '\');">rename</a>';
		document.getElementById('Edit' + fieldName).style.display = "none";
		
	}
}

function CancelDiv(fieldName){
	if(document.getElementById('Disp' + fieldName).style.display == "block"){
		document.getElementById('Edit' + fieldName).style.display = "block";
		document.getElementById('Disp' + fieldName).style.display = "none";
	} else {
		document.getElementById('Disp' + fieldName).style.display = "block";
		document.getElementById('Edit' + fieldName).style.display = "none";
	}
}


function copyDiv(SourceDiv,DestDiv){
	document.getElementById(DestDiv).innerHTML = document.getElementById(SourceDiv).innerHTML;
}

function copyAndAddtoDiv(SourceDiv,DestDiv){
	document.getElementById(DestDiv).innerHTML = document.getElementById(DestDiv).innerHTML + document.getElementById(SourceDiv).innerHTML;
}


/*-----------------------------------------------------------
    Toggles element's display value
    Input: any number of element id's
    Output: none 
    ---------------------------------------------------------*/
function toggleDisp() {
    for (var i=0;i<arguments.length;i++){
        var d = $(arguments[i]);
        if (d.style.display == 'none')
            d.style.display = 'block';
        else
            d.style.display = 'none';
    }
}
/*-----------------------------------------------------------
    Toggles tabs - Closes any open tabs, and then opens current tab
    Input:     1.The number of the current tab
                    2.The number of tabs
                    3.(optional)The number of the tab to leave open
                    4.(optional)Pass in true or false whether or not to animate the open/close of the tabs
    Output: none 
    ---------------------------------------------------------*/
function toggleTab(num,numelems,opennum,animate) {
    if ($('tabContent'+num).style.display == 'none'){
        for (var i=1;i<=numelems;i++){
            if ((opennum == null) || (opennum != i)){
                var temph = 'tabHeader'+i;
                var h = $(temph);
                if (!h){
                    var h = $('tabHeaderActive');
                    h.id = temph;
                }
                var tempc = 'tabContent'+i;
                var c = $(tempc);
                if(c.style.display != 'none'){
                    if (animate || typeof animate == 'undefined')
                        Effect.toggle(tempc,'blind',{duration:0.5, queue:{scope:'menus', limit: 3}});
                    else
                        toggleDisp(tempc);
                }
            }
        }
        var h = $('tabHeader'+num);
        if (h)
            h.id = 'tabHeaderActive';
        h.blur();
        var c = $('tabContent'+num);
        c.style.marginTop = '2px';
        if (animate || typeof animate == 'undefined'){
            Effect.toggle('tabContent'+num,'blind',{duration:0.5, queue:{scope:'menus', position:'end', limit: 3}});
        }else{
            toggleDisp('tabContent'+num);
        }
    }
}

function isNumberKey(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57))
	return false;
	
	return true;
}

function isAlphaNumeric(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode < 31 || (charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || (charCode > 47 && charCode < 58)){
		return true;
	} else {
		return false;
	}
}

/* AJAX Related Functions */

function LoadAction(WorkPage,Params){

	Effect.Appear('LoadingArea',{duration:.05});

	if(Params != ''){
		Path = 'process/ajax.'+WorkPage+'.php?'+Params;
	} else {
		Path = 'process/ajax.'+WorkPage+'.php';
	}
	
	new Ajax.Updater('TempArea', Path, {onComplete:function(){ Element.hide('LoadingArea'); new Effect.Appear('WorkArea',{duration:.3}); new Effect.Appear('Overlay',{duration:.3});},asynchronous:true, evalScripts:true});
	
}

function LoadParams(WorkPage,Params){
	
	if(Params != ''){
		Path = 'process/ajax.'+WorkPage+'.php?'+Params;
	} else {
		Path = 'process/ajax.'+WorkPage+'.php';
	}
	
	new Ajax.Updater('TempArea', Path, {asynchronous:true, evalScripts:true});

}

function DoAction(){

	Effect.Appear('LoadingArea',{duration:.05});

	serialForm = $('WorkForm').serialize(true);
	
	new Ajax.Updater('TempArea', $('WorkForm').action, { onComplete:function(){ Element.hide('LoadingArea');}, parameters: serialForm, method: 'post',asynchronous:true, evalScripts:true }); 

  
}

function DoActionWithRefresh(DivName){

	DoAction();
	
	if($(DivName)){
	//	$(DivName).innerHTML = '&nbsp';
	}	
  
}

function DoFormAction(FormName){

	Effect.Appear('LoadingArea',{duration:.05});

	if($(FormName)){
		serialForm = $(FormName).serialize(true);

		new Ajax.Updater('TempArea', $(FormName).action, { onComplete:function(){ Element.hide('LoadingArea');}, parameters: serialForm, method: 'post',asynchronous:true, evalScripts:true }); 
	}
	

  
}

function DoDeleteFormAction(FormName,DivName){

	DoFormAction(FormName);
	
	if($(DivName)){
	//	$(DivName).innerHTML = '&nbsp';
	}
	
}

//SHow/Hide DIV tag Todd Santoro 2/28/2008 /////

var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function slidedown(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible

        moving[objname] = true;
        dir[objname] = "down";
        startslide(objname);
}

function slideup(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving[objname] = true;
        dir[objname] = "up";
        startslide(objname);
}

function startslide(objname){
        obj[objname] = document.getElementById(objname);

        endHeight[objname] = parseInt(obj[objname].style.height);
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlide(objname)
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
}

function endSlide(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}


function toggleSlide(objname){
	if(document.getElementById(objname).style.display == "none"){
		// div is hidden, so let's slide down
		slidedown(objname);
	}else{
		// div is not hidden, so slide up
		slideup(objname);
	}
}