var __id = "home";

function slideTimer(from, to, src_id) {

	var direction = (from < to) ? 1 : 0;

    var step = 10;

	self.scrollTo(from, 0);

	if (from != to) {

		if (direction) {

			from += step;

            if (from > to) from = to;

		} else {

			from -= step;

            if (from < to) from = to;
		}

        setTimeout('slideTimer('+from+','+to+',\''+src_id+'\')', 1);

	} else {

		displayById(src_id, 0);

		var frame = document.getElementById('iphone');

		frame.style.width = '100%';

		var dst = document.getElementById(__id);

		dst.style.width = '100%';
		dst.style.position = 'relative';
		dst.style.top = 0;
		dst.style.left = 0;

        self.scrollTo(0, 0);
	}
}

function slide(id, direction) {

	if (id != __id) {

		var src = document.getElementById(__id);

		var dst = document.getElementById(id);

        var src_id = __id;

		__id = id;

		var frame = document.getElementById('iphone');

		frame.style.width = '200%';

		src.style.width = '50%';
        src.style.position = 'absolute';
		src.style.top = 0;
		src.style.left = direction ? 0 : src.offsetWidth+'px';

        display(src, 1);

		dst.style.width = '50%';
        dst.style.position = 'absolute';
		dst.style.top = 0;
		dst.style.left = direction ? src.offsetWidth+'px' : 0;

		display(dst, 1);

		var width = src.offsetWidth;

		if (direction) {

			slideTimer(0, width, src_id);

		} else {

			slideTimer(width, 0, src_id);
		}

        addStat(id);
	}

    return false;
}

function display(o, s) {

	if (o) o.style.display = s ? "block" : "none";
}

function displayById(id, s) {

    var o = document.getElementById(id);

    display(o, s);
}

function load_title(url) {

    request(url, load_title_cb);

    return false;
}

function load_title_cb(o) {

	var li = document.getElementById('current_title');

    if (li) li.innerHTML = o.responseText;
}


function load_titles(url) {

    request(url, load_titles_cb);

    return false;
}

function load_titles_cb(o) {

	var li = document.getElementById('titles_list');

    if (li) li.innerHTML = o.responseText;
}

function load_bonsplans(url) {

    request(url, load_bonsplans_cb);

    return false;
}

function load_bonsplans_cb(o) {

	var li = document.getElementById('bonsplans_list');

    if (li) li.innerHTML = o.responseText;
}

function load_bonsplans_dates(url) {

    request(url, load_bonsplans_dates_cb);

    return false;
}

function load_bonsplans_dates_cb(o) {

	var li = document.getElementById('bonsplans_dates');

    if (li) li.innerHTML = o.responseText;
}

function load_bonsplans_list(url) {

    request(url, load_bonsplans_list_cb);

    return false;
}

function load_bonsplans_list_cb(o) {

	var li = document.getElementById('bonsplans_list');

    if (li) li.innerHTML = o.responseText;
}

function load_bonsplans_content(url) {

    request(url, load_bonsplans_content_cb);

    return false;
}

function load_bonsplans_content_cb(o) {

	var li = document.getElementById('bonsplans_content');

    if (li) li.innerHTML = o.responseText;
}

function load_bonsplans_content_search(url) {

    request(url, load_bonsplans_content_search_cb);

    return false;
}

function load_bonsplans_content_search_cb(o) {

	var li = document.getElementById('bonsplans_content_search');

    if (li) li.innerHTML = o.responseText;
}

function load_news(url) {

    request(url, load_news_cb);

    return false;
}

function load_news_cb(o) {

	var li = document.getElementById('news_list');

    if (li) li.innerHTML = o.responseText;
}

function load_news_content(url) {

    request(url, load_news_content_cb);

    return false;
}

function load_news_content_cb(o) {

	var li = document.getElementById('news_content');

    if (li) li.innerHTML = o.responseText;
}

function load_news_content_search(url) {

    request(url, load_news_content_search_cb);

    return false;
}

function load_news_content_search_cb(o) {

	var li = document.getElementById('news_content_search');

    if (li) li.innerHTML = o.responseText;
}

function load_search(url) {

    request(url, load_search_cb);

    return false;
}

function load_search_cb(o) {

	var li = document.getElementById('search_list');

    if (li) li.innerHTML = o.responseText;
}

function __callback(o, cb) {

	if (o.readyState != 4) return;

	if (o.status == 200) {

        if (cb) cb(o);
	}
}

function request(url, cb) {

	var o = new XMLHttpRequest();

    var c = function() { __callback(o, cb); };

	o.onreadystatechange = c;

    o.open("get", url, true);

    o.send(null);
}

function urlencode(str) {

	str = escape(str);

	str = str.replace('+', '%2B');
	str = str.replace('%20', '+');
	str = str.replace('*', '%2A');
	str = str.replace('/', '%2F');
	str = str.replace('@', '%40');

	return str;
}

function titles_updater(url, load) {

	if (load) {

		load_title(url);
	}

    setTimeout('titles_updater(\''+url+'\', true)', 60000);
}

function location_text(id, text) {

	var o = document.getElementById(id);

    if (o) o.innerHTML = text;
}

