﻿// google analytics

/******************************************** BOX ********************************************/
var boxn;
var tn, trc

function Box(m)
{
	if (m != null)
		trc = ' class="dark"'
	else trc = m = "";
	
	document.write('<table border="0" width="100%" cellspacing="0" cellpadding="0" class="box">');
	document.write('<tr'+trc+'><td class="tl">&nbsp;</td>');
	document.write('<td class="t">'+m+'</td>');
	document.write('<td class="tr">&nbsp;</td></tr>');

	var notfound = true;

	if (baseDir == "diary")
	for (var i = 0; (i < diarybanners.length) && notfound; i++)
	{
		
		if (diarybanners[i][0]==pageName)
		{	document.write('<tr><td colspan="3" class="nopad"><img src="images/pagetop/'+pageName+'.jpg" title="'+diarybanners[i][1]+'"></td></tr>');
			notfound = false;
		}
}
	
	document.write('<tr><td class="l">&nbsp;</td><td class="m"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>');

}

var gga = false;
function closeBox(m)
{
	// default coloring is YES
	
	if (m != null)
		trc = ' class="dark"'
	else trc = m = "";
	
	document.write('</td></tr></table></td><td class="r">&nbsp;</td></tr>');
	document.write('<tr'+trc+'><td class="bl">&nbsp;</td>');

	document.write('<td class="b">'+m+'</td>');
	document.write('<td class="br">');
	if (m) document.write('<a href="#top"><img style="border:0px" border="0" title="回上面" src="'+prefix+'images/up.gif" width="12" height="12"></a><a name=\"bottom\"></a>');
	document.write('</td></tr></table>');
	
	/*
	if (!gga)
		doGGA();
	gga = true;
	*/
	
}

/******************************************** PHOTO ALUBM ********************************************/

var currentHightedImage = null;

var currentPic = -1;
var firstPic = 1;
var lastPic = firstPic;
var completed = 0;
var start1 = 0;
var start2 = lastPic;
var preloaded, preloaded2;
var sleeptimer= 300;

function initEnlargeArea()
{
	// write thumbnail preview tool
	document.write('<div id="tpreview"></div>');
	document.write('<div id="preload"></div>');	
	
	var pictures = get("pictures");
	if (pictures)
		preload(pictures);

	document.writeln('<table border="0" width="100%" cellspacing="0" cellpadding="0">');
	document.writeln('<tr><td id="desc" width="620">請按縮圖來放大圖片.  Click thumbnail to enlarge the picture.</td><td nowrap align="right" id="ss" valign="top" nowrap>'+ps + " " + ssstext + " " + ns +'</td></tr>');
	document.writeln('<tr><td colspan="2" align="center"class="nopad"><img border="0" src="../images/space.gif" name="enlarged" id="enlarged"></td></tr>');
	document.writeln('</table>');
	
	
}

var previewTextLength= 60;
function showpreview(event)
{
	show(get("tpreview"));
	var txt = this.alt;
	if (txt.length > previewTextLength)
	txt = txt.substr(0,(previewTextLength-3))+"...";
	get("tpreview").innerHTML ='<table border=0 cellpadding=0 cellspacing=0><tr><td><img src="'+this.src+'"></td><td>'+txt+'</td></tr></table>';
	var mousePos = getCoords(event);
	get("tpreview").style.left = mousePos.x+4;
	get("tpreview").style.top = mousePos.y+4;
}

function noshowpreview()
{	hide(get("tpreview"));
}

function preload(pictures)
{
	
	lastPic = document.images.length;
	for (var i = firstPic; i < lastPic; i++)
	{
		document.images[i].onclick=enlarge;
		//document.images[i].className="notLoaded";
		document.images[i].onmouseover=showpreview;
		document.images[i].onmousemove=showpreview;
		document.images[i].onmouseout=noshowpreview;
	}
	
	
	show(get("preload"));
	get("preload").innerHTML="載入圖片中: "+ (completed+1) +" / "+(lastPic-firstPic) +"張";

	
	// Preload Next one
	preloaded=new Image();
	preloaded.src= document.images[start1+firstPic].src.replace(/_s/i, "");
	preloadNext();
	
	
	// Preload from the end
	preloaded2=new Image();
	preloaded2.src= document.images[lastPic-start2].src.replace(/_s/i, "");
	preloadBack();
	
}

function enlarge()
{	
	var toEnlarge = this;
		
	currentPic.className="loaded";
	toEnlarge.className="current";

	get("desc").innerHTML = toEnlarge.alt;
	var tmp = get("enlarged");
	tmp.alt = toEnlarge.alt;
	tmp.src= toEnlarge.src.replace(/_s/i, "");
	
	currentPic = toEnlarge;
}

function preloadNext()
{	
	// if current picture loading complete
	if (preloaded.complete)
	{
		// alternate alpha removal
		if (((start1+firstPic) != currentPic) && (document.images[start1+firstPic].className!="current"))
			document.images[start1+firstPic].className="loaded";

		start1++
		completed++;
		get("preload").innerHTML="載入圖片中: "+ (completed+1) +" / "+(lastPic-firstPic) +"張";

		// if there are still pictures to preload
		if (completed < (lastPic-firstPic))
		{	preloaded=new Image();
			preloaded.src= document.images[start1+firstPic].src.replace(/_s/i, "");
			preloadNext(sleeptimer/2);
		}
		else hide(get("preload"));
	}
	else setTimeout('preloadNext()',sleeptimer);
}

function preloadBack()
{	
	// if current picture loading complete
	if (preloaded2.complete)
	{
		// alternate alpha removal
		if (((lastPic-start2) != currentPic) && (document.images[lastPic-start2].className!="current"))
			document.images[lastPic-start2].className="loaded";

		start2++;
		completed++;
		get("preload").innerHTML="載入圖片中: "+ (completed+1) +" / "+(lastPic-firstPic) +"張";

		// if there are still pictures to preload
		if (completed < (lastPic-firstPic))
		{	preloaded2=new Image();
			preloaded2.src= document.images[lastPic-start2].src.replace(/_s/i, "");
			preloadBack(sleeptimer/2);
		}
		else hide(get("preload"));
	}
	else setTimeout('preloadBack()',sleeptimer);
}

// Image OnRollover Popup


function showTP(event, img, xoffset, yoffset)
{
	var tmp = get("TP");
	show(tmp);
	
	if (xoffset == null)
		xoffset = 0;
	if (yoffset == null)
		yoffset = 0;
	 
	tmp.innerHTML = '<img src="'+img.src+'">';
	tmp.style.left = (document.body.scrollLeft + event.clientX) + xoffset + 8;
	tmp.style.top = (document.body.scrollTop + event.clientY)+ yoffset -100;
}

function hideTP(){ hide(get("TP")); }


// SlidShow

var ssDo = false;
var pauseOne = false;
var ssDelay = 3000;
var ssInitialized =false;
var ssstext = '<a href="javascript:startSlideShow()">連續播放</a>';
var ns = '<a href="javascript:jump(1)" title="後一張">&gt;</a>';
var ps = '<a href="javascript:jump(-1)" title="前一張">&lt;</a>';
var esstext = '<a href="javascript:endSlideShow()" title="停止播放">停止</a>';

var imgindex;
function startSlideShow()
{
	ssDo = true;
	new Effect.Fade('menu1',{ duration: 1.0});
	new Effect.SlideUp('bannertext',{ duration: 1.0});
//	new Effect.SlideUp('menu1',{ duration: 1.0});
	get('ss').innerHTML = ps + " "+ esstext + " "+ ns;
	
	
		// Find array index
		imgindex=-1;
		for (var i = firstPic; ((i < lastPic) && (imgindex==-1)); i++)
		{	if (currentPic.src == document.images[i].src)
				imgindex = i;
		}

		if (imgindex == -1)
			imgindex = firstPic;
		
		setTimeout('nextSlide()',ssDelay);
}

function endSlideShow()
{
	ssDo = false;
	new Effect.Appear('menu1',{ duration: 1.0});
	new Effect.SlideDown('bannertext',{ duration: 1.0});
//	new Effect.SlideDown('menu1',{ duration: 1.0});
	get('ss').innerHTML = ps + " " + ssstext + " " + ns;
}

function nextSlide()
{
	if (ssDo)
	{
		jump(1);
		setTimeout('nextSlide()',ssDelay);
	}
}


function jump(n)
{
		// Enlarge
		var toEnlarge = document.images[imgindex+n];
		
		currentPic.className="loaded";
		toEnlarge.className="current";

		get("desc").innerHTML = toEnlarge.alt;
		var tmp = get("enlarged");
		tmp.alt = toEnlarge.alt;
		tmp.src= toEnlarge.src.replace(/_s/i, "");
	
		currentPic = toEnlarge;
		imgindex=imgindex+n;
}


/******************************************** OTHER FUNCTIONS ********************************************/

var sorted=-1;
function sortTable(tableid, col, startingrow)
{
	if (col == sorted)
		return;

	get('preload').innerHTML="Sorting table, please wait...";
	show(get('preload'));

	var mRows = get(tableid).rows;
	var smallest, tmp;
	var swapcount=0;

	if (!startingrow)
		startingrow = 1;

	for (var i = startingrow; i < mRows.length; i++)
	{	// find the smallest and move to front
		smallest=i;
		for (var j = i; j < mRows.length; j++)
		{
			if (mRows[j].cells[col].innerHTML < mRows[smallest].cells[col].innerHTML)
			smallest=j;
		}

		//alert(i+","+smallest)
		for (var k = 0; k < mRows[smallest].cells.length; k++)
		{
			tmp = mRows[i].cells[k].innerHTML;
			mRows[i].cells[k].innerHTML = mRows[smallest].cells[k].innerHTML;
			mRows[smallest].cells[k].innerHTML = tmp;
		}
	}

	hide(get('preload'));
}


// highlight conversations; for IE only

function colorup(tableobj, startingrow)
{	if (tableobj)
	{	var mRows = tableobj.rows;
		if (!startingrow)
			startingrow = 2;

		if (mRows && mRows.length > startingrow)
			for (var i = startingrow; i < mRows.length; (i= i+2))
				mRows[i].className = "alt";
	}
}

function hlt()
{
	var tmp = document.getElementsByTagName("table");
	var els=[];
	for(var i=0; i < tmp.length; i++)
	{	if(tmp[i].id=="talk")
			els[els.length]=tmp[i];
	}

	for ( var i=0; i<els.length; i++)
		colorup(els[i],1);
}


/* GOOGLE TRACKING */
function sitemap()
{
	var fff = "http://www.david6.com/";
	for (var i = 0 ; i < tabs.length; i++)
	{
		 //document.writeln(fff+tabs[i][0]+"/"+tabs[i][0]+".html<br>");
	   for (var j = 0; j < tabs[i][2].length; j++)
	   {
	   	 
	   	 if (tabs[i][2][j][2] != null)
	       for (var k = 0; k < tabs[i][2][j][2].length; k++)
	          document.writeln(fff+tabs[i][0]+"/"+tabs[i][2][j][2][k][0]+".html<br>");
	     else document.writeln(fff+tabs[i][0]+"/"+tabs[i][2][j][0]+".html<br>");
	   }
	}
}

function doGGA()
{	document.write('<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>');
	_uacct = "UA-548347-1";
	
	urchinTracker();
}
