﻿/* *******************************************************
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 2010.08.23
******************************************************* */

function bodyOnLoader(navId1,navId2,navId3,navId4,navId5) {
    if ($('ctl00_hdnImage') != null && $('ctl00_hdnImage').value != '') {
        $('page').setStyle({ 'backgroundImage': 'url(' + $('ctl00_hdnImage').value + ')' });
    }
    else {
        // default
        $('page').setStyle({ 'backgroundImage': 'url(img/temp/banners/banner-home-1.jpg)' });
    }

	if($('nav-'+navId1)) $('nav-'+navId1).addClassName('current');
	if($('nav-'+navId2)) $('nav-'+navId2).addClassName('current');
	if($('nav-'+navId3)) $('nav-'+navId3).addClassName('current');
	if($('nav-'+navId4)) $('nav-'+navId4).addClassName('current');
	if($('nav-'+navId5)) $('nav-'+navId5).addClassName('current');
	if($('side-'+navId2)) $('side-'+navId2).addClassName('current');
	if($('side-'+navId3)) $('side-'+navId3).addClassName('current');
	if($('side-'+navId4)) $('side-'+navId4).addClassName('current');
	if($('side-'+navId5)) $('side-'+navId5).addClassName('current');
	
	if(typeof kyMenu == 'object') kyMenu.init();
	if(typeof kyMenu2 == 'object') kyMenu2.init();
	if(typeof javacatzSocialBookmark == 'object') javacatzSocialBookmark.init();

	if(!$('navDisableLayer')) {
		var width = $$('body')[0].getWidth();
		var height = $$('body')[0].getHeight();
		if(width < document.viewport.getWidth()) width = document.viewport.getWidth();
		if(height < document.viewport.getHeight()) height = document.viewport.getHeight();
		var navDisableLayer = new Element('div', { 'id':'navDisableLayer' }).addClassName('navDisableLayer').setStyle({ 'width':width+'px', 'height':height+'px' }).setOpacity(0.65).hide();
		$$('body')[0].insert({'top':navDisableLayer});
	}
	
	/* Discuss */
//var iconDiscuss = new Element('div', { 'id':'icon-discuss' }).addClassName('special-icon').observe('mouseenter', iconDiscuss_enter = function(e) { new Effect.Appear($('layer-discuss'), { duration: 0.2, queue: { 'position':'end', 'scope': 'layerDiscuss' } }); new Effect.Fade($('icon-discuss'), { duration: 0.2, queue: { 'position':'end', 'scope': 'iconDiscuss' } }); });
//$('page').insert({'after':iconDiscuss});
	// var layerDiscuss = new Element('div', { 'id':'layer-discuss' }).addClassName('special-layer').hide().observe('mouseleave', layerDiscuss_leave = function(e) { new Effect.Fade($('layer-discuss'), { duration: 0.2 }); new Effect.Appear($('icon-discuss'), { duration: 0.2 }); });
	// $('page').insert({'after':layerDiscuss});
//$('layer-discuss').observe('mouseleave', layerDiscuss_leave = function (e) { new Effect.Fade($('layer-discuss'), { duration: 0.2, queue: { 'position': 'end', 'scope': 'layerDiscuss'} }); new Effect.Appear($('icon-discuss'), { duration: 0.2, queue: { 'position': 'end', 'scope': 'iconDiscuss'} }); });

}

document.observe('dom:loaded', domLoaded = function() {
	$$('.fckOnly').each( function(node) { $(node).remove(); } );
	
	// for Effect.Morph for fontsize adjust
	if($('main')) $('main').setStyle({ 'fontSize':'100%' });
	
    $$('ul').each(function(node) {
        var li = $(node).firstDescendant();
        if ($(li)) li.addClassName('first');
        var lis = $(node).childElements();
        var li_last = $(node).childElements().last();
        if ($(li_last)) li_last.addClassName('last');
    });

    $$('ol').each(function(node) {
        var li = $(node).firstDescendant();
        if ($(li)) li.addClassName('first');
        var li_last = $(node).childElements().last();
        if ($(li_last)) li_last.addClassName('last');
    });

    $$('.ul').each(function(node) {
        var li = $(node).firstDescendant();
        if ($(li)) li.addClassName('first');
        var lis = $(node).childElements();
        var li_last = $(node).childElements().last();
        if ($(li_last)) li_last.addClassName('last');
    });
	
    $$('table.tableAltRow').each(function(table) {
        $(table).select('tr').each(function(tr,i) {
			if(i%2) $(tr).addClassName('tr_even');
			else $(tr).addClassName('tr_odd');
		});
    });
	
    /* screenmode */
    var screenmode = getParameter("screenmode");
    if (screenmode != null && screenmode != "") {
        if (screenmode.toLowerCase() == "print") printPage2();
    }
    if (getParameter("screenmode") == "print") {
        $$('select').each(function(node) { $(node).disabled = true; });
        $$('input').each(function(node) { $(node).disabled = true; });
    }

    /* ie flash object focus */
    /* ieupdate(); */
    fixPNG();
	
	if($$('body.homepage').length == 0) {
		backTop();
		setInterval("backTop();", 2000);
	}
	
	$$('input.auto').each( function(input) {
		if(!$F(input) || $F(input) == $(input).title) {
			$(input).addClassName('inactive');
			$(input).setValue($(input).title);
		}
		$(input).observe('focus', function(e) {
			if($(input).hasClassName('inactive')) {
				if(!$(input).hasClassName('date')) $(input).clear();
				$(input).removeClassName('inactive');
			}
		});
		$(input).observe('blur', function(e) {
			if($F(input).strip() == '' || $F(input).strip() == $(input).title) {
				$(input).setValue($(input).title);
				$(input).addClassName('inactive');
			}
		});
	} );
	
	resizewindow();
});

Event.observe(window, 'resize', function() { resizewindow(); } );
function resizewindow() {
	if($$('body.homepage').length > 0) {
		$('page').setStyle({'marginTop':0});
		if(document.viewport.getWidth() > 1246) $('page').addClassName('wide');
		else $('page').removeClassName('wide');
		var screenH = document.viewport.getHeight();
		var pageH = $('page').getHeight() + parseFloat($('page').getStyle('paddingTop')) + parseFloat($('page').getStyle('paddingBottom'));
		if(screenH > pageH) {
			$('page').setStyle({'marginTop':(screenH-pageH)/2 + 'px'});
		}
	}
	if($$('body').length > 0) {
		var width = $$('body')[0].getWidth();
		var height = $$('body')[0].getHeight();
		if(width <= document.viewport.getWidth()) width = document.viewport.getWidth();
		if(height <= document.viewport.getHeight()) height = document.viewport.getHeight();
		if($('navDisableLayer')) $('navDisableLayer').setStyle({ 'width':width+'px', 'height':height+'px' });
	}
	backTop();
}

function backTop() {
	if($('main') && $('main').down('.mainInner')) {
		var mainInner = $('main').down('.mainInner');
		var mainInnerHeight = mainInner.getHeight();
		if(mainInnerHeight > 475) {
			if(mainInnerHeight > document.viewport.getHeight()) {
			    var backTop = new Element('div', { 'id': 'backTop' }).addClassName('backTop').update('<a href="#" onclick="return false;">回到頁首</a>').observe('click', function (e) { $('page').scrollTo(); });
				if($('backTop')) $('backTop').replace(backTop);
				else $(mainInner).insert({'after':backTop});
			} else {
				if($('backTop')) $('backTop').remove();
			}
		}
	}
}

