﻿var alreadyCleared = false;
var w = 400;
var h = 335;

$(document).ready(function() {
    BloccaMacroZona();
    loadNewWindow('.newWindow');
    try {
        $('#animazione').media({
            width: 490,
            height: 265
        });
        $('#mappaPiani').media({
            width: 400,
            height: 436
        });
        $('#galleriaFotografica > div').media({
            width: 392,
            height: 150
        });
        $('#galleriaFotograficaSotto > div').media({
            width: 878,
            height: 150
        });
    }
    catch (e) { }
    setMacroZone();
    $('#informazioni input[type=submit]').bind('click', function() {
        return validate('#informazioni *[class*=required], #informazioni *[class*=validate]');
    });
    $('#amico input[type=submit]').bind('click', function() {
        return validate('#amico *[class*=required], #amico *[class*=validate]');
    });
    $('#appuntamento input[type=submit]').bind('click', function() {
        return validate('#appuntamento *[class*=required], #appuntamento *[class*=validate]');
    });
    $('.contenitoreForm input[type=submit]').bind('click', function() {
        return validate('.contenitoreForm *[class*=required], #contenitoreForm *[class*=validate]');
    });
    $('#fContatti input[type=submit]').bind('click', function() {
        return validate('#fContatti *[class*=required], #fContatti *[class*=validate]');
    });
    $('.contattiEn input[type=submit]').bind('click', function() {
        return validate('.contattiEn *[class*=required], #contattiEn *[class*=validate]');
    });
    $('#contatti textarea, .clearable').bind('click', function() {
        setClear($(this));
    }).bind('focus', function() {
        setClear($(this));
    });
});

function setMacroZone() {
	$('.macro').bind('mouseover', function() {
		var rel = $(this).attr('rel');
		$('.macro-list:not(' + rel + ')').hide();
		$(rel).fadeIn('slow');
	}).bind('mouseout', function() {
		$($(this).attr('rel')).fadeOut('slow');
	}).bind('click', function() {
		if ($('.province').children('option:selected').html() == 'Torino') {
			$('.comuni').val('Seleziona');
			$('.macroZone').val($(this).attr('rel').replace('#', ''));
			$('.macroZone').removeAttr('disabled');
		}
		else {
			var defaulturl = document.location.href.split('?').length > 1 ? (document.location.href.split('?')[0]) : (document.location.href);
			document.location.href = defaulturl +
				'?macrozona=' + $('.macroZone').val($(this).attr('rel').replace('#', '')).val() +
				'&tipologia=' + $('.tipologia').children('option:selected').html() +
				'&mq=' + $('.mq').children('option:selected').html() +
				'&contratto=' + $('.contratto').children('option:selected').html();
		}
	});
}

function loadNewWindow(selector) {
    $(selector).bind('click', function(e) {
        e.preventDefault();
        var w = window.open($(this).attr('href'), $(this).attr('title') ? $(this).attr('title') : 'New');
        w.focus();
    });
}
function setClear(obj) {
    if (!alreadyCleared) {
        alreadyCleared = true;
        $(obj).val('');
    }
}
function validate(objs) {
    var isValid = 0;
    $(objs).each(function() {
        $(this).attr('baseClass', $(this).attr('class'));
        var cssClass = $(this).attr('class');
        var value = $(this).val();
        switch (cssClass.replace('required', '').replace('validate', '').replace(' invalid', '').replace(' ', '')) {
            case 'email':
                var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
                if (filter.test(value)) {
                    $(this).attr('class', cssClass.replace(' invalid', ''));
                    isValid++;
                }
                else {
                    if (cssClass.indexOf('required') != -1) $(this).attr('class', $(this).attr('baseClass') + ' invalid');
                    else {
                        if (cssClass.indexOf('validate') != -1 && value.length > 0) $(this).attr('class', $(this).attr('baseClass') + ' invalid');
                        else {
                            $(this).attr('class', cssClass.replace(' invalid', ''));
                            isValid++;
                        }
                    }
                }
                break;
            case 'textarea':
                if (value.length > 0 && value != $(this).attr('def')) {
                    $(this).attr('class', cssClass.replace(' invalid', ''));
                    isValid++;
                }
                else {
                    if (cssClass.indexOf('required') != -1) $(this).attr('class', $(this).attr('baseClass') + ' invalid');
                    else {
                        if (cssClass.indexOf('validate') != -1) {
                            $(this).attr('class', cssClass.replace(' invalid', ''));
                            isValid++;
                        }
                    }
                }
                break;
            case 'checkbox':
                var o = $(this);
                if ($(o).attr('checked')) {
                    $('label[for=' + $(o).attr('id') + ']').attr('class', $(o).attr('class').replace(' invalid', ''));
                    isValid++;
                }
                else {
                    if (cssClass.indexOf('required') != -1) $('label[for=' + $(o).attr('id') + ']').attr('class', $(o).attr('baseClass') + ' invalid');
                    else {
                        if (cssClass.indexOf('validate') != -1) {
                            $(this).attr('class', cssClass.replace(' invalid', ''));
                            isValid++;
                        }
                    }
                }
                break;
            case 'phone':
                var filter = /^([0-9\.\-\/]){8,11}$/;
                if (filter.test(value)) {
                    $(this).attr('class', cssClass.replace(' invalid', ''));
                    isValid++;
                }
                else {
                    if (cssClass.indexOf('required') != -1) $(this).attr('class', $(this).attr('baseClass') + ' invalid');
                    else {
                        if (cssClass.indexOf('validate') != -1 && value.length > 0) $(this).attr('class', $(this).attr('baseClass') + ' invalid');
                        else {
                            $(this).attr('class', cssClass.replace(' invalid', ''));
                            isValid++;
                        }
                    }
                }
                break;
            default:
                if (value.length > 0) {
                    $(this).attr('class', cssClass.replace(' invalid', ''));
                    isValid++;
                }
                else {
                    if (cssClass.indexOf('required') != -1) $(this).attr('class', $(this).attr('baseClass') + ' invalid');
                    else {
                        if (cssClass.indexOf('validate') != -1) {
                            $(this).attr('class', cssClass.replace(' invalid', ''));
                            isValid++;
                        }
                    }
                }
                break;
        }
    });
    if (isValid < $(objs).length - 1) isValid = false;
    return isValid;
}
function BloccaMacroZona() {
	$('.macroZone').attr('disabled', $('.comuni > option:selected').html() != 'Seleziona' || $('.province').children('option:selected').html() != 'Torino');
	$('.comuni').bind('change', function() {
		$('.macroZone').attr('disabled', $(this).children('option:selected').html() != 'Seleziona' || $('.province').children('option:selected').html() != 'Torino');
    });
}
function AnnullaValidazione()
{
	if($('.rif').val() != 'Inserire il codice annuncio' && $('.rif').val() != '')
		Page_Validators = new Array();
}
