<!-- hide
///////////////////////////////////////////// Timeout Array
window.timeOuts=[]; 
function clearAllTimeouts(){  
    for(var key in timeOuts ){ 
        clearTimeout(timeOuts[key]);  
    }  
}

///////////////////////////////////////////// Javascript Cookie Handler
function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}
///////////////////////////////////////////// Jump to URL
function jump(sss) {
	if (sss != "null") {
		document.location.href = sss;
	}
}
///////////////////////////////////////////// Submit Form
function submitform(sss) {
	if (sss!="") {
		document.getElementById(sss).submit();
	}
}
///////////////////////////////////////////// Clear Form Item
function clearme(sss) {
	if (sss.value == sss.defaultValue) {
		sss.value = "";
	}
}
///////////////////////////////////////////// Show/Hide Item
function toggleme(sss) {
	if ( document.getElementById(sss).style.display != 'none' ) {
		document.getElementById(sss).style.display = 'none';
	}
	else {
		document.getElementById(sss).style.display = 'block';
	}
	document.body.style.overflow="auto";
}
///////////////////////////////////////////// Round Number
function roundno(num,dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}
///////////////////////////////////////////// currency formatting
function cformat(sss)
{
	var i = parseFloat(sss);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}
///////////////////////////////////////////// AJAX Builder
var xmlHttp
function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
function cr(rrr,sss,ttt) {
	if (rrr!="" && sss!="" && ttt!="") {
		document.getElementById(sss).innerHTML=eval(ttt-rrr.length);
	}
}

// Esave stuff
var datesave=function(table,id,fid,vid,iid,rsc,vtype) {
    $(vid).innerHTML='';
    var val=$(fid).value+' '+$(fid+'_hour').value+':'+$(fid+'_min').value+':00';
    new Ajax.Updater(vid,'ajax.asp',{parameters:{act:'editsave',table:table,id:id,fid:fid,vid:vid,val:val,rsc:rsc,vtype:vtype},insertion:Insertion.Top,evalScripts:true, queue:{position:'end',scope:'doqueue'}});
}
var esave=function(table,id,fid,vid,iid,rsc,vtype) {
    clearTimeout(timeOuts['timedsave_'+fid]); 
    timeOuts['timedsave_'+fid] = setTimeout("dosave('"+table+"','"+id+"','"+fid+"','"+vid+"','"+iid+"','"+rsc+"','"+vtype+"')",500);
}
var dosave=function(table,id,fid,vid,iid,rsc,vtype,opt) {
    opt = typeof opt == "object" ? opt : {};
    var onComplete = opt.onComplete || function(){};
    $(vid).innerHTML='';
    if ($(iid).type=='checkbox') {
        var iname=document.getElementsByName($(iid).name);
        var val=''
        if (iname.length>1) {
            var cb=0;
            val='-';
            iid=$(iid).name
            for (cb=0;cb<iname.length;++cb) {
                if (iname[cb].checked) {
                    val=val+iname[cb].value+'-'
                }
            }
        } 
        else {
            if ($(iid).checked) {
                val=$(iid).value
            } else {
                val=0    
            }
        }
    } 
    else if ($(iid).type=='radio') {
        var iname=document.getElementsByName($(iid).name);
        var val=''
        if (iname.length>1) {
            var cb=0;
            iid=$(iid).name
            for (cb=0;cb<iname.length;++cb) {
                if (iname[cb].checked) {
                    val=iname[cb].value
                }
            }
        } 
        else {
            if ($(iid).checked) {
                val=$(iid).value
            } else {
                val=0    
            }
        }
    } 
    else if ($(iid).type=='select-one') {
        var val=$(iid).options[$(iid).selectedIndex].value;
    } 
    else {
        var val=$(iid).value;
    }
    new Ajax.Updater(vid,'ajax.asp',{
        parameters:{
            act:'editsave',
            table:table,
            id:id,
            fid:fid,
            vid:vid,
            val:val,
            rsc:rsc,
            vtype:vtype
        },
        evalScripts:true,
        queue:{
            position:'end',
            scope:'doqueue'
        },
        onComplete : onComplete
    });
}
var ecursave=function(table,id,fid,vid,iid,rsc,vtype) {
    clearTimeout(timeOuts['timedsave_'+fid]); 
    timeOuts['timedsave_'+fid] = setTimeout("docursave('"+table+"','"+id+"','"+fid+"','"+vid+"','"+iid+"','"+rsc+"','"+vtype+"')",1000);
}
var docursave=function(table,id,fid,vid,iid,rsc,vtype) {
    $(vid).innerHTML='';
    var val=cformat($(fid).value);
    new Ajax.Updater(vid,'ajax.asp',{parameters:{act:'editsave',table:table,id:id,fid:fid,vid:vid,val:val,rsc:rsc,vtype:vtype},insertion:Insertion.Top,evalScripts:true, queue:{position:'end',scope:'doqueue'}});
}
var fsave=function(formid,asppage,iid,vid) {
    $(formid).target=iid;
    $(formid).action=asppage;
    submitform(formid);
    $(vid).innerHTML='<img src="/library/ajax-loader.gif" alt="please wait">'
}
var foldersave=function(table,id,fid,vid,iid,vtype) {
    clearTimeout(timeOuts['timedsave_'+fid]); 
    timeOuts['timedsave_'+fid] = setTimeout("folderesave('"+table+"','"+id+"','"+fid+"','"+vid+"','"+iid+"','"+vtype+"')",1000);
}
var folderesave=function(table,id,fid,vid,iid,vtype) {
    $(vid).innerHTML='';
    var val=$(fid).value;
    new Ajax.Updater(vid,'ajax.asp',{parameters:{act:'foldersave',table:table,id:id,fid:fid,vid:vid,val:val},insertion:Insertion.Top,evalScripts:true, queue:{position:'end',scope:'doqueue'}});
}

// Parses first occurence of number in string
var parseFirstInt = function(str){
	// Loop through string
	for (var i=0; i<str.length; i++) 
	{ 
		// If this part of the string is a number
		if (!isNaN(str.substr(i,1))){
			var returnInt = parseInt(str.substr(i,str.length),10);
			// Check if it's preceded by a - sign.
			if(str.substr(i-1,1) == '-')
				returnInt = returnInt * -1;
			
			return returnInt;
		}
	}
	// No number found
	return;	
} 

var parseFirstFloat = function(str){
	// Loop through string
	for (var i=0; i<str.length; i++) 
	{ 
		// If this part of the string is a number
		if (!isNaN(str.substr(i,1))){
			var returnFloat = parseFloat(str.substr(i,str.length),10);
			 
			// Check if it's preceded by a - sign.
			if(str.substr(i-1,1) == '-')
				returnFloat = returnFloat * -1;
			
			return returnFloat;	
		}
	}
	// No number found
	return;	
}


// Returns most fitting event eg. onChange, onClick for an element.
var getObserveType = function(el){
    var returnType;
    
    // Switch on element type
    switch (el.type){
        case 'select-one':
            returnType = 'change';
            break;
        
        case 'radio': case 'checkbox':
            returnType = 'click';
            break;
        
        default:
            returnType = 'keyup';
            break;
    }
    
    // Special cases
    if( el.hasClassName('color') )
        returnType = 'change';
        
    return returnType;
}

var fadetmsg=function() {
    $('tmsg').fade({ duration: 2.0, from: 1, to: 0, delay: 4.0 });
}


// end hide -->
