/*
####################################################################################################
# Default JavaScript (Common Function Libraries)
# JavaScript coding: curious epicurean; vincent.
# Copyright (c) 2005 Art Studio Vincent All rights reserved.
####################################################################################################
# Require 'sniffer.js';
####################################################################################################
*/

// reloads the window if Nav4 resized
function reloadPage(init) {
	if (init == true) with (navigator) {
		if ((appName == "Netscape") && (parseInt(appVersion) == 4)) {
			document.pgW = innerWidth;
			document.pgH = innerHeight;
			onresize = reloadPage;
		}
	}
	else if (innerWidth != document.pgW || innerHeight != document.pgH) {
		location.reload();
	}
}
reloadPage(true);

function swapImgRestore() {
	var i, x, a = document.sr;
	for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++)
	x.src = x.oSrc;
}

function preloadImages() {
	var d = document;
	if (d.images) {
		if (!d.p) d.p = new Array();
		var i, j = d.p.length, a = preloadImages.arguments;
		for (i = 0; i < a.length; i++)
		if (a[i].indexOf("#") != 0) {
			d.p[j] = new Image; d.p[j++].src = a[i];
		}
	}
}

function findObj(n, d) {
	var p, i, x;
	if (!d) d = document;
	if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
		d = parent.frames[n.substring(p+1)].document;
		n = n.substring(0,p);
	}
	if (!(x = d[n]) && d.all) x = d.all[n];
	for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
	for (i = 0; !x && d.layers && i < d.layers.length; i++)
	x = findObj(n,d.layers[i].document);
	if (!x && d.getElementById)
	x = d.getElementById(n);
	return x;
}

function swapImage() {
	var i, j = 0, x, a = swapImage.arguments;
	document.sr = new Array;
	for (i = 0; i < (a.length-2); i += 3)
	if ((x = findObj(a[i])) != null) {
		document.sr[j++] = x;
		if (!x.oSrc) x.oSrc = x.src; x.src = a[i+2];
	}
}

/*
####################################################################################################
# for global navigation
####################################################################################################
*/

preloadImages(
	"/images/navi_product_over.gif",
	"/images/navi_order_over.gif",
	"/images/navi_profile_over.gif",
	"/images/navi_contact_over.gif",
	"/images/navi_howto_over.gif"
);

/*
####################################################################################################
# options
####################################################################################################
*/

// open popup window
function popupWindow(url, winName, w, h, sb, rs, st) {
	var leftPos, topPos, property;
	leftPos = (screen.availWidth)  ? parseInt((screen.availWidth-w)/2) : 0;
	topPos  = (screen.availHeight) ? parseInt(((screen.availHeight-h)/2)-30) : 0;
	property = 'width='+w+',height='+h+',left='+leftPos+',top='+topPos+',';
	property+= 'toolbar=0,location=0,directories=0,menubar=0,';
	property+= 'scrollbars='+sb+',resizable='+rs+',status='+st;
	winName = window.open(url,winName,property);
	self.onBlur = winName.focus();
	if (_ie4) {
		winName.moveTo(leftPos, topPos);
	}
}

// show hide layer
function showHideLayers() {
	var i, p, v, obj, args = showHideLayers.arguments;
	for (i = 0; i < (args.length-2); i += 3)
	if ((obj = findObj(args[i])) != null) {
		v = args[i+2];
		if (obj.style) {
			obj = obj.style;
			v = (v == 'show') ? 'visible' : (v == 'hide') ? 'hidden' : v;
		}
		obj.visibility = v;
	}
}

// hide product navi
function hideProductNavi() {
	showHideLayers('pn0','','hide');
	showHideLayers('pn1','','hide');
}

// anywhere click hide all product navi
function hideAllProductNavi(e) { hideProductNavi(0); }

function initProductNavi() {
	if (document.all || _dom) { document.onclick = hideProductNavi; }
}

initProductNavi();

function rebuildPage() { location.reload(); }

function centerLayers() {
	if (document.layers || document.all || document.getElementById){
		var winWidth, winHeight, i, horz, vert, width, height, offsetX, offsetY, negX, negY, group, x, y, args;
		args = centerLayers.arguments;
		onresize = rebuildPage;

		winWidth  = (document.all) ? document.body.clientWidth : window.innerWidth;
		winHeight = (document.all) ? document.body.clientHeight : window.innerHeight;

		for (i=0; i<(args.length-9); i+=10) {
			horz    = args[i+1];
			vert    = args[i+2];
			width   = parseInt(args[i+3]);
			height  = parseInt(args[i+4]);
			offsetX = parseInt(args[i+5]);
			offsetY = parseInt(args[i+6]);
			negX    = args[i+7];
			negY    = args[i+8];

			x = ((winWidth - width)/2) + offsetX;
			y = ((winHeight - height)/2) + offsetY;

			x = (negX=='false' && (x < 0)) ? 0 : x;
			y = (negY=='false' && (y < 0)) ? 0 : y;

			layerObj = (document.getElementById) ? document.getElementById(args[i]) : findObj(args[i]);

			if (layerObj != null) {
				layerObj = (layerObj.style) ? layerObj.style : layerObj;
				layerObj.left = (horz=="true") ? x : layerObj.left;
				layerObj.top = (vert=="true") ? y : layerObj.top;
			}
		}
	}
}

