/* ****************************************************************** 

	@This javascript Information{
		JS File Name: common.js

		Setting of: General pages
			1: common_setting (NEW)
			2:check Browser & OS type
			3: minwith maxwidth setting
			4: onload , onresize setting
			5: Script For addComma
	}

****************************************************************** */


/*===================================================================

	1: common_setting (NEW)

===================================================================*/

var common_setting = function() {


	//check Browser & OS type
	var os,ua;
	var initialize = function(){
		var u = navigator.userAgent.toLowerCase();
		var o = navigator.platform.toLowerCase();
		//os
		os = {};
		os.win = /win/.test(o)? true : false;
		os.mac = /mac/.test(o)? true : false;
		//navigator
		ua = {};
		ua.ie = /*@cc_on!@*/false ? parseFloat(u.replace(/^.*msie[^\d]*([\d\.]+).*$/,'$1')) : false;
		ua.iequirks = /BackCompat/i.test(document.compatMode) ? true : false;
		ua.webkit = /webkit/.test(u)? parseFloat(u.replace(/^.*webkit[^\d]*([\d\.]+).*$/,'$1')) : false;
		ua.opera = /opera/.test(u) ? parseFloat(u.replace(/^.*opera[^\d]*([\d\.]+).*$/,'$1')) : false;
		ua.nn = /netscape/.test(u) ? parseFloat(u.replace(/^.*netscape[^\d]*([\d\.]+).*$/,'$1')) : false;
		ua.ff = /firefox/.test(u) ? parseFloat(u.replace(/^.*firefox[^\d]*([\d\.]+).*$/,'$1')) : false;//ff+nn9.
	}();


	//private method
	var addEvent = function(elm,ftype,func,usecap) {
		try{
			elm.addEventListener(ftype,func,usecap);
		} catch(e){
			try {
				elm.attachEvent('on'+ ftype,func);
			} catch(e){
				return;
			}
		}
	}


	//Script For Change Image
	var initRollovers = function() {
		var tags = ['img','input'];
		var p_images = new Array();
		var p_cnt = 0;
		var a_src;
		
		for(var i = 0; i < tags.length ; i++) {
			var elms = document.getElementsByTagName(tags[i]);
			for(var j = 0; j < elms.length;j++) {
				if(elms[j].className && String(elms[j].className).indexOf('imgover') >= 0) {
					var src = elms[j].getAttribute('src');
					var ftype = src.substring(src.lastIndexOf('.'), src.length);
					var hsrc = src.replace(ftype, '_on'+ftype);
		
					elms[j].setAttribute('hsrc', hsrc);
					
					p_images[p_cnt] = new Image();
					p_images[p_cnt].src = hsrc;
					p_cnt++;
					
					var self = elms[j];
					elms[j].onmouseover = function() {
						a_src = this.getAttribute('src');
						this.setAttribute('src', this.getAttribute('hsrc'));
					};

					elms[j].onmouseout = function() {
						if (!a_src) a_src = this.getAttribute('src').replace('_on'+ftype, ftype);
						this.setAttribute('src', a_src);
					};

					elms[j].onfocus = function() {
						a_src = this.getAttribute("src");
						this.setAttribute("src", this.getAttribute("hsrc"));
						return false;
					};
					elms[j].onblur = function() {
						if (!a_src) a_src = this.getAttribute("src").replace("_on"+ftype, ftype);
						this.setAttribute("src", a_src);
						return false;
					};

				}
			}
		}
		
	}


	//Script For Stripe
	function setStripe(){
	
		var tags = ["table","ul","ol"];
		var lineTags = ["tr","li"];
		var className = {firstLine:"first",oddLine:"odd",evenLine:"even"}
	
		for(var i = 0; i < tags.length; i++) {
			var elms = document.getElementsByTagName(tags[i]);
	
			for(var j = 0; j < elms.length; j++) {
				for(var l = 0; l < lineTags.length; l++) {
					var lines = elms[j].getElementsByTagName(lineTags[l]);
		
					for (var k = 0, llen=lines.length; k < llen; k++){
						line = lines[k];
						if(k==0){
							line.className = className.firstLine + " " + line.className;
						}
						if(k%2==0) {
							line.className = className.oddLine + " " + line.className;
						} else {
							line.className = className.evenLine + " " + line.className;
						}
					}
				}
			}
		}
	}

	//onloadイベントはここに追加
	var callLoadEvent = function() {
		initRollovers();
		setStripe();
	}
	//最後に実行しないと動かない
	var addLoadEvent = function() {
		//var self = this;
		//addEvent(window,"load",function(){initRollovers.apply(self);},false);
		//addEvent(window,"load",labelAssist,false);
		addEvent(window,"load",callLoadEvent,false);
	}();

	/*
	 * public API method
	 */
	return {
		test : function() {
			
		}
	}
}();



/*===================================================================

	2:check Browser & OS type

===================================================================*/
function checkUserType(){

	var browserType=new checkBrowserType();

	function checkBrowserType(){
		this.IE4=(navigator.userAgent.indexOf("MSIE 4.")!=-1);
		this.IE5=(navigator.userAgent.indexOf("MSIE 5.")!=-1);
		this.IE6=(navigator.userAgent.indexOf("MSIE 6.")!=-1);
	}

	if(browserType.IE4 || browserType.IE5 || browserType.IE6){
		return ("QuirksIE");
	}
}


/*===================================================================

	3: minwith maxwidth setting

===================================================================*/
function setMinMaxWidth(){

	var browserType = checkUserType("browser");
	
	if (!browserType){

		return false;

	} else if( browserType == "QuirksIE"){
	
		var windowWidth = document.body.clientWidth;
		var wrapper =document.getElementById("wrapper")
		
		if(!wrapper){
			return false;
		} else{
			if(windowWidth <= 942) {
				document.getElementById("wrapper").style.width = "910px";
			} else {
				document.getElementById("wrapper").style.width = "auto";
			}
		}
	
	} else{

		return false;
	}

}


/*===================================================================

	4: onload , onresize setting

===================================================================*/

window.onload = function() {
	setMinMaxWidth();
//	setStripe();
}

window.onresize = function() {
	setMinMaxWidth();
}


/*===================================================================

	5: Script For addComma

===================================================================*/
function addComma(num) {
	var regStr = /^([+-]?\d+)(\d{3})/;
	var newStr = num.toString();
	while(regStr.test(newStr)) {
		newStr = newStr.replace(regStr, "$1,$2");
	}
	return newStr;
}


