 // Customized by psychoblue //  Licensed under the MIT License:// jQuery_Auto 0.9 + yuga.js 0.4.2 + heightLine customize/* ------------------------------------------------------------------ Original+  jQuery_Auto.js     http://sputnik.pl/code/javascript/jquery_auto+  yuga.js     http://kyosuke.jp/portfolio/javascript/yuga.html+ heightLine.js    http://blog.webcreativepark.net/2007/07/26-010338.html----------------------------------------------------------------- */// jQuery_Auto 0.9// Automatic functions for webpages (using the wonderful jQuery library)// Copyright: (c) 2006, Michal Tatarynowicz (tatarynowicz@gmail.com)// Licenced as Public Domain (http://creativecommons.org/licenses/publicdomain/)// $Id: jquery_auto.js 426 2006-05-06 19:54:39Z Michał $// Initialization$.auto = {	init: function() {		for (module in $.auto) {			if ($.auto[module].init)				$.auto[module].init();		}	}};$(document).ready($.auto.init);// Auto-hidden elements$.auto.hide = {	init: function() {		$('.noScript').hide();	}};// Auto-submitting SELECTs$.auto.submit = {	init: function() {		$('select.changeSubmit').bind('change', this.on_change);	},	on_change: function() {		if (this.value) this.form.submit();	}};// Auto-selected text in text fields after a label click$.auto.select = {	init: function() {		$('label.fieldSelect').each(this.label_action);		$('input.fieldSelect').bind('click', function(){ this.select(); });	},	label_action: function() {		var field = $('#'+this.htmlFor).get(0);		if (field && field.focus && field.select) {			$(this).bind('click', function(){ field.focus(); field.select(); });		}	}};// Switches tabs on click$.auto.tabs = {	init: function() {		$('.tabContainer').each(function(){			var f = $.auto.tabs.click;			var group = this;			$('.tab li, li.tab', group).each(function(){				this.group = group;				$(this).click(f);				$('#'+this.id+'Body').hide();			}).filter(':first').trigger('click');		});	},	click: function() {		var tab = $('#'+this.id+'Body').get(0);		$('.tab li, li.tab', this.group).each(function(){			$(this).removeClass('active');			$('#'+this.id+'Body').hide();		});		$(this).addClass('active');		$(tab).show();		this.blur();		return false;	}};/* * yuga.js 0.4.2 - 優雅なWeb制作のためのJS * * Copyright (c) 2007 Kyosuke Nakamura (kyosuke.jp) * Licensed under the MIT License: * http://www.opensource.org/licenses/mit-license.php * * Since:     2006-10-30 * Modified:  2008-01-15 * * jQuery 1.1.4 * ThickBox 3.1 * Interface 1.2 (Effects scroll) *//* yuga.js内で使っているfunction群 */var yuga = {	// imageのプリローダー	preloader: {		loadedImages: [],		load: function (url){			var img = this.loadedImages;			var l = img.length;			img[l] = new Image();			img[l].src = url;		}	},	// URIを解析したオブジェクトを返すfunction	URI: function(s){		this.originalPath = s;				//絶対パスを取得		this.getAbsolutePath = function(path){			if (!path.match(/^(mailto:)|(javascript:)/)) {				var img = new Image();				img.src = path;				path = img.src;				img.src = '#';			}			return path;		};		this.absolutePath = this.getAbsolutePath(s);		//同じ文書にリンクしているかどうか		this.isSelfLink = (this.absolutePath == location.href);		//絶対パスを分解		var fields = {'schema' : 2, 'username' : 5, 'password' : 6, 'host' : 7, 'path' : 9, 'query' : 10, 'fragment' : 11};		var r = /^((\w+):)?(\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/.exec(this.absolutePath);		for (var field in fields) {			this[field] = r[fields[field]]; 		}	}};$(function(){		//class="imgLink"でロールオーバーを設定（src属性を_over付きのものに差し替える）	$('.imgLink img, img.imgLink').each(function(){		this.originalSrc = $(this).attr('src');		this.rolloverSrc = this.originalSrc.replace(/(\.gif|\.jpg|\.png)/, "_over$1");		yuga.preloader.load(this.rolloverSrc);	}).hover(function(){		$(this).attr('src',this.rolloverSrc);	},function(){		$(this).attr('src',this.originalSrc);	});	//現在のページへのリンク	$('a[@href]').each(function(){		var href = new yuga.URI(this.getAttribute('href'));		if (href.isSelfLink && !href.fragment) {			$(this).addClass('current');			//img要素が含まれていたら現在用画像（_over）に設定			$(this).find('img').each(function(){				//ロールオーバーが設定されていたら削除				$(this).unbind('mouseover');				$(this).unbind('mouseout');				this.currentSrc = this.getAttribute('src').replace(/(\.gif|\.jpg|\.png)/, "_over$1");				$(this).attr('src',this.currentSrc);			});		}	});	//ページ内リンクはするするアニメーション(interface.js利用)	$(function(){		$('.pageTop a').click(function(){			$('#container').ScrollTo(500, 'easeout');			return false;		});	})});/*--------------------------------------------------------------------------* *   *  heightLine JavaScript Library beta4 *   *  MIT-style license.  *   *  2007 Kazuma Nishihata  *  http://www.webcreativepark.net *   *--------------------------------------------------------------------------*/new function(){		function heightLine(){			this.className="heightLine";		this.parentClassName="heightLineParent"		reg = new RegExp(this.className+"-([a-zA-Z0-9-_]+)", "i");		objCN =new Array();		var objAll = document.getElementsByTagName ? document.getElementsByTagName("*") : document.all;		for(var i = 0; i < objAll.length; i++) {			var eltClass = objAll[i].className.split(/\s+/);			for(var j = 0; j < eltClass.length; j++) {				if(eltClass[j] == this.className) {					if(!objCN["main CN"]) objCN["main CN"] = new Array();					objCN["main CN"].push(objAll[i]);					break;				}else if(eltClass[j] == this.parentClassName){					if(!objCN["parent CN"]) objCN["parent CN"] = new Array();					objCN["parent CN"].push(objAll[i]);					break;				}else if(eltClass[j].match(reg)){					var OCN = eltClass[j].match(reg)					if(!objCN[OCN]) objCN[OCN]=new Array();					objCN[OCN].push(objAll[i]);					break;				}			}		}				//check font size		var e = document.createElement("div");		var s = document.createTextNode("S");		e.appendChild(s);		e.style.visibility="hidden"		e.style.position="absolute"		e.style.top="0"		document.body.appendChild(e);		var defHeight = e.offsetHeight;				changeBoxSize = function(){			for(var key in objCN){				if (objCN.hasOwnProperty(key)) {					//parent type					if(key == "parent CN"){						for(var i=0 ; i<objCN[key].length ; i++){							var max_height=0;							var CCN = objCN[key][i].childNodes;							for(var j=0 ; j<CCN.length ; j++){								if(CCN[j] && CCN[j].nodeType == 1){									CCN[j].style.height="auto";									max_height = max_height>CCN[j].offsetHeight?max_height:CCN[j].offsetHeight;								}							}							for(var j=0 ; j<CCN.length ; j++){								if(CCN[j].style){									var stylea = CCN[j].currentStyle || document.defaultView.getComputedStyle(CCN[j], '');									var newheight = max_height;									if(stylea.paddingTop)newheight -= stylea.paddingTop.replace("px","");									if(stylea.paddingBottom)newheight -= stylea.paddingBottom.replace("px","");									if(stylea.borderTopWidth && stylea.borderTopWidth != "medium")newheight-= stylea.borderTopWidth.replace("px","");									if(stylea.borderBottomWidth && stylea.borderBottomWidth != "medium")newheight-= stylea.borderBottomWidth.replace("px","");									CCN[j].style.height =newheight+"px";								}							}						}					}else{						var max_height=0;						for(var i=0 ; i<objCN[key].length ; i++){							objCN[key][i].style.height="auto";							max_height = max_height>objCN[key][i].offsetHeight?max_height:objCN[key][i].offsetHeight;						}						for(var i=0 ; i<objCN[key].length ; i++){							if(objCN[key][i].style){								var stylea = objCN[key][i].currentStyle || document.defaultView.getComputedStyle(objCN[key][i], '');									var newheight = max_height;									if(stylea.paddingTop)newheight-= stylea.paddingTop.replace("px","");									if(stylea.paddingBottom)newheight-= stylea.paddingBottom.replace("px","");									if(stylea.borderTopWidth && stylea.borderTopWidth != "medium")newheight-= stylea.borderTopWidth.replace("px","")									if(stylea.borderBottomWidth && stylea.borderBottomWidth != "medium")newheight-= stylea.borderBottomWidth.replace("px","");									objCN[key][i].style.height =newheight+"px";							}						}					}				}			}		}				checkBoxSize = function(){			if(defHeight != e.offsetHeight){				changeBoxSize();				defHeight= e.offsetHeight;			}		}		changeBoxSize();		setInterval(checkBoxSize,1000)		window.onresize=changeBoxSize;	}		function addEvent(elm,listener,fn){		try{			elm.addEventListener(listener,fn,false);		}catch(e){			elm.attachEvent("on"+listener,fn);		}	}	addEvent(window,"load",heightLine);}