/* this function styles inputs with the type file. It basically replaces browse or choose with a custom button */
(function ($) {
    $.fn.file = function (options) {
        var settings = {
            width: 250
        };

        if (options) {
            $.extend(settings, options);
        }

        this.each(function () {
            var self = this;

            var wrapper = $("<a>").attr("class", "ui-input-file");

            var filename = $('<input class="file">').addClass($(self).attr("class")).css({
                "display": "inline",
                "width": settings.width + "px"
            });

            $(self).before(filename);
            $(self).wrap(wrapper);

            $(self).css({
                "position": "relative",
                "height": settings.image_height + "px",
                "width": settings.width + "px",
                "display": "inline",
                "cursor": "pointer",
                "opacity": "0.0"
            });

            if ($.browser.mozilla) {
                if (/Win/.test(navigator.platform)) {
                    $(self).css("margin-left", "-142px");
                } else {
                    $(self).css("margin-left", "-168px");
                };
            } else {
                $(self).css("margin-left", settings.image_width - settings.width + "px");
            };

            $(self).bind("change", function () {
                filename.val($(self).val());
            });
        });

        return this;
    };
})(jQuery);




$(document).ready(function () {


    /* date picker */
    $(".date, .date2").datepicker({
        showOn: 'both',
        buttonImage: mURL+'resources/images/ui/calendar.png',
        buttonImageOnly: true,
        closeText: 'Zavřít',
	prevText: '&#x3c;Dříve',
	nextText: 'Později&#x3e;',
	currentText: 'Nyní',
	monthNames: ['leden','únor','březen','duben','květen','červen','červenec','srpen','září','říjen','listopad','prosinec'],
	monthNamesShort: ['led','úno','bře','dub','kvě','čer','čvc','srp','zář','říj','lis','pro'],
	dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
	dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
	dayNamesMin: ['ne','po','út','st','čt','pá','so'],
	dateFormat: 'dd.mm.yy',
        firstDay: 1
    });

    /* select styling */
    $("select").selectmenu({
        style: 'dropdown', 
        menuWidth: 'auto',
        icons: [
		    { find: '.locked', icon: 'ui-icon-locked' },
		    { find: '.unlocked', icon: 'ui-icon-unlocked' },
		    { find: '.folder-open', icon: 'ui-icon-folder-open' }
	    ]
    });

    /* file input styling */
    $("input[type=file]").file({
        image_height: 28,
        image_width: 28,
        width: 250
    });

    /* tinymce (text editor) */
    /*$("textarea.editor").tinymce({
        script_url: mURL+"resources/scripts/tiny_mce/tiny_mce.js",
        mode: "textareas",
        theme: "advanced",
        theme_advanced_buttons1: "newdocument,separator,bold,italic,underline,strikethrough,separator,justifyleft, justifycenter,justifyright,justifyfull,separator,cut,copy,paste,pastetext,pasteword,separator,help",
        theme_advanced_buttons2: "bullist,numlist,separator,outdent,indent,blockquote,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code,separator,forecolor,backcolor",
        theme_advanced_buttons3: "",
        theme_advanced_buttons4: "",
        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left"
    });*/

    /* button styling */
    $("input:submit, input:reset, input:button, button").button();



/* validace formularu */

    $(".osobniform").validate({
        errorElement: "span",
		rules: {
			jmeno: {
                            required: true
                        },
                        prijmeni: {
                            required: true
                        },
                        email: {
                            required: true,
                            email: true
                        }
		},
		messages: {
			jmeno: "vyplňte jméno",
                        prijmeni: "vyplňte příjmení",
                        email: "vyplňte emailovou adresu"
		}
    });
    


    $("#zaledit").validate({
        errorElement: "span",
		rules: {
			popis: "required",
			maxlength: 200
		},
		messages: {
			popis: "napište stručný popis, maximálně 200 znaků"
		}
    });

    $("#treeform").validate({
        errorElement: "span",
		rules: {
			rNazev: "required"
		},
		messages: {
			rNazev: "napište název rodokmenu"
		}
    });

    $("#osobaform").validate({
        errorElement: "span",
		rules: {
			jmeno: "required",
                        prijmeni: "required",
                        narozeni: "required"
		},
		messages: {
			jmeno: "napište jméno",
                        prijmeni: "napište příjmení",
                        narozeni: "vyplňte datum narození"
		}
    });
    
    $("#dokform").validate({
        errorElement: "span",
		rules: {
			doc_nazev: "required",
                        doc_soubor: "required"
		},
		messages: {
			doc_nazev: "vyplňte název",
                        doc_soubor: "vložte soubor"
		}
	});
    $("#dokform-edit").validate({
        errorElement: "span",
		rules: {
			doc_nazev: "required"
		},
		messages: {
			doc_nazev: "vyplňte název"
		}
    });

    $("#nastenkaform").validate({
        errorElement: "span",
		rules: {
			nas_nadpis: "required"
		},
		messages: {
			nas_nadpis: "vyplňte nadpis"
		}
	});

     $("#poznamkaform").validate({
        errorElement: "span",
		rules: {
			nadpis: "required"
		},
		messages: {
			nadpis: "vyplňte nadpis"
		}
	});
/*
     $("#reakceform").validate({
        errorElement: "span",
		rules: {
			nas_popis: "required"
		},
		messages: {
			nas_popis: "napište text"
		}
	});*/
     $("#tymform").validate({
        errorElement: "span",
		rules: {
			zprava: "required"
		},
		messages: {
			zprava: "napište zprávu"
		}
	});
     $("#formstat").validate({
         errorElement: "span",
 		rules: {
 			nazev: "required"
 		},
 		messages: {
 			nazev: "napište stát"
 		}
 	});
     
     $("#formobec").validate({
         errorElement: "span",
 		rules: {
 			nazev: "required",
 			obec_okres: "required"
 		},
 		messages: {
 			nazev: "napište název obce",
 			obec_okres: "vyberte okres"
 		}
 	});
     

     $("#hesloform").validate({
        errorElement: "span",
		rules: {
			heslo: {
                            required: true,
                            minlength: 5
                        },
                        hesloadv: {
                            required: true,
                            minlength: 5,
                            equalTo: "#heslo"
                        }
		},
		messages: {
			heslo: "vyplňte heslo, minimálně 5 znaků",
                        hesloadv: "hesla se neshodují"
		}
	});
     
     $("#aktform").validate({
         errorElement: "span",
 		rules: {
 			nadpis_cz: "required",
 			popis_cz: "required"
 		},
 		messages: {
 			nadpis_cz: "vyplňte nadpis",
 			popis_cz: "vyplňte popis"
 		}
 	});

     $("#zpravaform").validate({
         errorElement: "span",
 		rules: {
                        prijemce: "required",
 			predmet: "required",
 			zprava: "required"
 		},
 		messages: {
                        prijemce: "vyberte příjemce",
 			predmet: "vyplňte předmět",
 			zprava: "napište zprávu"
 		}
 	});
    
    $("#formmatrika").validate({
        errorElement: "span",
 		rules: {
    		nazev_matriky: "required"
 		},
 		messages: {
 			nazev_matriky: "napište název matriky"
 		}
 	}); 
     
    
     
     
 	var sectionsP = $("#m_puvodce");
	var loadingP = $("#loading2");
	var contentP = $("#content_puvodce");
	var archtyp = $("#puvodce_archtyp").val();
  
  var vyberP = $("#puvodce_to_obce_vyber2").val();
  
  if(vyberP){
    showLoading();
		contentP.slideUp();
		contentP.load(mURL+"sections-brno.php?idp=" + (vyberP) + "&archiv=" + archtyp, hideLoading);
		contentP.slideDown();
  }

	sectionsP.change(function(){
		showLoading();
		contentP.slideUp();
		contentP.load(mURL+"sections-brno.php?idp=" + (this.value) + "&archiv=" + archtyp, hideLoading);
		contentP.slideDown();
	});

	//show loading bar
	function showLoading(){
		loadingP
			.css({visibility:"visible"})
			.css({opacity:"1"})
			.css({display:"block"})
		;
	}
	//hide loading bar
	function hideLoading(){
		loadingP.fadeTo(1000, 0);
	};
     
     
     
     
     
    /* vyber lokality u PUVODCE */
	
 	var sections = $("#m_lokalita");
 	
 	if(sections){
 	
	   var loading = $("#loading");
	   var content = $("#content_lokalita");
	   var archtyp = $("#puvodce_archtyp").val();
	 	
	   var vyber = $("#puvodce_to_obce_vyber").val();
	   
	   if(vyber){
	     showLoading();
	 		content.slideUp();
	 		content.load(mURL+"lokalita-brno.php?idp=" + (vyber) + "&archiv=" + archtyp, hideLoading);
	 		content.slideDown();
	   }
	 
	 	sections.change(function(){
	 		showLoading();
	 		content.slideUp();
	 		content.load(mURL+"lokalita-brno.php?idp=" + (this.value) + "&archiv=" + archtyp, hideLoading);
	 		content.slideDown();
	 	});
	 
	 	//show loading bar
	 	function showLoading(){
	 		loading
	 			.css({visibility:"visible"})
	 			.css({opacity:"1"})
	 			.css({display:"block"})
	 		;
	 	}
	 	//hide loading bar
	 	function hideLoading(){
	 		loading.fadeTo(1000, 0);
	 	};
 	}


       /* vyber PUVODCE */

        
        var sectionsH = $("#h_puvodcetyp");

 	if(sectionsH){

	 var loadingH = $("#loadingH");
	 var contentH = $("#h_content_puvodce");
	 var archtypH = $("#h_puvodce_archtyp").val();


	 	sectionsH.change(function(){
	 		showLoading();
	 		contentH.slideUp();
	 		contentH.load(mURL+"puvodce-sell.php?idp=" + (this.value) + "&archiv=" + archtypH, hideLoading);
	 		contentH.slideDown();
	 	});

	 	//show loading bar
	 	function showLoading(){
	 		loadingH
	 			.css({visibility:"visible"})
	 			.css({opacity:"1"})
	 			.css({display:"block"})
	 		;
	 	}
	 	//hide loading bar
	 	function hideLoading(){
	 		loadingH.fadeTo(1000, 0);
	 	};
 	}

                      var validateUsername = $('#validateLogin');
                      $('#user_jmeno').keyup(function () {
                        var t = this;
                        if (this.value != this.lastValue) {
                          if (this.timer) clearTimeout(this.timer);
                          validateUsername.removeClass('error').html('<img src="'+mURL+'resources/images/indicator.gif" height="16" width="16" class="nobr" /> probíhá kontrola...');

                          this.timer = setTimeout(function () {
                            $.ajax({
                              url: mURL+'valReg.php',
                              data: 'action=check_username&username=' + t.value,
                              dataType: 'json',
                              type: 'post',
                              success: function (j) {
                                validateUsername.html(j.msg);
                              }
                            });
                          }, 200);

                          this.lastValue = this.value;
                        }
                      });
     
});

