/**
 *  Vola se po kliku na checkbox 'zaslano postou'
 */
function file_upload_onclick(chbox, element_div)
{
	var element_obj = document.getElementById(element_div);

	if ( element_obj )
	{
		if ( chbox.checked )
		{
		    removeClass(element_obj, 'hidden');
		}
		else
		{
		    addClass(element_obj, 'hidden');
		}
	}

	return true;
}

jQuery(document).ready(function()
{
	$("#pravni_statut_selectbox_id").selectbox();
 	$("#kraj_selectbox_id").selectbox();
	
	checkJavascript();
 	formBeforeSubmit();
 	checkboxSetPopUp();
	
	incFormKrok2();
	
 	// Vlozime iframe pro odesilani uploadu souboru

 	/*
 	var params;

	params        = new Array();
	params[0]     = new Array();
	params[1]     = new Array();
	params[2]     = new Array();
	params[3]     = new Array();

    params[0][0]  = "class";
	params[0][1]  = 'upload_file_iframe_class';

	params[1][0]  = "name";
	params[1][1]  = 'upload_file_iframe';

	params[2][0]  = "id";
	params[2][1]  = 'upload_file_iframe';

	params[3][0]  = "src";
	params[3][1]  = '';

 	var iframe	= createNewElement('iframe', params, document.getElementById('main') );
 	*/

 	var iframe  = document.getElementById('upload_file_iframe');

 	if ( iframe )
	{
	    //iframe.onload   = iframe_changed;
	}
});


var cinosti_organizace_checkbox_count = 0;

cinosti_organizace_checkbox_count = 0;

function checkboxSetPopUp()
{
    var checkboxes      = getElementsByClass('chbox_specifikace_cinnosti', 'input');

    for (var i = 0; i < checkboxes.length; i++) {

        if (checkboxes[i].checked == true){
            cinosti_organizace_checkbox_count++;
		}


        checkboxes[i].onclick = function() {

            if (this.checked == true) {
                cinosti_organizace_checkbox_count++;

                if (cinosti_organizace_checkbox_count > 2)
				{
				    cinosti_organizace_checkbox_count--;
                    $.popup.show("Upozornění", "Musí být zaškrtnuta nejvýše dvě políčka, která odpovídají Vaší hlavní činnosti!");
					this.checked = false;
				}

            } else {
                cinosti_organizace_checkbox_count--;
            }
        }
    }
}


/**
 *  Funkce která před odesláním formuláře ověří počet zaškrtnutých checkboxů v pravým sloupci
 */
function formBeforeSubmit() {
    var form_neziskovky = document.getElementById("form_registrace_neziskovky");

	if ( form_neziskovky )
	{
	    form_neziskovky.onsubmit = function()
		{
	        var checkboxes      = getElementsByClass('chbox_specifikace_cinnosti', 'input');
	        var checked_true = 0;

	        for (var i = 0; i < checkboxes.length; i++) {
	            if (checkboxes[i].checked == true)
	                checked_true++;
	        }

	        if (checked_true > 2) {
	            $.popup.show("Upozornění", "Musí být zaškrtnuta nejvýše dvě políčka, která odpovídají Vaší hlavní činnosti!");
	            return false;
	        }

	    }
	}

}

/**
 * Funkce pro skrytí hlášky o nezapnutém javascriptu a zobrazení submit buttonu (krok 0)
 */ 
function checkJavascript()
{
	$("#noJavascript").hide();
	$("#krok_0_submit").show();
}


function incFormKrok2()
{
	var cookie_form_show = getCookie("show_sebehodnotici_dotazni_krok2_form");
	
	if (cookie_form_show == "true")
	{
		$("#sebehodnotici_dotazni_krok2_uvod").hide();
		$("#sebehodnotici_dotazni_krok2_form").show();
	}
	else
	{
		$("#sebehodnotici_dotazni_krok2_uvod").show();
		$("#sebehodnotici_dotazni_krok2_form").hide();
	}
	
	$("#show_sebehodnotici_dotazni_krok2_uvod").click(function()
	{
		$("#sebehodnotici_dotazni_krok2_uvod").show();
		$("#sebehodnotici_dotazni_krok2_form").hide();
		
		setCookie("show_sebehodnotici_dotazni_krok2_form", "false");
	});
	
	$("#show_sebehodnotici_dotazni_krok2_form").click(function()
	{
		$("#sebehodnotici_dotazni_krok2_uvod").hide();
		$("#sebehodnotici_dotazni_krok2_form").show();
		
		setCookie("show_sebehodnotici_dotazni_krok2_form", "true");
	});
	
	
	var form = $("#form_krok_2");
	
	if (form.length == 0)
		return;
	
	var questions = $("div.question_holder", form);
	var buttonsFill = $("span.show", questions);
	
	buttonsFill.click(function()
	{
		if ( $("div.answer_holder:visible", form).length > 0 )
		{
			return;
		}
		
		var thisButton = $(this);
		var question = $(this).parent("div.question_holder");
		var answerHolder = question.next("div.answer_holder");
		var buttonSend = $("div.button_save_holder button", answerHolder);
		var hodnoceniHolder = $("div.sebehodnoceni div.hodnoceni_holder", answerHolder);

		hodnoceniHolder.unbind();
		
		hodnoceniHolder.mousemove(function()
		{
			var thisHolder = $(this);
			var holderClass = thisHolder.attr("class");
			var text = "";
			holderClass = holderClass.replace("hodnoceni_holder ", "");
			
			switch(holderClass)
			{
				case "hod0":
					text = "<span class='tooltipTitle'>Proces neexistuje</span>Proces/aktivita v organizaci není vykonávána, neexistují žádné dokumenty, které by s uvedenou aktivitou souvisely a organizace necítí potřebu takového procesu.";
					break;
				case "hod1":
					text = "<span class='tooltipTitle'>Ad-hoc proces</span>Proces/aktivita probíhá nahodile, není stanoveno co, jak, kdo má vykonávat, nicméně už existují výstupy z procesu, ale nepracuje se s nimi systematicky, spíše nahodile.";
					break;
				case "hod2":
					text = "<span class='tooltipTitle'>Iniciovaný proces</span>Proces/aktivita probíhá pravidelně, opakovaným způsobem, chybí formalizace a zpětná vazba. Postup není pevně zakotven, dochází často k jeho změnám, pracovníci si proces stále upravují. Už existují výstupy z procesu, které jsou pravidelně aktualizovány.";
					break;
				case "hod3":
					text = "<span class='tooltipTitle'>Definovaný proces</span>Proces/aktivita je popsán vnitřním postupem, kde je stanoveno co, jak, kdo má vykonávat. Je nastavena základní zpětná vazba od dotčených zaměstnanců. Proces už má stabilní IT podporu.";
					break;
				case "hod4":
					text = "<span class='tooltipTitle'>Řízený proces</span>Proces je zdokumentován, existuje zpětná vazba a proces se vyhodnocuje a měří v pravidelných intervalech. Vedení sleduje zda je proces správně vykonáván. Výstupy jsou aktivně používány pro řízení organizace a jeho zlepšování směřuje k zajištění větší spolehlivosti informací.";
					break;
			}


			if (text != "")
			{
				show_tooltip(text, 15, -205);
			}
		});
		hodnoceniHolder.mouseout(function()
		{
			hidde_tooltip();
		});
		
		if ($.browser.msie && $.browser.version=="6.0")
		{
			answerHolder.show();
		}
		else
		{
			answerHolder.slideDown(400, function(){});
		}

		buttonSend.unbind();
		buttonSend.click(function()
		{
			var thisButtonSend = $(this);
			var inputs = $("textarea, input:checked, input[type='hidden']", answerHolder);
			var param_string = [];

			thisButtonSend.css("opacity", 0.5);
			
			$.each(inputs, function(i, value)
			{
				param_string[i] = $(this).attr("name") +"="+ ($(this).val()); 
			});

			param_string = param_string.join("&");
			param_string = param_string.replace("+", "###");

			$.ajax({
				type: "POST",
				url: "ajax.php?modul=registrace_pro_neziskovky_krok2_validace",
				dataType: 'json',
				data: param_string,
				success: function(response) {
					
					thisButtonSend.css("opacity", 1);
					$("span.title", answerHolder).removeClass("red");
					
					if (response.result === false)
					{
						$("div.error_msg", answerHolder).show();
						
						$.each(response.error, function(i, val)
						{
							$("span."+ i, answerHolder).addClass("red");
						});
					}
					else
					{
						thisButton.remove();
						question.addClass("filled");

						if ($.browser.msie && $.browser.version=="6.0")
						{
							answerHolder.hide();
							answerHolder.remove();
						}
						else
						{
							answerHolder.slideUp(400, function()
							{
								answerHolder.remove();
							});
						}

						
					}
				}
			});

		});
		
	});

	$("strong.green button", form).attr("disabled", true);
	
}




/**
 *  Funkce pro zpracovavani kliku na radiobuttony verejna sbirka (ano/ne)
 */
function verejna_sbirka_click(value)
{
	if ( value=='ano' || value=='ne' )
	{
	        var elems = getElementsByClass('bankovni_ucet_ident', 'span');

	        if ( elems && elems.length>0 )
	        {
	            // Projdeme jednotlive polozky a nastavime / zrusime nastaveni tridy 'hidden'

	            for ( i=0; i<elems.length; i++ )
				{
				    if ( value=='ano' ){
						addClass(elems[i], 'hidden');
					}
					else
					if ( value=='ne' ){
						removeClass(elems[i], 'hidden');
					}
				}
			}
	}

	return true;
}


/**
 *  Funkce pro upload souboru na pozadi
 */
function upload_file(form_id, uploader_div)
{
	// Do promennych si ulozme vstupy skryteho formulare formulare

	var form    				= document.getElementById(form_id);

	if ( form )
	{
	    // nastavime loader
	    uploader    = document.getElementById(uploader_div);

	    if ( uploader )
	    {
	        uploader.style.display  = 'block';
		}

	    form.target = 'upload_file_iframe';

		form.submit();
		reloadUploadedFiles();
	}
}



function deleteUploadedFile(file_id)
{
    var url             = 'ajax.php';

	var ajax            = new sack();

	ajax.requestFile    = url;

	ajax.setVar( 'modul'		, 'registrace_pro_neziskovky' );
	ajax.setVar( 'action'		, 'delete_file' );
	ajax.setVar( 'file_id'		, file_id );

	ajax.onCompletion   = function(){ deleteUploadedFile_response(ajax); };
	ajax.runAJAX();
}

function deleteUploadedFile_response( ajax )
{
	// Znovu nacteme nahrate soubbory

    reloadUploadedFiles();

	var response	= ajax.response;

	if ( response.length )
	{
	    var response_arr    = response.split('##########');
	    var message         = false;

	    if ( response_arr.length>1 )
	    {
	        message         = response_arr[1];
	    }

		if ( message )
		{
		    $.popup.show('Upozornění', message);
		}


	}
}




/**
 *  Nacteni upladovanych souboru
 */
function reloadUploadedFiles()
{
	var url             = 'ajax.php';

	var ajax            = new sack();

	ajax.requestFile    = url;

	ajax.setVar( 'modul'		, 'registrace_pro_neziskovky_show_uploaded_files' );

	ajax.onCompletion   = function(){ reloadUploadedFiles_response(ajax); };
	ajax.runAJAX();
}

function reloadUploadedFiles_response( ajax )
{
	var response	= ajax.response;

	if ( response.length )
	{
	    var content_div = document.getElementById('uploaded_files_div');

	    if ( content_div )
		{
	        content_div.innerHTML   = response;
		}
	}
}


/**
 *  Funkce co se zavola po nacteni iframu (pri odeslani formulare)
 */
function iframe_changed(document_link, iframe_document)
{
    reloadUploadedFiles();

    if ( document_link==false )
        document_link   = document;


    response	= iframe_document.body.innerHTML;

	if ( response.length )
	{
		var response_arr = response.split('##########');

		if ( response_arr[0]=='ok' )
		{
		    if ( response_arr.length>1 )
		    {
		    	var type		= trim(response_arr[1]);
		    	var elem_id 	= type+'_id';
		    	var elem_obj    = document_link.getElementById(elem_id);

		    	if ( elem_obj  )
		    	{
		    	    elem_obj.value  = '';

		    	    if ( elem_obj.parentElement && elem_obj.parentElement.parentElement )
		    	    {
		    	    	elem_obj.parentElement.parentElement.reset();
					}

					removeClass(elem_obj,'inp_error');
				}

				if ( response_arr.length>2 )
				{
				    var preloader_div_id    = trim(response_arr[2]);
				    var preloader_div_obj   = document_link.getElementById(preloader_div_id);

				    if ( preloader_div_obj )
				    {
				        preloader_div_obj.style.display = 'none';
					}
				}
			}
		}
		else
		{
		    if ( response_arr.length>1 )
		    {
		    	var messages		= response_arr[1].split('#####');
		    	var messages_txt    = messages.join('<br />');


		    	if ( messages_txt.length )
		    	{
		    	    $.popup.show('Upozornění', messages_txt);
				}

				if ( response_arr.length>2 )
				{
				    var preloader_div_id    = trim(response_arr[2]);
				    var preloader_div_obj   = document_link.getElementById(preloader_div_id);

				    if ( preloader_div_obj )
				    {
				        preloader_div_obj.style.display = 'none';
					}
				}
			}
		}
	}
}
