/** (c) atamasoft */

if (typeof quizken == 'undefined')
{
	quizken = {
		genre_name: encodeURI('')
		, tag_name: encodeURI('')
		, quiz_type: 'open'
		, panel_theme: 'brain'
		, question_key: ''
	};
}

(function (){
	var isUserBadge = quizken.user_name || quizken.user_id;
	var service_name;
	try
	{
		// encodeURI-ed value. sign characters should be converted to %\d\d
		var params = {};
		if (typeof quizken.genre_name !== 'undefined' && quizken.genre_name.length)
		{
			params.genre_name = quizken.genre_name;
			service_name = quizken.genre_name;
		}
		if (typeof quizken.tag_name !== 'undefined' && quizken.tag_name.length)
		{
			params.tag_name = quizken.tag_name;
			service_name = quizken.tag_name;
		}
		if (typeof quizken.question_key !== 'undefined' && quizken.question_key.length)
		{
			params.question_key = quizken.question_key;
			service_name = '';
		}
		if (typeof quizken.author_id !== 'undefined' && quizken.author_id.length)
			params.author_id = quizken.author_id;
		
		if (typeof quizken.panel_theme !== 'undefined' && quizken.panel_theme.length)
			params.panel_theme = quizken.panel_theme;
		if (quizken.quiz_type)
			params.quiz_type = quizken.quiz_type;
		if (quizken.series_id)
			params.series_id = parseInt(quizken.series_id);
		if (typeof quizken.user_id !== 'undefined' && quizken.user_id.length)
			params.user_id = quizken.user_id;
		if (typeof quizken.user_name !== 'undefined' && quizken.user_name.length)
			params.user_name = quizken.user_name;
		
		var url = quizken.baseUrl + (isUserBadge ? '/user/badge' : '/quiz/badge');
		for (var key in params)
		{
			var value = params[key];
			if (('' + key + value).match(/["<>\/]/)) // "
			{
				console.warn(url);
				continue;
			}
			if (typeof value !== 'undefined')
				url += '/' + key + '/' + value;
		}
		// console.debug(url);
	}
	catch (e)
	{
		console.dir(e);
		// TODO fixed domain
		url = 'http://quizken.jp';
	}

	var pixelWidth = 320;
	var pixelHeight = 356;
	if ((quizken.panel_theme || '').indexOf('leaderboard') >= 0)
	{
		pixelWidth = 416;
		pixelHeight = 160;
	}
	else if ((quizken.panel_theme || '').indexOf('shoulder') >= 0 || isUserBadge)
	{
		pixelWidth = 160;
		pixelHeight = 416;
	}


	// クイズ画面ではサーバー側がバッヂ内部を返す
	// if function exists, the page is part of quizken
	// if (!location.hash && window.IsFullScaleBadgeDevice && IsFullScaleBadgeDevice(pixelWidth, pixelHeight))
	// {
	//	location.href = url;
	//	return;
	// }
	
	
	// inline styles
	var s = [];
	s.push('<iframe frameborder="0" allowtransparency="true" scrolling="no" src="' + url + '"'
		+ ' style="width: ' + pixelWidth + 'px; height: ' + pixelHeight + 'px; border: none 0px; overflow: hidden;" >');
	s.push('	<div>');
	s.push('		<strong><a href="' + quizken.baseUrl + '/">quizken.jp</a></strong>');
	s.push('	</div>');
	s.push('</iframe>');
	
	// console.debug(s);
	// join to a single line
	document.write(s.join('').replace(/[\s]+/g, ' '));
})();
