/* *******************************************************
J  a  v  a  c  a  t  z
Filename:   [project].js
Purpose:    This file is created to hold common functions
            that are used in project only.
            Please do not put other codes in this file.
Created by: KY 2009.06.08
******************************************************* */

function project_init() {
	var pageVideoLink = $$('#pageVideo a');
	if(pageVideoLink.length > 0) {
		pageVideoLink.each( function(node, index) {
			$(node).setOpacity(0.5).writeAttribute({ 'id':'pageVideoLink'+index });
			$(node).observe('mouseenter', function() {
				// $('pageVideoLink'+index).setOpacity(1);
				new Effect.Appear($('pageVideoLink'+index), { duration: 0.3 });
			});
			$(node).observe('mouseleave', function() {
				// $('pageVideoLink'+index).setOpacity(0.5);
				new Effect.Appear($('pageVideoLink'+index), { duration: 0.3, to: 0.5 });
			});
		});
	}
	/*
	$$('#sidemenu li a').each( function(node) {
		if(!$(node).up('li').up('li')) {
			$(node).observe('mouseenter', function() {
				new Effect.Appear($(node), { duration: 0.3, from: 0.2 });
			});
		}
	} );
	*/
	$$('.itemThumbs a').each( function(node) {
		if(!$(node).hasClassName('current')) {
			$(node).down('img').setOpacity(0.5);
			$(node).observe('mouseenter', function() { new Effect.Appear($(node).down('img'), { duration: 0.2 }); });
			$(node).observe('mouseleave', function() { new Effect.Appear($(node).down('img'), { delay: 0.1, duration: 0.3, to: 0.5 }); });
		}
	} );
	
	// sidemenuRender //
	/*
	$$('#side ul li a').each( function(node) {
		$(node).observe('mouseenter', function() {
			var node = $(this).identify();
			if(!$(node).hasClassName('current')) {
				$(node).setStyle({'backgroundPosition':'-' + $(node).getWidth() + 'px 0%'});
				new Effect.Tween($(node), -$(node).getWidth(), 0, { duration: 0.3 }, function(bgPosition) { $(node).setStyle({'backgroundPosition':bgPosition + 'px 0%'}); });
			}
		});
	} );
	*/
}

var video = {
	show: function(fullpath, title) {
		/* pageBanner */
		if(pageBanner.bannerInterval) clearInterval(pageBanner.bannerInterval);
		disableOverlay.show();
		var width = 480;
		var height = 380;
		var left = (document.viewport.getScrollOffsets()[0] + (document.viewport.getWidth() - width) / 2);
		if(left < 0) left = 0;
		var top = (document.viewport.getScrollOffsets()[1] + (document.viewport.getHeight() - height - 60) / 2);
		if(top < 0) top = 0;
		if($('layerVideoPlayer')) $('layerVideoPlayer').remove();
		var layerVideoPlayer = new Element('div', { 'id':'layerVideoPlayer' }).absolutize().hide().setStyle({ 'backgroundColor':'transparent', 'marginLeft':left + 'px', 'marginTop':top + 'px', 'width':width+'px', 'height':'auto', 'zIndex':'99999' }).update('<a href="javascript:video.hide();" style="position:absolute;top:10px;right:10px;" title="Close"><img src="img/button/close.gif" alt="Close" title="Close" /></a><div class="align_left"><img src="img/bg/bg-video-title.gif" alt="Chang An Banquet" /></div><div id="videoPlayerFlash" style="width:'+width+'px;height:'+height+'px;"></div>');
		$('page').insert({'before':layerVideoPlayer});
		new Effect.Appear($(layerVideoPlayer), { duration: 1.0, afterFinish: function() { swfobject.embedSWF('flash/player.swf', 'videoPlayerFlash', width, height, '9.0.0', 'flash/expressInstall.swf', { 'vidURL':fullpath }, { 'quality':'high', 'bgcolor':'#000000', 'play':'true', 'loop':'false', 'allowFullScreen':'true' } ); } });
		$('layer_disable_overlay').observe('click', function(e) { video.hide(); });
	},
	hide: function() {
		$('layer_disable_overlay').stopObserving('click');
		disableOverlay.hide();
		if($('layerVideoPlayer')) {
			$('videoPlayerFlash').remove();
			new Effect.Fade($('layerVideoPlayer'), { duration: 1.0, afterFinish: function() { $('layerVideoPlayer').remove(); } });
		}
		/* pageBanner */
		if(pageBanner.bannerInterval) clearInterval(pageBanner.bannerInterval);
		pageBanner.bannerInterval = setInterval("pageBanner.next()",10000);
	}
};

var pageBannerSlide = {
	banners: new Array(),
	bannerInterval: null,
	perpage: 3,
	slideWidth: 0,
	slideOffset: 0,
	init: function() {
		var slider = new Element('div', { 'id':'pageBannerSlider' }).addClassName('slider');
		$('pageBanner').update(slider);
		var dup = Math.ceil(pageBannerSlide.perpage/pageBannerSlide.banners.length) + 1;
		for(var i=0; i < dup; i++) {
			var repeatSlide = new Element('div').addClassName('repeatSlide');
			$(slider).insert(repeatSlide);
			for(var j=0; j < pageBannerSlide.banners.length; j++) {
				var banner = new Element('img', { 'src':pageBannerSlide.banners[j], 'alt':'' }).wrap('div').addClassName('slideItem');
				// .observe('mouseenter', slide_hover = function(e) { pageBannerSlide.pause(); } ).observe('mouseleave', slide_leave = function(e) { pageBannerSlide.play(); } );
				$(repeatSlide).insert(banner);
			}
		}
		pageBannerSlide.slideWidth = -($('pageBanner').down('.repeatSlide').getWidth());
		try {
			$('pageBannerSlider').setStyle({'width':(pageBannerSlide.slideWidth*dup)+'px'});
		} catch(err) {
		}
		pageBannerSlide.play.delay(7);
	},
	play: function() {
		if($('pageBannerSlider')) {
			pageBannerSlide.bannerInterval = setInterval(pageBannerSlide.move, 50);
		}
	},
	move: function() {
		if($('pageBannerSlider')) {
			pageBannerSlide.slideOffset -= 1;
			if(pageBannerSlide.slideOffset == pageBannerSlide.slideWidth) {
				pageBannerSlide.slideOffset = 0;
			}
			$('pageBannerSlider').style.left = pageBannerSlide.slideOffset+'px';
		}
	},
	pause: function() {
		if($('pageBannerSlider')) {
			clearInterval(pageBannerSlide.bannerInterval);
			pageBannerSlide.bannerInterval = null;
		}
	}
};
var pageBanner = {
	banners: new Array(),
	bannerInterval: null,
	currentBanner: 0,
	init: function() {
		for(var i=0; i < pageBanner.banners.length; i++) {
			var banner = new Element('img', { 'src':pageBanner.banners[i], 'alt':'', 'id':'pageBannerImg'+i }).hide();
			if(i==0) {
				$('pageBanner').update(banner);
				$(banner).setStyle({'zIndex':'2'}).show();
			} else if(i==1) {
				$('pageBanner').insert(banner);
				$(banner).setStyle({'zIndex':'1'}).show();
			} else {
				$('pageBanner').insert(banner).setStyle({'zIndex':'0'});
			}
		}
		if(pageBanner.banners.length > 1) {
			pageBanner.bannerInterval = setInterval("pageBanner.next()",10000);
		}
	},
	next: function() {
		var i = pageBanner.currentBanner;
		new Effect.Fade( $('pageBannerImg'+i), {
			duration: 2.0,
			afterFinish: function() {
				$('pageBannerImg'+i).setStyle({'zIndex':'0'}).hide();
				i++;
				if(!$('pageBannerImg'+i)) {
					i = 0;
				}
				pageBanner.currentBanner = i;
				if($('pageBannerImg'+i)) {
					$('pageBannerImg'+i).setStyle({'zIndex':'2'});
				}
				if($('pageBannerImg'+(i+1))) {
					$('pageBannerImg'+(i+1)).setStyle({'zIndex':'1'}).show();
				} else {
					$('pageBannerImg'+'0').setStyle({'zIndex':'1'}).show();
				}
			}
		} );
	}
};

/* Print bar + Adjust fontsize */
var smallerFontSizePc = 100;	// in %
var biggerFontSizePc = 120;	// in %
addthis_pub  = 'javacatz';
/* full printBar */
var printBar = "<a href='javascript:printPage2();' title='Print this page'><img src='img/ico_print.gif' alt='Print' /></a> &nbsp; <a href='#' title='Email this article' class='emailIcon'><img src='img/ico_email.gif' alt='Email' /></a> &nbsp; <a href=\"http://www.addthis.com/bookmark.php\" onMouseOver=\"return addthis_open(this, '', '[URL]', '[TITLE]')\" onMouseOut=\"addthis_close()\" onClick=\"return addthis_sendto()\" class='shareIcon'><img src='img/ico_share.gif' alt='Share' /></a> &nbsp;<img src='img/printbar_vline.gif' alt='|' />&nbsp; Text: <a href='javascript:adjustFontsizePc(" + smallerFontSizePc + ");' title='Smaller Text'><img src='img/ico_smallersize.gif' alt='smaller' /></a> <a href='javascript:adjustFontsizePc(" + biggerFontSizePc + ");' title='Bigger Text'><img src='img/ico_biggersize.gif' alt='bigger' /></a>";
var printBar2 = "Text: <a href='javascript:adjustFontsizePc(" + smallerFontSizePc + ");' title='Smaller Text'><img src='img/ico_smallersize.gif' alt='smaller' /></a> <a href='javascript:adjustFontsizePc(" + biggerFontSizePc + ");' title='Bigger Text'><img src='img/ico_biggersize.gif' alt='bigger' /></a>";

function printbar_init() {
	/* show print bar */
	var tags = $$('.printBar');
	if(tags!=null && tags!="" && tags.length>0) {
		tags.each( function(node) { $(node).innerHTML = printBar; } );
	}
	tags = $$('.printBar2');
	if(tags!=null && tags!="" && tags.length>0) {
		tags.each( function(node) { $(node).innerHTML = printBar2; } );
	}
}
function adjustFontsizePc(sizechangePc) {
	if( sizechangePc == 'small' ) fontsizePc = smallerFontSizePc;	// same as font-size in body
	else if( sizechangePc == 'large') fontsizePc = biggerFontSizePc;
	else if( !isNaN(sizechangePc) ) fontsizePc = sizechangePc;
	$$('.fontSize').each( function(node) { $(node).style.fontSize = fontsizePc + "%"; } );
}



var backTopHTML = "<a href='#top' onclick='window.scrollTo(0,0);return false;' title='Back to top'>Back to top <img src='img/icon/ico_backtotop.gif' alt='[^]' /></a>";
var const__ky_backTop;
function ky_backTop_init(interval) {
	if(interval==null) interval = 500;
	const__ky_backTop = $$('.backTop');
	if(const__ky_backTop.length>0) {
		setInterval('ky_backTop()',interval);
	}
}
function ky_backTop() {
	const__ky_backTop.each( function(node) {
	    if (node.cumulativeOffset()[1] > document.viewport.getHeight()) {
			if(node.innerHTML.indexOf("#top") == -1) {	// use meaningful substring in your backTopHTML for indexOf
				node.innerHTML = backTopHTML;
			}
		} else {
		    //if(node.innerHTML != "") 
			node.innerHTML = "";
		}
	} );
}



function tableAltRow(id) {
	if(id) {
		var boolDark = false;
		$$('#'+id+' tr').each( function(node) { if(boolDark) $(node).addClassName("tr_even"); else $(node).addClassName("tr_odd"); boolDark = !boolDark; } );
	} else {
		$$('table.tableAltRow').each( function(tableNode) {
			var boolDark = false;
			var temp_tr = $(tableNode).getElementsByTagName('tr');
			for(var i=0; i<temp_tr.length; i++) {
				if(boolDark) $(temp_tr[i]).addClassName("tr_even");
				else $(temp_tr[i]).addClassName("tr_odd");
				boolDark = !boolDark;
			}
		} );
	}
}

function listAltRow(id) {
	if(id) {
		var boolDark = false;
		$$('ul#'+id).childElements().each( function(node) {
			if(boolDark) $(node).addClassName("li_even");
			else $(node).addClassName("li_odd"); boolDark = !boolDark;
		} );
	} else {
		$$('ul.listAltRow').each( function(listNode) {
			var boolDark = false;
			var temp_li = $(listNode).childElements();
			for(var i=0; i<temp_li.length; i++) {
				if(boolDark) $(temp_li[i]).addClassName("li_even");
				else $(temp_li[i]).addClassName("li_odd");
				boolDark = !boolDark;
			}
		} );
	}
}
