// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

Event.observe(window, 'load', function(event){flash_messages(event);}, true )

// appear highlight and fade a message 
function message()
{
        new Effect.Appear("message",{duration:0.1, queue: {position: 'end', scope: 'message'}});
        new Effect.Highlight("message",{duration:2, queue: {position: 'end', scope: 'message'}});
        //new Effect.Fade("message",{duration:0.5, queue: {position: 'end', scope: 'message'}});
}

// appear highlight and fade a notify 
function notify()
{
        new Effect.Appear("notice",{duration:0.1, queue: {position: 'end', scope: 'message'}});
        new Effect.Highlight("notice",{duration:2, queue: {position: 'end', scope: 'message'}});
        //new Effect.Fade("notice",{duration:0.5, queue: {position: 'end', scope: 'message'}});
}

// appear highlight and fade a warning 
function warning()
{
        new Effect.Appear("warning",{duration:0.1, queue: {position: 'end', scope: 'message'}});
        new Effect.Highlight("warning",{duration:2, queue: {position: 'end', scope: 'message'}, startcolor:'red'});
        //new Effect.Fade("warning",{duration:5, queue:'end'});
}

// appear highlight and fade a error 
function error()
{
        new Effect.Appear("error",{duration:0.1, queue: {position: 'end', scope: 'message'}});
        new Effect.Highlight("error",{duration:2, queue: {position: 'end', scope: 'message'}, startcolor:'red'});
        //new Effect.Fade("error",{duration:5, queue:'end'});
}

// empty all the notifications
function empty_notification()
{
    ['message', 'notice', 'warning', 'error'].each(function(d) {
        $(d).innerHTML = "";
    });
}

// show the flash_messages if contains something
function flash_messages(event)
{
        /* XXX count children, don't use innerHTML */
        if ($('message').innerHTML != "")
                message();
        if ($('notice').innerHTML != "")
                notify();
        if ($('warning').innerHTML != "")
                warning();
        if ($('error').innerHTML != "")
                error();
}

function forward(action_name)
{
    document.forms[action_name].submit();
}

function backward(action_name)
{
   document.forms[action_name].submit();
}

function show_presentationfield() 
{
    if ($('theme4').checked && $('theme4').value == "4")
    {
        new Effect.BlindDown($('up_field'), {duration:0.5, queue: 'end'});
    }
    else
    {
        new Effect.BlindUp($('up_field'), {duration:0.5, queue: 'end'});
    }

}

function calculate_fields()
{
	var s1 = 0;
	var s2 = 0;
	var s_total = 0;
	var r = 0;
	var max = 0;
	var proposal = false;

	var element1 = document.getElementById('v1_1');
	var element2 = document.getElementById('v1_2');
	var element3 = document.getElementById('v1_3');
	
	if (element1.checked)
		s1 = s1 + parseInt(element1.value);
	else if (element2.checked)
		s1 = s1 + parseInt(element2.value);
	else if (element3.checked)
		s1 = s1 + parseInt(element3.value);
	
	element1 = document.getElementById('v2_1');
	element2 = document.getElementById('v2_2');
	element3 = document.getElementById('v2_3');	
	
	if (element1.checked)
		s1 = s1 + parseInt(element1.value);
	else if (element2.checked)
		s1 = s1 + parseInt(element2.value);
	else if (element3.checked)
		s1 = s1 + parseInt(element3.value);	
	
	element1 = document.getElementById('v3_1');
	element2 = document.getElementById('v3_2');
	element3 = document.getElementById('v3_3');	

	if (element1 && element1.checked)
		s1 = s1 + parseInt(element1.value);
	else if (element1 && element2.checked)
		s1 = s1 + parseInt(element2.value);
	else if (element1 && element3.checked)
		s1 = s1 + parseInt(element3.value);
	else
		proposal = true;
	
	element1 = document.getElementById('v4_1');
	element2 = document.getElementById('v4_2');
	element3 = document.getElementById('v4_3');	
	
	if (element1 && element1.checked)
		s1 = s1 + parseInt(element1.value);
	else if (element1 && element2.checked)
		s1 = s1 + parseInt(element2.value);
	else if (element1 && element3.checked)
		s1 = s1 + parseInt(element3.value);
		
	
	element1 = document.getElementById('v5_1');
	element2 = document.getElementById('v5_2');
	element3 = document.getElementById('v5_3');	
	
	if (element1.checked)
		s2 = s2 + parseInt(element1.value);
	else if (element2.checked)
		s2 = s2 + parseInt(element2.value);
	else if (element3.checked)
		s2 = s2 + parseInt(element3.value);		
	
	element1 = document.getElementById('v6_1');
	element2 = document.getElementById('v6_2');
	element3 = document.getElementById('v6_3');	
	
	if (element1.checked)
		s2 = s2 + parseInt(element1.value);
	else if (element2.checked)
		s2 = s2 + parseInt(element2.value);
	else if (element3.checked)
		s2 = s2 + parseInt(element3.value);		
	
	element1 = document.getElementById('v7_1');
	element2 = document.getElementById('v7_2');
	element3 = document.getElementById('v7_3');	
	
	if (element1.checked)
		s2 = s2 + parseInt(element1.value);
	else if (element2.checked)
		s2 = s2 + parseInt(element2.value);
	else if (element3.checked)
		s2 = s2 + parseInt(element3.value);		
	
	element1 = document.getElementById('v8_1');
	element2 = document.getElementById('v8_2');
	element3 = document.getElementById('v8_3');	
	
	if (element1.checked)
		s2 = s2 + parseInt(element1.value);
	else if (element2.checked)
		s2 = s2 + parseInt(element2.value);
	else if (element3.checked)
		s2 = s2 + parseInt(element3.value);
		
	s_total = s1 + s2;
	max = proposal ? 15 : 19;
	r = (s_total/max) * 100;
	
	element = document.getElementById('s1');
	element.innerHTML = s1.toString();
	
	element = document.getElementById('s2');
	element.innerHTML = s2.toString();
	
	element = document.getElementById('s_total');
	element.innerHTML = s_total.toString();
	
	element = document.getElementById('r');
	r = r.toPrecision(4);
	element.innerHTML = r.toString();		

}