/**
 * Click.js
 * ver. 20080118.1
 *
 * Blogdeco http://blogdeco.jp/
 */

if (typeof Blogdeco2 == 'undefined') var Blogdeco2 = { jsonp: {} };

Blogdeco2.bind = function(element, type, handler) {
	if (typeof element.addEventListener == 'function')
		element.addEventListener(type, handler, false);
	else
		element.attachEvent('on' + type, handler);
};

Blogdeco2.unbind = function(element, type, handler) {
	if (typeof element.removeEventListener == 'function')
		element.addEventListener(type, handler, false);
	else
		element.detachEvent('on' + type, handler);
};

Blogdeco2.makeArray = function(obj) {
	var array = [];
	for (var i = 0; i < obj.length; i++)
		array.push(obj[i]);
	return array;
};

Blogdeco2.getJSON = function(endpoint, queries, callback) {
	if (!queries.callback)
		queries.callback = 'callback';

	var id = new Date().getTime();
	queries[queries.callback] = 'Blogdeco2.jsonp._' + id;
	if (queries.callback != 'callback')
		delete queries.callback;

	Blogdeco2.jsonp['_' + id] = callback;

	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src  = endpoint + '?' + Blogdeco2.queryString(queries);
	document.body.appendChild(script);
};

Blogdeco2.queryString = function(queries) {
	var s = [];
	for (q in queries)
		s.push([encodeURIComponent(q), encodeURIComponent(queries[q])].join('='));
	return s.join('&');
};

Blogdeco2.setCSS = function(href) {
	var link = document.createElement('link');
	link.rel  = 'stylesheet';
	link.type = 'text/css';
	link.href = href;
	document.getElementsByTagName('head')[0].appendChild(link);
};

Blogdeco2.more = function(s, size) {
	return (s.length > size)
		? s.slice(0, size) + '...'
		: s;
};

Blogdeco2.zeroFormatter = function(s, place) {
	var s = s.toString();
	while (s.length < place)
		s = '0' + s;
	return s;
};


(function() {
	var Clock2 = {
		config2: null,
		timer2: null
	};

	Clock2.run = function(config2) {
		Blogdeco2.setCSS(config2.css2);

		this.config2 = config2;
		this.show();
		this.start();
	};

	Clock2.show = function() {
		var div = document.createElement('div');
		div.id = 'blogdeco_clock2';
		div.innerHTML = [
			'<div id="blogdeco_clock2_main">',
			'<span id="blogdeco_clock2_h">' + Clock2.str2img('00') + '</span>',
			'<img src="' + Clock2.config2.image2.path2 + '/colon.png" width="22" height="22"/>',
			'<span id="blogdeco_clock2_m">' + Clock2.str2img('00') + '</span>',
			'</div>',
'<a href="http://www.penguin-style.com/" id="ahref" style="border:none;">ペンギン・スタイル</a>',
		].join('');

		var script = Blogdeco2.makeArray(document.getElementsByTagName('script')).pop();
		script.parentNode.insertBefore(div, script);



	};

	Clock2.start = function() {
		var lasttime = {};
		Clock2.timer2 = setInterval(function() {
			var date = new Date();
			var datetime = {
				// s: Clock2.str2img(date.getSeconds(), 2),
				m: Clock2.str2img(date.getMinutes(), 2),
				h: Clock2.str2img(date.getHours(),   2)
			};

			for (d in datetime) {
				if (datetime[d] == lasttime[d]) break;
				document.getElementById('blogdeco_clock2_' + d).innerHTML = datetime[d];
			}
			lasttime = datetime;
		}, 100);
	};

	Clock2.stop = function() {
		if (!Clock2.timer2) return;

		clearTimeout(Clock2.timer2);
		Clock2.timer2 = null;
	};

	Clock2.str2img = function(s, place) {
		s = Blogdeco2.zeroFormatter(s, place);
		var image2 = Clock2.config2.image2;
		return s.replace(/./g, '<img src="' + image2.path2 + '/$&' + image2.ext2 + '" alt="$&" width="' + image2.width2 + '" height="' + image2.height2 + '"/>');
	};


	// main
	Clock2.run({
		css2  : 'http://blog.penguin-style.com/blogparts/clock/rockhopper/clock/clock.css',
		image2: {
			path2  : 'http://blog.penguin-style.com/blogparts/clock/rockhopper/clock',
			ext2   : '.png',
			width2 : 22,
			height2: 22
		}
	});
})();

