// JavaScript Document

$(function(){
			
			// 全要素をからTITLE属性を持っている要素だけに絞る
			$("body *").filter(function(){
				return this.title && this.title.length>0;
			}).each(function(){
				// TITLE属性を持っている要素に適用する
				
				// あとで使う
				var self = $(this), title = self.attr("title");
				
				// TITLE属性を持っている要素にhover()で
				self.hover(
				
					// mouseover
					function(e){ // このeはevent自体を意味する
					
						// TITLEがあるとブラウザのチップが出るので一時的に空にしておく
						self.attr("title","");
					
						// とりあえず表示するtip要素を生成しておく
						$("body").append("<div id='title-tip'>"+title+"</div>");
						$("#title-tip").css({
							position: "absolute",
							
							// e.pageX(Y)でカーソルが要素に乗った時点でのX(Y)座標を取得する
							top: e.pageY+(-15), // カーソルと表示したtipが重なるとチラつくので少しずらす
							left: e.pageX+15
						});
					},
					
					// mouseout
					function(){
					
						// mouseoverで空にしたTITLEを戻す
						self.attr("title",title);
					
						// 要素から離れた場合はtipを非表示にして削除しておく
						$("#title-tip").hide().remove();
					}
				);
				
				// 要素上でカーソルが移動した場合は、逐一tipの位置を変える
				self.mousemove(function(e){
					$("#title-tip").css({
						top: e.pageY+(-15),
		    			left: e.pageX+15
					});		
				});
			});
					
		});
