
// CUADRO DE CONTROL DE FECHAS.

function obrir_win(source,width,height)
{
	window.open(source,'imagenwin','toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=0,width='+width+',height='+height);
}

function isDate(InString)
{
	var dia,mes,any;

	if(InString.substr(1,1)=="/")
	{
		dia = InString.substr(0,1);
		if(InString.substr(3,1)=="/")
		{
			mes = InString.substr(2,1);
			any = InString.substr(4);
		}
		else if(InString.substr(4,1)=="/")
		{
			mes = InString.substr(2,2);
			any = InString.substr(5);
		}
		else return false;
	}
	else if(InString.substr(2,1)=="/")
	{
		dia = InString.substr(0,2);
		if(InString.substr(4,1)=="/")
		{
			mes = InString.substr(3,1);
			any = InString.substr(5);
		}
		else if(InString.substr(5,1)=="/")
		{
			mes = InString.substr(3,2);
			any = InString.substr(6);
		}
		else return false;
	}
	else return false;
	if((!isInt(dia))||(!isInt(mes))||(!isInt(any))) return false;
	if((parseInt(mes,10)<1)||(parseInt(mes,10)>12)) return false;
	if((parseInt(any,10)<0)||((any.length!=4)&&(any.length!=2))) return false;
	if(any.length==2) if(parseInt(any,10)>=70) any="19" + any; else any="20" + any;
	if(parseInt(mes,10)==2)
	{
		if((parseInt(any,10)%4==0)&&((!(parseInt(any,10)%100==0))||(parseInt(any,10)%400==0)))
		{
			if((parseInt(dia,10)>29)||(parseInt(dia,10)<1)) return false;
		}
		else if((parseInt(dia,10)>28)||(parseInt(dia,10)<1)) return false;
	}
	else if((parseInt(mes,10)==4)||(parseInt(mes,10)==6)||(parseInt(mes,10)==9)||(parseInt(mes,10)==11))
	{
		if((parseInt(dia,10)>30)||(parseInt(dia,10)<1)) return false;
	}
	else if((parseInt(dia,10)>31)||(parseInt(dia,10)<1)) return false;
	return true;
}

function DateDiff(date1,date2)
{
    return date1.getTime() - date2.getTime();
}

function mesgran1(diai,mesi,anyi,diaf,mesf,anyf)
{
    var sdate1 = mesi + "/" + diai + "/" + anyi;
    var sdate2 = mesf + "/" + diaf + "/" + anyf;
    var date1 = new Date(sdate1);
    var date2 = new Date(sdate2);
    var differenceInDays = DateDiff(date1,date2)/1000/60/60/24

    if (differenceInDays <= 0)
    {
        return(true);
    }
    else
    {
        return(false);
    }
}

function mesgran2(diai,mesi,anyi,diaf,mesf,anyf)
{
    var sdate1 = mesi + "/" + diai + "/" + anyi;
    var sdate2 = mesf + "/" + diaf + "/" + anyf;
    var date1 = new Date(sdate1);
    var date2 = new Date(sdate2);
    var differenceInDays = DateDiff(date1,date2)/1000/60/60/24

    if (differenceInDays == 0)
    {
        return(false);
    }
    else
    {
        return(true);
    }
}

function compdates(datai,dataf,opcio)
{
    var diai,mesi,anyi;
	var diaf,mesf,anyf;

	if(datai.substr(1,1)=="/")
	{
		diai = datai.substr(0,1);
		if(datai.substr(3,1)=="/")
		{
			mesi = datai.substr(2,1);
			anyi = datai.substr(4);
		}
		else if(datai.substr(4,1)=="/")
		{
			mesi = datai.substr(2,2);
			anyi = datai.substr(5);
		}
	}
	else if(datai.substr(2,1)=="/")
	{
		diai = datai.substr(0,2);
		if(datai.substr(4,1)=="/")
		{
			mesi = datai.substr(3,1);
			anyi = datai.substr(5);
		}
		else if(datai.substr(5,1)=="/")
		{
			mesi = datai.substr(3,2);
			anyi = datai.substr(6);
		}
	}
	if(anyi.length < 4)
	{
	    anyi = parseInt(anyi) + 2000;
	}

	if(dataf.substr(1,1)=="/")
	{
		diaf = dataf.substr(0,1);
		if(dataf.substr(3,1)=="/")
		{
			mesf = dataf.substr(2,1);
			anyf = dataf.substr(4);
		}
		else if(dataf.substr(4,1)=="/")
		{
			mesf = dataf.substr(2,2);
			anyf = dataf.substr(5);
		}
	}
	else if(dataf.substr(2,1)=="/")
	{
		diaf = dataf.substr(0,2);
		if(dataf.substr(4,1)=="/")
		{
			mesf = dataf.substr(3,1);
			anyf = dataf.substr(5);
		}
		else if(dataf.substr(5,1)=="/")
		{
			mesf = dataf.substr(3,2);
			anyf = dataf.substr(6);
		}
	}
	if(anyf.length < 4)
	{
	    anyf = parseInt(anyf) + 2000;
	}

    if (opcio == 1)
    {
        if (!mesgran1(diai,mesi,anyi,diaf,mesf,anyf))
        {
            alert("The Pick-up Date is earlier than now.");
            return false;
        }
        else
        {
            return true;
        }
    }
    if (opcio == 2)
    {
        if (!mesgran1(diai,mesi,anyi,diaf,mesf,anyf))
        { 
            alert("The Return Date is previous than the Pick-up date.");
            return false;
        }
        else
        {
            return true;
        }
    }
    if (opcio == 3)
    {
        if (!mesgran2(diai,mesi,anyi,diaf,mesf,anyf))
        {
            return false;
        }
        else
        {
            return true;
        }
    }
    if (opcio == 4)
    {
        if (!mesgran2(diai,mesi,anyi,diaf,mesf,anyf))
        { 
            return false;
        }
        else
        {
            return true;
        }
    }
}

function comprovar(formu)
{
	missatge = "";
	fet = 0;
	if (formu.TYDYdatai.value != "" && formu.TYDYdataf.value != "")
	{
	    if(isDate(formu.TYDYdatai.value) == false)
        {
			fet = 1;
            alert("This field must be a date. (dd/mm/[yy]yy)");
            formu.TYDYdatai.focus();
        }
        else
        {
	        if(isDate(formu.TYDYdataf.value) == false)
            {
			    fet = 1;
                alert("This field must be a date. (dd/mm/[yy]yy)");
                formu.TYDYdataf.focus();
            }
            else
            {
                var dataa = new Date();
                var diaa = dataa.getDate();
                var mesa = dataa.getMonth() + 1;
                var anya = dataa.getFullYear();
                var horaa = dataa.getHours();
                var mina = dataa.getMinutes();

                //  if (anya < 1900) { anya+=1900; }          'Per Motzilla/Crome/Safari...

                dataa = diaa + "/" + mesa + "/" + anya;
                if(compdates(dataa,formu.TYDYdatai.value,1) == false)
                {
                    fet = 1;
                }
                else
                {
                    fet = 0;
                    if(compdates(formu.TYDYdatai.value,formu.TYDYdataf.value,2) == false)
                    {
                        fet = 1;
                    }
                    else
                    {
                        fet = 0;
                    }
                }
                if (fet == 0)
                {
                    if(compdates(dataa,formu.TYDYdatai.value,3) == false)
                    {
                        if (horaa != 0 && formu.SYAYhorai.value != 0)
                        {
                            var horai = formu.SYAYhorai.value;
                            var horaii;
                            horaii = horai.split (":");
                            var hora1 = parseInt(horaii[0]);
                            var min1 = parseInt(horaii[1]);
                            if(hora1 > horaa)
                            {
                                fet = 0;
                            }
                            else
                            {
                                if(min1 > mina)
                                {
                                    fet = 0;
                                }
                                else
                                {
                                    fet = 1;
						            alert("The initial hour must be later than now.");
						        }
                            }
                        }
                    }
                    if (fet == 0)
                    {
                        if(compdates(formu.TYDYdatai.value,formu.TYDYdataf.value,4) == false)
                        {
                            if (formu.SYAYhorai.value != 0 && formu.SYAYhoraf.value != 0)
                            {
                                var horai = formu.SYAYhorai.value;
                                var horaf = formu.SYAYhoraf.value;
                                var horaii;
                                var horaff;
                                horaii = horai.split (":");
                                horaff = horaf.split (":");
                                var hora1 = parseInt(horaii[0]);
                                var hora2 = parseInt(horaff[0]);
                                var min1 = parseInt(horaii[1]);
                                var min2 = parseInt(horaff[1]);
                                if(hora1 != hora2)
                                {
                                    if(hora1 < hora2)
                                    {
                                        if ((hora2 - hora1) < 1)
                                        {
						                    fet = 1;
						                    alert("The booking must be longer that an hour.");
                                        }
                                        else
                                        {
                                            if ((hora2 - hora1) == 1)
                                            {
                                                if(min2 >= min1)
                                                {
                                                    fet = 0;
                                                }
                                                else
                                                {
                                                    fet = 1;
                                                    alert("The booking must be longer that an hour.");
                                                }
                                            }
                                            else
                                            {
                                                fet = 0;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        fet = 1;
							            alert("The return time must be after the pick up time.");
						            }
					            }
					            else
					            {
						            fet = 1;
						            alert("The booking must be longer that an hour.");
					            }
				            }
				        }
			        }
                }
            }
		}
	}
	if (fet == 0)
	{
		formsubmit(formu);
	}
}
