var current_panel = "news";
var old_panel = "news";
var docHeights = new Array(15);

/** candidato alla cancellazione**/
function reloadTT(){
  setTitle();
  //$('pgtptt').innerHTML = getTitle();
  return reloadDiv('tt','index.php?controller=tt&action=load');
  }
/** Canditato alla cancellazione
function setTitle(){
	var jsr = new Json.Remote("index.php?controller=tt&action=getJsonTitle",
                {onComplete: function(title){
                           document.title = "CTI Comitato Termotecnico Italiano - " + title.title;
                        }
                }).send();
}*/

function reloadCLN(mode){
// Pseudo candidato alla cancellazione- utilizzato solo in templates/login.tpl
  if (mode == null) mode = 'attnorm';
  return reloadDiv('cln','index.php?controller=rbox&action='+mode);
  }

function reloadPG(url){
  //window.addHistoryEvent(url);
  var res = reloadDiv('main_pg',url);
  var rtt = reloadTT();
  return false;
}

function reloadDiv(id,page){
  var qs;
  showWait(id,"Loading CTI Files...");
  if (page == "" || page ==null){
    window.location.href = "index.php";
    return false;
  }else {
    qs = page.split("?");
    if (qs[1] == "" || qs[1] == null) querystr = "?ajax=on"; else querystr = qs[1] + "&ajax=on";
  }
    var ajax = new Ajax(qs[0],{method: "get", evalScripts: true, update: $(id)});
    //ajax.onComplete = function(){updateAnchors();}
    ajax.request(querystr);
    return false;
}

function showWait(id,message){
    var elm = $(id);
    elm.setHTML("<div class='loader_pg'><p><img src='inc/img/stdicons/wait.gif' alt='wait' />  "+message+"</p></div><br/>");
}

function checkLogin(){
  var elm = document.getElementById('login');
  var username = elm.userid.value;
  var password = elm.passwd.value;

  if (username == "" || password == "") {
    alert ("Devi specificare userid e password");
    return false;
  }
  return true;
}

function changeDocPage(idtoshow){
	$$("table.gs_tbl").setStyle('display','none');
	if(idtoshow.substring(0,3)=="riu") $('scad_1').setStyle('display','');
	if(idtoshow.substring(0,5)=="work_") $('work2_1').setStyle('display','');
	if(idtoshow.substring(0,5)=="work2") $('work_1').setStyle('display','');
	if(idtoshow.substring(0,5)=="norm_") $('norm2_1').setStyle('display','');
	if(idtoshow.substring(0,5)=="norm2") $('norm_1').setStyle('display','');
	$(idtoshow).setStyle('display','');
}

function switchSubTabDocumenti(subtab,color){
    //$$("table.gs_tbl").setStyle('display','');
    var gs_array = $$('div.gs_pg').setStyle('display','none');

    elm = $(subtab).setStyle('display','');

    switch (subtab){
        case "gs_gen": tabnum = 1; changeDocPage('gen_1');break;
        case "gs_scad": tabnum = 2; changeDocPage('docvoto_1');break;
        case "gs_res": tabnum = 3;changeDocPage('riu_1');break;
        case "gs_norm": tabnum = 4; changeDocPage('norm_1');break;
        case "gs_work": tabnum = 5; changeDocPage('work_1');break;
        case "gs_all": tabnum = 6; changeDocPage('all_1');break;
    }
    for (var i = 1; i <= 6; i++){ elm = $('subtab_' + i); elm.className = '';}
    tab = $('subtab_' + tabnum);
    tab.className = "selct"+color;
    return false;
}

function ajaxPager(link,targetid){
  showWait(targetid," Loading...");
  if (targetid == null) var targetid = 'pg';
  var fx = new Fx.Scroll(window).toElement($('tt'));
  if (targetid == 'pg')
    return reloadPG(link);
  else return reloadDiv(targetid,link);
}

function addDiv(elm,url,calendar_elm){
  var funi = new Element('div', { 'styles': { 'display':'block'}});
  new Ajax(url,
            {
              method: 'get',
              update: funi,
              evalScripts: true,
              onComplete: function(){
              funi.injectBefore(elm);
              new Calendar({ date: 'd/m/Y' }, { classes: ['dashboard', 'prev', 'next', 'month', 'year', 'invalid', 'valid', 'inactive', 'active', 'hover'], direction: 0 });
              }
             }
             ).request();
  return funi;
}


function formUniAdd(elm,workitem){
  addDiv(elm,'index.php?controller=workitem&action=newFormUni&wkid='+workitem,'form_date');
}

function submitNewFormUni(form_elm){
  var url = "index.php";
  var f_data = form_elm.toQueryString();
  var update_elm = form_elm.getParent().getParent();
  var ajax = new Ajax( url, {
                method: 'post',
                update: update_elm,
                evalScripts: true,
                onComplete: function(){
                  new Calendar({ date: 'd/m/Y' }, { classes: ['dashboard', 'prev', 'next', 'month', 'year', 'invalid', 'valid', 'inactive', 'active', 'hover'], direction: 0 });
                }
                 }).request(f_data);
  return false;
}


function closeDiv(elm){
  var f_rem = $(elm);
  f_rem.empty();
  var fx = new Fx.Style(f_rem,'height',{
    duration : 500,
    transition: Fx.Transitions.linear,
    onComplete : function(){
      f_rem.remove();
    }
  }).start(180,0);
}

function addBusinessPlan(elm){
  addDiv(elm,'index.php?controller=orgtecnico&action=newBp','bp_date');
}

function deleteFormUni(workitemid){
  var url = "index.php?controller=workitem&action=formunidel&confirm=true&id="+workitemid;
  if (confirm("Si vuole davvero questo Form UNI?")){
    window.location.href = url;
    return true;
  }
  return false;
}

function doSearch(form_id){
	var url = "index.php";
	var qs = $(form_id).toQueryString();
	qs+="&ajax=on";
	showWait('pg','Loading...');
	var ajx = new Ajax(url, {method: 'get', update: $('pg'),evalScripts: true});
	ajx.request(qs);
	return false;
}

function downloadfile(table,id){
  window.open("utils/downloadfile.php?table="+table+"&id="+id,"downloadWindow","scrollbars=no,menu=no,status=no,height=300,width=300");
}

function changePage(idtoshow,toggle_class){
	var tbhid = $(document).getElements("div[id^="+toggle_class+"]");
	tbhid.setStyle('float','left');
	tbhid.setStyle('display','none');
	$(idtoshow).setStyle('display','');
	$(idtoshow).setStyle('float','');
}

function createPager(elmid,toggle_class,idprefix,start,end,current){
	$(elmid).getParent().setStyle('display','');
	$(elmid).empty();
	if (start >= end) return;
	var offset = 10;
	var p_start = current-offset;
	var p_end   = current+offset;
	if (p_start < 1) {
		p_start = 1;
		p_end   = p_start+ 2*offset;
	}
	if (p_end > end){
		p_end = end;
		p_start = end - 2*offset;
	}
	if (p_start < 1) p_start = 1;
	if (p_start > 1) {
		var e1 = new Element('a',{
			'href': "javascript:changePage('"+idprefix+"_1','"+toggle_class+"');createPager('"+elmid+"','"+toggle_class+"','"+idprefix+"',"+start+","+end+",1);"
		});
		e1.innerHTML = '1';
		e1.injectInside($(elmid));
		$(elmid).innerHTML += "...";
	}

	for (i = p_start; i <= p_end; i++){
		var id = idprefix + "_" + i;
		if (i != current){
			var e = new Element ('a', {
				'href': "javascript:changePage('"+id+"','"+toggle_class+"');createPager('"+elmid+"','"+toggle_class+"','"+idprefix+"',"+start+","+end+","+i+");"
			});
			e.innerHTML = i;
			e.injectInside($(elmid));
		} else {
			$(elmid).innerHTML += i;
		}

		if (i != p_end) $(elmid).innerHTML += " . ";
	}
	if (p_end < end){
		$(elmid).innerHTML+= "...";
		var ef = new Element('a', {
			'href': "javascript:changePage('"+idprefix+"_"+end+"','"+toggle_class+"');createPager('"+elmid+"','"+toggle_class+"','"+idprefix+"',"+start+","+end+","+end+");"
		});
		ef.innerHTML = end;
		ef.injectInside($(elmid));
	}
}

function createDocPager(elmid,idprefix,start,end,current){
  $(elmid).getParent().setStyle('display','');
  $(elmid).empty();
  if (start >= end) return;
  var offset = 10;
  var p_start = current-offset;
  var p_end   = current+offset;
  if (p_start < 1) {
    p_start = 1;
    p_end   = p_start+ 2*offset;
  }
  if (p_end > end){
    p_end = end;
    p_start = end - 2*offset;
  }
  if (p_start < 1) p_start = 1;
  if (p_start > 1) {
    var e1 = new Element('a', {
            'href': "javascript:changeDocPage('"+idprefix+"_1');createDocPager('"+elmid+"','"+idprefix+"',"+start+","+end+",1);"
            });
    e1.setText('1');
    e1.injectInside($(elmid));
    $(elmid).setHTML($(elmid).innerHTML + "...");
  }

  for (i = p_start; i <= p_end; i++){
      var id = idprefix + "_" + i;
      if (i != current){
        var e = new Element ('a', {
                  'href': "javascript:changeDocPage('"+id+"');createDocPager('"+elmid+"','"+idprefix+"',"+start+","+end+","+i+");"
                  });
          e.setText(i);
        e.injectInside($(elmid));
      } else {
        $(elmid).setHTML($(elmid).innerHTML + i);
      }

      if (i != p_end) $(elmid).setHTML($(elmid).innerHTML + " . ");
  }
  if (p_end < end){
    $(elmid).setHTML($(elmid).innerHTML+ "...");
    var ef = new Element('a', {
          'href': "javascript:changeDocPage('"+idprefix+"_"+end+"');createDocPager('"+elmid+"','"+idprefix+"',"+start+","+end+","+end+");"
          });
    ef.setText(end);
    ef.injectInside($(elmid));
  }
}

function reorderDocuments(subtab,campo_num,gid,omode){
  var updid = "gs_gen";
  var ajx = new Ajax("index.php",
              { method: 'get',
                update: $(updid),
                evalScripts : true
               });
  var qs = "controller=documenti&action=reorderData&gid="+gid+"&idcampo="+campo_num+"&subtabname="+subtab+"&omode="+omode;
  ajx.request(qs);
}

function changeWorkitemsList(ot_id,elm_id){
  var url = "index.php?controller=workitem&action=getJsonWorkitems&ot="+ot_id;
//  var data = {'controller':'workitem','action':'getJsonWorkitems','ot' : ot_id};
  var jsn = new Json.Remote(url, { onComplete: function (workitems){
			  									if (workitems.length==0){
			  										altAlert("L'organo tecnico selezionato non ha workitem disponibili");
			  										emptySelect(elm_id);
			  									}else replaceSelectOptions(elm_id,workitems);
			  								 }
  							});
  jsn.send();
}

function replaceSelectOptions(elm_id,json_data){
	var elm = $(elm_id);
	emptySelect(elm_id);
	for (i = 0; i < json_data.length; i++){
		var e = new Element('option',{'value': json_data[i].value});
		e.setText(json_data[i].label);
		e.injectInside(elm);
	}
}

function emptySelect(id){
	var sel =  $(id);
	sel.empty();
	var voidopt = new Element('option');
	voidopt.injectInside(sel);
}

function altAlert(txt){
	var left = (screen.width - 300)/2;
	var wind = new Element('div',{
					'id'	: 'stickywin',
					'styles': {
								'display' : 'block',
								'height'  : '90px',
								'width'   : '300px',
								'margin'  : 'auto !important',
								'position': 'absolute',
								'top'	  : '200px',
								'left'	  : left,
								'border'  : '2px solid red',
								'opacity' : '0.8',
								'filter'  : 'alpha(opacity=80)',
								'background-color': 'black',
								'color': 'white',
								'text-align': 'center'
							   },
					 'events': {
					 			'click': function(){ this.remove();}
					 		   }
					});
	wind.innerHTML =txt+'<br/><br/>';
	var btn = new Element('input',{ 'type' : 'button', 'onclick': 'javascript:$(\'stickywin\').remove();', 'value': 'OK'});
	btn.injectInside(wind);
	wind.injectInside($('pg'));
}

var loadingWindow = function(){
	this.start = function(){
		if($chk($('main_pg'))){
			var left = (screen.width - 300)/2;
			var wind = new Element('div',{
						'id'	: 'stickywin',
						'styles': {
									'display' : 'block',
									'height'  : '90px',
									'width'   : '300px',
									'margin'  : 'auto !important',
									'position': 'absolute',
									'top'	  : '200px',
									'left'	  : left,
									'border'  : '2px solid red',
									'opacity' : '0.8',
									'filter'  : 'alpha(opacity=80)',
									'background-color': 'black',
									'color': 'white',
									'text-align': 'center'
								   },
						 'events': {
									'click': function(){ this.remove();}
								   }
						});
			wind.innerHTML = '<div class="loader_pg"><p><img src="inc/img/stdicons/wait.gif" alt="Wait " /> Loading CTI Files...</p></div>';
			wind.injectInside($('main_pg'));
		}
	};
	this.end = function(){
		if($chk($('stickywin'))){
			$('stickywin').remove();
		}
	};
}

function getCodiceDocumento(){
}

function getOrganiTecnici(gid,elm_id){
	var url = "index.php?controller=mailing&action=getJsonOT&gid="+gid;
	var w = new loadingWindow();
	w.start();
	var jsn = new Json.Remote(url,{
								onComplete : function(ot){
									replaceSelectOptions(elm_id,ot);
									w.end();
			 				  }});
	jsn.send();
	$('utentilist').empty();
}

function getUtenti(ot_id){
	var url = "index.php?controller=mailing&action=getJsonUtenti&otid="+ot_id;
	var w = new loadingWindow();
	w.start();
	var jsn = new Json.Remote(url,{
									onComplete : function (utenti){
										createMailingTable('utentilist',utenti);
										w.end();
										}
									});
	jsn.send();
}

function createMailingTable(elm_id,utenti){
	var f = new Element ('form',{'action': 'index.php','method':'post'});
	var p = new Element ('p',{'class': 'datablk_tp'});
	p.innerHTML = 'Utenti:';
	p.injectInside(f);
	var t = new Element ('table',{'class': 'datablk_elc'});
	var thead = new Element('thead');
	var tr2 = new Element('tr');
	if (utenti.length > 0){
		var th = new Element ('th');
		th.innerHTML = '<input type="checkbox" name="selectall" onclick="javascript:selectAll(this,\'utente\');" />';
		th.injectInside(tr2);
	} else { altAlert("Nessun utente trovato");}
	th = new Element('th');
	th.innerHTML = '&nbsp;';
	th.injectInside(tr2);
	th = new Element ('th');
	th.innerHTML='Cognome';
	th.injectInside(tr2);
	th = new Element ('th');
	th.innerHTML='Nome';
	th.injectInside(tr2);
	th = new Element ('th');
	th.innerHTML='E-mail';
	th.injectInside(tr2);
	tr2.injectInside(thead);
	thead.injectInside(t);
	$(elm_id).empty();
	var tbody = new Element('tbody');
	for (i = 0; i < utenti.length; i++){
		var tr = new Element('tr');
		var td = new Element('td',{'class': 'datablk_elc'});
		td.innerHTML='<p><input type="checkbox" class="utente" name="utenti['+utenti[i].utente_id+']" /></p>';
		td.injectInside(tr);
		var td = new Element('td',{'class':'datablk_elc'});
		td.innerHTML='<p>'+(i+1)+'</p>';
		td.injectInside(tr);
		td = new Element('td',{'class': 'datablk_elc'});
		td.innerHTML='<p>'+utenti[i].cognome+'</p>';
		td.injectInside(tr);
		td = new Element('td',{'class': 'datablk_elc'});
		td.innerHTML='<p>'+utenti[i].nome+'</p>';
		td.injectInside(tr);
		td = new Element('td',{'class': 'datablk_elc'});
		td.innerHTML='<p>'+utenti[i].email+'</p>';
		td.injectInside(tr);
		tr.injectInside(tbody);
	}
	tbody.injectInside(t);
	t.injectInside(f);
	var inp = new Element('input',{'type':'hidden','name':'controller','value':'mailing'});
	inp.injectInside(f);
	inp = new Element('input',{'type':'hidden','name':'action','value':'compose'});
	inp.injectInside(f);
	d = new Element('div',{'class': 'datablk'});
	inp = new Element('input',{'type':'submit','value':'Avanti','class':'datablk_mod'});
	inp.injectInside(d);
	d.injectInside(f);
	f.injectInside($(elm_id));
}

function selectAll(slc,name){
	if (slc.checked) var chk = true;
	else var chk = false;
	var elms = $$('.'+name);
	for (i = 0; i < elms.length; i++) elms[i].checked = chk;
}

function confirmDelete(controller,action,id){
	var res = confirm("Sei sicuro?");
	if (res){
		reloadPG('index.php?controller='+controller+'&action='+action+'&id='+id+'&confirm=true');
	}
	return false;
}