Element.implement({
	hover: function (enter, leave) {
		this.addEvents({
			mouseenter: enter,
			mouseleave: leave
		});
	}
});
var Site = {
	start: function () {
		Site.appearText();
	},
	appearText: function () {
		var timer = 0;
		var sideblocks = $$('.container, .works');
		var slidefxs = [];
		var colorfxs = [];
		sideblocks.each(function (el, i) {
			timer += 250;
			var def = el.getStyles('margin-left', 'opacity');
			var ac = { //'margin-left' : -250,
				'opacity': 0
			}
			slidefxs[i] = new Fx.Morph(el, {
				duration: 500,
				transition: Fx.Transitions.backOut,
				wait: false
			}).set(ac);
			slidefxs[i].start.delay(timer, slidefxs[i], def);
		},
		this);
	}
};
window.addEvent('domready', function () {
	//new Asset.javascript('http://natsuki-machida.net/js/Class/ContextMenu.js', {onload: createCmenu});
	$$('h1:nth-child(first),h2:nth-child(first)').setStyle('margin-top', '0');
	var myFx = new Fx.Scroll($(document.body));
	$$('.pageTop').addEvent('click', function (e) {
		e.stop();
		myFx.toTop();
	});
	if ($('comments-form')) {
		commentAjax($('comments-form'), $('comment-greeting'));
	}
	if (window.ReMooz) {
		$$('.thumb a, #slide li a, .entry-image a').each(function (element) {
			new ReMooz(element, {
				centered: true
			});
		});
	};
	var myTips = new Tips('.tooltip', {
		className: 'tooltips',
		text: 'rel'
	});
	myTips.addEvents({
		'show': function (tip, el) {
			tip.fade('in')
		},
		'hide': function (tip, el) {
			tip.fade('out')
		}
	});
	blankLink();
	//Site.start();
	//if ($('index')) lastFm();
	if ($('weblog')) acc();
	//readCookie();



});
window.addEvent('load', function () {
	replaceMedia();
	if (Browser.Platform.ipod) iPhone();
	if ($('slideW')) var slider = new SimpleSlide('slide', {
		childTag: 'li',
		control: true,
		mode: 'fade',
		autoPlay: false
	});
	$$('.works-image img').each(function (el) {
		var pro = el.getSize();
		if (pro.x.toInt() > 430) {
			el.setProperties({
				'width': 528
			});
		}
	});
if($('loadcss')) $('loadcss').destroy(), $$('.content').setStyle('visibility', 'visible');
Site.start();
}); ///////////////////////////// commentAjax
var commentAjax = function (tg, res) {
	var form = tg;
	var resp = res;
	form.addEvent('submit', function (e) {
		e.stop();
		this.set('send', {
			evalScripts: true,
			onRequest: function () {
				resp.set('html', '<img src="http://natsuki-machida.net/css/img/spiner.gif" align="absmiddle" />&nbsp;sending...');
			},
			onComplete: function () {
				resp.set('html', 'send complete!!');
			},
			onSuccess: function (response) {
				var e = new Element('div', {
					'html': response
				});
				var messege = e.getElement('div[id=messege]');
				resp.set('html', messege.innerHTML);
				if (messege.hasClass('ERROR')) form.destroy();
				form.preview.value = '';
				mtEntryOnUnload();
			}
		});
		this.send();
	});
}; ///////////////////////////// replaceMedia
function replaceMedia() {
	$$('a[href$=.mp3]').each(function (e) {
		if (Browser.Platform.ipod) iPhoneReplace(e, e.href)
		else replaceMediaFile(e, '100%', 20);
	});
	$$('a[href$=.flv]').each(function (e) {
		var obj = e.getElement('img');
		if (!obj) {
			obj = e.getParent().getElement('img');
		}
		replaceMediaFile(e, obj.width, obj.height, obj.src, e);
		obj.destroy();
	});
	$$('a[href$=.swf]').each(function (e) {
		var obj = e.getElement('img');
		if (!obj) {
			obj = e.getParent().getParent().getElement('img');
		}
		var obj2 = new Swiff(e, {
			width: '100%',
			height: obj.height,
			params: {
				wMode: 'opaque',
				bgcolor: '#000',
				movie: e
			}
		}).replaces(e);
obj.destroy();
	});
	$$('a[href*=http://vimeo.com/moogaloop.swf]').each(function (e) {
		var obj = new Swiff(e, {
			width: '100%',
			height: 400,
			params: {
movie: e
			}
		}).replaces(e);
	});
	$$('a[href*=http://www.youtube.com/watch]').each(function (e) {
		if(e.rel) return;
		var linkUrl = e.href.split('v=');
		var linkFile = 'http://www.youtube.com/v/' + linkUrl[1] + '&color1=0x3a3a3a&color2=0x999999&border=1';
		var obj = new Swiff(linkFile, {
			width: '100%',
			height: 400,
			params: {
wMode: 'opaque',
movie: linkFile
			}
		}).replaces(e);
	});
};

function replaceMediaFile(e, w, h, i, rp) {
	var obj = new Swiff('http://natsuki-machida.net/mtos/mt-static/mediaplayer/player.swf', {
		id: 'swf_player',
		width: w,
		height: h,
		params: {
			wmode: 'opaque',
			bgcolor: '#000',
			movie: 'http://natsuki-machida.net/mtos/mt-static/mediaplayer/player.swf',
			allowfullscreen: 'true',
			allowscriptaccess: 'always'
		},
		vars: {
			file: e.href,
			image: i,
			skin: 'http://natsuki-machida.net/mtos/mt-static/mediaplayer/player.swf'
		}
	}).replaces((rp) ? rp : e);
};

function iPhoneReplace(el, url) {
	var emb = new Element('embed', {
		'src': url,
		'width': '100%',
		'height': 32
	}).replaces(el)
}; ///////////////////////////// add blanklink icon
var bLink;

function blankLink() {
	var host = location.hostname;
	var blank = $(document.body).getElements('a[href^=http://]');
	blank.each(function (el) {
		if (el.getProperty('href').contains(host)) {
			return false;
		} else {
			var obj = new Element('span', {
				'class': 'blank'
			});
			obj.inject(el);
			el.addEvent('click', function (e) {
				if (bLink == '_blank' || 'undefind') {
					e.stop();
					window.open(this.getProperty('href'));
				};
			});
		}
	});
}; ///////////////////////////// iPhone
function iPhone() {
	$$('img').each(function (el) {
		var pro = el.getSize();
		if (pro.x > 300) {
			el.setProperties({
				'width': '100%',
				'height': ''
			});
		}
	});
	$$('.next').set({
		'html': 'NEXT &raquo;'
	});
	$$('.prev').set({
		'html': '&laquo; PREV'
	});
}; ///////////////////////////// accordion
function acc() {
	var acc = new Fx.Accordion($$('.tog'), $$('.tog-elm'), {
		fps: 100,
		transition: Fx.Transitions.Quart.easeInOut
	});
}; ///////////////////////////// Last.fm
function lastCall(response) {
	var wrap = new Element('div', {
		'class': 'widget-lastfm'
	}).inject($('main'));
	var h3 = new Element('h3', {
		'html': '<a href="http://www.lastfm.jp/user/c-love-r">My Last.fm</a>'
	}).inject(wrap);
	var ul = new Element('ul', {
		'id': 'lastfm'
	}).inject(wrap);
	response.recenttracks.each(function (el) {
		var li = new Element('li', {
			'class': 'clearfix'
		}).addEvent('click', function () {
			open(el['url']);
		}).inject(ul).fade('hide');
		li.hover(function () {
			this.fade(0.5);
		},
		function () {
			this.fade(1);
		});
		var thumb = new Element('img', {
			'src': (el['image_medium']) ? el['image_medium'] : 'http://natsuki-machida.net/css/img/no-img.gif',
			'width': 60,
			'height': 60,
			'align': 'absmiddle'
		}).inject(li);
		var data = new Element('dl', {
			'class': 'last-data'
		}).inject(li);
		var now = (el['nowplaying']) ? '<dt class="nowplaying">NOW PLAYING</dt>' : '';
		data.set({
			'html': now + '<dt class="last-title">' + el['name'] + '</dt><dd class="last-artist">' + el['artist']['name'] + '</dd>'
		}).inject(li);
		li.fade('in')
	});
};

function lastFm() {
	new Request.JSONP({
		url: 'http://lastfm-api-ext.appspot.com/2.0/',
		noCache: true,
		data: {
			method: 'user.getRecentTracks',
			limit: '5',
			user: 'c-love-r',
			outtype: 'js',
			api_key: '265bc5150aab9f6a6dc2b40384763e2f'
		},
		onComplete: lastCall.bind(this)
	}).send();
}; ///////////////////////////// cookie
function readCookie() { //color
	var color = Cookie.read('color');
	var setColor = function () {
		if ($('addCss')) $('addCss').destroy();
		if (color) new Asset.css('http://natsuki-machida.net/css/' + color + '.css', {
			'id': 'addCss'
		});
		else color = 'default';
		$$('#color a').each(function (el) {
			if (el.title == color) el.getParent().addClass('active');
			else el.getParent().removeClass('active');
		});
	};
	$$('#color a').addEvent('click', function (e) {
		e.stop();
		//context.hide();
		color = this.getProperty('title');
		Cookie.write('color', color, {
			duration: 7,
			path: '/'
		});
		setColor();
	});
	setColor(); //font
	var fontSize = Cookie.read('fontSize');
	var sizeCheck = function () {
		var size;
		switch (fontSize) {
		case 'S':
			size = '65%';
			break;
		case 'L':
			size = '100%';
			break;
		default:
			fontSize = 'M';
			size = '85%';
			break;
		};
		$('wrap').setStyle('font-size', size);
		$$('#font-size a').each(function (el) {
			if (el.title == fontSize) el.getParent().addClass('active');
			else el.getParent().removeClass('active');
		});
	};
	$$('#font-size a').addEvent('click', function (e) {
		e.stop();
		//context.hide();
		fontSize = this.getProperty('title');
		Cookie.write('fontSize', fontSize, {
			duration: 7,
			path: '/'
		});
		sizeCheck();
	}); //link-open
	bLink = Cookie.read('linkOpen');
	var setBLink = function () {
		$$('#link-open a').each(function (el) {
			if (el.title == bLink) el.getParent().addClass('active');
			else el.getParent().removeClass('active');
		});
	};
	$$('#link-open a').addEvent('click', function (e) {
		e.stop();
		//context.hide();
		bLink = this.getProperty('title');
		Cookie.write('linkOpen', bLink, {
			duration: 7,
			path: '/'
		});
		setBLink();
	});
	setBLink();
	sizeCheck();
}; ///////////////////////////// ContextMenu
function createCmenu() { //create a context menu
	var clipObj;
	context = new ContextMenu({
		targets: '*',
		//menu only available on links
		menu: 'page-setting',
		actions: {
			copy: function (element, ref) { //copy action changes the element's color to green and disables the menu
				//element.setStyle('color','#090');
				alert(element.get('text')); //ref.disable();
			},
			cut: function (element) {
				element.destroy();
				clipObj = element;
			},
			paste: function (element) {
				if (clipObj) {
					clipObj.inject(element);
					clipObj = null;
				}
			}
			/*delete: function(element){
				element.destroy();
			}*/
		},
		offsets: {
			x: 2,
			y: 2
		}
	});
}; ///////////////////////////// ie
try {
	Window.disableImageCache();
} catch(e) {}
try {
	document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}
