/*
information = {
	filename: /js/generator/common/setstyleswitcher.js ;
	description: define Style switcher functions . ;
	company : Hitachi Construction Machinery Camino Co., Ltd.;
	copyright : (c) 2008 Hitachi Construction Machinery Camino Co., Ltd. All rights reserved. ;
}
*/

/* Load Stylesheet function
----------------------------------------------------------- */
var setSScssfiles = {
	cssfiles:[
		["css/generator/font/normal.css","normal"],
		["css/generator/font/small.css","small"],
		["css/generator/font/large.css","big"]
	],
	load:function(){
		var u = navigator.userAgent.toLowerCase(),
			cssfiles = (/msie/i.test(u))? this.cssfiles.reverse() : this.cssfiles,
			h = document.getElementsByTagName("head")[0],
			str = "";
			var self = this;
			for( var i=0,f=cssfiles.length ; i<f ; i++ ){
				l = document.createElement('link');
				l.setAttribute('title',cssfiles[i][1]);
				l.setAttribute('href',hcmac.siteDir + cssfiles[i][0]);
				l.setAttribute('type','text/css');
				l.setAttribute('rel','stylesheet');
				h.appendChild(l);
			}
	}
}
setSScssfiles.load();

/* Style switcher functions.
----------------------------------------------------------- */
var setSSbutton = function(){return this;}
setSSbutton.prototype = {
	init: function(){
		styleswitch = document.getElementById("styleSwitcher");if(!styleswitch) return false;
		as = styleswitch.getElementsByTagName("a");
		for( var i=0,f=as.length ; i<f ; i++ ){
			(function(i){
				as[i].onclick = function(){
					size = as[i].parentNode.className.substring(3,this.parentNode.className.length);
					/* Adjusts link elements of static contents. */
					var btnSize = (size.toLowerCase() == "large")? "big" : size.toLowerCase();
					setActiveStyleSheet(btnSize);
					//setActiveStyleSheet(size.toLowerCase());
					return false;
				}
			})(i);
		}
	}
}
var ssbutton = new setSSbutton();
window.addOnload(ssbutton.init);

/* StyleSwitcher functions (Paul Sowden) */
function setActiveStyleSheet(title){
	var i, a, main;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if(a.getAttribute("title") == title){
				a.disabled = false;
			}
		}
	}
}

function getActiveStyleSheet() {
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
	}
	return null;
}

function getPreferredStyleSheet() {
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1
			&& a.getAttribute("rel").indexOf("alt") == -1
			&& a.getAttribute("title")
		) return a.getAttribute("title");
	}
	return null;
}

/* cookie function */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

/* onload event */
function SSinit(){
	var cookie = readCookie("style");
	var title = cookie ? cookie : getPreferredStyleSheet();
	setActiveStyleSheet(title);
}
window.addOnload(SSinit);

/* onunload event */
window.onunload = function(e) {
	var title = getActiveStyleSheet();
	createCookie("style", title, 365);
}

/* other event */
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

