/* -----------------------------------------------------------------------------
	Copyright(C) TOYOTA-HANBAI. All Rights Reserved.
----------------------------------------------------------------------------- */

// open window
function openwindow( _url, _name, _init ) {
  window.open( _url, _name, _init );
}

// preload and swap images [jQuery ver.]
function initRollOvers() {
	var d_suffix = "_out";		// default suffix for image filename
	var r_suffix = "_over";		// replace suffix for image filename
	var preLoads = new Array();	// preload images 

	// each target elements
	$("img[src*='_out']").each(function(){

		// preload swap images
		preLoads.push(new Image());
		preLoads[preLoads.length-1].src = $(this).attr("src").replace( d_suffix, r_suffix );

		// register eventhandler
		$(this).hover(
			function() {
				$(this).attr( "src", $(this).attr("src").replace( d_suffix, r_suffix));
			},
			function() {
				$(this).attr( "src", $(this).attr("src").replace( r_suffix, d_suffix));
			}
		);
	});
	$("input[type='image'][src*='_out']").each(function(){

		// preload swap images
		preLoads.push(new Image());
		preLoads[preLoads.length-1].src = $(this).attr("src").replace( d_suffix, r_suffix );

		// register eventhandler
		$(this).hover(
			function() {
				$(this).attr( "src", $(this).attr("src").replace( d_suffix, r_suffix));
			},
			function() {
				$(this).attr( "src", $(this).attr("src").replace( r_suffix, d_suffix));
			}
		);
	});
}

// initialize and set accordion-menu
function initAccordion() {
	var CLOSE_SUFFIX = "_close";
	var OVER_SUFFIX = "_over";
	var OPEN_SUFFIX = "_open";
	var preLoads = new Array();

	$( "#accordion > li > a" ).each( function(){

		// initialize - hide child elements
		$(this).addClass( "close" ).next().hide();
		var src = $(this).css( "background-image" );
		preLoads.push(new Image());
		preLoads[preLoads.length-1].src = src.replace( CLOSE_SUFFIX, OVER_SUFFIX );
		preLoads.push(new Image());
		preLoads[preLoads.length-1].src = src.replace( CLOSE_SUFFIX, OPEN_SUFFIX );

		// open target[$(this)] element / close another elements
		var toggle_anim = { height:"toggle", opacity:"toggle" }; 
		$(this).click( function() {
			$(this).toggleClass( "close" )
				.next().animate( toggle_anim, {duration: 300} )
				.parent().siblings().children( "ul:visible" ).animate( toggle_anim, {duration: 300} )
				.prev().addClass("close");
			setAccordionStyle();
			return false;
		});

		// mouse-over
		$(this).hover( function () {
			$(this).addClass( "over" );
			setAccordionStyle();
			/*
			var src = $(this).css( "background-image" );
			if( $(this).hasClass( "close" )){
				$(this).css( "background-image", src.replace( CLOSE_SUFFIX, OVER_SUFFIX ));
			}
			*/
		},
		// mouse-out
		function () {
			$(this).removeClass( "over" );
			setAccordionStyle();
			/*
			var src = $(this).css( "background-image" );
			if( $(this).hasClass( "close" )){
				$(this).css( "background-image", src.replace( OVER_SUFFIX, CLOSE_SUFFIX ));
			}
			*/
		});
	});

	setAccordionStyle();
}

// toggle accordion-menu header image
function setAccordionStyle(){
	var CLOSE_SUFFIX = "_close";
	var OVER_SUFFIX = "_over";
	var OPEN_SUFFIX = "_open";

	$("#accordion > li > a:first-child").each( function(){	
		var src = $(this).css( "background-image" );

		if( $(this).hasClass( "close" )){
			if( $(this).hasClass( "over" )){
				src = src.replace( CLOSE_SUFFIX, OVER_SUFFIX );
				src = src.replace( OPEN_SUFFIX, OVER_SUFFIX );
				$(this).css( "background-image", src );
			} else {
				src = src.replace( OVER_SUFFIX, CLOSE_SUFFIX );
				src = src.replace( OPEN_SUFFIX, CLOSE_SUFFIX );
				$(this).css( "background-image", src );
			}
		} else {
			src = src.replace( CLOSE_SUFFIX, OPEN_SUFFIX );
			src = src.replace( OVER_SUFFIX, OPEN_SUFFIX );
			$(this).css( "background-image", src );
		}
	});
}

// print
function printPage() {
	window.print();
/*
	if( window.ActiveXObject == null || document.body.insertAdjacentHTML == null ){
		window.print();
	} else {
		var sWebBrowserCode = '<object width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>'; 
		document.body.insertAdjacentHTML( 'beforeEnd', sWebBrowserCode ); 
		var objWebBrowser = document.body.lastChild;
		if(objWebBrowser == null) {
			window.print();
		} else {
			objWebBrowser.ExecWB(7, 1);
			document.body.removeChild(objWebBrowser);
		}
	}
*/
}

// analyze DOM event
$(document).ready(function(){

	// roll over
	initRollOvers();

	// accordion menu
	initAccordion();

	// smooth scroll [use jQuery]
	$("a[href*='#']").easingScroll({
		easing: "easeInOutQuad",
		duration: 400
	});

	// #home.topics
	if( $("#home.topics").size() ) {
		$("#topicsList").jScrollPane();
	}
});

