/* ***********************************************************************
   @Nazwa:   /js/main.js
   @Autor:   Tomasz Łabacki
   @Email:   tomasz@labacki.com
   @www:     http://labacki.com
   @Data:    28 sep 2010, 20:19
   @Opis:    Elementary javascripting
   @License: Licensed to Agencja Reklamowa MiroArt (http://miroart.pl)
   @Require: jQuery 1.4 or above
   @Language: PL
*********************************************************************** */
$(window).load(function(){  //wykonanie po kompletnym wczytaniu okna
    $('a[rel^="photoViewer"]').prettyPhoto({theme: 'facebook'});
    set_scrollable();
    move_scrollable();
    run_datepicker();
}); 

function set_scrollable(){
    document.scroll_gallery=$("div#gallery_scrollable div.scrollable_element").scrollable({size: 1,clickable:false,loop:true,onSeek:function(){createCookie("pzpk_scroll_gallery",document.scroll_gallery.getIndex(),7);}}).mousewheel({api: true});
    $("div#gallery_scrollable div.scrollable_left").click(function(){document.scroll_gallery.move(-1);});
    $("div#gallery_scrollable div.scrollable_right").click(function(){document.scroll_gallery.move(1);});

    // Poprawka scrollowania dla explorera 6.0 i 7.0
    if($.browser.msie==true && ($.browser.version=="6.0" || $.browser.version=="7.0")){
        document.scroll_gallery.seekTo(1).seekTo(0);
        document.scroll_weather.seekTo(1).seekTo(0);
    }

    if($.browser.msie==true && $.browser.version=="6.0"){
        $("div#gallery_scrollable").css("position","static");
    }

}

function move_scrollable(){
    if(readCookie("pzpk_scroll_gallery")!==null){document.scroll_gallery.seekTo(parseInt(readCookie("pzpk_scroll_gallery")));}
}

function run_datepicker(){

    var now = new Date();
    //var str_date = get_dateCalendar();
    var str_date;

      $.post('/calendar.php5', function(data) {
	  str_date = data.split(",");


	now = now.getFullYear()+"-"+(now.getMonth()+1)+"-"+now.getDay();
	    $('#datepicker_container').DatePicker({
	     flat: true,
	     date: str_date,
	     current: now,
	     format: 'Y-m-d',
	     calendars: 1,
	     mode: 'multiple',
	     starts:1,
		onChange: function(formated){ //co się stanie po kliknięciu daty?
			//alert("Tu wykonaj jakąś akcję, np. przejście do innej strony. Wybrano: " + formated);
			//alert($('#datepicker_container').DatePickerGetDate('formatted'));
			$('#datepicker_container').load($(this).attr('href')+' .content');

		    },
		locale: {
		    days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"],
		    daysShort: ["Ndz", "Pon", "Wto", "Śr", "Czw", "Pt", "Sob", "Ndz"],
		    daysMin: ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "Sb", "Nd"],
		    months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
		    monthsShort: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"],
		    weekMin: ''
		}
	});
    });
}





    /*
function run_datepicker(){
    var now = new Date();
    now = now.getFullYear()+"-"+(now.getMonth()+1)+"-"+now.getDay();
	$('#datepicker_container').DatePicker({
	    flat: true,
	    //date: now,
	    date: ['2010-11-30', '2010-11-28'],
	    current: now,
	    calendars: 1,
	    starts: 1,
	    onChange: function(formated){ //co się stanie po kliknięciu daty?
		    alert("Tu wykonaj jakąś akcję, np. przejście do innej strony. Wybrano: " + formated);
		},
	    locale: {
		days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"],
		daysShort: ["Ndz", "Pon", "Wto", "Śr", "Czw", "Pt", "Sob", "Ndz"],
		daysMin: ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "Sb", "Nd"],
		months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
		monthsShort: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"],
		weekMin: ''
	    }
    });
}
*/
function input_text(id,text){
var el=document.getElementById(id);
switch (el.value)
	{
	case text:el.value="";break;
	case "":el.value=text;break;
	}
}

// Cookie z http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}


/* **************************************************************
   @Nazwa: /js/formularz.js
   @Autor: Tomasz Łabacki
   @Email: tomasz@labacki.com
   @www:   http://labacki.com
   @Data:  13 marca 2010 13:08
   @Opis:  Walidacja formularzy klasy "sprawdz"

Aby formularz został sprawdzony podczas próby jego wysłania,
należy nadać mu klasę "sprawdz". Sprawdzenie wykonuje się następująco:
każdy element formularza (input, select czy textarea) ma opisującą go
etykietę (<label>), bezpośrednio na niego wskazującą (dzięki atrybutowi
"for"). Jeśli w treści etykiety będzie gwiazdka ("*"), to wskazywany
przez nią element formularza zostanie sprawdzony, czy nie jest pusty
(input,textarea), lub czy nie ma wartości "none" (select, domyślna
pierwsza wartość). Całość dzieje się w formularz.js, a przykładami są
formularze wykonane i pokazywane na stronie, lub to:

<label for="test">* Adres email</label>
<input id="test" name="moja_nazwa"/>
ten input musi mieć wartość i javascript to sprawdzi

<label for="test">Adres email</label>
<input id="test" name="moja_nazwa"/>
ten input nie musi mieć wartości
************************************************************** */
$(document).ready(function(){


    // Walidacja formularza
    $("form.sprawdz, form.newsletter").submit(function(){
        // na początku zakładamy, że błędu nie ma
        var error_form=false;

        $(this).find("input,textarea,select").each(function(){
            // id elementu formularza
            var id=$(this).attr("id");

            // szukamy treść <label> powiązanego z tym elementem
            var tresc_label=$("form.sprawdz, form.newsletter label[for="+id+"]").text();

            // czy ta treść zawiera gwiazdkę?
            var szukane_reg=new RegExp("\\*","i");
            if(szukane_reg.test(tresc_label)){
                // OK, ten element formularza musi być wypełniony
                if( ($(this).is("input") && $(this).val()=="") ||
                    ($(this).is("textarea") && $(this).val()=="") ||
                    ($(this).is("select") && $(this).val()=="none")) {
                        $(this).addClass("error");
                        error_form=true;
                } else {$(this).removeClass("error");}

                // A jeśli element to checkbox, to zaznaczamy jego <label> jako error
                if ($(this).attr("type")=="checkbox" && $("input#"+id+":checked").val()===undefined){
                    $("form.sprawdz label[for="+id+"]").addClass("error");
                } else {$("form.sprawdz label[for="+id+"]").removeClass("error");}
            }
        });
        return !error_form;
    });
});


function pola_zaznaczone(formularz){
    // Walidacja formularza
    // na początku zakładamy, że błędu nie ma
    var error_form=false;

    $(formularz).find("input,textarea,select").each(function(){
        // id elementu formularza
        var id=$(this).attr("id");

        // szukamy treść <label> powiązanego z tym elementem
        var tresc_label=$(formularz).find("label[for="+id+"]").text();

        // czy ta treść zawiera gwiazdkę?
        var szukane_reg=new RegExp("\\*","i");
        if(szukane_reg.test(tresc_label)){
            // OK, ten element formularza musi być wypełniony
            if( ($(this).is("input") && $(this).val()=="") ||
                ($(this).is("textarea") && $(this).val()=="") ||
                ($(this).is("select") && $(this).val()=="none")) {
                    $(this).addClass("error");
                    error_form=true;
            } else {$(this).removeClass("error");}

            // A jeśli element to checkbox, to zaznaczamy jego <label> jako error
            if ($(this).attr("type")=="checkbox" && $("input#"+id+":checked").val()===undefined){
                $(formularz).find("label[for="+id+"]").addClass("error");
            } else {$(formularz).find("label[for="+id+"]").removeClass("error");}
        }
    });
    return !error_form;
}
