function preload (nomImatge, SRCImatge) {
	if (document.images) {
		eval(nomImatge+' = new Image()');
		eval(nomImatge+'.src = "'+SRCImatge+'"');
	}
}


function canviaImatge (idCapa, nomImatge, objImatge) {
	if (document.images) {
		if (document.layers && idCapa!=null) {
			eval('document.'+idCapa+'.document.images["'+nomImatge+'"].src = '+objImatge+'.src');
		}
		else document.images[nomImatge].src = eval(objImatge+".src");
	}
}


function visibilitat (objName)
{
	if ((ns4)&&(eval (objName + ".visibility") == "hide")) eval (objName + ".visibility = 'show' ");
	else if ((ns4)&&(eval (objName + ".visibility") == "show")) eval (objName + ".visibility = 'hide' ");
	else if ((ie4)&&(eval (objName + ".visibility") == "visible")) eval (objName + ".visibility = 'hidden' ");
	else if ((ie4)&&(eval (objName + ".visibility") == "hidden")) eval (objName + ".visibility = 'visible' ");
}


function amaga (objName)
{
	if (ns4) eval (objName + ".visibility = 'hide' ");
	else if (ie4) eval (objName + ".visibility = 'hidden' ");
}


function ensenya (objName)
{
	if (ns4) eval (objName + ".visibility = 'show' ");
	else if (ie4) eval (objName + ".visibility = 'visible' ");
}


function moua (objName, x, y, steps, fn)
{
	if (steps == null) steps = 10;
	var dx=(x-eval(objName + ".xpos"))/steps;
	var dy=(y-eval(objName + ".ypos"))/steps;
	slide (objName, dx, dy, steps, fn);	
}


function slide (objName, dx, dy, steps, fn)
{
	if (steps != 0) {
		eval(objName + ".xpos+=dx");
		eval(objName + ".ypos+=dy");
		eval(objName + ".top = " + objName + ".ypos");
		eval(objName + ".left = " + objName + ".xpos");
		steps--;
		setTimeout ('slide ("' + objName + '", ' + dx + ',' + dy+ ', ' + steps + ', "' + fn + '")', 50);
	} else {
		if (fn != 'undefined')  eval (fn);
	}
}


function consultaValorsClip (objName, quin)
{
	if (ns4) {
		if (quin=="sup") return eval (objName + ".clip.top");
		if (quin=="drt") return eval (objName + ".clip.right");
		if (quin=="inf") return eval (objName + ".clip.bottom");
		if (quin=="esq") return eval (objName + ".clip.left");
	}
	else if (ie4) {
		var clipv = eval (objName + ".clip.split('rect(')[1].split(')')[0].split('px')");
		if (quin=="sup") return Number(clipv[0]);
		if (quin=="drt") return Number(clipv[1]);
		if (quin=="inf") return Number(clipv[2]);
		if (quin=="esq") return Number(clipv[3]);
	}
}


function mouclip (objName, dSup, dEsq, dDrt, dInf, capa, dx, dy, steps, fn)
{
	if (steps != 0) {
		if (ns4) {
			eval (objName + ".clip.top = consultaValorsClip('" + objName + "','sup') + dSup");
			eval (objName + ".clip.left = consultaValorsClip('" + objName + "','esq') + dEsq");
			eval (objName + ".clip.right = consultaValorsClip('" + objName + "','drt') + dDrt");
			eval (objName + ".clip.bottom = consultaValorsClip('" + objName + "','inf') + dInf");
		}
		else if (ie4) {
			eval (objName + ".clip = 'rect('+(this.consultaValorsClip('" + objName + "','sup')+dSup)+'px '+(this.consultaValorsClip('" +objName+"','drt')+dDrt)+'px '+Number(this.consultaValorsClip('"+objName+"','inf')+dInf)+'px '+Number(this.consultaValorsClip('"+objName+"','esq')+dEsq)+'px)'");
		}
		eval(capa + ".xpos+=dx");
		eval(capa + ".ypos+=dy");
		eval(capa + ".top = " + capa + ".ypos");
		eval(capa + ".left = " + capa + ".xpos");
		steps--;
		setTimeout ("mouclip  ('" + objName + "', " + dSup + "," + dEsq + "," + dDrt + "," + dInf + ",'" + capa + "', " + dx +"," + dy +"," + steps + ", '" + fn + "')", 50);
	} else {
		if (fn != 'undefined')  eval (fn);
	}
}


function mouclipa (objName, sup, esq, drt, inf, capa, x, y, steps, fn) {
	if (steps == null) steps = 10;
	dSup=(sup-consultaValorsClip (objName, 'sup'))/steps;
	dEsq=(esq-consultaValorsClip (objName, 'esq'))/steps;
	dDrt=(drt-consultaValorsClip (objName, 'drt'))/steps;
	dInf=(inf-consultaValorsClip (objName, 'inf'))/steps;
	var dx=(x-eval(capa + ".xpos"))/steps;
	var dy=(y-eval(capa + ".ypos"))/steps;
	mouclip (objName, dSup, dEsq, dDrt, dInf, capa, dx, dy, steps, fn);	
}