//-----------------------------------------------------------------------------
/*function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (typeof element == 'string')
    element = document.getElementById(element);
  return element;
}
//-----------------------------------------------------------------------------
*/function $F( element ){
	var element =  $( element );
	if( element.type == "select-one" ){
		value = element.options[element.selectedIndex].value;
		return value;
	}
	
	return element.value;	
}/*
//-----------------------------------------------------------------------------
function $S( element, value ){
	var element =  $( element );
	if( element.type == "select-one" ){
		for (var i=0; i<element.options.length; i++){
	    	if( element.options[i].value == value)
	    		element.options[i].selected = true;
		}
	}else if(element.type == "checkbox"){
		if( value == 1 || value == true )
			element.checked = true;
		else
			element.checked = false;
	}else{
		element.value = value;
	}
}
*/
//-----------------------------------------------------------------------------
/*Get a variable from query string*/
function $GET(name){
	get_string = document.location.search.replace( /%20/g, ' ' );         
	return_value = '';
 
	do { //This loop is made to catch all instances of any get variable.
   		name_index = get_string.indexOf(name + '=');
    
    	if(name_index != -1){
      		get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index);
      
      		end_of_value = get_string.indexOf('&');
      		if(end_of_value != -1)                
        		value = get_string.substr(0, end_of_value);                
      		else                
        		value = get_string;                
        
      		if(return_value == '' || value == '')
         		return_value += value;
      		else
         		return_value += ', ' + value;
      		}
    } while(name_index != -1)
    
 	//Restores all the blank spaces.
 	space = return_value.indexOf('+');
 	while(space != -1){ 
    	return_value = return_value.substr(0, space) + ' ' + 
      	return_value.substr(space + 1, return_value.length);
					 
      	space = return_value.indexOf('+');
 	}
  
	return(return_value);        
}
//-----------------------------------------------------------------------------
function hookEvent(element, eventName, callback)
{
  if(typeof(element) == "string")
    element = document.getElementById(element);
  if(element == null)
    return;
  if(element.addEventListener)
  {
    if(eventName == 'mousewheel')
    {
      element.addEventListener('DOMMouseScroll', callback, false); 
    }
    element.addEventListener(eventName, callback, false);
  }
  else if(element.attachEvent)
    element.attachEvent("on" + eventName, callback);
}
//-----------------------------------------------------------------------------
function unhookEvent(element, eventName, callback)
{
  if(typeof(element) == "string")
    element = document.getElementById(element);
  if(element == null)
    return;
  if(element.removeEventListener)
  {
    if(eventName == 'mousewheel')
    {
      element.removeEventListener('DOMMouseScroll',
        callback, false); 
    }
    element.removeEventListener(eventName, callback, false);
  }
  else if(element.detachEvent)
    element.detachEvent("on" + eventName, callback);
}

//------------------------------------------------------------------------------
function cancelEvent(e)
{
  e = e ? e : window.event;
  if(e.stopPropagation)
    e.stopPropagation();
  if(e.preventDefault)
    e.preventDefault();
  e.cancelBubble = true;
  e.cancel = true;
  e.returnValue = false;
  return false;
}
//---------------------------------------------------------------------------------
function getElementsByClass(searchClass,node,tag) {
	   
	   var classElements = new Array();
	   var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	   node = (node == null) ? document : node;
	  
	   if ((document.getElementsByTagName("*").length > 0) || (tag != null)){
	      tag = (tag == null) ? "*" : tag;
	      var els = node.getElementsByTagName(tag);
	      var elsLen = els.length;
	      for (i = 0, j = 0; i < elsLen; i++){
	         if (pattern.test(els[i].className)){
	            classElements[j] = els[i];
	            j++;
	         }
	      }
	   }else{
	      var els = node.all;
	      var elsLen = els.length;
	      for (i = 0, j = 0; i < elsLen; i++){
	         if (pattern.test(els[i].className)){
	            classElements[j] = els[i];
	            j++;
	         }
	      }
	   }
	   return classElements;
	} 


	function hideClass(cls){
	  var toHide = getElementsByClass(cls);
	  for(i=0; i<toHide.length; i++){
	    toHide[i].style.display = "none";
	  }
	}

	function showClass(cls){
	  var toShow = getElementsByClass(cls);
	  for(i=0; i<toShow.length; i++){
	    toShow[i].style.display = "";
	  }
	}

	function show(id)
	{
	  document.getElementById(id).style.display=""; 
	}
	          
	function hide(id)
	{
	  document.getElementById(id).style.display="none";           
	}

	function reverse_display(id) {
		var ob = document.getElementById(id) ;
		if( ob.style.display == "" )
			ob.style.display = "none" ;
		else {
			ob.style.display = "" ;
		}
	}

	function showElementFromClass( id, cls ) {
		hideClass( cls ) ;
		var ids = id.split(";") ;
		for( i = 0; i < ids.length ; ++i ) {
			if( ids[i].length > 0 ) {
			show( ids[i] );
			}
		}
	}

	// dodaje do obiektu klase cls - jesli juz istenije to pomija
	// jesli 3 parametr jest true to znaczy ze juz moze istniec ta klasa w danych i wtedy jej nie dopisujemy
	function addClass( obj, cls, cls_exist ) {
		if (typeof obj == 'string')
		    obj = document.getElementById(obj);
		if( obj.className ) {
			var arr_cls = obj.className.split(' ') ;
		    if( cls_exist ) {
		    	 var cls_upper = cls.toUpperCase();
		         for ( var i = 0; i < arr_cls.length; i++ ) {
		            if ( arr_cls[i].toUpperCase() == cls_upper ) 
		            	return ;
		         }
		    }
			arr_cls[arr_cls.length] = cls ;
			obj.className = arr_cls.join(' ') ;
			//obj.setAttribute( 'class', arr_cls.join(' ') ) ;
		} else {
			obj.className = cls ;
		}
	}

	/*usuwa klase z obiektu*/
	function removeClass( obj, cls ) {
		if (typeof obj == 'string')
		    obj = document.getElementById(obj);
		if( obj ) {
		if( obj.className ) {
			var arr_cls = obj.className.split(' ') ;
			var cls_upper = cls.toUpperCase();
			for ( var i = 0; i < arr_cls.length; i++ ) {
	           if ( arr_cls[i].toUpperCase() == cls_upper ) {
	        	   arr_cls.splice( i, 1 ) ;
	        	   --i;
	           }
	        }
			obj.className = arr_cls.join(' ') ;
			//obj.setAttribute( 'class', arr_cls.join(' ') ) ;
		}
		}
		
	}
