//////////////////////////
var knomos_edit = false;

function SwapEditMode() {

        cp = document.getElementById('cuerpo');
	cl = cp.className;
	cp.className = (cl == '' || cl == null) ? 'edit' : '';
	return;

        hlp.style.display = knomos_edit ? 'none' : 'block';

        sp = document.getElementsByTagName('DIV');

        for (var i=0; i < sp.length; i++) {
                if (sp[i].className == 'edit-zone' || sp[i].className == 'edit-zone-hidden') {
			sp[i].className = (sp[i].className == 'edit-zone') ? 'edit-zone-hidden' : 'edit-zone';

/*                        if (knomos_edit) {
                                sp[i].className = 'edit-zone-hidden';
                        } else {
                                sp[i].className = 'edit-zone';
                        }
*/
                }
        }

        knomos_edit = knomos_edit ? false : true;

}

// HELP

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;
}


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

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


//over riga
function overRIGA ()
{
	if (document.getElementById && document.createTextNode)
	{
		var tables=document.getElementsByTagName('table');
		for (var i=0;i<tables.length;i++)
		{
			if(tables[i].className=='grid')
			{
				var trs=tables[i].getElementsByTagName('tr');
			
				
				for(var j=0;j<trs.length;j++)
				{
					if(trs[j].parentNode.nodeName=='TBODY')
					{

						trs[j].onmouseover=function(){this.className='riga-over';return false}
						trs[j].onmouseout=function(){this.className='';return false}						
						
					}
				}
			}
		}
	}
}

//window.onload = overRIGA;


//over campo
function eventSELECT ()
{
	if (document.getElementById && document.createTextNode)
	{
		var forms=document.getElementsByTagName('form');
		for (var i=0;i<forms.length;i++)
		{
			var selects=forms[i].getElementsByTagName('select');
			
			for(var j=0;j<selects.length;j++)
			{
				if(selects[j].className=='')
				{				
					selects[j].onFocus=function(){this.className='campo-over';return false}
					selects[j].onBlur=function(){this.className='';return false}	
					/*selects[j].onmouseover=function(){this.className='campo-over';return false}
					selects[j].onmouseout=function(){this.className='';return false}						*/
				}

			}			
		}
	}
}
function eventINPUT ()
{
	if (document.getElementById && document.createTextNode)
	{
		var forms=document.getElementsByTagName('form');
		for (var i=0;i<forms.length;i++)
		{
			var inputs=forms[i].getElementsByTagName('input');
			
			for(var j=0;j<inputs.length;j++)
			{
				if(inputs[j].className=='')
				{
					inputs[j].onFocus=function(){this.className='campo-over';return false}
					inputs[j].onBlur=function(){this.className='';return false}		
					/*inputs[j].onmouseover=function(){this.className='campo-over';return false}
					inputs[j].onmouseout=function(){this.className='';return false}						*/
				}

			}			
		}
	}
}
function eventTEXTAREA ()
{
	if (document.getElementById && document.createTextNode)
	{
		var forms=document.getElementsByTagName('form');
		for (var i=0;i<forms.length;i++)
		{
			var textareas=forms[i].getElementsByTagName('textarea');
			
			for(var j=0;j<textareas.length;j++)
			{
				if(textareas[j].className=='')
				{
					textareas[j].onFocus=function(){this.className='campo-over';return false}
					textareas[j].onBlur=function(){this.className='';return false}		
					/*inputs[j].onmouseover=function(){this.className='campo-over';return false}
					inputs[j].onmouseout=function(){this.className='';return false}						*/
				}

			}			
		}
	}
}

/////////////////////////////
function tabVIEW(id){
	el = document.getElementById(id);
	if (el) el.style.display = 'block';
}
function tabHIDE(id){
	el = document.getElementById(id);
	if (el) el.style.display = 'none';	
}

function tabOver(el) {
	if (el.className == 'disable' || el.id == 'current') return;
	el.className='over';
}
function tabOut(el) {
	if (el.className == 'disable' || el.id == 'current') return;
        el.className='null';
}

function tabSEL(tabid) {

	dv = document.getElementsByTagName('li');

	// check that clicked element is not disabled
	for (var i=0; i < dv.length; i++) {
                if (tb = dv[i].getAttribute("kn_tab")) {
			if (tabid == tb && dv[i].className == "disable") return;
		}
	}

	for (var i=0; i < dv.length; i++) {
		if (tb = dv[i].getAttribute("kn_tab")) {
			if (dv[i].className == "disable") continue;	// skip disabled
			if (tabid == tb) {
				dv[i].setAttribute('id','current');
				tabVIEW(tb);
			} else {
				dv[i].removeAttribute('id');				
				dv[i].className = 'null';
				tabHIDE(tb);
			}
		}
	}
}
/////////////////////////////
function elementVIEW(id){
	document.getElementById(id).style.display = 'block';
}
function elementHIDE(id){
	document.getElementById(id).style.display = 'none';	
}

window.onLoad = function()
{
	overRIGA;
	eventSELECT; 
	eventINPUT; 
	eventTEXTAREA;
}

function rigaListDOWN(idarr,trelement,ico,hidfield,pic1,pic2){

	curtr = document.getElementById(trelement);
	loop = curtr.nextSibling;
	firstlevel = parseInt(loop.getAttribute('kn_level'));
	var show_style = (window.getComputedStyle) ? 'table-row' : 'block';

	var is_open = (curtr.getAttribute('kn_isopen') == "1") ? true : false;

	if (is_open) {
		curtr.setAttribute('kn_isopen','0');
		document.getElementById(ico).src = pic2;
		if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '0';
	} else {
		curtr.setAttribute('kn_isopen','1');
		document.getElementById(ico).src = pic1;
		if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '1';
	}

	prevlev = firstlevel;
	stack = Array("1");

	while (loop) {

		curlev = parseInt(loop.getAttribute('kn_level'));

		// exit loop
		if (curlev < firstlevel || isNaN(curlev)) break;

		// push to stack
		if (curlev > prevlev) stack.push(loop.previousSibling.getAttribute('kn_isopen'));

		// pop elements from stack
		if (curlev < prevlev) {
			for (t = 1; t <= (prevlev - curlev); t++) stack.pop();
		}

		if (is_open) {
			loop.style.display =  'none';
		} else {
			var printit = true;
			for (j=0; j < stack.length; j++) if (stack[j] == "0") printit = false;
			if (printit) loop.style.display = show_style;
		}
		
		prevlev = curlev;
		loop = loop.nextSibling;
	}
}

/////
function rigaDOWN(idarr,ico,hidfield,pic1,pic2,idbut){

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

	for (i=0; i < idarr.length; i++) {
 		id = idarr[i];

		dv = document.getElementById(id);
		blockname = 'block';
		if ((dv.tagName == 'TR'  || dv.tagName == 'TH') && isFirefox) blockname = 'table-row';

		if (window.getComputedStyle) { //read value, only Moz
		   if ( window.getComputedStyle(document.getElementById(id),null).display == 'none' ) {
				document.getElementById(id).style.display = blockname;
				document.getElementById(ico).src = pic1;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '1';
				
				if (window.CP && idbut) CP.call(datafeed_url, "saveBoxStatus", doNothing, idbut, 1);
		  } else {
				document.getElementById(id).style.display = 'none';
				document.getElementById(ico).src = pic2;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '0';

				if (window.CP && idbut) CP.call(datafeed_url, "saveBoxStatus", doNothing, idbut, 0);
		  }
		 } else { //read value, only IE
		   if ( document.getElementById(id).currentStyle.display == 'none' ) {
				document.getElementById(id).style.display = blockname;
				document.getElementById(ico).src = pic1;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '1';
	
				if (window.CP && idbut) CP.call(datafeed_url, "saveBoxStatus", doNothing, idbut, 1);
		  } else {
				document.getElementById(id).style.display = 'none';
				document.getElementById(ico).src = pic2;
				if (document.getElementsByName(hidfield)[1]) document.getElementsByName(hidfield)[1].value = '0';

				if (window.CP && idbut) CP.call(datafeed_url, "saveBoxStatus", doNothing, idbut, 0);
		  }
		}
	} 
}


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';
}

///// 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(/,,$/,'');
}

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');
}

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);
                        if (fl) fl.src = fl.src.replace(/flecchia_sopra\.gif/,'flecchia_inf.gif');
                } else {
                        document.getElementById(id).style.display = 'none';
                        fl = document.getElementById(fleccia);
                        if (fl) 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);
                        if (fl) fl.src = fl.src.replace(/flecchia_sopra\.gif/,'flecchia_inf.gif');
                } else {
                        document.getElementById(id).style.display = 'none';
                        fl = document.getElementById(fleccia);
                        if (fl) fl.src = fl.src.replace(/flecchia_inf\.gif/,'flecchia_sopra.gif');
                }

        }

}
/////
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("SPAN").length;
        spanID = get_empty_num(target);
        newFIELD = document.createElement('SPAN');
        newFIELD.style.display = 'block';
        newFIELD.id = "span_"+name+"_"+spanID;
        newFIELD.className = 'task_URL';

	onF = 'onFocus="this.className=\'campo-focus-02\'"';
	onB = 'onBlur="this.className=\'null\'"';

        newFIELD.innerHTML =    '<input name="'+name+'[]" value="" class="" '+onF+' '+onB+'> '
                                + '<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_scadenza_field(target, name, plus, minus) {

        mainSpan = document.getElementById(target);
        howMany = mainSpan.getElementsByTagName("SPAN").length;
        spanID = get_empty_num(target);
        newFIELD = document.createElement('SPAN');
        newFIELD.style.display = 'block';
	newFIELD.style.marginBottom = '3px';
        newFIELD.id = "span_"+name+"_"+spanID;
        newFIELD.className = 'task_URL';

	onF = 'onFocus="this.className=\'campo-focus-02\'"';
        onFC = 'onFocus="this.className=\'campo-focus-02\'; if (this.value == \'dd/mm/YYYY\') this.value=\'\';"';
        onB = 'onBlur="this.className=\'null\'"';

        newFIELD.innerHTML =   
			  '<!-- <input name="'+name+'_date[]" value="dd/mm/YYYY"  class="" '+onFC+' '+onB+' size="14"> - --> '
			+ 'Descr. <input name="'+name+'_desc[]" value=""  class=""  '+onF+' '+onB+' size="40"> - '
			+ 'Importo <input name="'+name+'_imp[]" value=""  class=""  '+onF+' '+onB+' size="6"> '
			+ '<!-- <select name="'+name+'_type[]"><option value=1>&euro;</option><option value=2>%</option></select> -->'
			+ '<a href="javascript:add_scadenza_field(\''+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="/admin/template/skin_intra/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 showhide(selname,showarr,hidearr) {

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

	els = document.getElementsByName(selname);

	idx = -1;

	if (els[0].tagName.match(/select/i)) {
		sel = els[0];
		idx = sel.selectedIndex;
	} else if (els[0].type == 'radio') {
		for (i = 0; i < els.length; i++) if (els[i].checked) idx = i;
	}

	if (idx == -1) return;

	for (var i = 0; i < showarr[idx].length; i++) {
		el = document.getElementById(showarr[idx][i]);
		el.style.display = isFirefox ? 'table-row' : 'block';
	}

        for (var i = 0; i < hidearr[idx].length; i++) {
                el = document.getElementById(hidearr[idx][i]);
		el.style.display = 'none';
        }
}
