var _DOMObjs= { };

function getObj(n) {
 return _DOMObjs[n] || (_DOMObjs[n]=document.getElementById(n));
}

function setObjContent(n,s) {
 getObj(n).innerHTML=s;
 return false;
}

function getObjContent(n) {
 return getObj(n).innerHTML;
}

function showHideObjs(s,state) {
 s=s.split(',');
 for(var i=0; i<s.length; i++) {
	getObj(s[i]).style.visibility=state?'visible':'hidden';
 }
 return false;
}

function getCatIndex(n) {
 var Cat=cats[n];
 var s='';
 for (var i=0; i<Cat.objs.length; i++)
	s+='<a href="" onclick="return swObj('+i+')" onmouseover="showIdx()" onmouseout="hideIdx()">'+(i+1)+'</a>';
 return s;
}
var CurrentCat;

function swCat(n) {
 CurrentCat=cats[n];
 setObjContent('pcontrolidx',getCatIndex(n));
 getObj('pcontrolidx').style.height='200px';
 swObj(0);
 return false;
}

function swObj(n) {
 var Cat=CurrentCat;
 if (!Cat.currentObj) Cat.currentObj=0;
 var v=Cat.currentObj;
 switch(n) {
	case '+': v++; v%=Cat.objs.length;
		break;
	case '-': if (!v--) v=Cat.objs.length-1;
		break;
	default:
		v=n;
 }
 Cat.currentObj=v;
// alert(v);
 swImg(0);
 return false;
}

function swImg(n) {
 var Cat=CurrentCat;
// alert(CurrentCat.id); return false;
 var Obj=Cat.objs[Cat.currentObj];
// alert(Obj); return false;
// if (!getObj('pcontrol').tmpl) getObj('pcontrol').tmpl=getObj('pcontrol').innerHTML;

 setObjContent('pcontrol',getObjView(Obj,n));
 setObjContent('pshow',getObjSample(Obj,n));
 return false;
}

function expandName(thumb,Obj) {
 if (thumb.search(/^[0-9]+\./)==0)  thumb='pf_'+Obj.id+'_'+thumb;
 if (thumb.indexOf('http')==-1)
		if (thumb.indexOf('/')==-1)
			thumb='http://anpublicidad.gammainternet.com/mantenimiento/files/'+thumb;
		else
			thumb='http://www.anpublicidad.com' + thumb;
			
 return thumb;
}

var T_idx;

function showIdx() {
 if (T_idx) T_idx=clearTimeout(T_idx);

 showHideObjs('pcontrolidx',1);
 return false;
}

function hideIdx(n) {
 if (T_idx) T_idx=clearTimeout(T_idx);
 if (!n) 
	T_idx=setTimeout('hideIdx(1)',2000);
 else
	showHideObjs('pcontrolidx',0);
 return false;
}

function getObjView(Obj,num) {
 var Cat=cats[Obj.cat]; 
 var thumb=Obj.thmb;
 Obj.thumb=expandName(thumb,Obj);

 var imgs='';

 for (var i=0; i<Obj.imgs.length; i++) if (Obj.imgs[i]!='')
	imgs+='<a class='+(i==num?'current':'folio')+' href="" onclick="return swImg('+i+')"><img border=0 src="/images/folio.gif"></a> ';

 Obj.sheets=imgs;

 num=Cat.currentObj;
 if(++num<10) num='0'+num;

 var link=Obj.ln;
 if (link!='') link='<a target=_blank class=pflink href="'+link+'">'+link+'</a>';
 Obj.link=link;

 res=getObj('pcontrol').tmpl;
 res=res.replace(/\$([a-z]+)/ig,function (uno,dos) { return Obj[dos] == undefined ? '' : Obj[dos]; });
 return res;
}

var COSA;
function playSound(me,s) {
 COSA=me;
// me.contentWindow.document.write('<bgsound id="audiotrack" src="'+s+'" loop=1>');
 me.contentWindow.document.write('<embed id=sound1 src="'+s+'" hidden=false></embed>');
}

function getObjSample(Obj,n) {
 var thumb=Obj.imgs[n];
 thumb=expandName(thumb,Obj);
 var MM, MMH=400;
 var m=thumb.match(/\.([^.]+)$/)[1];
// alert(m);
 switch(m) {
	case 'jpg':
	case 'gif':
	case 'png':
		MM= '<img align=center border=0 src="'+thumb+'">';
		break;
	case 'flv':
		MM=getObj('pplayerc').value;
		MM=MM.replace(/file="/g,'file='+thumb+'"');
//		MMH=460;
		break;
	case 'swf':
		MM='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="350" height="330">' +
			'<param name="movie" value="'+thumb+'">' +
			'<param name="quality" value="high">' +
			'<embed src="'+thumb+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="350" height="330"></embed>' +
			'</object>';
/*
		MM='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="350" height="330">' +
			'<param name="movie" value="'+thumb+'">' +
 			'<param name="quality" value="high">' +
			'<param name="AllowScriptAccess" value="sameDomain">' +
//			'<param name="FlashVars" value="background_color=FFFFFF&amp;file=">' +
			'<embed src="'+thumb+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"' +
			' type="application/x-shockwave-flash" width="350" height="330"' +
			' allowscriptaccess="sameDomain"' +
//			'flashvars="background_color=FFFFFF&amp;file="' +
			'></embed></object>';
*/
		break;
	default:
//		MM='<iframe name=iframe1 id=iframe1 src="" onload="playSound(this,\''+thumb+'\')"></iframe>' + '<br><a href="' + thumb + '">Click here to play</a>';
		MM='<embed id=sound1 src="'+thumb+'" hidden=false></embed>';
 }	
		
 var res='<table border=0 width=520 cellspacing=0 cellpadding=0><tr><td width=100% height='+MMH+' align=center valign=middle bgcolor=#ffffff>'+
		MM +
		'<tr><td height=60 bgcolor=#ffffff>&nbsp;' +
	'</table>';

 return res;
}

FLAGS={ portfolio:0, clientes:0 }

function run_portfolio(n) {
 run_clientes(1);
 var visib=(!FLAGS.portfolio) && (n==0);
 FLAGS.portfolio=visib;
// alert('Portfolio '+n+' '+visib);

 showHideObjs('pcontrol,pmenu,pshow',visib);
// return false;
 if (visib) {
	if (!getObj('pcontrol').tmpl) getObj('pcontrol').tmpl=getObjContent('pcontrol');
	setObjContent('pcontrol',getObjContent('pfinit'));
 }
 return void(0);
}

function getClientList() {
 var obj, objs=[], res='<span class=clientes>';
 for (var i in rows) if ((obj=rows[i]) && (obj.so>=0)) {
	var s=obj.n;
	if (obj.www) s='<a target=_blank title="'+obj.sv+'" href="'+obj.www+'">'+s+'</a>';
//	objs[xo]=obj;
	objs[obj.xo]='<p>'+s;
//	objres+='<p>'+obj.n;
 }
 res+=objs.join('');
 res+='</span><br>';
 return res;
}

function run_clientes(n) {
 var visib=(n==0); 
 FLAGS.clientes=visib;
 if ((visib) && (FLAGS.portfolio)) {
	showHideObjs('pcontrol,pmenu,pshow',false);
	FLAGS.portfolio=false;
 }
 if (!FLAGS.clientesFilled) {
	setObjContent('pclientes',getClientList());
	FLAGS.clientesFilled=1;
 }
 showHideObjs('pclientes,pclienteshead,pclientesbtn',visib);
// return false;
 return void(0);
}

var cTimer;
function scrollClientes(n) {
 clearTimeout(cTimer);
 if (!n) return false;
	
 var cy=getObj('pclientes').scrollTop;
 cy+=n;
 if (cy>0) 
 getObj('pclientes').scrollTop=cy+n;
 cTimer=setTimeout('scrollClientes('+n+')',15);
 return false;
}

var allImgs=[ ];

function preloadImg(n) {
 if (n.search(/\.(gif|jpg|png)$/)<0) return;
 var newImg=new Image();
 newImg.src=n;
 allImgs.push(newImg);
}

function preloadImgs(imgs,Obj) {
 for (var i=0; i<imgs.length; i++)
	preloadImg(expandName(imgs[i],Obj));
}

function preloadLoop() {
 var obj;
 for (var i in PFObjs) {
	obj=PFObjs[i];
	preloadImgs(obj.imgs,obj);
 }
}

var PFObjs={ };

function initialize() {
 var Obj, Cat;
 for (var i in rows) {
	var Obj=rows[i];
	if ((Obj.cat>0) && (Cat=cats[Obj.cat])) {
		Obj.cname=Cat.n;
		PFObjs[i]=Obj;
		if (!Cat.objs) Cat.objs=[ ];
		Cat.objs.push(Obj);
		Obj.num=Cat.objs.length;
		var Imgs=Obj.imgs;
		Imgs=Imgs.replace(/^[\r\n\s]+|[\r\n\s]+$/g,'');
		Imgs=Imgs.split(/[\r\n]+/);
//		Obj.bimgs=Obj.imgs;
		Obj.imgs=Imgs;
	}
 }
 setTimeout('preloadLoop()',1000);
 return false;
}
