/* redforts.js
 * vim: ai foldenable foldmethod=marker foldclose=
 *
 * Written by Ben Siemerink in 2009 and 2010.
 * Copyright (c) 2009-2010 by Ben Siemerink, Qoben.
 */

var video_id=null;
var video_player=null;

function ju_addevent(obj, type, fn, oncapture) { // {{{1
    if (obj.attachEvent) {
	obj['e'+type+fn]=fn;
	obj[type+fn]=function() { obj['e'+type+fn](window.event); }
	obj.attachEvent('on'+type, obj[type+fn]);
    } else obj.addEventListener(type, fn, oncapture);
}

function ju_delevent(obj, type, fn, oncapture) { // {{{1
    if (obj.detachEvent) {
	if (obj[type+fn]) {
	    obj.detachEvent('on'+type, obj[type+fn]);
	    obj[type+fn]=null;
	}
    }
    else obj.removeEventListener(type, fn, oncapture);
}

function ju_eventtarget(e) { // {{{1
    var targ;
    if (!e) var e=window.event;
    if (e.target) targ=e.target;
    else if (e.srcElement) targ=e.srcElement;
    else return;
    if (targ.nodeType==3) targ = targ.parentNode; // Webkit returns text node
    return targ;
}

function play_video(url) { // {{{1
    // Changes the href of the video element to the given URL and initialises
    // Flowplayer on it.
    if (!video_id || !video_player) return;
    video_player.setClip(url);
    video_player.play();
}

function init_video(id) { // {{{1
    var element=document.getElementById(id);
    if (!element) alert('Cannot play videos on this page, because the playback element is missing.');
    video_id=id;
    video_player=flowplayer(video_id, "/flowplayer-3.2.7.swf", {
	plugins:{ controls:{ autoHide:false, height:30, url:'/flowplayer.controls-3.2.5.swf', all:false, play:true, fullscreen:true, scrubber:true, time:true, duration:true, backgroundColor:'#000000', tooltips:{buttons:false, fullscreen:'Ver en pantalla completa'}} }});
}

function humansonly(id, text, link) { // {{{1
    var e, t, i;
    e=document.getElementById(id);
    if (e==undefined) return;

    if (text!=null) {
	t='';
	for (i in text) t+=String.fromCharCode(159-text[i]);
	e.innerHTML=t;
	if (e.title) e.title=t;
    }

    if (link!=null && e.href) {
	l='';
	for (i in link) l+=String.fromCharCode(159-link[i]);
	e.href=l;
    }
}

function faq_init() { // {{{1
    // Adds event handlers to all p.faq and hides all div.faq
    var elist, e, i;

    // p.faq
    elist=document.getElementsByTagName('p');
    for (i in elist) {
	e=elist[i];
	if (e.className=='faq') {
	    e.className='faqq';
	    ju_addevent(e, 'click', faq_toggle, true);
	    ju_addevent(e, 'keypress', faq_toggle, true);
	}
    }

    // div.faq
    elist=document.getElementsByTagName('div');
    for (i in elist) {
	e=elist[i];
	if (e.className=='faq')
	    e.style.display='none';
    }

    // Make an optional hash tag visible
    if (document.location.hash) {
	e=document.getElementById('hash_'+document.location.hash.substr(1));
	if (e) {
	    e.style.display='block';
	    e.previousSibling.scrollIntoView();
	}
    }
}

function faq_toggle(e) { // {{{1
    // Toggles the visibility of the division just after the target element.
    // It closes any other divisions of class faq.
    var elem, div, e, i;
    elem=ju_eventtarget(e);
    if (!elem) return;

    div=elem.nextSibling;

    // Close all other divs
    elist=document.getElementsByTagName('div');
    for (i in elist) {
	e=elist[i];
	if (e.className=='faq' && e!=div && e.style.display!='none')
	    e.style.display='none';
    }

    // Toggle this div
    if (div.style.display=='none') div.style.display='block';
    else div.style.display='none';
}

function compute_prices() { // {{{1
    var fo, plan, base;
    fo=document.getElementById('frontoffice1').checked;
    plan=document.getElementById('plan').value;
    if (isNaN(plan)) plan=1;
    base=5+Number(plan);
    if (fo) base=base*4/3;
    put_price('price1', base);
    put_price('price6', base*.9);
    put_price('price12', base*.85);
    put_price('price24', base*.8);
}

function put_price(id, price) { // {{{1
    var e, s;
    e=document.getElementById(id);
    if (!e) return;
    e.innerHTML='&euro; '+price.toFixed(2);
}

function initialise_all() { // {{{1
    if (document.getElementById('frontoffice1')) {
	ju_addevent(document.getElementById('frontoffice0'), 'click', compute_prices, true);
	ju_addevent(document.getElementById('frontoffice0'), 'keypress', compute_prices, true);
	ju_addevent(document.getElementById('frontoffice1'), 'click', compute_prices, true);
	ju_addevent(document.getElementById('frontoffice1'), 'keypress', compute_prices, true);
	ju_addevent(document.getElementById('plan'), 'click', compute_prices, true);
	ju_addevent(document.getElementById('plan'), 'keypress', compute_prices, true);
	compute_prices();
    }
}

// Initialise on page load {{{1
ju_addevent(window, 'load', initialise_all, true);


