﻿var alreadyCleared = false;

$(document).ready(function() {
    
    loadNewWindow('.newWindow');
    
    $('.chiediFiminter input[type=submit]').bind('click', function() {
        return validate('.chiediFiminter *[class*=required], .chiediFiminter *[class*=validate]');
    });
    $('#informazioni input[type=submit]').bind('click', function() {
        return validate('#informazioni *[class*=required], #informazioni *[class*=validate]');
    });
    $('#appuntamento input[type=submit]').bind('click', function() {
        return validate('#appuntamento *[class*=required], #appuntamento *[class*=validate]');
    });
    $('#amico input[type=submit]').bind('click', function() {
        return validate('#amico *[class*=required], #amico *[class*=validate]');
    });
    $('#mutuo input[type=submit]').bind('click', function() {
        return validate('#mutuo *[class*=required], #mutuo *[class*=validate]');
    });
    $('#contatti input[type=submit]').bind('click', function() {
        return validate('#contatti *[class*=required], #contatti *[class*=validate]');
    });
   $('#contatti textarea, .clearable').bind('click', function() {
   	setClear($(this));
   }).bind('focus', function() {
   	setClear($(this));
   });
    setTimeout('initOperazioni()', 1000);
});
function stampa(selector) {
    $(selector).bind('click', function(e) {
        e.preventDefault();
        window.print();
    });
}
var base;

function ShowHide(setToShow, setToHide) {
    $(setToHide).hide();
    $(setToShow).show();
}

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 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 initOperazioni() {
    var o = '#operazioniTrattate > #contenitoreHidden';
    if ($(o)[0]) {
        $(document).ready(function() {
            setSlideShow(o);
        });
        $(o + ' > a').bind('mouseover', function() {
            $(o).stop();
        }).bind('mouseout', function() {
            setSlideShow(o);
        });
    }
}
function setSlideShow(o) {
    var step = ($(o).css('left').replace('px', '') < 0 ? (155 + parseFloat($(o).css('left').replace('px', ''))) : 155);
    var time = 2000 * step / 155;
    $(o).animate({ left: '-=' + step + 'px' }, time, 'linear', function() {
        $(o + ' > a:first').appendTo(o);
        $(o).css('left', '0px');
        setSlideShow(o);
    });
   }

   function DropControl(provincia, comune, tipologia, contratto) {
   	var ctrl = true;

   	if ($('.rif').val() != 'Inserire il Riferimento Immobile' && $('.rif').val() != '' && $('.rif').val() != 'Insert Property Reference')
   		return ctrl;
   	
   	if ($get(provincia).selectedIndex == 0) {
   		ctrl = false;
   		$get(provincia).style.backgroundColor = "#fdeade";
   	}
   	/*if ($get(comune).selectedIndex == 0) {
   		ctrl = false;
   		$get(comune).style.backgroundColor = "#fdeade";
   	}
   	if ($get(tipologia).selectedIndex == 0) {
   		ctrl = false;
   		$get(tipologia).style.backgroundColor = "#fdeade";
   	}*/
   	if ($get(contratto).selectedIndex == 0) {
   		ctrl = false;
   		$get(contratto).style.backgroundColor = "#fdeade";
   	}

   	return ctrl;
   }

   function setClear(obj) {
   	if (!alreadyCleared) {
   		alreadyCleared = true;
   		$(obj).val('');
   	}
   }
   
   function AnnullaValidazione() {
   	if ($('.rif').val() != 'Inserire il Riferimento Immobile' && $('.rif').val() != '')
   		Page_Validators = new Array();
   }