

//---------------------------------------------- STRING Manipulation functions ----------------------------------------------

function trim(inp)
{
    var retter="";
    var part;
    var pos=-1;
    var pos2=-1;
    
	if(inp.length==1&&inp.charAt[0]!=" ")
		return inp;

    for(i=0;i<inp.length&&pos<0;i++)	//Search Front
    {	
	part=inp.charAt(i);
	    
	if(part!=" ")
	    pos=i;
    }

    if(i==inp.length)			//Nothing till end of string?
	return "";			//Well then return nothing
    
    inp=inp.substring(pos,inp.length);
    
    for(i=inp.length-1;i>0&&pos2<0;i--)
    {
	part=inp.charAt(i);
	if(part!=" ")
	    pos2=i;
    }

    return inp.substring(0,pos2+1);
    
}

function searchPos(inp,needle,pos)
{
    var retter=pos;
    var getter=inp.substring(pos,inp.length);
    
    retter+=getter.search(needle);
    if(retter>=pos)
	return retter;
    else
	return -1;
}

function getTarget(evt)                
{                         
 	evt=((evt)?evt:event);                          
 	return ((evt.target)?evt.target:evt.srcElement); 
}                      
                                
function getXOffset(elem,abs)    
{         
	if(abs)                  
		if(abs==2)	//For TDs, to get their Table (TD->TR->TBODY->TABLE)
			return elem.parentNode.parentNode.parentNode.offsetLeft;
		else
			return elem.offsetLeft;  
	else                           
		if(elem.parentNode)
			if(elem.tagName!="TR"&&elem.tagName!="TBODY")
				return elem.offsetLeft+getXOffset(elem.parentNode,0);
			else    
				return getXOffset(elem.parentNode,0);
		else             
			return 0;
}                      
           
function getYOffset(elem,abs)
{         
	if(abs)
		if(abs==2)	//For Menu, to get the offset to the upper Menu
		{             
			imat=elem.id.substring(elem.id.search("T")+1,elem.id.length);                                 
			retter=elem.parentNode.parentNode.parentNode.offsetTop; //SubMenuTable Offset
			for(i=0;i<imat;i++)	//Add Height of Upper Menues                     
				
retter+=document.getElementById(elem.id.substring(0,elem.id.search("T")+1)+i).offsetHeight;                                                                                           
			return retter;
		}       
		else                                                           
			return elem.offsetTop;  
	else                           
		if(elem.parentNode)
			if(elem.tagName!="TR"&&elem.tagName!="TBODY")
				return elem.offsetTop+getYOffset(elem.parentNode,0);
			else    
				return getYOffset(elem.parentNode,0);
		else    
			return 0;
}                      
             
function getElemsByName(inp,elemtype)    
{
 	//IE           
 	
 	if(navigator.userAgent.search("MSIE")!=-1)
 	{           
 		v=0;
 		elems=document.getElementsByTagName(elemtype);
 		retter= new Array();
 		for(i=0;i<elems.length;i++)
 			if(elems[i].name==inp)
 				retter[v++]=elems[i];                               
 		return retter;   
 	}                       
 	//Other
 	else                                                                        
 		return document.getElementsByName(inp); 
}                       

