var info;

var data = {
	name: 'User list',
	list_id: 4,
	table: [
		{id: 1, name: 'Anne', age: 22, mail: 'anne@domain.com'},
		{id: 2, name: 'Amelie', age: 24, mail: 'amelie@domain.com'},
		{id: 3, name: 'Polly', age: 18, mail: 'polly@domain.com'},
		{id: 4, name: 'Alice', age: 26, mail: 'alice@domain.com'},
		{id: 5, name: 'Martha', age: 25, mail: 'martha@domain.com'}
	]
};

function setContent(id) {
	var _content = $('#content_content');
	var _examples = $('#content_examples');
	
	_content.html(info.content[id].text);
	
	_content.show();
	_examples.hide();
	
	$.cookie('jTemplates_contentType', 'c', {expires: 1});
	$.cookie('jTemplates_contentID', id, {expires: 1});
};

function setContentExample(id) {
	var _content = $('#content_content');
	var _examples = $('#content_examples');
	
	_content.html(info.instructions[id].text);
	$('#template').val(info.instructions[id].code);
	test_update();
	
	_content.show();
	_examples.show();
	
	$.cookie('jTemplates_contentType', 'e', {expires: 1});
	$.cookie('jTemplates_contentID', id, {expires: 1});
};

function setContentLiveEditor() {
	var _content = $('#content_content');
	var _examples = $('#content_examples');
	
	_content.html(info.liveEditor.text);
	$('#template').val(info.liveEditor.code);
	test_update();
	
	_content.show();
	_examples.show();
	
	$.cookie('jTemplates_contentType', 'le', {expires: 1});
};

function setContentGeshi() {
	var _content = $('#content_content');
	var _examples = $('#content_examples');
	
	if(!$(_content).hasTemplate()) {
		_content.setTemplateURL('form_geshi.tpl');
	}
	_content.processTemplate('{#template MAIN}\nWrite your template here.\n{#/template MAIN}');
	
	_content.show();
	_examples.hide();
};

function test_update() {
	var _template = $('#template');
	var _result = $('#result');
	
	_result.html('');
	try {
		eval(_template.val());
		_result.css('color', '#000');
	} catch(e) {
		_result.css('color', '#F00');
		_result.html(e.toString());
	}
};

function geshi_send() {
	$.post(
		'geshi_run.php',
		{code: $('#code').val()},
		function(c) {
			$('#geshi_code').html(c);
		}
	);
};

function emaildecoder() {
	var e = [106, 232, 101, 218, 112, 216, 97, 232, 101, 230, 64, 232, 112, 242, 116, 208, 111, 220, 46, 198, 111, 218];
	var f = String.fromCharCode;
	var s = '';
	for(var i=0, l=e.length; i<l; ++i) {
		if(i % 2) {
			e[i] /= 2;
		}
		s += f(e[i]);
	}
	return s.link('mailto:'+s);
};

function div_data_toggle() {
	var el = $('#data_example');
	if(el.css('display') == 'none') {
		el.show('slow');
		$.cookie('hide_data', false, {expires: 30});
	} else {
		el.hide('slow');
		$.cookie('hide_data', true, {expires: 30});
	}
};

$(document).ready(function() {
	$.ajax({
		url: 'data_en.php',
		dataType: 'json',
		async: false,
		success: function(d) {
			info = d;
		}
	});

	var _menu = $('#menu');
	_menu.setTemplateURL('menu.tpl', null, {disallow_functions: false, filter_data: false, filter_params: false});
	_menu.processTemplate(info);
	
	if($.cookie('hide_data') == 'true') {
		$('#data_example').hide();
	}
	
	var contType = $.cookie('jTemplates_contentType');

	if(contType) {
		var contID = $.cookie('jTemplates_contentID');
		if(contID) {
			if(contType == 'c')
				setContent(contID);
			else if(contType == 'e')
				setContentExample(contID);
			else if(contType == 'le')
				setContentLiveEditor();
			else
				setContent(0);
		}
	} else {
		setContent(0);
	}
	$('#main').show();
});