function $id (id, pare){
	if (pare==undefined) pare=document;
	
	return pare.getElementById(id);
}

function $tag(tag, pare){
	//retorna array d'objectes
	if (pare==undefined) pare=document;
	
	return pare.getElementsByTagName(tag);
}

function $name(nom, pare){
	//retorna array d'objectes
	if (pare==undefined) pare=document;
	
	return pare.getElementsByName(nom);
}

function posicio (element){
	//element=document.getElementById(elem);
	var y=0;
	var x=0;
	
	if(element.offsetLeft){ // es opt utilitzar
		while (element.offsetParent) {
			x += element.offsetLeft;
			y += element.offsetTop;
			element = element.offsetParent;
		}
	}else{
		while (element.parent) {
			x += element.left;
			y += element.top;
			element = element.parent;
		}	
	}

	return {x: x, y: y};
}

////// FROMULARIS //////////////////////////////////
function posaOb(elems, formu){
	/*
		elements son els NAMES dels camps a validar
		formu es el NAME del formulari
	*/

	obligat= elems.split(";");

	for(var i=0; i<obligat.length; i++){
		$name(obligat[i])[0].setAttribute('onfocus',"javascript:ob('"+obligat[i]+"',1);");
		$name(obligat[i])[0].setAttribute('onBlur', "javascript:ob('"+obligat[i]+"',0);");
	}
	
	$name(formu)[0].setAttribute('onsubmit', "javascript:return comp();");
}

function ob(camp, veure){
	if (veure==undefined) veure=0;
	
	if(veure==1){
		var pos=posicio($name(camp)[0]);
		$id("obligatori").style.top=(pos.y+2)+"px";
		$id("obligatori").style.left=(pos.x-$id("obligatori").offsetWidth-5)+"px";
		$id("obligatori").style.visibility="visible";
	}else{
		$id("obligatori").style.visibility="hidden";
	}
}

function comp(){
	var classe="campObligatori";
	var err=false;
	
	for(var i=obligat.length-1; i>=0; i--){
		switch($name(obligat[i])[0].tagName){
		case "INPUT":
			if($name(obligat[i])[0].value.length<1){
				$name(obligat[i])[0].setAttribute("class",classe);
				$name(obligat[i])[0].focus();
				err=true;
			}else{
				$name(obligat[i])[0].removeAttribute("class");
			}
			break;
			
		case "TEXTAREA":
			if($name(obligat[i])[0].value.length<1){
				$name(obligat[i])[0].setAttribute("class",classe);
				$name(obligat[i])[0].focus();
				err=true;
			}else{
				$name(obligat[i])[0].removeAttribute("class");
			}
			break;
		}
	}
	
	//retornem bloqueig
	if(err){
		return false;
	}else{
		$id("miss").style.visibility="visible";
		return true;
	}
}
//^^^^^^^^^^^^^ FORMULARIS ^^^^^^^^^^^^^^^^^^^^^^^^
