       	
       	function isLast(_index, haystack){
    		return (_index == haystack.length-1) ? true : false	
    	}
    	function notLast(_index, haystack){
    		return (_index == haystack.length-1) ? false : true	
    	}    	
    	function isFirst(_index, haystack){
    		return (_index == 0) ? true : false	
    	} 
    	function notFirst(_index, haystack){
    		return (_index == 0) ? false : true	
    	} 
    	    	

		function throughArray(_value, _array, _direction){
			_pos = keyOf(_value, _array)
			switch (_direction) {
				case 'left' :
			    	if (isFirst(_pos, _array)) return false
			    	_kids.splice(_pos-1,2,_array[_pos],_array[_pos-1])				
			    break
			    case 'right' : 
			    	if (isLast(_pos, _array)) return false
			    	_kids.splice(_pos,2,_array[_pos+1],_array[_pos])
			    break
			}
			return true
    	}
    	

   function isset(self_var){

    	return (self_var != undefined) ? true : false
	}

    function initVar(self_var, _value){
    	return (isset(self_var)) ? self_var : _value
    } 
    
    function inArray(needle, haystack){
    	for (var i in haystack)
        	if (needle == haystack[i])
        		return true
        return false
    }
 
    function arrayDiff(haystack_A, haystack_B){
    	var diff = new Array() 
    	for (var i=0; i<haystack_A.length; i++)
    		if (!inArray(haystack_A[i], haystack_B)) 	
    			diff.push(haystack_A[i])
            
        return (diff.length) ? diff : false
    }
    
	function remStyle(domElem, _className){
		var _sten = new RegExp('\\b'+_className+'\\b','g')
		var _cn = domElem.className
		_cn = _cn.replace(_sten,'')
		_cn = _cn.replace(/\s{2,}/g,'')

		return domElem.className = _cn
	}              
	
	function addStyle(domElem, _className){
		 
		domElem.className += ' ' + _className
		return true
	}    

	function switcher(x){
		return Math.pow(0,x)
	}


	function keyOf(value, haystack){
		for (var i in haystack)
    		if (value == haystack[i])
        		return (isNaN(i)) ? i : Number(i)
    	return -1
	}    	

	function cleanChilds(domTarget){
		if (domTarget.hasChildNodes)
			for (var i=domTarget.childNodes.length-1; i>=0; i--)
				if (domTarget.childNodes[i].nodeType != 1)
					domTarget.removeChild(domTarget.childNodes[i])
	}
	
	function move_Node(_Node, _up_down){
		_Parent = _Node.parentNode
		cleanChilds(_Parent)
        switch (_up_down){
        	case 'UP':
        		if (_Node != _Parent.firstChild)
        			_Parent.insertBefore(_Node,_Node.previousSibling)
        	break;
        	case 'DOWN':
        		if (_Node != _Parent.lastChild)
        			_Parent.insertBefore(_Node.nextSibling, _Node)            	
        	break;
        }
	}	
