//utilita'

var click = "";


function Go_To_URL() {
  var i, args=Go_To_URL.arguments; document.ReturnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function Button (name_submit)
{
	click = name_submit;
	return true;
}



function Confirm(msg) 
{
	var conf = confirm(msg);
	
	if (conf == true)
	{
		return true;
	} else {
		return false;
	}
	return true;
}

//creazione link per sorting lista messaggi 
function sortMsgs(sortOrder,ascDesc) {
	
	var loc = this.location.href;
	if ( loc.indexOf('?') >= 0 ) {
		var startPoint = loc.search(/orderby=/);
		if ( startPoint != -1 ) {
			loc = loc.substring(0,startPoint);
			loc = loc + 'orderby=' + sortOrder + '_' + ascDesc;
		} else {
			loc = loc + '&orderby=' + sortOrder + '_' + ascDesc;
		}
	} else {
		
		loc = loc + '?orderby=' + sortOrder + '_' + ascDesc;
	}
	
	location.href= loc;
	
	
}

//in progress per Alert-Errori-Feedback
function showErrMsg(msg,divId,errType) {
	//per ora usa il div errorContainer in header.txt, ma puo' servire usarne altri in futuro.
	var errCont = document.getElementById(divId);
	errCont.innerHTML = '';
	var msgText= document.createTextNode(msg);
	errCont.appendChild(msgText);
	
	switch (errType) {
			case ('error'):
			errCont.className='errorStyle';
			break;
			case ('success'):
			errCont.className='successStyle';
			break;
	}
	window.scrollTo(0,0);
	
	errCont.style.display = 'block';	
		Effect.Fade(divId, 
	  { duration: 5.0 })
}


//filtri di cancellazione
function delFilter(self, num_filtro)
{
	if ( confirm(dizionario_filter_num+num_filtro+dizionario_willbe_deleted) )
	{
		return Go_To_URL('self','del_filter.cgi?num_filtro='+num_filtro);
	} else {
		return false;
	}
	return true;
}

function Select (folder, giorno, mese, anno){
	var g = giorno.selectedIndex;
	var gg = giorno.options[g].value;
	var m = mese.selectedIndex;
	var mm = mese.options[m].value;
	var a = anno.selectedIndex;
	var aa = anno.options[a].value;
	
	if ( ( gg == "giorno" ) || ( mm == "mese" ) || ( aa == "anno" ) )
	{
		alert (dizionario_date_alert);
		return false;
	} else 
	{
		var c = folder.selectedIndex;
		var cartella = folder.options[c].value;
		
		if ( cartella == "trash" )
			return Confirm(dizionario_delete_alert);
	}
}

var pageid=Math.floor(Math.random()*1000000);
function Banner(mis, sezione){
	var sito="DADA";
	now=new Date; bumber=now.getTime();
	//document.write('<scr'+'ipt language="JavaScript1.1" type="text/javascript" src=http://ads.dada.it/jserver/SITE='+sito+'/AREA='+sezione+'/AAMSZ='+mis+'/ACC_RANDOM='+bumber+'/PAGEID='+pageid+'/POS=1 width=1 height=1><\/scr'+'ipt>');
}



//gestione cartelle
//creazione cartella da Nav + controllo sintassi del nome ed eventuali nomi duplicati.
function NewFolderByNav() {
	var fName = $F('foldernew1');
	var fName_syntax = /^[\w\d]*$/;
	var dupFolder = foldersList.indexOf(fName);
	/*
	if ( if_folders == "1" ) {
		$('foldernew').value = fName;
	}
	*/
	function appendFolder(){
		var fParentUl = $('genFolders');
		var fLinkText = document.createTextNode('+ '+fName);
		var fListItem = document.createElement('li');
		fListItem.className = 'generic_mbox';
		var fLink = document.createElement('a');
		fLink.setAttribute('href', '/cgi-bin/main.chm?changefolder=changefolder&mailfolder='+fName+'&mlt_msgs=1');
		fLink.appendChild(fLinkText);
		fListItem.appendChild(fLink);
		fParentUl.appendChild(fListItem);
		document.getElementById('createFolder').style.display= 'none';
		
		//creazione riga per nuova cartella in tabella [se pagina = folder.tmpl]
		/*
		if ( if_folders == "1" ) {
			var fTbody = $('foldertbl');
			var fTdName = document.createElement('td');
			var fTdActions = document.createElement('td');
			var fTdMsg = document.createElement('td');
			var fTdNewMsg = document.createElement('td');
			var fTdSize = document.createElement('td');
			
			var fTr = document.createElement('tr');
			
			var fLinkRename = document.createElement('a');
			var fLinkDelete = document.createElement('a');
			
			var fLinkRenTxt = document.createTextNode(diz_fRename);
			var fLinkDelTxt = document.createTextNode(diz_fDel);
			var initMsgs = document.createTextNode('0');
			var initNewMsgs = document.createTextNode('0');
			var fSize = document.createTextNode('1 '+diz_fSize);
			var fSeparator = document.createTextNode('  ');
			
			fTdName.appendChild(fLinkText);
			fTdMsg.appendChild(initMsgs);
			fTdNewMsg.appendChild(initNewMsgs);
			fTdSize.appendChild(fSize);
		
			fLinkRename.appendChild(fLinkRenTxt);
			fLinkDelete.appendChild(fLinkDelTxt);
			
			fTdActions.appendChild(fLinkRename);  
			fTdActions.appendChild(fSeparator);  
			fTdActions.appendChild(fLinkDelete);  
			
			fTdName.style.fontWeight = 'bold';
			fTr.setAttribute('class','');
			fLinkRename.setAttribute('href','javascript:OpenPopup('+fName+')');
			fLinkDelete.setAttribute('href','del_folder.cgi?fol='+fName);
			fLinkDelete.onclick = function() { return confirm('+diz_fConfDel+') };
			
			fTr.appendChild(fTdName);
			fTr.appendChild(fTdActions);
			fTr.appendChild(fTdMsg);
			fTr.appendChild(fTdNewMsg);
			fTr.appendChild(fTdSize);
			
			fTbody.appendChild(fTr);
			var trClass = fTr.previousSibling.className;
			
			if ( trClass == 'odd' ) {
				fTr.className = 'even';
			} else {
				fTr.className = 'odd';
			}
		}
		*/
	}
	
	function newFolderAjax() {
		  var url = '/cgi-bin/newFolder.cgi';
		  var pars = 'foldernew=' + fName + '&ajax=1';
		  var myAjax = new Ajax.Request(
		   url, 
		   {
		    method: 'get',
		    parameters: pars,
		    onComplete: appendFolder
		   });
	 }
	
	if (fName == "")
	{
		alert(dizionario_foldername_alert);
		return false;
	} else {
		if ( fName_syntax.test(fName) ) 
		{
			if ( dupFolder == -1) {
				newFolderAjax();
				alert(newFolderOk);
			} else {
				alert(dupNameAlert);
				return false;
			}
		} else {
			alert(dizionario_foldername_tip);
			return false;
		}
	}
}

//crea-rinomina-cancella cartella da Gestione Cartelle 
function OpenPopup(old) {

  var h = 250;
  var w = 244;
  var scroll = 'no';
  var myname = 'folder_popup';

  winprops = 'height='+h+',width='+w+',scrollbars='+scroll;
  
  var location = 'rename_folder.cgi?fol='+old;
  var mywin = window.open(location,myname,winprops);
  mywin.focus();
}

function ApriPopup(url) {

  var h = 240;
  var w = 500;
  var scroll = 'no';
  var myname = 'webmail_popup';

  winprops = 'top=200,left=300,height='+h+',width='+w+',scrollbars='+scroll;
  
  var mywin = window.open(url,myname,winprops);
  mywin.focus();
}


function Delete(folder)
{
	return confirm("'"+folder+"': "+dizionario_delete_whole_folder); 
}

function NewFolder(form)
{
	if (form.foldernew.value == "")
	{
                alert (dizionario_foldername_alert)
                return false;
	} 
	return true;
}

//mostra-nascondi elementi
function idswitch(id) {
  var mid = document.getElementById(id);
  var disptype = mid.style.display
  switch (disptype)
  {
  case "none":
    mid.style.display="block";
    break
  case "block":
   mid.style.display ="none";
    break
  default:
    mid.style.display="none";
  }
}

function rowSwitch(id) {
  var mid = document.getElementById(id);
  var disptype = mid.style.display;
  switch (disptype)
  {
  case "none":
    mid.removeAttribute("style");
      document.getElementById('showAdv').innerHTML = diz_basic;
    break
  case "":
   mid.style.display ="none";
     document.getElementById('showAdv').innerHTML = diz_adv;
    break
  default:
    mid.style.display="none";
     document.getElementById('showAdv').innerHTML = diz_adv;
  }
}

//validazione 

function checkAddr(form){
if ( isEmail(form.mail_to.value) == 0 || isEmail(form.mail_cc.value) == 0 || isEmail(form.mail_bcc.value) == 0) {
	alert(dizionario_invalid_address);
	return false;
	} else {
	return true;
	}
}

function isEmail(string) {
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) != -1)
		return 1;
	else
		return 0;
}

function ciccio(form) {

        if (!TOTest(form))return false;
        return true;

}

function TOTest(form) {

  if (form.MAIL_TO.value == "") {
                alert (dizionario_invalid_address)
                return (false);
  } 
  
  return true;
}

function CheckAll(form,uncheckedClass) {
	for (var i = 0; i < form.elements.length; i++) {
		var e = form.elements[i];

		if (e.name != 'allbox') {
			e.checked = form.allbox.checked;
		}

	}
	
	for (var i = 0; i < 20; i++) {
		var idriga = 'row' + i;
		var objriga = document.getElementById(idriga);
		
		if (objriga) {
			if (form.allbox.checked) {
				objriga.className='checked' + ' ' + uncheckedClass;
			}
			else {
				if (uncheckedClass != '') {
					objriga.className=uncheckedClass;
				} else {
					objriga.className= '';
				}
			}
		}
	}
	var objtesto = document.getElementById('testoseleziona');
	if (form.allbox.checked) {
		objtesto.innerHTML = dizionario_clear_all;
	}
	else {
		objtesto.innerHTML = dizionario_check_all;
	}
}

function Check(form, mailfolder) {
	if ( click == "svuota_trash" || click == "svuota_sospese" ) 
	{
		return Confirm(dizionario_alert_empty_folder);
	} 
	else 
	{
		var ceccato = 0;
    for(var j=0; j<form.elements.length; j++)
    {
			if($(form.elements[j]).hasClassName('chkbox') && form.elements[j].checked)
			{
				ceccato = 1;
				break;
			}
		}
		/*
		var num_check = (form.elements.length - 6);
		var i = 0;
    for (i = 0; i < num_check; i++) 
		{
			if ( form.elements[i + 2].checked ) {
					ceccato = 1;
					break;
			}
		}
		*/
		  
	  if (ceccato == 0) 
		{
			alert(dizionario_no_msg_selected);
	    return false;
		} 
		else 
		{
			var trash = "trash";
			if ( mailfolder == trash ) 
			{
				if ( click == "pltrash" ) 
				{
					return Confirm(dizionario_alert_delete_selected);
				} 
				else 
				{
					return true;
				}
			}
		}
	}
	return true;
	
}

function isValidEmail(str) {
var a = str.lastIndexOf(".");
var b = str.length;

	return ( b - a > 2) && (str.indexOf("@") > 0);
}

function IsEmpty(aTextField) 
{
	if ((aTextField.value.length==0) ||
	(aTextField.value==null)) {
		return true;
	}
	else { return false; }
}	

function ValidateForm(form)
{
	if(IsEmpty(form.MAIL_TO)) 
	{ 
		alert(dizionario_invalid_address); 
		form.MAIL_TO.focus(); 
		return false; 
	}
	if ( !isValidEmail(form.MAIL_TO.value))
	{
		alert(dizionario_invalid_address)
		form.MAIL_TO.focus(); 
		return false; 
	}
	
	if( !IsEmpty(form.MAIL_CC)) 
	{ 
		if ( !isValidEmail(form.MAIL_CC.value))
		{
			alert(dizionario_invalid_address)
			form.MAIL_CC.focus(); 
			return false; 
		}
	}
	if( !IsEmpty(form.MAIL_BCC)) 
	{ 
		if ( !isValidEmail(form.MAIL_BCC.value))
		{
			alert(dizionario_invalid_address)
			form.MAIL_BCC.focus(); 
			return false; 
		}
	}
	return true; 
} 

//switch lettura-scrittura messaggi - compose, edit bozza e reply + Analytics

function showComposeMsg()
{
var app = $('mail_list_div');
if( app )
{
	app.style.display='none';
}
var app = $('compose_msg');

if( app )
{
	app.style.display='block';
	/*if ( !document.all )
	{
		var oEditor = FCKeditorAPI.GetInstance( 'mail_text' ) ;
		if (  oEditor.EditMode == FCK_EDITMODE_WYSIWYG ){
			oEditor.MakeEditable();
		}
	}*/
}
$('mail_to').focus();
//google analytics
urchinTracker('/email/new_message');
}


function modDraft() {
	showComposeMsg();
	var app = $('mail_to');
	if( app )
		{
			app.value = jsTo;
			app.rows = 3;
		    app.style.overflow = 'auto';
		    app.style.height = 'auto';
		}
	var app = $('mail_cc');
	if( app )
		{
			app.value = jsCc;
			app.rows = 3;
			app.style.overflow = 'auto';
			app.style.height = 'auto';
		}
	var app = $('mail_bcc');
	if( app )
		{
			app.value = jsBcc;
			app.rows = 3;
			app.style.overflow = 'auto';
			app.style.height = 'auto';
		}
	var app = $('mail_subject');
	if( app )
		{
			app.value = subjEscaped;
		}
	var oEditor = FCKeditorAPI.GetInstance( 'mail_text' );
	oEditor.Focus(); 
	var msgText = FCKeditorAPI.GetInstance('mail_text').GetXHTML();
	oEditor.SetHTML(msgText);
}
   
function replyMsg()
{
showComposeMsg();
var app = $('mail_to');
if( app )
{
	app.value = jsAddress;
	app.rows = 3;
    app.style.overflow = 'auto';
    app.style.height = 'auto';
}
var app = $('mail_subject');
if( app )    
{
	app.value = 'Re: '+subjEscaped;
}
var oEditor = FCKeditorAPI.GetInstance( 'mail_text' );
oEditor.Focus(); 
//oEditor.InsertHtml('<br />--- '+msgOrig+' ---<br />');
var quoteText = '<br />--- '+msgOrig+' ---<br />';
var msgText = FCKeditorAPI.GetInstance('mail_text').GetXHTML();
oEditor.SetHTML(quoteText+msgText);
}

function replyAllMsg()
{
replyMsg();
var app = $('mail_cc');
if( app )
{
	var separator;
	if (jsCc == '' && jsTo != '') {
		separator = '';
	}
	if (jsTo == '' && jsCc != ''){
		separator = '';
	}
	if (jsTo != '' && jsCc != '' ){
		separator = ', ';
	}
	app.value = jsCc+separator+jsTo;
	app.rows = 3;
	app.style.overflow = 'auto';
	app.style.height = 'auto';
}
var app = $('mail_to');
if( app )
{
	app.value = jsAddress;
	app.rows = 3;
    app.style.overflow = 'auto';
    app.style.height = 'auto';
}
}		


function clearSubj()
{
var app = $('mail_subject');
if( app )
{
	app.value = '';
}
var app = $('mail_to');
if( app )
{
	app.value = '';
}
var app = $('mail_cc');
if( app )
{
	app.value = '';
}
var app = $('mail_bcc');
if( app )
{
	app.value = '';
}
if ( navigator.appName == 'Opera' || navigator.appName == 'Safari' ){
	var app = $('mail_text');
	if( app )
		{
			app.value = '';
		}
	} else {
		FCKeditorAPI.GetInstance('mail_text').SetHTML('');
		app.value = '';
	}
}

    function cancelComposeMsg()
{
var app = $('compose_msg');
if( app )
{
	app.style.display='none';
}
var app = $('mail_list_div');
if( app )
{
	app.style.display='block';
}
//google analytics
urchinTracker('/email/back_inbox');
}


//funzioni aggiuntive per FCKeditor

function UserAction(oEditor) {
   s=oEditor.GetXHTML();
   var f=document.forms['formmail'];
   if (f.mail_text) {   
   f.mail_text.value=s;
   }
   if (f.msg_body) {
   f.msg_body.value=s;
   }
   
}

function FCKeditor_OnComplete( editorInstance ) {
  editorInstance.Events.AttachEvent( 'OnSelectionChange', UserAction ) ;
}

function ChangeToolbar( toolbarName ) {
  var f=document.forms['formmail'];
  var d = document.getElementById('mail_text___Frame');
  d.src="/FCKeditor/editor/fckeditor.html?InstanceName=mail_text&Toolbar=" + toolbarName +"&rand=" +Math.random();
  f.cmbToolbars.value=toolbarName;
  return false;
}


//sincronizzazione select "sposta in" in readmail

function onChangeSelect(selectObj) {

	var upper = $('upperselect');
	var bottom = $('bottomselect');
	
	upper.value = selectObj.value;
	bottom.value = selectObj.value;
	
	bottom.options[selectObj.selectedIndex].selected = true;
	upper.options[selectObj.selectedIndex].selected = true;
	
	return;
}


//troncamento stringhe - mail list/rubrica/generic folders

function truncateString(string,numChars){
	var tString = string.truncate(numChars, '...');
	document.write(tString);
}


//textfiled-to-textarea per autocompletamento indirizzi su newmail

function modField(fieldName,attr) {
	var field = $(fieldName);
	if ( $F(fieldName) != '' ){
	  field.rows = 3;
		field.style.overflow = 'auto';
		field.style.height = 'auto';
	} else {
		switch (attr) {
			case ('grow'):
			field.rows = 3;
			field.style.overflow = 'auto';
			field.style.height = 'auto';
			break;
			case ('shrink'):
			field.rows = 1;
			field.style.overflow = 'hidden';
			field.style.height = '15px';
			break;
			default:
			field.rows = 1;
			field.style.overflow = 'hidden';
			field.style.height = '15px';
		}
	}
}


//Bg su <a> con icone di sfondo [messages] -> span:hover non va su IE

function chgBg(id) {
document.getElementById(id).style.backgroundColor = '#09f';
document.getElementById(id).style.color = '#fff';
}

function chgBgBack(id) {
document.getElementById(id).style.backgroundColor = 'transparent';
document.getElementById(id).style.color = '#09f';
}


function redAlert() {
  var spcBar = $('spacebar');
  if ( spcBar.style.width == '100%' ) {
	spcBar.style.backgroundColor = '#ed1c24';
  }
}

//color the selected row
function highlightChecked(el) {
	try {
		var selTr =el.parentNode.parentNode;
		if (el.checked) {
				selTr.className = 'checked';				
		} else {
				selTr.className = '';				
		}
	}catch(e){}
}

// hidden iFrames (messages-addressbook / email attachment)

function openContacts(iFrameId,iFrameSrc,containerDivId) {
	var iFrame = document.getElementById(iFrameId);
	var frameSrc =  iFrameSrc;
	if ( iFrame.src != frameSrc ) {
	iFrame.src = frameSrc;
	}
	var contDiv = document.getElementById(containerDivId);
	contDiv.style.display = 'block';
} 

function closeFrame(containerDivId,iFrameId) {
	var contDiv = parent.document.getElementById(containerDivId);
	var iFrame = parent.document.getElementById(iFrameId);
	contDiv.style.display = 'none';
	iFrame.src = '';
} 

//RUBRICA

var starturl;
var starttipo;

function GoFormNewContact(nick,nome,email)
{
     var url="/cgi-bin/rubrica/visformcontatti.chm?tipot=c"+"&nick="+nick+"&nome="+nome+"&email="+email;
     var hWnd = window.open(url,"","width=610,height=550,resizable=yes,scrollbars=yes");
     if( hWnd )
     {
     	hWnd.focus();
     }
     if ((document.window != null) && (!hWnd.opener))
           hWnd.opener = document.window;
     self.onClose="hWnd.close();";
    starturl=url;
}

function GoNewContactPop(nick,nome,email)
{
     var url="/cgi-bin/rubrica/visformcontatti.chm?tipot=c"+"&nick="+nick+"&nome="+nome+"&email="+email+"&popup=1";
     var hWnd = window.open(url,"","width=610,height=550,resizable=yes,scrollbars=yes");
     if( hWnd )
     {
     	hWnd.focus();
     }
     if ((document.window != null) && (!hWnd.opener))
           hWnd.opener = document.window;
     self.onClose="hWnd.close();";
    starturl=url;
}

function GoAddressWindow(formname,tipo,li,nomic)
{
     //url="/cgi-bin/rubrica/getcontatti.cgi?ll="+ll+"&lca="+lca+"&tc="+tc+"&lv="+lv+"&fn="+formprova+"&start=0&step=10";
     var url="/cgi-bin/rubrica/getcontatti.chm?tipo="+tipo+"&li="+li+"&nomic="+nomic+"&fn="+formname+"&start=0&step=10";
     var hWnd = window.open(url,"","width=610,height=550,resizable=yes,scrollbars=yes");
     if( hWnd )
     {
      	hWnd.focus();
     }
     if ((document.window != null) && (!hWnd.opener))
           hWnd.opener = document.window;
     self.onClose="hWnd.close();";
    starturl=url;
    starttipo=tipo;
}
function GoSearchWindow(nick)
{
     //alert(nick);
     //if (nick==undefined)
     //	nick="";
     var url="/cgi-bin/rubrica/index.chm?nk="+nick+"&start=0&step=15&tipot=c";
     
     var hWnd = window.open(url,"","width=610,height=500,resizable=yes,scrollbars=yes");
     if( hWnd )
     {
     	hWnd.focus();
     }
     if ((document.window != null) && (!hWnd.opener))
           hWnd.opener = document.window;
           
     self.onClose="hWnd.close();";
    starturl=url;   
    starttipo="rubrica";
}

function checkForm (form){
	if (!form.email.value) {
		alert(dizionario_contact_email_alert)
		return false;
	}
	var email=form.email.value;
	if (email){
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (!filter.test(email)){
			alert(dizionario_invalid_address);
			form.email.focus();
			return false;
		}
	}
}
function Conferma(theForm) {
	var num=0;
	for (var i = 0; i < theForm.elements.length; i++) {
	 
	 var e = theForm.elements[i];
	 if ((e.type.toLowerCase()=='checkbox')&& e.checked)
	 num++;
	} 
	if (num>0)
	return confirm(dizionario_confirm_deletecontacts);
	else {
	alert (dizionario_select_del_contact);
	return false; 
	} 
}	
function Isdigit(field,minlength,nome) {
	if (((field.value.length>=minlength) && (isNaN(field.value)==false))||(field.value=="")) {
 		return true; 
	}
	else {
		alert (nome+": "+dizionario_contacts_alert3+minlength+" "+dizionario_contacts_alert_3b);
		field.focus();
		return false;
	} 	
}	
