function showSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------

function hideSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}

function getPageScroll(){

	var yScroll;
	//var px=document.layers?'':'px';
	var px='';
	var mitat = 600;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset+(mitat/2);
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop+(mitat/2);
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop+(mitat/2);
	}
	arrayPageScroll = new Array('',yScroll+px) 

	return arrayPageScroll;
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}


function view_object(action, obj_id,w,h)
{
  w2 = screen.availWidth;
  h2 = screen.availHeight;
  var leftPos = (w2-w)/8, topPos = (h2-h)/8;

  eval('window.open("controller.php?p_action='+action+'&inst_id='+obj_id+'","", "top='+topPos+', left='+leftPos+', width='+w+', height='+h+',resizable=NO,scrollbars=NO")');
}

function view_page(action, page_id, obj_id,w,h)
{
  w2 = screen.availWidth;
  h2 = screen.availHeight;
  var leftPos = (w2-w)/8, topPos = (h2-h)/8;

  eval('window.open("controller.php?p_action='+action+'&pagina_id='+page_id+'&inst_id='+obj_id+'","window_loc","top='+topPos+', left='+leftPos+', width='+w+', height='+h+',resizable=NO,scrollbars=YES")')
}

function view_object_url(url,w,h)
{
  w2 = screen.availWidth;
  h2 = screen.availHeight;
  var leftPos = (w2-w)/8, topPos = (h2-h)/8;

  eval('window.open(url,"window_loc","top='+topPos+', left='+leftPos+', width='+w+', height='+h+',resizable=NO,scrollbars=YES")')
}

function form_values (fobj)
{
  var str = "";
  var valueArr = null;
  var val = "";
  var cmd = "";

  for(var i = 0;i < fobj.elements.length;i++)
  {
	switch(fobj.elements[i].type)
	{ 
	  case "hidden":
		str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		break;
	  case "text":
		str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		break;
	  case "textarea":
		str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		break;
	  case "checkbox":
		if (fobj.elements[i].checked)
		  str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		break;
	  case "select-one":
		str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
		break;
	}
  }

  str = str.substr(0,(str.length - 1));
  return str;
}

function amagaID (id)
{
	$(id).className = "amagat";
	showSelectBoxes();
}
function amagaPostit(id, segs)
{
	setTimeout("amagaID('"+id+"')", segs);
}

function imageReplacement(src, dst)
{
    sour = $(src);
	dest = $(dst);
	
	//elP = $('peu_foto');
	
	tmp = sour.src;
	sour.src = dest.src;
	sour.title = dest.title;
//	elP.innerHTML = sour.title;
	dest.src = tmp;
}

function pillaAjax(frm)
{
	var im = '';
	var pars = form_values(frm);
	var fouOK = function (t)
	{
		$('mess').className = "error";
		hideSelectBoxes();
		$('apagar').className = "actiu";
		var arrayPageScroll = getPageScroll();
		$('mess').style.top = arrayPageScroll[1];
		$('apagar').style.height = (($('container').offsetHeight + 100)) + 'px';
		$('messmess').innerHTML = t.responseText;
	}

	var fouError = function (t)
	{
		alert('Error');
	}
	new Ajax.Request('controller.php', {method:'post', parameters:pars, onSuccess: fouOK, onFailure: fouError});
}

function pop_show(p_name)
{
//alert('a' + p_name);
    $(p_name).removeClass("amagat");
	$(p_name).addClass("actiu");
	$(p_name).css("z-index","1000001");
}

function pop_hide(p_name)
{
    $(p_name).removeClass("actiu");
    $(p_name).addClass("amagat");
}

function ajusta_top(p_name, aj)
{
	var offset = ($('div#pagina').get()[0].offsetLeft);
	var max_l = ($('div#pagina').get()[0].offsetWidth)/2;
	var min_l = ($(p_name).get()[0].offsetWidth)/2;
	if (min_l == 0)
		min_l = 226;

	var lef = offset + (max_l - min_l);
	var a = getPageScroll();
	var alcada = eval(a[1]) - aj;
	$(p_name).css("top",alcada+"px");
	$(p_name).css("left",lef+"px");
}

function amaga_fons(p_name)
{
	hideSelectBoxes();
    $(p_name).removeClass("amagat");
	var a = getPageSize();
	var alcada = eval(a[1]);//+eval(b[1]);
	$(p_name).css("height",alcada+"px");
	$(p_name).addClass("actiu");
}

function ensenya_fons(p_name)
{
	$(p_name).removeClass("actiu");
    $(p_name).addClass("amagat");
	showSelectBoxes();
}
