/* 

Graficzny SELECT wersja: 1.0 data: 07.01.2009r

*/

var active=false;
var active_x;
var active_y;
var active_width;
var active_height;
var active_id;

var IE = document.all?true:false
if (!IE) document.captureEvents(Event.ONMOUSEUP)
document.onmouseup = getMouseXY;
var tempX = 0
var tempY = 0
function getMouseXY(e) {
	if(active) {
	  if (IE) { 
		tempX = event.clientX + document.body.scrollLeft
		tempY = event.clientY + document.body.scrollTop
	  } else {  
		tempX = e.pageX
		tempY = e.pageY
	  }  
	  if (tempX < 0){tempX = 0}
	  if (tempY < 0){tempY = 0} 
	  
	  if(!((tempX>=active_x && tempX<=parseInt(active_x+active_width)) && (tempY>=active_y && tempY<=parseInt(active_y+active_height))) && active_id!='undefined') {
		var obj = document.getElementById(active_id);
		if(obj!='undefined') {
			obj.style.display = 'none';
		}
		active_x = 0;
		active_y = 0;
		active_width = 0;
		active_height = 0;
		active_id='';
		active=false;
	  }

	  return true
	}
}
function getElementsByClassName(cn,contener){
  var arr = new Array(); 
  var els = contener.getElementsByTagName("*");
  var exp= new RegExp("^(.* )?"+cn+"( .*)?$", "g");
  for (var i = 0; i < els.length; i++ ){
	if (exp.test(els[i].className)){
	  arr.push(els[i]);
	}
  }
  return arr;
}
function menuOpen(obj) {
	var menu = getElementsByClassName('selectMenu',obj);
	if(menu[0].style.display == 'none') {
		menu[0].style.display = 'block';
		var curleft = curtop = 0;
		var obje = menu[0];
		if (obje.offsetParent) {
			do {
				curleft += obje.offsetLeft;
				curtop += obje.offsetTop;
			} while (obje = obje.offsetParent);
		}
		active_x = curtop;
		active_y = curleft;
		active_width = menu[0].offsetWidth;
		active_height = menu[0].offsetHeight;
		active_id = menu[0].id;
		active = true;
	} else {
		menu[0].style.display = 'none';
	}
}
function menuClose(contener) {
	var menu = getElementsByClassName('selectMenu',contener);
	menu[0].style.display = 'none';
}
function menuChange(text,valu,id,obj) {
	var input = document.getElementById(id);
	
	if(input!='undefined') {
		input.value = valu;
		input.setAttribute('value',valu);
	}
	if(document.getElementById('buttons')!='undefined' && document.getElementById('button_return')!='undefined')
	{
		document.getElementById('buttons').style.display = 'block';
		document.getElementById('button_return').style.display = 'none';
	}
	var textSpan = getElementsByClassName("text",obj.parentNode.parentNode);
	textSpan[0].innerHTML = text;
	menuClose(obj.parentNode.parentNode);
}
function gSelect(id_contener,name,values) {
	var default_choose = 'wybierz';
	var contener = document.getElementById(id_contener);
	if(contener!='undefined') {
		if(values.length>0) { 
			contener.innerHTML += '<div class="selectBody"><div class="selectButton" onClick="menuOpen(this.parentNode);"></div><div class="selectMenu" id="'+name+'_selectMenu" style="height:auto; display:none;"></div><div class="text">'+default_choose+'</div><div style="clear:both; font-size:1px; height:0px;"></div></div>';

			var menu = getElementsByClassName('selectMenu',contener);
			/*menu[0].style.width = menu[0].parentNode.offsetWidth;
			if (!IE) {
				menu[0].style.top = parseInt(menu[0].parentNode.offsetHeight+menu[0].offsetTop+1)+'px';
			} else {
				menu[0].style.top = parseInt(menu[0].parentNode.offsetHeight+menu[0].offsetTop-4)+'px';
			}*/


			for(var i = 0; i<values.length; i++) {
				menu[0].innerHTML += '<div class="selectElement" onmouseover="this.className=\'selectElementHover\'" onmouseout="this.className=\'selectElement\'" onClick="menuChange(\''+values[i][1]+'\',\''+values[i][0]+'\',\''+name+'_id'+'\',this)">'+values[i][1]+'</div>';
			}

		} else {
			contener.innerHTML += '<div class="selectBody"></div>';
		}
	}
}
