// JavaScript Document

// HIDE/VISIBLE
function calendarDOWN(id,fleccia){
	if (window.getComputedStyle) { //read value, only Moz
  	if ( window.getComputedStyle(document.getElementById(id),null).display == 'none' ) {
	 		document.getElementById(id).style.display = 'table';
			fl = document.getElementById(fleccia);
			fl.src = fl.src.replace(/flecchia_sopra\.gif/,'flecchia_inf.gif');
		} else {
			document.getElementById(id).style.display = 'none';
			fl = document.getElementById(fleccia);
			fl.src = fl.src.replace(/flecchia_inf\.gif/,'flecchia_sopra.gif');
		}
	} else { //read value, only IE
 		if ( document.getElementById(id).currentStyle.display == 'none' ) {
			document.getElementById(id).style.display = 'block';
			fl = document.getElementById(fleccia);
			fl.src = fl.src.replace(/flecchia_sopra\.gif/,'flecchia_inf.gif');
		} else {
			document.getElementById(id).style.display = 'none';
			fl = document.getElementById(fleccia);
			fl.src = fl.src.replace(/flecchia_inf\.gif/,'flecchia_sopra.gif');
		}

	}
	
}
/////
function rigaDOWN(idarr,ico,hidfield,pic1,pic2){
	for (i=0; i < idarr.length; i++) {
 		id = idarr[i];
		if (window.getComputedStyle) { //read value, only Moz
		   if ( window.getComputedStyle(document.getElementById(id),null).display == 'none' ) {
				document.getElementById(id).style.display = 'table-row';
				document.getElementById(ico).src = pic1;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '1';
		  } else {
				document.getElementById(id).style.display = 'none';
				document.getElementById(ico).src = pic2;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '0';
		  }
		 } else { //read value, only IE
		   if ( document.getElementById(id).currentStyle.display == 'none' ) {
				document.getElementById(id).style.display = 'block';
				document.getElementById(ico).src = pic1;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '1';
		  } else {
				document.getElementById(id).style.display = 'none';
				document.getElementById(ico).src = pic2;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '0';
		  }
		}
	} 
}


function rigaDOWNsimple(id){
	if (window.getComputedStyle) { //read value, only Moz
  	if ( window.getComputedStyle(document.getElementById(id),null).display == 'none' ) {
	 		document.getElementById(id).style.display = 'table-row';
		} else {
			document.getElementById(id).style.display = 'none';
		}
	} else { //read value, only IE
 		if ( document.getElementById(id).currentStyle.display == 'none' ) {
			document.getElementById(id).style.display = 'block';
		} else {
			document.getElementById(id).style.display = 'none';
		}

	}
	
}

/* ricorsiva */
function close_children(rowid,first,ico) {

	//alert('closing:'+ rowid + ' first:'+first);
	rows = document.getElementsByTagName('TR');
	for (var i = 0; i < rows.length; i++) {
		if (rows[i].id.match(/mrow/) && rows[i].getAttribute('father') == rowid) {
			close_children(rows[i].id,first,ico);
			row_visible(rows[i].id,false,ico);
		}
	}

	if (rowid != first) row_visible(rowid,false,ico);

}

/* ricorsiva */
function open_children(rowid,ico) {

        rows = document.getElementsByTagName('TR');
        for (i = 0; i < rows.length; i++) 
                if (rows[i].id.match(/mrow/) && rows[i].getAttribute('father') == rowid) {
                        row_visible(rows[i].id,true,ico);
                }
}

function row_visible(rowid,vis,ico) {
	
	var iconame = rowid.replace(/mrow/,'icorow');

	if (window.getComputedStyle) { 	// mozilla
		document.getElementById(rowid).style.display = vis ? 'table-row' : 'none';
		icon = document.getElementById(iconame);
		if (icon) icon.src = ico;
	} else {			// others
		document.getElementById(rowid).style.display = vis ? 'block' : 'none';
		icon = document.getElementById(iconame);
		if (icon) icon.src = ico;
        }
}

function clicDOWN(rowid,icoid,ico1,ico2) {

	sr = document.getElementById(icoid);

	if (sr.src.match(/piu_over/)) {	/* apri sottocategorie 		*/
		open_children(rowid,ico2);
		sr.src = ico1;
	} else {			/* chiudi sottocategorie	*/
		close_children(rowid,rowid,ico2);
		sr.src = ico2;
	}
}



function homeDOWN(id,fleccia,impath){
	if (window.getComputedStyle) { //read value, only Moz
  	if ( window.getComputedStyle(document.getElementById(id),null).display == 'none' ) {
	 		document.getElementById(id).style.display = 'block';
			document.getElementById(fleccia).src = impath+'ico/home_flecchia_sopra.gif';
		} else {
			document.getElementById(id).style.display = 'none';
			document.getElementById(fleccia).src = impath+'ico/home_flecchia_inf.gif';
		}
	} else { //read value, only IE
 		if ( document.getElementById(id).currentStyle.display == 'none' ) {
			 document.getElementById(id).style.display = 'block';
			document.getElementById(fleccia).src = impath+'ico/home_flecchia_sopra.gif';
		} else {
			 document.getElementById(id).style.display = 'none';
			document.getElementById(fleccia).src = impath+'ico/home_flecchia_inf.gif';
		}

	}
	
}

// VEDERE APPUNT GIORNO
function showAPPUNT(div,url,data,pic){
	parent.document.getElementById(div).innerHTML = '<table width="100%"  border="0"><tr><td width="99%"><p>' + data + '</p></td><td width="1%" align="right" valign="top"><a href="javascript:hideAPPUNTgior()"><img src="'+ pic +'" width="16" height="16" border="0" title="Chiudere Giorno"></a></td></tr></table><iframe id="appunt_iframe" src="'+ url +'" frameBorder="0">IFRAME</iframe>';
	parent.document.getElementById(div).style.display = 'block';

}


function hideAPPUNT(div){
	parent.document.getElementById(div).style.display = 'none';
}
function hideAPPUNTgior(){
	document.getElementById('appunt_giorno').style.display = 'none';
}

var KnomosMouseX;
var KnomosMouseY;

function getMouseXY(e) {

  if( !e ) { if( window.event ) { e = window.event; } else { return; } }

  if (document.all) { // grab the x-y pos.s if browser is IE
    KnomosMouseX = e.clientX + document.body.scrollLeft;
    KnomosMouseY = e.clientY + document.body.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS
    KnomosMouseX = e.pageX;
    KnomosMouseY = e.pageY;
  }  
  if (KnomosMouseX < 0) KnomosMouseX = 0;
  if (KnomosMouseY < 0) KnomosMouseY = 0;

  return true;
}


// HELP
function ShowHelp(div, desc)
{
	document.getElementById(div).style.display = 'inline';
	document.getElementById(div).innerHTML = '<div class="help-tip">' + desc + '</div>';
	seeThroughWorkaround(div, true);	
}

function HideHelp(div)
{
	document.getElementById(div).style.display = 'none';
	seeThroughWorkaround(div, false);  
}

// HELP IFRAME
function ShowHelpIFRAME(div, tit, url)
{
	document.getElementById(div).style.display = 'inline';
	document.getElementById(div).style.position = 'absolute';
	document.getElementById(div).style.width = '350px';
	document.getElementById(div).innerHTML = '<div class="capa-iframe-pru"><b>' + tit +'</b><br><iframe id="iframe-pru" src="'+url+'" frameBorder="0" width=100%></iframe></div>';
}

function HideHelpIFRAME(div)
{
	document.getElementById(div).style.display = 'none';
}


///// Explode/Implode left column
function colEXP(id,imgpath){
	if (window.getComputedStyle) { //read value, only Moz
  	if ( window.getComputedStyle(document.getElementById(id),null).display == 'none' ) {
	 		document.getElementById(id).style.display = 'table-cell';
			document.getElementById('col_exp_img').src = imgpath+'col_exp_close.gif';
			document.getElementById('col_exp_td').className = 'col-exp-open';			
		} else {
			document.getElementById(id).style.display = 'none';
			document.getElementById('col_exp_img').src = imgpath+'col_exp_open.gif';			
			document.getElementById('col_exp_td').className = 'col-exp-close';				
		}
	} else { //read value, only IE
 		if ( document.getElementById(id).currentStyle.display == 'none' ) {
			document.getElementById(id).style.display = 'block';
			document.getElementById('col_exp_img').src = imgpath+'col_exp_close.gif';		
			document.getElementById('col_exp_td').className = 'col-exp-open';						
		} else {
			document.getElementById(id).style.display = 'none';
			document.getElementById('col_exp_img').src = imgpath+'col_exp_open.gif';			
			document.getElementById('col_exp_td').className = 'col-exp-close';			
		}

	}
	
}

function change_desc(selname,txtname) { 
	s = document.getElementsByName(selname);
	for (i=0; i < s.length; i++) if (s[i].type && s[i].type.match(/select/)) sel = s[i];
	t = document.getElementsByName(txtname);
	for (i=0; i < t.length; i++) if (t[i].type && t[i].type.match(/text/)) tex = t[i];
	tex.value = sel.options[sel.selectedIndex].text.replace(/\(.*\)\s+/,'');
}

function target_blank(f) {
	if (f.selectedIndex > 0) { f.form.target='_blank'; } else f.form.target='';
}


function moveLayerWindow() {
  scrollTop = (document.all) ? document.body.scrollTop + document.documentElement.scrollTop : window.pageYOffset;
  scrollLeft = (document.all) ? document.body.scrollLeft + document.documentElement.scrollLeft : window.pageXOffset;
  e = document.getElementById('window_layer');
  px = (document.all) ? '' : 'px';
  e.style.left = 200 + scrollLeft + px;
  e.style.top = 100 + scrollTop + px;
}

function openLayerWindow(tit) {
	moveLayerWindow();
	e = document.getElementById('window_layer');
	seeThroughWorkaround('window_layer', true);
	document.getElementById('window_layer_title').innerHTML = tit;
	e.style.display = 'inline';
}

function closeLayerWindow() {
        e = document.getElementById('window_layer');
        e.style.display = 'none';
	seeThroughWorkaround('window_layer', false);
}

function loadLayerWindow(url,tit) {
	moveLayerWindow();
	e = document.getElementById('window_layer');
	win = window.frames['window_layer_iframe'];
	seeThroughWorkaround('window_layer', true);
	document.getElementById('window_layer_title').innerHTML = tit;
	if (e.style.display == 'none') {
		if (win.document.location != url) win.document.location = url;
		e.style.display = 'inline';
	} else e.style.display = 'inline';
}

function insertTselect(form,field,val) {
	eval('window.parent.document.'+form+'.elements[\''+field+'\'].value = val;');
	window.parent.closeLayerWindow();
}

function insertTselect2(form,field1,val1,field2,val2) {
        eval('window.parent.document.'+form+'.elements[\''+field1+'\'].value = val1;');
	eval('window.parent.document.'+form+'.elements[\''+field2+'\'].value = val2;');
        window.parent.closeLayerWindow();
}

function RealEscape(str) {
	str = escape(str);
	return str.replace(/\+/,'%2B');
}


//Shortcut functions

var lastkey='';
var keymap = new Array ();



function alertkey(e) { 
var cur;

if( !e ) { if( window.event ) { e = window.event; } else { return; } }

   ctrlPressed = false;

   if (e.ctrlKey) {
     ctrlPressed = e.ctrlKey;
   } else if (e.modifiers) {
     var mString =(e.modifiers+32).toString(2).substring(3,6);
     ctrlPressed =(mString.charAt(1)=="1");
   }

	if( typeof( e.which ) == 'number' ) { e = e.which; } else { if( typeof( e.keyCode ) == 'number'  ) { e = e.keyCode; } else { if( typeof( e.charCode ) == 'number'  ) { e = e.charCode; } else { return; } } }
	cur=String(keymap[e]).length;

	if(cur > 2 && ctrlPressed && keymap[e]) { document.location=keymap[e];}
}

document.onkeydown = alertkey;


///// Multiple select manage

function msel_moveup(opsel) {

   if (opsel.length < 2) return; 
   var sel = opsel.selectedIndex;
   if (sel < 1) return;

   var mText1 = opsel[sel-1].text;
   var mText2 = opsel[sel].text;
   var mValue1 = opsel[sel-1].value;
   var mValue2 = opsel[sel].value;
   opsel[sel].text = mText1;
   opsel[sel].value = mValue1;
   opsel[sel-1].text = mText2;
   opsel[sel-1].value = mValue2;
   opsel.selectedIndex = sel-1; 

   msel_genhidden(opsel);
}


function msel_movedown(opsel) {

   if (opsel.length < 2) return; 
   var sel = opsel.selectedIndex;
   if (sel < 0 || sel == (opsel.length - 1)) return;

   var mText1 = opsel[sel+1].text;
   var mText2 = opsel[sel].text;
   var mValue1 = opsel[sel+1].value;
   var mValue2 = opsel[sel].value;
   opsel[sel].text = mText1;
   opsel[sel].value = mValue1;
   opsel[sel+1].text = mText2;
   opsel[sel+1].value = mValue2; 
   opsel.selectedIndex = sel+1;             

   msel_genhidden(opsel);
}

function msel_add(opsel, testo, valore) {

      for (i=0; i < opsel.length; i++) if (opsel.options[i].value == valore && opsel.options[i].text == testo) return;
      var len = opsel.length++;
      opsel.options[len].value = valore;
      opsel.options[len].text = testo;
      opsel.selectedIndex = len;

      msel_genhidden(opsel);
}

function msel_delete(opsel) {

      while(opsel.selectedIndex >= 0) {
          opsel.options[opsel.selectedIndex] = null;
      }

      msel_genhidden(opsel);
}

function msel_genhidden(opsel) {

      // find hidden
      f = opsel.form;
      for (i=0; i < f.elements.length; i++) if (f.elements[i] == opsel) hid = f.elements[i+1];
      hid.value= '';
      for (i=0; i < opsel.length; i++) hid.value += opsel.options[i].value + ',,';
      hid.value = hid.value.replace(/,,$/,''); 
}


opt = new Array();
opt[0] = new Array('link0.php?id=%ID%','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri');
opt[1] = new Array('link1.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Modifica');
opt[2] = new Array('link2.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Cancella');
opt[3] = new Array('link3.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Rinomina');

opt[4] = new Array('link4.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri con Photoshop');
opt[5] = new Array('link5.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri con orelDraw');

opt[6] = new Array('link6.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri con Word');
opt[7] = new Array('link7.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri con Open Office');

opt[8] = new Array('link8.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri con Notepad');
opt[9] = new Array('link9.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri con UltraEdit');

opt[10] = new Array('link10.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Modifica con Acrobat');
opt[11] = new Array('link11.php','http://chusmy.cw-portal.com/CW_intranet/images/ico/ico_stampa_peq.gif','Apri con Acrobat');

menus = new Array();

menus['default'] = new Array(0,1,2,3,2);
menus['gif'] = new Array(4,5);
menus['doc'] = new Array(6,7);
menus['txt'] = new Array(8,9);
menus['pdf'] = new Array(10,11);


var toutFlag;

function openFileMenu(id,ext) {

	closeAllFile();
	dv = document.getElementById('file_'+id);

	cnt = "";
	
	// opzioni default
	for (i = 0; i < menus['default'].length; i++) {

		var index = menus['default'][i];
		op = opt[index];
		optxt = op[0].replace(/%ID%/, id);
		cnt += '<a href="' + optxt + '">';
		cnt += '<img src="' + op[1] + '" width="16" height="16" border="0" align="absmiddle">';
		cnt += ' ' + op[2] + '</a>';
 	}

	// opzioni estensione
        for (i = 0; i < menus[ext].length; i++) {

                var index = menus[ext][i];
                op = opt[index];
		optxt = op[0].replace(/%ID%/, id);
                cnt += '<a href="' + optxt + '">';
                cnt += '<img src="' + op[1] + '" width="16" height="16" border="0" align="absmiddle">';
                cnt += ' ' + op[2] + '</a>';
        }

	cnt += '<a href="javascript: closeFileMenu('+id+');"> Chiudi finestra</a>';

	dv.innerHTML = 	cnt;
	dv.style.display = 'inline';

	setTEST();
}

var toutFlag;

function setTEST() {
		clearTimeout(toutFlag);
                toutFlag = setTimeout('closeAllFile()', 750);
}

function clearTEST() {
                clearTimeout(toutFlag);
}

function closeFileMenu(id) {

        dv = document.getElementById('file_'+id);
	dv.style.display = 'none';
}

function closeAllFile() {
	el = document.body.getElementsByTagName('div');
	for (i=0; i < el.length; i++) if (el[i].id.match(/^file_/)) el[i].style.display = 'none';
}


//MAX TESTS
function add_text_field(target, name) {
	newFIELD = document.createElement('p');
	newFIELD.className = 'task_URL';
	newFIELD.innerHTML = '<nobr><input type="text" name="'+ name +'[]" '
			         + 'value="" id="task_URL_##COUNTER##" size=30 />'
			         ;
	if (document.getElementById(target).innerHTML == '') {
		if (document.getElementById('add_file')) {
			document.getElementById('add_file').style.paddingTop = '5px';
		}
		var count = 0;
	}
	else {
		for (i = 0; i < 100 && document.getElementById('task_URL_' + i); i++) {
			var count = i + 1;
		}
	}
	newFIELD.id = 'p_task_URL_' + count;
	newFIELD.innerHTML = newFIELD.innerHTML.replace(/##COUNTER##/g, count);
	document.getElementById(target).appendChild(newFIELD);
	var id = 'task_URL_' + count;
	document.getElementById(id).focus();
}

function delete_text_field2(id) {
	el = document.getElementById(id);
	el.parentNode.removeChild(el);
}

function get_empty_num(target) {

	mainSpan = document.getElementById(target);
	lastid = mainSpan.lastChild.id;
	res = lastid.match(/[0-9]+$/);
	num = parseInt(res[0]) + 1;
	return num;
}

function add_text_field2(target, name, plus, minus) {

	mainSpan = document.getElementById(target);
	howMany = mainSpan.getElementsByTagName("INPUT").length;
	spanID = get_empty_num(target);
        newFIELD = document.createElement('SPAN');
	newFIELD.style.display = 'block';
	newFIELD.id = "span_"+name+"_"+spanID;
        newFIELD.className = 'task_URL';
	newFIELD.innerHTML =	  '<input type="text" name="'+ name +'[]" value="" size="30"> '
                                + '<a href="javascript:add_text_field2(\''+target+'\',\''+name+'\',\''+plus+'\',\''+minus+'\');" '
				+ 'id="plus_sign_'+name+'"><img src="'+plus+'" border="0" align="absmiddle"></a>';

        pl = document.getElementById('plus_sign_'+name);
	plp = pl.parentNode;

	var newMinus = document.createElement('span');
        newMinus.innerHTML =    '<a href="javascript:delete_text_field2(\''+plp.id+'\');">'
                              + '<img src="'+minus+'" border="0" align="absmiddle"></a><br>';

	
	plp.removeChild(pl);            // remove plus
	plp.appendChild(newMinus);      // add minus

        mainSpan.appendChild(newFIELD);

}

function add_input_field(target,name) {
        newFIELD = document.createElement('p');
        newFIELD.className = 'task_URL';
        newFIELD.innerHTML = 	'<nobr><input type="file" name="'+ name +'[]" '
                              	+ 'value="" id="task_URL_##COUNTER##"/> '
				+ '<a href="javascript:add_input_field(\''+target+'\',\''+name+'\')">'
				+ '<img src="/template/skin_aims/images/ico/ico_aggiunge_peq.gif" '
				+ 'width="16" height="16" border="0" align="absmiddle" id="plus_sign_'+name+'"></a>';

        if (document.getElementById(target).innerHTML == '') {
                if (document.getElementById('add_file')) {
                        document.getElementById('add_file').style.paddingTop = '5px';
                }
                var count = 0;
        }
        else {
                for (i = 0; i < 100 && document.getElementById('task_URL_' + i); i++) {
                        var count = i + 1;
                }
        }
        newFIELD.id = 'p_task_URL_' + count;
        newFIELD.innerHTML = newFIELD.innerHTML.replace(/##COUNTER##/g, count);
	
	// remove plus sign
        pl = document.getElementById('plus_sign_'+name);
        pl.parentNode.removeChild(pl);

        document.getElementById(target).appendChild(newFIELD);

        var id = 'task_URL_' + count;
        document.getElementById(id).focus();
}

function delete_field(rowid,hid,idfile) {

	el = document.getElementById(rowid);
	el.parentNode.removeChild(el);
	
	hf = document.getElementById(hid);
	if (hf.value == "") {
		hf.value += idfile;
	} else hf.value += ",," + idfile;
}

function mod_type(s) {

	isFirefox  = navigator.appName.match(/explorer/i) ? false : true;

	el = document.getElementById('ref_kam');
	el2 = document.getElementById('ref_cons');

	if (s.selectedIndex < 2) {
		el.style.display = 'none';
	} else el.style.display = isFirefox ? 'table-row' : 'block';

        if (s.selectedIndex > 1) {
                el2.style.display = 'none';
        } else el2.style.display = isFirefox ? 'table-row' : 'block';

}

