var gwsBtop = new gwsBtop();

/* --------------------------------
	gwsBtop
-------------------------------- */

function gwsBtop() {
	this.getElementsByClassName = function(className, parent, tagName) {
		if(parent && typeof parent == 'string') parent = document.getElementById(parent);
		if(!parent) parent = document;
		if(!tagName) tagName = '*';
		var elems = [];
		var collection = parent.getElementsByTagName(tagName);
		if(tagName == '*' && !collection.length && parent.all) collection = parent.all;// Win IE 5.x
		var pattern = new RegExp('(^|\\s)' + className + '(\\s|$)');
		for(var i = 0, l = collection.length; i < l; i++) {
			if(collection[i].className.match(pattern)) elems.push(collection[i]);
		}
		return elems;
	}

	this.addEvent = function(elem, ev, func, capt) {
		if(elem.addEventListener) {// FF, SF, OP, NS
			elem.addEventListener(ev, func, capt);
			return true;
		} else if(elem.attachEvent) {// Win IE
			return elem.attachEvent('on' + ev, func);
		} else {// Mac IE
			var temp = elem['on' + ev];
			if(typeof elem['on' + ev] != 'function') {
				elem['on' + ev] = function(e) { func(e); }
			} else {
				elem['on' + ev] = function(e) {
					temp(e);
					func(e);
				}
			}
		}
	}
}



/* --------------------------------
	onLoad BG and Image
-------------------------------- */
var images_ary=new Array(
	'/products/images/top/bg_contents_on.gif',
	'/products/images/top/thumb_air_on.jpg',
	'/products/images/top/thumb_automotive_on.jpg',
	'/products/images/top/thumb_building_on.jpg',
	'/products/images/top/thumb_energy_on.jpg',
	'/products/images/top/thumb_factory_on.jpg',
	'/products/images/top/thumb_home_on.jpg',
	'/products/images/top/thumb_information_on.jpg',
	'/products/images/top/thumb_public_on.jpg',
	'/products/images/top/thumb_semiconductors_on.jpg',
	'/products/images/top/thumb_space_on.jpg',
	'/products/images/top/thumb_trans_on.jpg',
	'/products/images/top/thumb_visual_on.jpg'
);

function preLoad(imgAry) {
	var imgMax=imgAry.length;
	var images=new Array(imgMax);
	for (var i=0; i<imgMax; i++) {
		images[i]=new Image();
		images[i].src=imgAry[i];
	}
}

/* --------------------------------
	Change BG and Image
-------------------------------- */

gwsBtop.addEvent(window, 'load', init, false);

var cat_thumb = 'cat_thumb';
var btop_cont_bg = 'btop_cont_bg';
var cat_title = 'cat_title';

function init(){		
	setEvent('cat_menu_01', '/products/aircon/index.html');
	setEvent('cat_menu_02', '/products/automotive/index.html');
	setEvent('cat_menu_03', '/products/building/index.html');
	setEvent('cat_menu_04', '/products/energy/index.html');
	setEvent('cat_menu_05', '/products/industry/index.html');
	setEvent('cat_menu_06', '/products/home/index.html');
	setEvent('cat_menu_07', '/products/communication/index.html');
	setEvent('cat_menu_08', '/products/public/index.html');
	setEvent('cat_menu_09', '/products/device/index.html');
	setEvent('cat_menu_10', '/products/space/index.html');
	setEvent('cat_menu_11', '/products/transportation/index.html');
	setEvent('cat_menu_12', '/products/visual/index.html');
}

function setEvent(id, url){
	var obj = document.getElementById(id);
	gwsBtop.addEvent(obj, 'mouseover', wrapFunc(onMouseOver, id), false);
	gwsBtop.addEvent(obj, 'mouseout', wrapFunc(onMouseOut, id), false);
	gwsBtop.addEvent(obj, 'click', wrapFunc(onClick, url), false);
}

function onMouseOver(parentID){
	var elem = gwsBtop.getElementsByClassName(btop_cont_bg, parentID, 'div')[0];
	elem.style.backgroundImage = 'url(/products/images/top/bg_contents_on.gif)';
	
	var elem = gwsBtop.getElementsByClassName(cat_title, parentID, 'p')[0];
	elem.style.color = '#e51b00';
	
	var img = gwsBtop.getElementsByClassName(cat_thumb, parentID, 'img')[0];
	img.src.match(/(\.gif|\.jpg|\.png)$/);
	img.src = img.src.replace('_on' + RegExp.$1, RegExp.$1);
	
	img.src.match(/(\.gif|\.jpg|\.png)$/);
	img.src = img.src.replace(RegExp.$1, '_on' + RegExp.$1);
}

function onMouseOut(parentID){
	var elem = gwsBtop.getElementsByClassName(btop_cont_bg, parentID, 'div')[0];
	elem.style.backgroundImage = 'url(/products/images/top/bg_contents.gif)';
	
	var elem = gwsBtop.getElementsByClassName(cat_title, parentID, 'p')[0];
	elem.style.color = '#555555';
	
	var img = gwsBtop.getElementsByClassName(cat_thumb, parentID, 'img')[0];
	img.src.match(/(\.gif|\.jpg|\.png)$/);
	img.src = img.src.replace('_on' + RegExp.$1, RegExp.$1);
}

function onClick(url){
	location.href = url;
}

function wrapFunc(){
	var obj = arguments[0];
	var args = [];
	for(var i=1; i<arguments.length; i++){
		args.push(arguments[i]);
	}
	return function(){
		return obj.apply(this, args);
	}
}

