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;
	}
}


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);        
}


/* Własne funkcje */
function getMouseXY(e) {
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	} 
  return new Array(posx, posy);
}

function showDesc(e, id) {	
	var xy = getMouseXY(e);
	var bl = $(id);
	bl.style.display = 'block';  
	bl.style.top = xy[1]+10+'px';
	bl.style.left = xy[0]+10 +'px';	
}

function hideDesc(id) {
	var bl = $(id);
	bl.style.display = 'none';
}

function moveDesc(e, id) {	
	var xy = getMouseXY(e);
	var bl = $(id);
	bl.style.display = 'block';  
	bl.style.top = xy[1]+10+'px';
	bl.style.left = xy[0]+10 +'px';	
}

function pokarz_part( which ) {
	wname = 'hidden_' + which ;
	hname = 'nag_' + which ;
	$('hidden_opis').style.display = 'none';
	$('hidden_rzuty').style.display = 'none';
	$('hidden_sytuacja').style.display = 'none';
	$('nag_opis').style.fontWeight = 'normal';
	$('nag_rzuty').style.fontWeight = 'normal';
	$('nag_sytuacja').style.fontWeight = 'normal';
	
	$(wname).style.display = 'block';
	$(hname).style.fontWeight = 'bold';
	hideClass('desc_pic');
}

function change_display( id ) {
  if( $(id).style.display == 'none' )
    $(id).style.display = 'block';
  else
    $(id).style.display = 'none' ;
}

function openAnim( name ) {
		window.open('film,'+name+'.html','my_new_window','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=360, height=280, top=20, left=20')
}

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 onPictureEv( where, name, id, title ) {
//alert(name);
  $( where ).src = './projects/goldproject/resources/application/projekty/mini2/' + name ;
  $( where ).parentNode.href = './projects/goldproject/resources/application/projekty/' + name ;
  $( where ).parentNode.title = title ;
  hideClass('desc_pic');
  $( 'desc_' + id ).style.display = "block" ;   
}

//-----------------------------------------------------------------------------
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;
}


//-------------------------------------------------------------------------
// zaznacza i odznacza wszystkie typy w wyszukiwarce zaawansowanej
function do_action( ob ) {
  var check = false ;
  if( ob.checked ) 	 //zaznacz wszystkie
    check = true;
    
  var toHide = getElementsByClass("kind_tags_all");
  for(i=0; i<toHide.length; i++)
    toHide[i].checked = check;
  	
  
}


