// Functions for Gallery
// JavaScript
//window.onerror=errorhandler;

var events=new Array();
events[0]=new targets();
events[1]=new targets();
events[2]=new targets();
events[3]=new targets();
events[4]=new targets();
events[5]=new targets();
events[6]=new targets();
events[7]=new targets();
events[8]=new targets();
events[9]=new targets();
events[10]=new targets();
events[11]=new targets();
events[12]=new targets();
events[13]=new targets();
events[14]=new targets();
events[15]=new targets();
events[16]=new targets();
events[17]=new targets();
events[18]=new targets();
events[19]=new targets();
events[20]=new targets();
events[21]=new targets();
events[22]=new targets();
events[23]=new targets();
events[24]=new targets();
events[25]=new targets();
events[26]=new targets();
events[27]=new targets();
events[28]=new targets();
events[29]=new targets();
events[30]=new targets();
events[31]=new targets();
events[32]=new targets();
events[33]=new targets();
events[34]=new targets();
events[35]=new targets();
events[36]=new targets();
events[37]=new targets();
events[38]=new targets();
events[39]=new targets();
events[40]=new targets();
events[41]=new targets();
events[42]=new targets();

function targets()
{
	this.target=new Array();
	this.target2=new Array();
	this.thumb=new Array();
	this.anch=new Array();
}

var thumbset=new Array();
var anchset=new Array();
var thloc="/thumbnails_2008/";
var	ncols=5;


function testfunction(tn)
{
	document.write("<p> JavaScript Functions are Working<br>Test Value " + tn + "</p>");
}

function is_w3cdom()
{
	if (window.document.getElementById) document.write("<p> Browser is W3C DOM Compliant</p>"); 
	else document.write("<p> Browser is not W3C DOM Compliant</p>");
}

function test2()
{
	alert("Button Clicked");
}


function append_anchors(aId,thlinks,index)
{
	
	anLen=aId.length;
	for(i=0;i!=anLen;i++)
	{
		if (!events[index].anch[i])
		{
			new_id="th"+aId[i];
			events[index].anch[i]=window.document.createElement("a");
			events[index].anch[i].setAttribute("href",thlinks+"?imagen="+i);
			events[index].anch[i].setAttribute("id",new_id);
		}

		events[index].target2[i]=window.document.getElementById(aId[i]);
		events[index].target2[i].appendChild(events[index].anch[i]);
	}
	anchset[index]=1;
}

function append_thumbnail(thnames,thlinks,index)
{
	var thid=new Array();

	thlen=thnames.length;
	for (i=0;i!=thlen;i++) 
	{
		thnames[i]=thloc+thnames[i];
		thid[i]="thid_"+index+"_"+i;
//		document.write (thid[i] "<br>");
	}

	append_anchors(thid,thlinks,index);
	
	if(thumbset[index])
	{
		remove_thumbnail(thlen,index);
		remove_anchors(thlen,index);
	}
	else
	{
		for (i=0;i!=thlen;i++)
		{
			if (!events[index].thumb[i])
			{
				events[index].thumb[i]=window.document.createElement("img");
				events[index].thumb[i].setAttribute("src",thnames[i]);
				events[index].thumb[i].setAttribute("border","1");
				events[index].thumb[i].setAttribute("onmouseover","border=2");
				events[index].thumb[i].setAttribute("onmouseout","border=1");
			}
			new_id="th"+thid[i];
			events[index].target[i]=window.document.getElementById(new_id);
			events[index].target[i].appendChild(events[index].thumb[i]);
		}
		thumbset[index]=1;
	}
}

function remove_thumbnail(thlen,index)
{

	{
//		alert("Array Length "+thlen);

		for(i=0;i!=thlen;i++) if (events[index].target[i].hasChildNodes())events[index].target[i].removeChild(events[index].thumb[i]);
		
		thumbset[index]=0;
	}
}

function remove_anchors(thlen,index)
{
	for (i=0;i!=thlen;i++) if (events[index].target2[i].hasChildNodes()) events[index].target2[i].removeChild(events[index].anch[i]);
	
	anchset[index]=0;
}

function calculate_rows(nthumbs)

{
	nrows=Math.ceil(nthumbs/ncols);
	return nrows;
}	

function last_row(nthumbs)
{
	return nthumbs-ncols*Math.floor(nthumbs/ncols);
}

function test_calc_rows()
{		
	document.write("<br>");

	for (i=1;i!=30;i++)
	{
		document.write("n = "+i+" rows="+calculate_rows(i) +" In Last Row = "+ last_row(i)+"<br>");
	}
}

function new_window(filename)
{
	filewin=window.open(filename,"New Window","top=100,left=100,width=800,height=500,status,scrollbars,resizable,menubar");
}

function errorhandler(msg,url,ln)
{
	alert("Error "+msg+"\nIn File "+url+"\n At Line "+ln);
	return true;
}
