function validate(act,strData)
// owner version
{
	var i, bolModifica, arrData, arrInput;
	var ret = true;

	// Inizializzo i parametri per evitare errori
	if (!(strData)) {
		strData = ''
	// In caso siano passati più parametri li splitto
	} else if (strData.indexOf('|') >= 0) {
		arrData = strData.split('|');
	}

	// Determino la modalità di esecuzione
	if (act.indexOf('_modifica') >= 0) {
		bolModifica = true;
	} else {
		bolModifica = false;
	}

	switch (act)
	{
		// validate area amministrativa
		default:
			// salto il controllo per i bottoni
			if (act.indexOf('_button') >=0) break;

			arrInput = document.getElementsByTagName('input');
			for (i = 0;i < arrInput.length; i++)
			{
				if ((ret) && (arrInput[i].id.indexOf('_titolo')    >= 0) && (arrInput[i].id.indexOf('_titolo_') < 0)) {
					ret = validate_text(arrInput[i].id, 'TITOLO', 1, -1);
				}
				if ((ret) && (arrInput[i].id.indexOf('_nome')      >= 0)) ret = validate_text(arrInput[i].id, 'NOME'  , 1, -1);
				if ((ret) && (arrInput[i].id.indexOf('_data')      >= 0)) ret = validate_date(arrInput[i].id, 'DATA'  , false);
				if ((ret) && (arrInput[i].id.indexOf('_allegato_') >= 0)) ret = validate_ext (arrInput[i].id, 'ALLEGATO', true, arrData[1]);
				if ((ret) && (arrInput[i].id.indexOf('_immagine_') >= 0)) ret = validate_ext (arrInput[i].id, 'IMMAGINE', true, arrData[0]);

				if (!ret) break;
			}
		  break;
		case 'pwd_change' :
            if (ret) ret = validate_text('password_new'         , 'NUOVA PASSWORD', 4, -1);
            if (ret)
            {
                var pwd1 = document.getElementById('password_new');
		        var pwd2 = document.getElementById('password_new2');
        		if (pwd1.value!=pwd2.value)
		        {
			        alert(lngValidate_Password);
			        pwd1.value='';
			        pwd2.value='';
			        ret = false;
		        }
            }
          break;
		// validate aree pubbliche
		case 'contattaci_invia':
			if (ret) ret = validate_text ('Azienda'     , 'Azienda'   , 3 , 100);
			if (ret) ret = validate_text ('Localita'    , 'Localita'  , 3 , 100);
			if (ret) ret = validate_email('Email'       , 'Email'     , false  );
		  break;
	}
	return ret;
}

function WND_confirm(mod, snd, cod, strTxt, strSex, strUrl)
// v1.0
{
	// Faccio un parsing preliminare dei parametri per configurarli correttamente
	if (!strTxt) strTxt = snd.toUpperCase();
	if (!strSex) strSex = 'o';
	if (!strUrl) strUrl = 'DoCMD.asp?mod=' + mod + '&snd=' + snd + '&act=cancella&id=' + cod;

	// Faccio la richiesta ed eventualmente il redirect
	if (confirm(lngWND_Confirm_Domanda_Inizio + strSex + ' ' + strTxt + ' ' + lngWND_Confirm_Domanda_Fine))
	{
		location.href = strUrl;
	}
	return false;
}

function WND_open_small(link,h,w,extra)
// v1.3
{
	var left,top,extra,name;

	if (!extra) extra = 'scrollbars=yes';
    extra += ', ';

	w += 20;

    if (h>600)
    { h = 600; }

	left=(screen.width-w) /2;
	top =(screen.height-h)/3;

    name = link;
	name = name.replace('/','_');
    name = name.replace('.','_');
    name = name.replace('-','_');
    name = name.substr(0,name.indexOf("_"));

	window.open(link, name, extra + 'left='+left+', top='+top+', height='+h+',width='+w);

	return name;
}

function WND_open_image(link,h,w)
// owner versione v1.0
{
	var WND;
	var left,top,h,w;

	h = h+50;
	w = w+50;

	left=(screen.width-w) /2;
	top =(screen.height-h)/3;

	WND = window.open('','view_eidongroup','left='+left+', top='+top+', height='+h+',width='+w);
	WND.document.write('<html><head><title>Ordine degli Avvocati di Cremona</title></head>');
	WND.document.write('<body bgcolor="#FFFFFF">');
	WND.document.write('<table height="100%" width="100%"><tr align="center" valign="middle"><td>');
	WND.document.write('<img src="'+link+'">');
	WND.document.write('</td></tr></table></body></html>');
	WND.document.close();
}

function WND_refresh(href)
// v1.2
{
	if (window.opener && !window.opener.closed)
	{
		if ((href=='') || (href==null)) window.opener.location.reload();
		else window.opener.location.href=href;
	}
	self.close();
}

function validate_date(objName, name, bolEmpty)
// v1.2
{
    var obj = document.getElementById(objName);
    if (obj)
    {
	    if (obj.value == '') ret = bolEmpty;
	    else
	    {
	        var ret = true;
		    var tmp=obj.value.split('/');
		    if (tmp.length!=3) ret = false
		    else
		    {
			    if ((tmp[0]<=0) || (tmp[0]>31)) ret = false;
			    if ((tmp[1]<=0) || (tmp[1]>12)) ret = false;
			    if ((tmp[2]<=1900) || (tmp[2]>2100)) ret = false;
		    }
		}
        if (!(ret)) alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Date_Errore);
		return ret;
	}
}

function validate_sdate(date)
// v1.0
{
    // Modificare la riga sottostante se date='' NON e'consentito
	if (date=='') return true
	else
	{
		var tmp=date.split('/');
		if (tmp.length!=2) return false
		else
		{
			if ((tmp[0]<=0) || (tmp[0]>12)) return false;
			if ((tmp[1]<=2000) || (tmp[1]>2100)) return false;
		}
		return true;
	}
}

function validate_int(objName, name, min_val, max_val)
// v1.2
{
    var obj = document.getElementById(objName);
    if (obj)
    {
        var ret = true;
        var re = new RegExp("^(\\d+[\\.,]?\\d*)$");
        var m = re.exec(obj.value);

		if (m == null)
        {
            alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Int_Errore);
            ret = false;
        }
        else
        {
            if ((obj.value < min_val) && (min_val != -1))
            {
	            alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Int_Errore_Min + min_val + '!');
	            ret = false;
            }
            if ((obj.value > max_val) && (max_val != -1))
            {
	            alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Int_Errore_Max + max_val + '!');
	            ret = false;
	        }
        }
        return ret;
    }
    return false;
}

function validate_email(objName, name, bolEmpty)
// v1.2
{
  var re = /(^[a-z0-9]([a-z0-9_\.-]+)[a-z0-9])@[a-z0-9]([a-z0-9_\.-]+)[a-z0-9]\.([a-z]{2,4})$/i;
  var obj = document.getElementById(objName);

  if (obj)
  {
	  if (re.exec(obj.value) != null) return true;
	  else
	  {
		  if (bolEmpty) return true;
		  {
			alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Email_Errore);
			return false;
		  }
	  }
  }
  else return true;
}
function validate_text(objName, name, min_len, max_len)
// v1.1
{
    var obj = document.getElementById(objName);
    if (obj)
    {
        if ((obj.value.length < min_len) && (min_len != -1))
        {
	        alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Text_Errore_Min + min_len + lngValidate_Text_Caratteri);
	        return false;
        }
        if ((obj.value.length > max_len) && (max_len != -1))
        {
	        alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Text_Errore_Max + max_len + lngValidate_Text_Caratteri);
	        return false;
        }
    }
    return true
}

function validate_checkbox(objName, name)
// v1.0
{
    var obj = document.getElementById(objName);
    if (obj) {
        if (obj.checked) return true;
        else {
			alert(lngValidate_Checkbox_Errore + name.toUpperCase());
            return false;
		}
    }
}

function validate_query(name, match)
// v1.0
{
	var querystring = window.location.search;

	if (querystring.indexOf(match + '=') == -1)
	{
		alert(lngValidate_Query_Errore + name.toUpperCase());
		return false;
	}
	else
	{	return true;	}
}

function validate_ext(objName, name, bolEmpty, ext)
// v1.0
{
	var obj = document.getElementById(objName);
	if (obj)
	{	var i, ret = false;
		var fileName = obj.value;
		var ext_list = ext.split(',');

		if (fileName == '')
		{	ret = bolEmpty;  }
		else
		{
			fileName = (fileName.substring(fileName.lastIndexOf('.') + 1,fileName.length)).toLowerCase();
			for (i = 0 ; i < ext_list.length ; i++)
			{	if (ext_list[i] == fileName) ret = true;	}
		}

		if (!(ret)) alert(lngValidate_Campi + name.toUpperCase() + lngValidate_Ext_Errore + ext);
		return ret;
	} else {
		return true;
	}
}

function validate_select(objName, name, strError)
{
    var obj = document.getElementById(objName);
    if (obj)
    {
        if (obj.options[obj.selectedIndex].value == strError)
        {
            alert(lngValidate_Select_Errore + name.toUpperCase());
            return false;
        }
        else return true;
    }
}

function validate_radio(objName, name, strConfirm)
{
	var ret = false, i = 0;
    var obj = document.getElementById(objName + i);

	while (obj)
	{
		if (obj.checked) { ret = true; break; }
		i++;
		obj = document.getElementById(objName + i);
	}
	if (!(ret))
	{
        alert(lngValidate_Radio_Errore + name.toUpperCase());
		ret = false;
	}
	else
	{
		if ((strConfirm) && (obj.value != strConfirm))
		{
			alert(lngValidate_Radio_Errore_Valore_Inizio + strConfirm.toUpperCase() + lngValidate_Radio_Errore_Valore_Medio + name.toUpperCase());
			ret = false;
		}
	}
	return ret;
}
