//kuvaurlin vaihto (mm. nappien efektit)
function imgSrc(el,url){
	document.getElementById(el).src = url;
}

//tarkistetaan kirjautuminen
function checkLoginFields(){
	
	if(document.loginform.lemail.value=="" && document.loginform.lpass.value==""){
		alert("Tunnus ja salasana on pakollinen");
		return false;
	}
	return true;
}

//henkilötietojen tarkistus muokattaessa ja lisättäessä
function checkUserInfo(type){

	if(document.tiedot.etunimi.value==""){
		alert("Etunimi on pakollinen");
		document.tiedot.etunimi.focus();
		return false;
	}
	else if(document.tiedot.sukunimi.value==""){
		alert("Sukunimi on pakollinen");
		document.tiedot.sukunimi.focus();
		return false;
	}
	else if(document.tiedot.katuosoite.value==""){
		alert("Katuosoite on pakollinen");
		document.tiedot.katuosoite.focus();
		return false;
	}
	else if(document.tiedot.postinumero.value==""){
		alert("Postinumero on pakollinen");
		document.tiedot.postinumero.focus();
		return false;
	}
	else if(document.tiedot.toimipaikka.value==""){
		alert("Toimipaikka on pakollinen");
		document.tiedot.toimipaikka.focus();
		return false;
	}
	else if(document.tiedot.puhelin.value==""){
		alert("Puhelin on pakollinen");
		document.tiedot.puhelin.focus();
		return false;
	}
	else if(document.tiedot.email.value==""){
		alert("Email on pakollinen");
		document.tiedot.email.focus();
		return false;
	}

	if(type=="1" || type==null && document.tiedot.salasana.value!="" || type==null && document.tiedot.salasana2.value!=""){

		if(document.tiedot.salasana.value==""){
			alert("Salasana on pakollinen");
			document.tiedot.salasana.focus();
			return false;
		}
		else if(document.tiedot.salasana2.value==""){
			alert("Syötä salasana uudelleen");
			document.tiedot.salasana2.focus();
			return false;
		}	
		else if(document.tiedot.salasana.value!=document.tiedot.salasana2.value){
			alert("Tarkista salasana!\nSyötä salasana uudelleen.");
			document.tiedot.salasana2.value = "";
			document.tiedot.salasana2.focus();
			return false;
		}
	}

	return true;
}

function showMenu(el,el2)
{
    //lasketaan menun leveys ja muutetaan valikkolinkin kanssa sopivaan leveyteen...
    var width = $("#"+el).width();
    var width2 = $("#"+el2).width();
    if(width<width2)
    {  
        $("#"+el+" .alamenu_taulu").css("width",(width2+2)+"px");
    }
    document.getElementById(el).style.display="block";
}

function hideMenu(el)
{
    document.getElementById(el).style.display="none";
}

//muokataan elementin attribuuttia
function setElementAttribute(el,attribute,value)
{
    $("#"+el).attr(attribute,value);
}

//ajanvarauslomakkeen tarkistus
function checkForm()
{
    var cond = true;

    //päivämäärät ja kellonajat
    if($("#selected_date").length==1)
    {
        if($("#selected_date").val()=="" || $("#selected_date").val()=="0")
        {
            alert("Päivämäärä on pakollinen");
            $("#selected_date").focus();
            cond = false;
        }
    }
    if($("#start_date").length==1)
    {
        if(($("#start_date").val()=="" || $("#start_date").val()=="0") && cond==true)
        {
            alert("Aloituspäivämäärä on pakollinen");
            $("#start_date").focus();
            cond = false;
        }
        else if(($("#end_date").val()=="" || $("#end_date").val()=="0") && cond==true)
        {
            alert("Lopetuspäivämäärä on pakollinen");
            $("#end_date").focus();
            cond = false;
        }
    }
    if($("#start_time").length==1)
    { 
        if(($("#start_time").val()=="" || $("#start_time").val()=="0") && cond==true)
        {
            alert("Aloitusaika on pakollinen");
            $("#start_time").focus();
            cond = false;
        }
        else if(($("#end_time").val()=="" || $("#end_time").val()=="0") && cond==true)
        {
            alert("Lopetusaika on pakollinen");
            $("#end_time").focus();
            cond = false;
        }
        else if(($("#start_time").val()==$("#end_time").val() || parseFloat($("#start_time").val())>parseFloat($("#end_time").val())) && cond==true)
        {
            alert("Tarkista kellonaika");
            $("#end_time").val("");
            $("#end_time").focus();
            cond = false;
        }
    }

    //yleiset kohdat
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    if(document.reservationform.name.value=="" && cond==true)
    {
        alert("Nimi on pakollinen");
        document.reservationform.name.focus();
        cond = false;
    }
    else if(document.reservationform.address.value=="" && cond==true)
    {
        alert("Osoite on pakollinen");
        document.reservationform.address.focus();
        cond = false;
    }
    else if(document.reservationform.postalcode_and_office.value=="" && cond==true)
    {
        alert("Postinumero ja -toimipaikka on pakollinen");
        document.reservationform.postalcode_and_office.focus();
        cond = false;
    }
    else if(document.reservationform.phone.value=="" && cond==true)
    {
        alert("Puhelinnumero on pakollinen");
        document.reservationform.phone.focus();
        cond = false;
    }
    else if(document.reservationform.email.value=="" && cond==true)
    {
        alert("Sähköpostiosoite on pakollinen");
        document.reservationform.email.focus();
        cond = false;
    }
    else if(!emailReg.test(document.reservationform.email.value) && cond==true)
    {
        alert("Tarkista sähköpostiosoitteen muoto");
        document.reservationform.email.focus();
        cond = false;
    }

    //jos kaikki ok, niin tehdään varaus
    if(cond==true)
    {
        document.reservationform.action = "formhandler.php";
        document.reservationform.submit();
    }
}

//jQuery.event.add(window, "load", setElementStyle);
//jQuery.event.add(window, "resize", setElementStyle);

//pidetään taustakuvan sivuhäive oikeankokoisena JQueryn avulla...
function setElementStyle()
{
    //haetaan sivun korkeus
    var h = $("#content").height();

    //ja päivitetään taustakuvan korkeus
    $("#sivuhaive").css('height',(h+15)+"px");

    //samoin 2-tason valikon, mikäli esillä
    if($("#alavalikko").length=="1")
    {
       $("#alavalikko").css('height',(h-428)+'px');
    }

    //katsotaan riittääkö näytön leveys leiskalaatikoiden näyttämiseen.
    //jos ei, niin piilotetaan ne + siirretään sivu kiinni vasempaan laitaan
    /*var w = $(window).width();
    if(w<1025)
    {
        $("#leiskaloota").css("display","none");
        $("#content").css("margin-left","50px");
    }
    else
    {
        $("#leiskaloota").css("display","block");
        $("#content").css("margin-left","140px");
    }*/
}

function changeImage(el,el2,el3,el4,id,count)
{
    var img_url = document.getElementById("img_url"+id).value;
    var img_title = document.getElementById("img_title"+id).value;

    document.getElementById("preview_"+el).src = img_url;
    document.getElementById("preview_"+el3).href = img_url;
    document.getElementById("preview_"+el3).title = img_title;
    document.getElementById("preview_"+el3+"2").href = img_url;
    document.getElementById("preview_"+el3+"2").title = img_title;
    document.getElementById("preview_"+el2).innerHTML = img_title;
    document.getElementById("preview_"+el4).innerHTML = "&nbsp;"+(parseFloat(id)+1)+"/"+count;

    var cur_image = document.getElementById("selected_image").value;
    document.getElementById("selected_image").value = id;
    toggleFade('fade'+cur_image,cur_image,'');
    toggleFade('fade'+id,id,'1');
}

function toggleFade(el,id,type)
{
    var selected_image = document.getElementById("selected_image").value;

    if(id!=selected_image)
    {
        if(type=="1")
        {
            document.getElementById(el).style.display="none";
        }
        else
        {
            document.getElementById(el).style.display="block";
        }
    }
}

function toggleBg(id,type)
{
    if(type=="1")
    {
        $("#"+id).css("background-color","#181708");
    }
    else
    {
        $("#"+id).css("background-color","transparent");
    }
}

//ajanvarauskalenterin globaalit muuttujat
var disabledDays = new Array();
var weekends = 0;

/* utility functions */
function disableDays(date)
{
    var disabledDays = window.disabledDays;
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
    for (i = 0; i < disabledDays.length; i++)
    {
        if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1 || new Date() > date)
        {   
            return [false];
        }
    }

    return [true];
}

//tarkistetaan onko tietty päivä jo täyteen varattu
function noWeekendsOrDisabledDays(date)
{
    if(window.weekends!=1)
    {
        var noWeekend = jQuery.datepicker.noWeekends(date);
        return noWeekend[0] ? disableDays(date) : noWeekend;
    }
    else
    {
       return disableDays(date);
    }
}


//ajanvarauskalenterin avaus
function openCalendar(id)
{
    //tuhotaan kaikki kalenterit
    $("#ajanvaraus1, #ajanvaraus2, #ajanvaraus3").datepicker("destroy");
    $("#ajanvaraus1_linkki, #ajanvaraus1_linkki2").attr("href","javascript:openCalendar('ajanvaraus1');");
    $("#ajanvaraus2_linkki, #ajanvaraus2_linkki2").attr("href","javascript:openCalendar('ajanvaraus2');");
    $("#ajanvaraus3_linkki, #ajanvaraus3_linkki2").attr("href","javascript:openCalendar('ajanvaraus3');");

    //merkataan avattava kalenteri muistiin
    var disabledDays = document.getElementById("denied_days"+id.replace("ajanvaraus","")).value;
    window.disabledDays = disabledDays.split(",");
    window.weekends = document.getElementById("weekends"+id.replace("ajanvaraus","")).value;

    //luodaan uusi kalenteri
    $("#"+id).datepicker(
    {
        showWeek: true,
        minDate: +1,
        maxDate: +38,
        beforeShowDay: noWeekendsOrDisabledDays,
        showButtonPanel: true,
        onSelect: function(datetext,inst)
        {
            //tallennetaan valinta piilotettuun lomakkeeseen
            $("#selectedDay").val(datetext);
            $("#form_id").val(id.replace("ajanvaraus",""));
            document.getElementById("selectReservationForm").submit();
        }
    });

    //muutetaan linkin toimintaa
    $("#"+id+"_linkki, #"+id+"_linkki2").attr("href","javascript:closeCalendar('"+id+"');");
}

//suljetaan kalenteri
function closeCalendar(id)
{
    //tuhotaan kalenteri
    $("#ajanvaraus1, #ajanvaraus2, #ajanvaraus3").datepicker("destroy");

    //muutetaan linkin toimintaa
    $("#"+id+"_linkki, #"+id+"_linkki2").attr("href","javascript:openCalendar('"+id+"');");
}

function changeImage(el,el2,el3,el4,id,count)
{
    var img_url = document.getElementById("img_url"+id).value;
    var img_title = document.getElementById("img_title"+id).value;
	var img_name = document.getElementById("img_name"+id).value;

    document.getElementById("preview_"+el).src = img_url;
    document.getElementById("preview_"+el3).href = img_url;
    document.getElementById("preview_"+el3).title = img_title.replace(/<br>/g,"");
    //document.getElementById("preview_"+el3+"2").href = img_url;
    //document.getElementById("preview_"+el3+"2").title = img_title.replace(/<br>/g,"");
    document.getElementById("preview_"+el2).innerHTML = img_title;
    //document.getElementById("preview_"+el4).innerHTML = "&nbsp;"+(parseFloat(id)+1)+"/"+count;
	document.getElementById("kuvaotsikko").innerHTML = img_name;

    var cur_image = document.getElementById("selected_image").value;
    document.getElementById("selected_image").value = id;
    //toggleFade('fade'+cur_image,cur_image,'');
    //toggleFade('fade'+id,id,'1');
}

function toggleFade(el,id,type)
{
    var selected_image = document.getElementById("selected_image").value;

    if(id!=selected_image)
    {
        if(type=="1")
        {
            document.getElementById(el).style.display="none";
        }
        else
        {
            document.getElementById(el).style.display="block";
        }
    }
}
