
function valid_date(fvalue) {
		var datePat = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
		
    if (!datePat.test(fvalue))
        return false

    var matchArray = fvalue.match(datePat);
		
    var day = parseInt(matchArray[1],10)
    var month = parseInt(matchArray[2],10)
    var year = parseInt(matchArray[3],10)    
		
    if (month < 1 || month > 12 || day < 1 || day > 31)
        return false

    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
        alert('Il mese ' + month + ' ha solo 30 giorni')
        return false
    }

    if (month == 2)
    {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day == 29 && !isleap)) {
            alert('febbraio ' + year + ' non ha ' + day + ' giorni');
            return false
        }
    }
    return true
}


function makeGiorno() {
    var xarray = new Array();
    var data = new Date();
    xarray[0] = new Option('', '-');
    for (i = 1; i < 10; i++) xarray[i] = new Option('0' + i, '0' + i);
    for (i = 10; i <= 31; i++) xarray[i] = new Option(i, i);
    return xarray;
}

function makeMese() {
    var xarray = new Array()    
    xarray[0] = new Option('', '-');
    for (i = 1; i < 10; i++) xarray[i] = new Option('0' + i, '0' + i);
    for (i = 10; i <= 12; i++) xarray[i] = new Option(i, i);
    return xarray;
}

function makeAnno() {
    var xarray = new Array();
    xarray[0] = new Option('', '-');
    for (i = 1; i <= 15; i++) xarray[i] = new Option(1995 + i, 1995 + i);
    return xarray;
}

function popola(xcombo, xarray, selvalue) {
    for (m = xcombo.options.length - 1; m > 0; m--)
        xcombo.options[m] = null;
    var selectedarray = eval(xarray);
    for (i = 0; i < selectedarray.length; i++) {
        xcombo.options[i] = new Option(selectedarray[i].text, selectedarray[i].value);
        if (selectedarray[i].value == selvalue)
            xcombo.options[i].selected = true;
    }
}

function check_form(form) {

    // set datanascita
    field_giorno = form.elements['giorno1'];
    field_mese = form.elements['mese1'];
    field_anno = form.elements['anno1'];

    form.elements['datadal'].value =
    field_giorno[field_giorno.selectedIndex].value + '/' +
    field_mese[field_mese.selectedIndex].value + '/' +
    field_anno[field_anno.selectedIndex].value;

		//alert(form.elements['datadal'].value);
		
    if (!valid_date(form.elements['datadal'].value)) {
        form.elements['giorno1'].focus();
        return false;
    }
		
		
    field_giorno = form.elements['giorno2'];
    field_mese = form.elements['mese2'];
    field_anno = form.elements['anno2'];

    form.elements['dataal'].value =
    field_giorno[field_giorno.selectedIndex].value + '/' +
    field_mese[field_mese.selectedIndex].value + '/' +
    field_anno[field_anno.selectedIndex].value;

		//alert(form.elements['dataal'].value);

    if (!valid_date(form.elements['dataal'].value)) {
        form.elements['giorno2'].focus();
        return false;
    }
		
		form.action = 'http://www.mediaset.it/Corporate/serieStorica.jsp';
    return true;
}

function init_form(form) {
    var data = new Date();
    if (form.elements['giorno1']) popola(form.elements['giorno1'], makeGiorno(), data.getDate());
    if (form.elements['mese1']) popola(form.elements['mese1'], makeMese(), data.getMonth() + 1);
    if (form.elements['anno1']) popola(form.elements['anno1'], makeAnno(), data.getFullYear());
    if (form.elements['giorno2']) popola(form.elements['giorno2'], makeGiorno(), data.getDate());
    if (form.elements['mese2']) popola(form.elements['mese2'], makeMese(), data.getMonth() + 1);
    if (form.elements['anno2']) popola(form.elements['anno2'], makeAnno(), data.getFullYear());
}
