var minDate
var mode = ""
var title = ""
var ulang = "it"
var debug = true
var lastButton = ""
var lastDateIns = ""
var titleHelp = ""
var imgGre = '<img src=\"images/varie/semg.gif\" border=0 />'
var imgRed = '<img src=\"images/varie/semr.gif\" border=0 />'
var imgYel = '<img src=\"images/varie/semy.gif\" border=0 />'
var dtstart = 5;
var msgs = new Array()
var dtdef = new Date()
do {
  var dtdef = new Date((new Date()).getTime()+dtstart*24*60*60*1000)
	dtstart++
} while ( dtdef.getDay() < 1 || dtdef.getDay() > 5 ) 
var lastDateIns = dtdef.getFullYear()+"-"+(dtdef.getMonth()+1)+"-"+dtdef.getDate()
var minDate = dtdef
		
var fields
var labels
var radioLabel = new Array(3)

function setUserLang(lang) {
  ulang = lang
}

function setMessage(id, msg) {
  msgs[id] = msg;
}

// imposta la data minima dell'ordine con la data del server
// la data è nel formato dd-MM-yyyy o MM-dd-yyyy a seconda della lingua
function setMinDate(dt, lang) {
  var minDate = new Date()
	var elems = dt.split("-")
  if ( lang == 'it' ) {
	  minDate.setDate(elems[0])
	  minDate.setMonth(elems[1]-1)
	  minDate.setFullYear(elems[2])
	}
	else {
	  minDate.setDate(elems[1])
	  minDate.setMonth(elems[0]-1)
	  minDate.setFullYear(elems[2])
	}
}

function setLastDateIns(dt, obj) {
  lastDateIns = dt
	if ( obj != null && obj.rows != null && obj.rows.length > 0 ) {
	  lastDateIns = obj.rows[obj.rows.length-1].request.get("DATA")		
	}
}
 
function setTitle(title, titleHelp) {
  this.title = title
	if ( typeof(titleHelp) != "undefined" )
	  this.titleHelp = titleHelp
}

function setMode(modes) {
  mode = modes
  if ( mode == "CART" ) {  
  }
  if ( mode == "SHOP" ) {
  }
}

function order(oname, obj)  {
  this.name = oname
	this.obj = obj
	this.rows = new Array(0)
	
	this.addRequest = _ordAddReq
	this.addRow = _ordAddRow
	this.getRow = _ordGetRow
	this.delRow = _ordDelRow
	this.checkRow = _ordCheckRow
	this.writeTable = _ordWriteTable
	this.add = _ordAddAll
	this.put = _ordPut
}
function _ordAddAll() {
  var args = _ordAddAll.arguments
	var lastRow
	if ( this.rows.length == 0 )
	  lastRow = 0
	else
	  lastRow = this.rows[this.rows.length-1]
	if ( lastRow == 0 ) {
	  this.rows[0] = new row(this, 1)
		this.rows[0].setRequest2(args)
	}
	else {
	  if ( args[0] == lastRow.request.get('RICHIESTA') && args[1] == lastRow.request.get('POSNR') && 
		     args[2] == lastRow.request.get('ETENR') )
		  lastRow.setRespons2(args)
		else {
		  this.rows[this.rows.length] = new row(this, lastRow.name+1)
			this.rows[this.rows.length-1].setRequest2(args)
		}
	}
		  
}
function _ordPut() {
  var args = _ordAddAll.arguments
	var lastRow
	if ( this.rows.length == 0 && args[3] != 'R' ) {
	  lastRow = 0
		return
	}
	else
	  lastRow = this.rows[this.rows.length-1]
	if ( lastRow == 0 ) {
	  this.rows[0] = new row(this, 1)
		this.rows[0].setRequest2(args)
	}
	else {
	  if ( args[0] == lastRow.request.get('RICHIESTA') && args[1] == lastRow.request.get('POSNR') && 
		     args[2] == lastRow.request.get('ETENR') )
		  lastRow.setRespons2(args)
		else {
		  this.rows[this.rows.length] = new row(this, lastRow.name+1)
			this.rows[this.rows.length-1].setRequest2(args)
		}
	}
}
function _ordAddReq(matnr, q, dats) {
  var args = _ordAddReq.arguments
  this.rows[this.rows.length] = new row(this, parseInt(this.rows[this.rows.length].request.data['POSNR'],10)+1)
	this.rows[this.rows.length-1].setRequest(args)
}
function _ordAddRow(matnr,q,dats) {
  var rid = 1
	if ( this.rows.length > 0 ) rid = parseInt(this.rows[this.rows.length-1].request.data['POSNR'],10)+1
  this.rows[this.rows.length] = new row(this, rid)
	return this.rows[this.rows.length-1]
}
function _ordDelRow(num) {
  var i = 0;
	while ( i<this.rows.length && parseInt(this.rows[i].request.data['POSNR'],10) != num ) i++;
	if ( i >= this.rows.length ) return
	/*
  if ( this.rows[i].request.data['TYPE'] != 'P' ) {
		for (var j=i; j<this.rows.length-1; j++)
		  this.rows[j] = this.rows[j+1]
		this.rows.pop()
	}
	else
    this.rows[num-1].visible = false
	*/
	this.rows[i].visible = false
	this.writeTable()
}
function _ordGetRow(num) {
  return this.rows(num)
}
function _ordCheckRow(nm, idx, pre) {
  var obj = null;
  for (var i=0; i<this.rows.length;i++)
    if ( this.rows[i].name == nm ) obj = this.rows[i]

	if ( obj == null ) return	
	
	var typed = document.getElementById(pre+idx).value
	var fld = pre.substring(0, pre.length-1).toUpperCase()
	if ( typed != obj.request.get(fld+'_O') ) {
	  obj.request.set( fld, typed )
		if ( obj.request.get( 'TYPE' ) != 'N' ) {
 		  obj.request.set( 'TYPE','M' )
		  // se cambia un semaforo verde...
		  if ( obj.request.get('ERROR') == '' ) {
    	  for (var i=0; i<obj.respons.length; i++) {
    		  var obj2 = document.getElementById("ckP"+idx+"_"+i)
    			obj2.disabled = true
    			obj2.checked = false
					obj.respons[i].set('SELEZ', ' ')
    		}
		  }
			// altrimenti rosso+giallo
			else {
    		document.getElementById("ckR"+idx+"_0").disabled = true
    		document.getElementById("ckR"+idx+"_0").cheched = false
				obj.request.set('SELEZ', ' ')
    	  for (var i=0; i<obj.respons.length; i++) {
    		  var obj2 = document.getElementById("ckP"+idx+"_"+i)
    			obj2.disabled = true
    			obj2.checked = false
					obj.respons[i].set('SELEZ', ' ')
    		}
  		}
		}
		return
	}
	var mat = document.getElementById('matnr_'+idx).value
	var qty = document.getElementById('qty_'+idx).value
	var dat = document.getElementById('data_'+idx).value
	if ( qty == obj.request.get('QTY_O') && dat == obj.request.get('DATA_O') && 
		   mat == obj.request.get('MATNR_O') ) {
	  obj.request.set( fld, typed )
		if ( obj.request.get( 'TYPE' ) == 'M' ) {
  		obj.request.set( 'TYPE','R' )
		  if ( obj.request.get('ERROR') == '' ) {
    	  for (var i=0; i<obj.respons.length; i++) {
    		  var obj2 = document.getElementById("ckP"+idx+"_"+i)
    			obj2.disabled = false
    			obj2.checked = true
					obj.respons[i].set('SELEZ', 'X')
    		}
			}
			else {
    		document.getElementById("ckR"+idx+"_0").disabled = false
    		document.getElementById("ckR"+idx+"_0").cheched = false
				obj.request.set('SELEZ', ' ')
    	  for (var i=0; i<obj.respons.length; i++) {
    		  var obj2 = document.getElementById("ckP"+idx+"_"+i)
    			obj2.disabled = false
    			obj2.checked = true
					obj.respons[i].set('SELEZ', 'X')
    		}
  		}
		}
	}
}

function _ordWriteTable() {
  var text = ""
	//if ( mode == "CART" ) title = 'ORDINE'
	//if ( mode == "SHOP" ) title = 'ELENCO ORDINI DA CONFERMARE'
	
	text += "<table width=700 border=0 cellpadding=0 cellspacing=0>\r\n"
	// titolo
	text += "<tr><td><table border=0 cellpadding=0 cellspacing=0 align=center><tr>"
	text += "<td class=header align=right valign=middle>"+title+"</td>"
	text += "<td class=header align=left valign=middle>"
	if ( titleHelp != "" )
	  text += "<a href=\""+titleHelp+"\" target=helppage><img src=\"images/imgLinks/page180small.gif\" alt=help border=0></a>"
	text += "</td>"
	text += "</tr></table></td></tr>\r\n"
	// intestazione
	text += "<tr><td>\r\n"
	if ( mode == "CART" ) text += writeHeader('POSNR','MATNR','QTY','DATA','NETPR','DISP','TYPE','ERROR')
	if ( mode == "SHOP" ) text += writeHeader('RICHIESTA','POSNR','MATNR','QTY','DATA','NETPR','DISP','TYPE','DATA_CONF_AUTO')
	if ( mode == "LIST" ) text += writeHeader('RICHIESTA','POSNR','ETENR','MATNR','QTY','DATA','NETWR','NETPR','VBELN','DESC_STATO_N','')
	text += "</td></tr>\r\n"
	// corpo
	text += "<tr><td>\r\n"
	text += writeBody(this.rows)
	text += "</td></tr>\r\n"
	// bottoni
  text += "<tr><td colspan=9><br/>\r\n"
  text += "<table border=0 cellpadding=0 cellspacing=0><tr>\r\n"
	if ( typeof(btnSubmit) != "undefined" )
    for (var i=0; i<btnSubmit.length; i++) {
      var jscriptTxt = ""
      if ( btnSubmit[i][3] == 'check' ) {
        jscriptTxt = " onclick=\"btnSelez = this; doCheckBoxes = false; var resOk=verifica(); if ( !resOk ) return false; document.getElementById('"+formBean+"').target='_self'\" "
      }
      else if ( btnSubmit[i][3] == 'order' ) {
        jscriptTxt = " onclick=\"btnSelez = this; doCheckBoxes = true; var resOk=ordina(); if (!resOk) return false; document.getElementById('"+formBean+"').target='_self';\" "
      }
      else if ( btnSubmit[i][3] == 'confirm' ) {
        jscriptTxt = " onclick=\"btnSelez = this; doCheckBoxes = false; var resOk=ordina(); if (!resOk)return false; document.getElementById('"+formBean+"').target='_self';\" "
      }
      else {
        jscriptTxt = " onclick=\"btnSelez = this; doCheckBoxes = false; document.getElementById('"+formBean+"').target='_self'; this.disable = true;\" "
      }  	
      text += "<td><table border=0 cellpadding=0 cellspacing=0>\r\n"
      text += "<tr>\r\n"
      text += "  <td width=5 align=left valign=middle><img src=images/varie/left.gif width=5 height=19></td>\r\n"
      text += "  <td valign=middle>"
      text += "<input style=\"border:none; height:19 px; background: url(images/varie/bg.gif); font-weight:bold;\" class=menu2liv_curr "
      text += "name=\"button#"+btnSubmit[i][0]+"\" id=\"button#"+btnSubmit[i][0]+"\" "
      text += "type=submit value=\""+btnSubmit[i][1]+"\" "+jscriptTxt+" /></td>\r\n"
      text += "  <td width=5 align=right valign=middle><img src=images/varie/right.gif width=5 height=19></td>\r\n"
      text += "</tr>\r\n"													
      text += "</table></td><td>&nbsp;</td>\r\n"
    }
  text += "</tr></table>\r\n"
  text += "</td></tr>\r\n"
	text += "</table>\r\n"
	this.obj.innerHTML = text
	return text
}

function writeBody(rows) {
  var text = ""

	window.status = "printing..."
  for (var i=0; i<rows.length; i++) {
	  if( rows[i].visible ) {
		  text += rows[i].request.draw(i,0)
      for (var j=0; j<rows[i].respons.length; j++) {
		    text += rows[i].respons[j].draw(i,j)
	    }
			window.status += "."
		}
	}
	text += "</table>\r\n"
	window.status ="done."
	
	return text
}

function writeHeader() {
  var args = writeHeader.arguments
	var text = ""
  var DD = "_dd"; var MM = "_mm";
  if ( ulang != 'it' ) { DD = "_mm"; MM = "_dd"; }

	var tbstyle = ""
	if ( mode == "CART" ) tbstyle = " style=\"border-collapse:collapse; border 1px solid #eaeaea;\" "
	if ( mode == "SHOP" ) tbstyle = " style=\"border-collapse:collapse; border 1px solid #eaeaea;\" "
	if ( mode == "LIST" ) tbstyle = " style=\"border-collapse:collapse; border 1px solid #eaeaea;\" "
	
  text += "<table width=700 align=center border=1 bordercolor=#eaeaea cellspacing=0 cellpadding=0 bgcolor=#F7F7F7 "+tbstyle+">\r\n"
	text += "<tr class=tdtitle>\r\n"
  text += "  <td height=20 align=center valign=middle class=textwhite width=\""+labels[args[0]][1]+"\" nowrap=nowrap>"+labels[args[0]][0]+"</td>\r\n"
	for (var i=1; i<args.length; i++) {
    text += "  <td height=20 align=center valign=middle class=textwhite width=\""+labels[args[i]][1]+"\">"+labels[args[i]][0]+"</td>\r\n"
	}
	//text += "  <td height=20 align=center valign=middle class=textwhite>&nbsp;</td>"
  text += "</tr>\r\n"
	if ( mode == "CART" ) {
	text += "<tr>\r\n"
	text += "  <td height=20 align=center valign=middle class=cartrowR>&nbsp;</td>"
	text += "  <td height=20 align=left valign=middle class=cartrowR nowrap=nowrap>"
	text += "<input tabindex=3 class=cartrow id=\""+inputs[0][0]+"\" "
	text += "name=\""+inputs[0][0]+"\" type=text size=15 value=\""+inputs[0][1]+"\" "
	text += "onFocus=\"if (this.value=='codice') this.value =''\" "
	text += "onBlur=\"if (this.value.trim()=='') this.value='"+inputs[0][1]+"'; else this.value.checkString(this,18);\" "
	text += "></td>"
	text += "  <td height=20 align=center valign=middle class=cartrowR nowrap=nowrap>"
	text += "<input tabindex=4 class=cartrow id=\""+inputs[1][0]+"\" name=\""+inputs[1][0]+"\" "
	text += "type=text size=5 value=\""+inputs[1][1]+"\" "
	text += "onFocus=\"if (this.value=='"+inputs[1][1]+"') this.value =''\" "
	text += "onBlur=\"if (parseInt(this.value,10)<=0) this.value=1; if (isNaN(this.value) || this.value.trim()=='') this.value='"+inputs[1][1]+"'; \""
	text += "></td>"
	text += "  <td height=20 align=center valign=middle class=cartrowR>\r\n"
  text += "  <table border=0 cellspacing=0 cellpadding=0 align=right>\r\n"
  text += "  <tr>\r\n"
  text += "        <td>\r\n"
  text += "				  <table border=0 cellspacing=0 cellpadding=0>\r\n"
  text += "					<tr>\r\n"
  text += "  					<td>\r\n"
	var dtx = lastDateIns //inputs[2][1]
  text += "						<table border=0 cellspacing=0 cellpadding=0>\r\n"
  text += "						<tr>\r\n"
  text += "						  <td rowspan=2 height=20 align=center valign=middle class=header>\r\n"
  text += "							  <input tabindex=5 class=cartrow type=text size=2 style=\"width:24px;\" id=\""+inputs[2][0]+DD+"\" name=\""+inputs[2][0]+DD+"\" onBlur=\"checkDate(this,0)\" value="+dtx.substring(0,dtx.indexOf("-"))+">\r\n"
  text += "							</td>\r\n"
  text += "							<td class=header><img src=images/varie/arrow1.jpg border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldUp('"+inputs[2][0]+DD+"',0)\" /></td>\r\n"
  text += "						</tr>\r\n"
  text += "						<tr>\r\n"
  text += "						  <td class=header><img src=images/varie/arrow2.jpg border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldDown('"+inputs[2][0]+DD+"',0)\" /></td>\r\n"
  text += "						</tr>\r\n"
  text += "						</table>\r\n"
  text += "  					</td>\r\n"
  text += "  					<td>\r\n"
  text += "						<table border=0 cellspacing=0 cellpadding=0>\r\n"
  text += "						<tr>\r\n"
  text += "						  <td rowspan=2 height=20 align=center valign=middle class=header>\r\n"
  text += "							  <input tabindex=6 class=cartrow type=text size=2 style=\"width:24px;\" id=\""+inputs[2][0]+MM+"\" name=\""+inputs[2][0]+MM+"\" onBlur=\"checkDate(this,0)\" value="+dtx.substring(dtx.indexOf("-")+1,dtx.lastIndexOf("-"))+">\r\n"
  text += "							</td>\r\n"
  text += "							<td class=header><img src=images/varie/arrow1.jpg border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldUp('"+inputs[2][0]+MM+"',0)\" /></td>\r\n"
  text += "						</tr>\r\n"
  text += "						<tr>\r\n"
  text += "						  <td class=header><img src=images/varie/arrow2.jpg border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldDown('"+inputs[2][0]+MM+"',0)\" /></td>\r\n"
  text += "						</tr>\r\n"
  text += "						</table>\r\n"
  text += "  					</td>\r\n"
  text += "  					<td>\r\n"
  text += "						<table border=0 cellspacing=0 cellpadding=0>\r\n"
  text += "						<tr>\r\n"
  text += "						  <td rowspan=2 height=20 align=center valign=middle class=header>\r\n"
  text += "							  <input tabindex=7 class=cartrow type=text size=4 style=\"width:48px;\" id=\""+inputs[2][0]+"_yy\" name=\""+inputs[2][0]+"_yy\" onBlur=\"checkDate(this,0)\" value="+dtx.substring(dtx.lastIndexOf("-")+1,dtx.length)+">\r\n"
  text += "							</td>\r\n"
  text += "							<td class=header><img src=images/varie/arrow1.jpg border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldUp('"+inputs[2][0]+"_yy',0)\" /></td>\r\n"
  text += "						</tr>\r\n"
  text += "						<tr>\r\n"
  text += "						  <td class=header><img src=images/varie/arrow2.jpg border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldDown('"+inputs[2][0]+"_yy',0)\" /></td>\r\n"
  text += "						</tr>\r\n"
  text += "						</table>\r\n"
  text += "  					</td>\r\n"
  text += "					</tr>\r\n"
  text += "					</table>\r\n"
  text += "				</td>\r\n"
  text += "  </tr>\r\n"
  text += "  </table>\r\n"
	text += "  </td>\r\n"
	text += "  <td colspan=4 height=20>"

  text += "<table border=0 cellpadding=0 cellspacing=0>\r\n"
  text += "<tr>\r\n"
  text += "  <td width=5 align=left valign=middle><img src=images/varie/left.gif width=5 height=19></td>\r\n"
  text += "  <td valign=middle>"
  text += "<input tabindex=8 style=\"border:none; height:19 px; background: url(images/varie/bg.gif); font-weight:bold;\" class=menu2liv_curr "
  text += "name=bid id=bid type=button value=\"inserisci\" onBlur=setFocusToTabindex(3) "
	text += " onclick=\"if ( checkInputs() ) { var rown = ord.addRow(); "
  text += "var fldDate = document.getElementById(inputs[2][0]+'_dd').value+'-'"
	text += "+document.getElementById(inputs[2][0]+'_mm').value+'-'"
	text += "+document.getElementById(inputs[2][0]+'_yy').value; "
	text += " rown.setRequest('','','N',document.getElementById('"+inputs[0][0]+"').value,'',"
	text += "document.getElementById('"+inputs[1][0]+"').value,'PZ',fldDate); ord.writeTable(); setFocusToTabindex(3); }\"/>"
	text += "</td>\r\n"
  text += "  <td width=5 align=right valign=middle><img src=images/varie/right.gif width=5 height=19></td>\r\n"
  text += "</tr>\r\n"													
  text += "</table>\r\n"
	
	text += "</td>\r\n"
	text += "</tr>\r\n"
	}
	
	return text
}

function row(order, rid) {
  this.name = rid
	this.order = order
	this.visible = true
	this.request = null //new schedule(this)
	this.respons = new Array(0)
	//this.request.setField('POSNR',rid); this.request.setField('ETENR',0)
	
	this.setRequest = _rowSetReq
	this.setRespons = _rowSetRes
	this.setRequest2 = _rowSetReq2
	this.setRespons2 = _rowSetRes2
}
function _rowSetReq() {
  // salta il numero di riga (args[0]) - i,j=1 - perchè già settato con la creazione della riga
  var args = _rowSetReq.arguments
	var lastId = 1
	// una row vuota è già stata creata, quindi -2 per saltare all'ultima inserita	
	if ( this.order.rows.length>1 ) lastId = parseInt(this.order.rows[this.order.rows.length-2].request.get('POSNR'),10)+1
	if ( args[0] == '' ) args[0] = "0"+lastId 
	if ( args[1] == '' ) args[1] = '0'
	
	this.request = new schedule(this)
	
	for (var i=0; i<fields.length; i++) 
	  this.request.set(fields[i], '&nbsp;')
	for (var i=0; i<fields.length; i++) {
	  this.request.set(fields[i], args[i])
	}

	if ( this.request.get('TYPE') == 'R' && this.request.get('ERROR') != "" ) 
		  this.request.set( 'DISP', imgRed  )

	this.request.set( 'SELEZ', ' ' )
	//this.order.writeTable()
}
function _rowSetRes() {
	var args = _rowSetRes.arguments
  this.respons[this.respons.length] = new schedule(this)
	var sched = this.respons[this.respons.length-1]
	var j=1
	for ( var i=0; i<args.length; i++ )
	  sched.set( fields[i], args[i]  )
					                
	if ( sched.get('ERROR') == '' ) {
	  sched.set( 'DISP', imgGre  )
		if ( mode != "SHOP" ) sched.set( 'SELEZ', 'X' )
	}
	else { 
	  sched.set( 'DISP', imgYel  )
	}
	if ( sched.get('ERROR').indexOf('A') > 0 ) {
	  if ( mode != "SHOP" ) sched.set( 'SELEZ', ' ' )
	}	
  else { 
    if ( mode != "SHOP" ) sched.set( 'SELEZ', 'X' )
	}
}   
function _rowSetReq2(vars) {
  // salta il numero di riga (args[0]) - i,j=1 - perchè già settato con la creazione della riga
  var args = vars
	var lastId = 1
	// una row vuota è già stata creata, quindi -2 per saltare all'ultima inserita	
	if ( this.order.rows.length>1 ) lastId = parseInt(this.order.rows[this.order.rows.length-2].request.get('POSNR'),10)+1
	if ( args[0] == '' ) args[0] = "0"+lastId 
	if ( args[1] == '' ) args[1] = '0'
	
	this.request = new schedule(this)
	
	for (var i=0; i<fields.length; i++) 
	  this.request.set(fields[i], '&nbsp;')
	for (var i=0; i<fields.length; i++) {
	  this.request.set(fields[i], args[i])
	}

	if ( this.request.get('TYPE') == 'R' && this.request.get('ERROR') != "" ) 
		  this.request.set( 'DISP', imgRed  )

	this.request.set( 'SELEZ', ' ' )
	//this.order.writeTable()
}
function _rowSetRes2(vars) {
	var args = vars
  this.respons[this.respons.length] = new schedule(this)
	var sched = this.respons[this.respons.length-1]
	var j=1
	for ( var i=0; i<args.length; i++ )
	  sched.set( fields[i], args[i]  )
					                
	if ( typeof(sched.data['DISP']) != "undefined" && 
		   typeof(sched.data['SELEZ']) != "undefined" ) {				                
  	if ( sched.get('ERROR') == '' ) {
  	  sched.set( 'DISP', imgGre  )
  		if ( mode != "SHOP" ) sched.set( 'SELEZ', 'X' )
  	}
  	else { 
  	  sched.set( 'DISP', imgYel  )
  	}
  	if ( sched.get('ERROR').indexOf('A') > 0 )
  	  if ( mode != "SHOP" ) sched.set( 'SELEZ', ' ' )
  	else 
  	  if ( mode != "SHOP" ) sched.set( 'SELEZ', 'X' )
	}
}   
			  
function schedule(row) {
  this.row = row
  this.data = new Array(fields.length)
	this.setField = _schSetField
	this.set = _schSetField
	this.get = _schGetField
	this.draw = _schDraw
}
function _schSetField(fldName, val) {
  //if ( fldName == 'POSNR' || fldName == 'ETENR' )
	//  val = parseInt(val,10)
  if ( typeof(val) != "undefined" && fldName.indexOf('DATA') >= 0 ) {
		var datArray = val.split("-")
		if ( datArray[0].length == 4 )
		  val = datArray[2]+"-"+datArray[1]+"-"+datArray[0]
  }
  if ( typeof(val) != "undefined" ) this.data[fldName] = val
	else this.data[fldName] = "&nbsp;"
}

function _schGetField(fldName) {
  if ( fldName != 'ERROR' && fldName != 'SELEZ' && (this.data[fldName] == '' || typeof(this.data[fldName]) == "undefined" ) ) return '0'
  else return this.data[fldName]
}

function _schDraw(row, pos) {
if ( mode == "CART" ) {
	var text = ""  
	var bgcolor = "#ffffff"
  var li = 0
	var trClass = ""

	if ( this.data['TYPE'] == 'R' && this.data['ERROR'] == '' ) return text
	if ( this.data['TYPE'] != 'N' && this.data['ERROR'] != '' ) trClass = "class=buttbase"

  text += "<tr "+trClass+" id='ln_"+li+"'>\r\n"
	if ( this.data['TYPE'] != 'N' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"
	for (var i in this.data) {
	  if ( i == 'POSNR' || i == 'MATNR' || i == 'QTY' || i == 'DATA' || i == 'NETPR' || i == 'DISP' ) {
		  var tstyle = ""; var rowspan = ""; var rowtype = this.data['TYPE'];
		  if ( i == 'POSNR' )
			{
  		  if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {  			  
  			  if ( (this.data['TYPE'] == 'R' ||this.data['TYPE'] == 'M') && this.data['ERROR'] != '' && this.row.respons.length>0 ) { 
					  tstyle = ""; rowspan = "rowspan="+(this.row.respons.length+1); rowtype = 'P';  
				  }
    			text += "<td class=cartrow"+rowtype+" style=\""+tstyle+"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "+rowspan+">"
  				text += "<table cellpacing=0 cellpadding=0 border=0 class=cartrow><tr>\r\n"		     
  			 // text += "  <td><input class=linkboxDel type=button value=\"X\" onClick=\""+this.row.order.name+".delRow("+this.row.name+");\" onMouseOver=\"this.style.cursor='hand'\";/></td>"
          text += "<td><table border=0 cellpadding=0 cellspacing=0>\r\n"
          text += "<tr>\r\n"
					var jscriptTxt = " onClick=\""+this.row.order.name+".delRow("+this.row.name+");\" onMouseOver=\"this.style.cursor='hand'\" "
          text += "  <td width=5 align=left valign=middle><img src=images/varie/left.gif width=5 height=19></td>\r\n"
          text += "  <td valign=middle>"
          text += "<input style=\"border:none; height:19 px; background: url(images/varie/bg.gif); font-weight:bold;\" class=menu2liv_curr "
          text += "name=\"buttonX\" id=\"buttonX\" "
          text += "type=submit value=\"canc\" "+jscriptTxt+" /></td>\r\n"
          text += "  <td width=5 align=right valign=middle><img src=images/varie/right.gif width=5 height=19></td>\r\n"
  				text += "<td>&nbsp;</td>\r\n"
          text += "</tr>\r\n"													
          text += "</table></td>\r\n"
  				text += "  <td class=cartrow align=center>"
					var posx = 0
					var numx = this.data[i].substring(posx,this.data[i].length)
					while ( numx.substring(0,1) == "0" && posx<this.data[i].length-1 ) {
					  numx = this.data[i].substring(++posx,this.data[i].length)
					}
					text += numx
					text += "</td>\r\n"
  				text += "</tr></table>\r\n"     
  				text += "</td>\r\n"
  			}
  		  else if ( this.data['TYPE'] == 'P' ) {
					text += ""
				}
			}
			else if ( i == 'MATNR' ) { 
  			text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
				if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' ) {
					text += "<input class=cartrow id=\"matnr_"+row+"\" name=\"matnr_"+row+"\" "
					text += "type=text size=15 value=\""+this.data[i]+"\" "
					text += "onBlur=\"this.value.checkString(this,18);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'matnr_');\" "
					text += "/></td >\r\n"
				}
				else if (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') {
				  text += "<table border=0 cellspacing=0 cellpadding=0>"
					text += "<tr><td><input class=cartrow id=\"matnr_"+row+"\" name=\"matnr_"+row+"\" "
					text += "type=text size=15 value=\""+this.data[i]+"\" "
					text += "onBlur=\"this.value.checkString(this,18);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'matnr_');\" /></td></tr>"
					text += ( this.data['MAKTX'] != '' )?"<tr><td class=cartrow"+this.data['TYPE']+" style=\"border: none;\">"+this.data['MAKTX']+"</td></tr>":""
					text += "</table>"
					text += "</td >\r\n"
				}
  		  else if ( this.data['TYPE'] == 'P' ) {
					text += this.data[i]+"&nbsp;<br/>"+(( this.data['MAKTX'] != '' )?this.data['MAKTX']:'')+"</td >\r\n"
				}
			}
		  else if ( i == 'QTY' ) {
  			text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
			  if ( (this.data['TYPE'] == 'P' && this.data['ERROR'] != '') || this.data['ERROR'] == '1' ) { 
					text += this.data[i]+" "+this.data['UDM']+"</td >\r\n"
				}             
  		  else if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {
					text += "<input class=cartrow id=\"qty_"+row+"\" name=\"qty_"+row+"\" "
					text += "type=text size=5 value=\""+this.data[i]+"\" "
					text += "onBlur=\"this.value.checkNum(this); "+this.row.order.name+".checkRow("+this.row.name+","+row+",'qty_');\" "
					text += "/>&nbsp;"+this.data['UDM']+"</td >\r\n"
				}
			}             
      else if ( i == 'DATA' ) {
  			text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\"nowrap>"
			  if ( (this.data['TYPE'] == 'P' && this.data['ERROR'] != '') || this.data['ERROR'] == '1' ) {
  				text += this.data[i]
  			}
  		  else if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {
var DD2 = "_dd"; var MM2 = "_mm";
if ( ulang != 'it' ) { DD2 = "_mm"; MM2 = "_dd"; }
text += "				  <table border=0 cellspacing=0 cellpadding=0>\r\n"
text += "					<tr>\r\n"
text += "  					<td>\r\n"
text += "						<table border=0 cellspacing=0 cellpadding=0>\r\n"
text += "						<tr>\r\n"
text += "						  <td rowspan=2>\r\n"
text += "							  <input type=hidden class=cartrow id=\"data_"+row+"\" name=\"data_"+row+"\" value=\""+this.get(i)+"\"/>\r\n"
text += "							  <input type=text size=2 class=cartrow style=\"width:24px;\" id=\"data_"+row+DD2+"\" name=\"data_"+row+DD2+"\" onBlur=\"checkDate(this,1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" value="+getFromDate(this.data[i],DD2.substring(1))+">\r\n"
text += "							</td>\r\n"
text += "							<td><img src=\"images/varie/arrow1.jpg\" border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldUp('data_"+row+DD2+"',1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" /></td>\r\n"
text += "						</tr>\r\n"
text += "						<tr>\r\n"
text += "						  <td><img src=\"images/varie/arrow2.jpg\" border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldDown('data_"+row+DD2+"',1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" /></td>\r\n"
text += "						</tr>\r\n"
text += "						</table>\r\n"
text += "  					</td>\r\n"
text += "  					<td>\r\n"
text += "						<table border=0 cellspacing=0 cellpadding=0>\r\n"
text += "						<tr>\r\n"
text += "						  <td rowspan=2>\r\n"
text += "							  <input type=text size=2 class=cartrow style=\"width:24px;\" id=\"data_"+row+MM2+"\" name=\"data_"+row+MM2+"\" onBlur=\"checkDate(this,1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" value="+getFromDate(this.data[i],MM2.substring(1))+">\r\n"
text += "							</td>\r\n"
text += "							<td><img src=\"images/varie/arrow1.jpg\" border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldUp('data_"+row+MM2+"',1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" /></td>\r\n"
text += "						</tr>\r\n"
text += "						<tr>\r\n"
text += "						  <td><img src=\"images/varie/arrow2.jpg\" border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldDown('data_"+row+MM2+"',1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" /></td>\r\n"
text += "						</tr>\r\n"
text += "						</table>\r\n"
text += "  					</td>\r\n"
text += "  					<td>\r\n"
text += "						<table border=0 cellspacing=0 cellpadding=0>\r\n"
text += "						<tr>\r\n"
text += "						  <td rowspan=2>\r\n"
text += "							  <input type=text size=4 class=cartrow style=\"width:48px;\" id=\"data_"+row+"_yy\" name=\"data_"+row+"_yy\" onBlur=\"checkDate(this,1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" value="+getFromDate(this.data[i],'yy')+">\r\n"
text += "							</td>\r\n"
text += "							<td><img src=\"images/varie/arrow1.jpg\" border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldUp('data_"+row+"_yy',1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" /></td>\r\n"
text += "						</tr>\r\n"
text += "						<tr>\r\n"
text += "						  <td><img src=\"images/varie/arrow2.jpg\" border=0 onMouseOver=\"this.style.cursor='hand'\" onClick=\"fieldDown('data_"+row+"_yy',1);"+this.row.order.name+".checkRow("+this.row.name+","+row+",'data_');\" /></td>\r\n"
text += "						</tr>\r\n"
text += "						</table>\r\n"
text += "  					</td>\r\n"
text += "					</tr>\r\n"
text += "					</table>\r\n"
  			}
				text += "</td>\r\n"
			}    
		  else if ( (i == 'NETWR' || i == 'NETPR') && this.data[i] != '&nbsp;' )
			  text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"+this.data[i]+" "+this.data['WAERS']+"</td>\r\n";
			else
	      text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"+this.data[i]+"</td >\r\n";       
		}          
	}
  for (var i in this.data) {
	  if ( i == 'TYPE' ) {
		  text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
			text += "<input class=cartrow id=\"ck"+this.data['TYPE']+row+"_"+pos+"\" type=checkbox onMouseOver=\"this.style.cursor='hand'\" "
			text += "onClick=\"checkBoxesSelez(this,'"+this.data['TYPE']+"',"+row+","+pos+","+this.row.respons.length+")\" "
      if ( this.data['SELEZ'] == 'X' )
        text += "checked "        
      else {
        if ( this.data[i] == 'N' || this.data['ERROR'].substring(0,1) == '1' || this.data['ERROR'].substring(0,1) == '2' 
				     || (this.get('ERROR').indexOf('A')>0 && this.data[i] == 'P') ) 
          text += "disabled=true ";
    		else if ( this.data[i] == 'P' && this.data['SELEZ'] == 'X' ) {
          text += "checked ";
				}			  
			}
			text += "/></td>\r\n"
		}
    if ( i == 'ERROR' ) {
		  var tstyle = ""; var rowspan = ""; var errMsg = "&nbsp;"
      if ( (this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M') && this.data['ERROR'] != '' ) {
			  if ( this.row.respons.length>0 ) rowspan = "rowspan="+(this.row.respons.length+1)
        tstyle = ""; 
				errMsg = getErrorMsg(this.data[i], this.data['MATNR_NEW'])
        text += "<td class=cartrow"+this.data['TYPE']+" style=\"color:#ff0000; font-weight:bolder; text-align:"+labels[i][2]+"; background:"+bgcolor+";\" "+rowspan+">"+errMsg+"</td>\r\n"
      }
			else if ( (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') || this.data['TYPE'] == 'N' ) { 
        text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" >&nbsp;</td>\r\n"
      }
			else if ( this.data['TYPE'] == 'P' ) { 
        text += ""
      }
  	}
	}
	//text += "<td class=cartrow"+this.data['TYPE']+">&nbsp;</td>"
	text += "</tr>"
	
	return text
}
if ( mode == "LIST" ) {
	var text = ""  
	var bgcolor = "#ffffff"
  var li = 0

	if ( this.data['TYPE'] == 'R' && this.data['ERROR'] == '' ) return text
	if ( this.data['TYPE'] != 'N' && this.data['ERROR'] != '' ) trClass = "class=buttbase"

	if ( this.data['VBTYP_N'] != '' ) return ""
	
  text += "<tr "+trClass+" id='ln_"+li+"'>\r\n"
	if ( this.data['TYPE'] != 'N' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
	var Nric = ""
	var Npos = ""
	var Nete = ""
	for (var i in this.data) {
    if ( i == 'RICHIESTA' )
  	{
		  var bgcolor = "#ffffff"
			var rowsp = 0
			var rowspan = ""
  			  //if ( this.get('STATO_N') == '' ) 
					//  text += ""
					//else {  					
  					/*var j = 0						
  					while ( j<this.row.order.rows.length ) {
		 				  if ( this.row.order.rows[j].request.get('RICHIESTA') == this.get(i) ) {
							  rowsp++
								var objx = this.row.order.rows[j].request
  					    if ( objx.get('ERROR') != '' ) rowsp += this.row.order.rows[j].respons.length
							}
  					  j++
  					}
    			  tstyle = ""   									 
					  rowspan = "rowspan="+rowsp
						
  				  if ( row == 0 || (row>=0 && this.row.order.rows[row-1].request.get('RICHIESTA') != this.row.order.rows[row].request.get('RICHIESTA')) ) {
						*/
        			text += "<td class=cartrowBR style=\""+tstyle+"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "+rowspan+">"
    					var posx = 0
    					var numx = this.data[i].substring(posx,this.data[i].length)
    					while ( numx.substring(0,1) == "0" && posx<this.data[i].length-1 ) {
    					  numx = this.data[i].substring(++posx,this.data[i].length)
    					}
    					text += numx
      				text += "</td>\r\n"
							Nric = numx
						/*
  					}*/
    		  //}					
  	}
	}
	for (var i in this.data) {
	  if ( i == 'POSNR' || i == 'ETENR' || i == 'MATNR' || i == 'QTY' || i == 'DATA' || i == 'NETPR' || i == 'NETWR' || i == 'VBELN' || i == 'DESC_STATO_N' ) {
		  var tstyle = ""; var rowspan = "";
		  if ( i == 'POSNR' || i == 'ETENR' )
			{
			  var bgcolor = "#ffffff"
  		  //if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {  			  
  			  /*if ( (this.data['TYPE'] == 'R' ||this.data['TYPE'] == 'M') && this.data['ERROR'] != '' && this.row.respons.length>0 ) { 
					  tstyle = ""; rowspan = "rowspan="+(this.row.respons.length+1) 
				  }*/
    			text += "<td class=cartrowBR style=\""+tstyle+"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "+rowspan+">"
					var posx = 0
					var numx = this.data[i].substring(posx,this.data[i].length)
					while ( numx.substring(0,1) == "0" && posx<this.data[i].length-1 ) {
					  numx = this.data[i].substring(++posx,this.data[i].length)
					}
					text += numx
  				text += "</td>\r\n"
					if ( i == 'POSNR' ) Npos = numx
					if ( i == 'ETENR' ) Nete = numx
  			//}
  		  //else if ( this.data['TYPE'] == 'P' ) {
				//	text += ""
				//}
			}
			else if ( i == 'MATNR' ) { 
			  var bgcolor = "#ffffff"
  			//if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' )
  			//  text += ""
  			//else {
				  var tstyle = ""; var rowspan = "";
					/*if ( (this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M') && this.data['ERROR'] != '' && this.row.respons.length>0 ) { 
					  tstyle = ""; rowspan = "rowspan="+(this.row.respons.length+1) 
				  }*/
  				text += "<td class=cartrowBR valign=middle style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "
  				//if ( (this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M') && this.data['ERROR'] != '' ) text += rowspan
  				text += ">"+this.data[i]+"<br/>"+this.data['MAKTX']+"</td>\r\n"
  			//}
			}
		  else if ( i == 'QTY' ) {
			  //if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
			  //if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' ) { 
  			  text += "<td class=cartrowBR style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
					text += parseInt(this.data[i], 10)+" "
					text += this.data['UDM']
					text += "</td >\r\n"
				/*}             
  		  else if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {
  			  text += "<td class=cartrowB style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
					text += this.data[i]+" "+this.data['UDM']+"</td >\r\n"
				}*/
			}             
      else if ( i == 'DATA' ) {
			  //if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
  			text += "<td class=cartrowBR style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
			  //if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' ) {
  				text += this.data[i]
  			/*}
  		  else if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {
  				text += "\r\n<table cellpacing=0 cellpadding=0 border=0><tr>\r\n"		     
  			  text += "  <td class=cartrowB"+this.data['TYPE']+" style=\"border:0px; text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
					text += this.data[i]
					text += "</td>\r\n"
  				text += "</table>"
  			}*/
				text += "</td>\r\n"
			}    
		  else if ( (i == 'NETWR' || i == 'NETPR') && this.data[i] != '&nbsp;' ) {
			  //if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
			  text += "<td class=cartrowBR style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"+this.data[i]+" "+this.data['WAERS']+"</td>\r\n";
			}
			else
	      text += "<td class=cartrowBR style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\">"+this.data[i]+"</td >\r\n";       
		}          
	}
  for (var i in this.data) {
	  if ( i == 'DESC_VBTYP_N' ) {
		  cont = this.get('RICHIESTA')+this.get('POSNR')+this.get('ETENR')
		  if ( this.row.respons.length > 0 ) {
			  text += "<td align=center valign=middle onClick=\"showTable('drag"+cont+"');\" onMouseOver=\"this.style.cursor='hand'\" class=cartrow>+"
				text += "</td>\r\n"
				text += "<td onMouseOver=\"this.style.cursor='hand'\">"
				text += "<div id=drag"+cont+" style=\"position:absolute; visibility:hidden; top:0px; left:0px; background-color:#fffecc;\" >"
				text += "<table border=0 cellspacing=0 cellpadding=0 style=\"border:1px solid #000000;\">"
				text += "<tr><td colspan=2>"
				text += "<table boder=0 cellspacing=0 cellpadding=0 width=100%><tr>"
				text += "<td style=\"background-color: #0266fb; border:1px solid #000000; height:10px; font-size:8px; \">&nbsp;</td>"
				text += "<td vlaign=middle align=center width=10px style=\"background-color: #ff0000; border:1px solid #000000; font-size:8px; color:#ffffff; height:10px; font-weight:bold; \" "
				text += "onClick=\"document.getElementById('drag"+cont+"').style.visibility='hidden'\" onMouseOver=\"this.style.cursor='hand';\">X</td>"
				text += "</tr></table>"
				text += "</td></tr>"
				text += "<tr><td class=cartrow colspan=2 nowrap>Ord. "+Nric
				text += " - Pos. "+Npos
				// text += "/"+Nete
				text += "</td></tr>"
				text += "<tr><td class=cartrow colspan=2 nowrap>Doc. Eldor "+this.get('VBELN')+"</td></tr>"
				text += "<tr><td class=cartrow colspan=2 nowrap>&nbsp;</td></tr>"
				for (var z=0; z<this.row.respons.length; z++) {
				  var obj = this.row.respons[z]
  				text += "<tr>"				
  				text += "<td class=cartrow nowrap>"+obj.get('DESC_VBTYP_N')+"&nbsp;</td>"
  				text += "<td class=cartrow nowrap>nr. "+obj.get('VBELN_N')+"</td>"
  				text += "</tr>"
				}
				text += "</table>"
				text += ""
				text += "</div></td>"
				cont++
			}
			else
			  text += "<td class=cartrowBR>&nbsp;</td>"
		}
	}
	text += "</tr>"
	
	return text
}
if ( mode == "SHOP" ) {
	var text = ""  
	var bgcolor = "#ffffff"
  var li = 0

	if ( this.data['TYPE'] == 'R' && this.data['ERROR'] == '' ) return text
	if ( this.data['TYPE'] != 'N' && this.data['ERROR'] != '' ) trClass = "class=buttbase"

  text += "<tr "+trClass+" id='ln_"+li+"'>\r\n"
	if ( this.data['TYPE'] != 'N' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
	for (var i in this.data) {
    if ( i == 'RICHIESTA' )
  	{
		  var bgcolor = "#ffffff"
			var rowsp = 0
			var rowspan = ""
  			  if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' ) 
					  text += ""
					else {  					
  					var j = 0
  					while ( j<this.row.order.rows.length ) {
		 				  if ( this.row.order.rows[j].request.get('RICHIESTA') == this.get(i) ) {
							  rowsp++
								var objx = this.row.order.rows[j].request
  					    if ( objx.get('ERROR') != '' ) rowsp += this.row.order.rows[j].respons.length
							}
  					  j++
  					}
    			  tstyle = ""   									 
					  rowspan = "rowspan="+rowsp
						
  				  if ( row == 0 || (row>=0 && this.row.order.rows[row-1].request.get('RICHIESTA') != this.row.order.rows[row].request.get('RICHIESTA')) ) {
        			text += "<td class=cartrowB"+this.data['TYPE']+" style=\""+tstyle+"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "+rowspan+">"
    					var posx = 0
    					var numx = this.data[i].substring(posx,this.data[i].length)
    					while ( numx.substring(0,1) == "0" && posx<this.data[i].length-1 ) {
    					  numx = this.data[i].substring(++posx,this.data[i].length)
    					}
    					text += numx
      				text += "</td>\r\n"
  					}
    		  }					
  	}
	}
	for (var i in this.data) {
	  if ( i == 'POSNR' || i == 'MATNR' || i == 'QTY' || i == 'DATA' || i == 'NETPR' || i == 'DISP' ) {
		  var tstyle = ""; var rowspan = "";
		  if ( i == 'POSNR' )
			{
			  var bgcolor = "#ffffff"
  		  if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {  			  
  			  if ( (this.data['TYPE'] == 'R' ||this.data['TYPE'] == 'M') && this.data['ERROR'] != '' && this.row.respons.length>0 ) { 
					  tstyle = ""; rowspan = "rowspan="+(this.row.respons.length+1) 
				  }
    			text += "<td class=cartrowB"+this.data['TYPE']+" style=\""+tstyle+"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "+rowspan+">"
					var posx = 0
					var numx = this.data[i].substring(posx,this.data[i].length)
					while ( numx.substring(0,1) == "0" && posx<this.data[i].length-1 ) {
					  numx = this.data[i].substring(++posx,this.data[i].length)
					}
					text += numx
  				text += "</td>\r\n"
  			}
  		  else if ( this.data['TYPE'] == 'P' ) {
					text += ""
				}
			}
			else if ( i == 'MATNR' ) { 
			  var bgcolor = "#ffffff"
  			if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' )
  			  text += ""
  			else {
				  var tstyle = ""; var rowspan = "";
					if ( (this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M') && this.data['ERROR'] != '' && this.row.respons.length>0 ) { 
					  tstyle = ""; rowspan = "rowspan="+(this.row.respons.length+1) 
				  }
  				text += "<td class=cartrowB"+this.data['TYPE']+" valign=middle style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "
  				if ( (this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M') && this.data['ERROR'] != '' ) text += rowspan
  				text += ">"+this.data[i]+"<br/>"+this.data['MAKTX']+"</td>\r\n"
  			}
			}
		  else if ( i == 'QTY' ) {
			  if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
			  if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' ) { 
  			  text += "<td class=cartrowB"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
					text += this.data[i]+" "+this.data['UDM']+"</td >\r\n"
				}             
  		  else if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {
  			  text += "<td class=cartrowB"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
					text += this.data[i]
					text += " "+this.data['UDM']+"</td >\r\n"
				}
			}             
      else if ( i == 'DATA' ) {
			  if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
  			text += "<td class=cartrowB"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
			  if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' ) {
  				text += this.data[i]
  			}
  		  else if ( this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M' || this.data['TYPE'] == 'N' || (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') ) {
  				text += "\r\n<table cellpacing=0 cellpadding=0 border=0><tr>\r\n"		     
  			  text += "  <td class=cartrowB"+this.data['TYPE']+" style=\"border:0px; text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
					text += this.data[i]
					text += "</td>\r\n"
  				text += "</table>"
  			}
				text += "</td>\r\n"
			}    
		  else if ( (i == 'NETWR' || i == 'NETPR') && this.data[i] != '&nbsp;' ) {
			  if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
			  text += "<td class=cartrowB"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"+this.data[i]+" "+this.data['WAERS']+"</td>\r\n";
			}
			else
	      text += "<td class=cartrowB"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"+this.data[i]+"</td >\r\n";       
		}          
	}
  for (var i in this.data) {
	  if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
	  if ( i == 'TYPE' && this.data['TYPE'] != 'R' ) {
		  var brdclr = '#eaeaea'
		  text += "<td class=cartrowB"+this.data['TYPE']+" style=\"padding:0px; text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>"
			text += "<table border=0 cellspacing=0 cellpadding=0 width=100% class=cartTable><tr>"
			text += "<td width=33% class=radio style=\"border-top:0px;\">"
			text += "<input value=\"X\" id=\"ck"+this.data['TYPE']+"_X_"+row+"_"+pos+"\" type=radio onMouseOver=\"this.style.cursor='hand';\" "
			text += "onClick=\"setRadio(this,"+this.row.order.name+","+row+","+pos+");\" "
			text += "name=\"ck"+this.data['TYPE']+"_X_"+row+"_"+pos+"\" "
      if ( this.data['DISP'] == imgGre ) text += "checked "        
      /*else {
        if ( this.data[i] == 'N' ) 
          text += "disabled=true ";
    		else if ( this.data[i] == 'P' )
          text += "checked ";			  
			}*/
			text += "></input>"
			text += "</td><td width=33% class=radio style=\"border-top:0px;\">"
			text += "<input value=\"D\" id=\"ck"+this.data['TYPE']+"_D_"+row+"_"+pos+"\" type=radio onMouseOver=\"this.style.cursor='hand';\" "
			text += "onClick=\"setRadio(this,"+this.row.order.name+","+row+","+pos+");\" "
			text += "name=\"ck"+this.data['TYPE']+"_D_"+row+"_"+pos+"\" "
			text += "></input>"
			text += "</td><td width=34% class=radio style=\"border-top:0px; border-right:0px;\">"
			text += "<input value=\" \" id=\"ck"+this.data['TYPE']+"_W_"+row+"_"+pos+"\" type=radio onMouseOver=\"this.style.cursor='hand';\" "
			text += "onClick=\"setRadio(this,"+this.row.order.name+","+row+","+pos+");\" "
			text += "name=\"ck"+this.data['TYPE']+"_W_"+row+"_"+pos+"\" "
			text += ((this.data['DISP'] == imgGre)?"":"checked")+"></input>"
			text += "</tr>\r\n"
			text += "<tr>\r\n"
			text += "<td class=radio>"+radioLabel[0]+"</td>\r\n"
			text += "<td class=radio>"+radioLabel[1]+"</td>\r\n"
			text += "<td class=radio style=\"border-right:0px;\">"+radioLabel[2]+"</td>\r\n"
			text += "</tr>\r\n"
			text += "</table>\r\n"
			text += "</td>\r\n"
		}
	  if ( i == 'TYPE' && this.data['TYPE'] == 'R' ) {
		  text += "<td class=cartrowB"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap>&nbsp;</td>"
    }
	  /*if ( i == 'ERROR' ) {
		  var tstyle = ""; var rowspan = ""; var errMsg = "&nbsp;"
      if ( (this.data['TYPE'] == 'R' || this.data['TYPE'] == 'M') && this.data['ERROR'] != '' && this.row.respons.length>0 ) {
        tstyle = ""; rowspan = "rowspan="+(this.row.respons.length+1) 
				errMsg = getErrorMsg(this.data[i])
        text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap "+rowspan+">"+errMsg+"</td>\r\n"
      }
			else if ( (this.data['TYPE'] == 'P' && this.data['ERROR'] == '') || this.data['TYPE'] == 'N' ) { 
        text += "<td class=cartrow"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\" nowrap >&nbsp;</td>\r\n"
      }
			else if ( this.data['TYPE'] == 'P' ) { 
        text += ""
      }
  	}*/
		if ( i == 'DATA_CONF_AUTO' ) {
			  if ( this.data['TYPE'] != 'N' && this.data['TYPE'] != 'R' && this.data['ERROR'] != '' ) bgcolor = "#ffdc97"; else bgcolor = "#ffffff"
  			text += "<td class=cartrowB"+this.data['TYPE']+" style=\"text-align:"+labels[i][2]+"; background:"+bgcolor+";\"nowrap>"
			  if ( this.data['TYPE'] == 'P' && this.data['ERROR'] != '' ) {
  				text += this.data[i]
  			}
				else
				  text += "&nbsp;"
				text += "</td>\r\n"
    }
	}
//	text += "<td style=\"border-left:1px solid #000000;\">&nbsp;</td>"
	text += "</tr>"
	
	return text
}
}


function getErrorMsg(code,matnrNew) {
  var text = "&nbsp;"
	if ( code == null || code == '' || code == '0' ) return "&nbsp;"
	if ( code == '1' ) text = "Codice errato"
	if ( code == '2' ) text = "Codice obsoleto, sostituire con "+matnrNew
	if ( code == '3' ) text = "Quantit&agrave; non disponibile"
	if ( code == '4' ) text = "Data non disponibile"
	if ( code == '5' ) text = "Data e Quantit&agrave; non disponibile"
	if ( code.indexOf('A') >=0 ) text = "Prezzo attualmente non disponibile, inviare la richiesta."
	if ( code.indexOf('B') >=0 ) text = "Prezzo attualmente non disponibile, inviare la richiesta."
	
	return text 
}

function checkBoxesSelez(me, rtype, row, req, size) {
  if ( rtype == 'O' ) return
	
	var elem = ord.rows[row]
	var num = row
  if ( rtype == 'R' ) {
	  if ( me.checked == true ) {
	    elem.request.set( 'SELEZ', 'X' )
  	  for (var i=0; i<elem.respons.length; i++) {
  		  var obj = document.getElementById("ckP"+num+"_"+i)
  			if ( obj != null ) obj.checked = false
  			elem.respons[i].set( 'SELEZ', ' ' )
  		}
		}
		else
	    elem.request.set( 'SELEZ', ' ' )
	}
  if ( rtype == 'P' && elem.respons[req].get('DISP') == imgYel ) {
	    // deseleziona la richiesta
		  var obj = document.getElementById("ckR"+num+"_0")
			obj.checked = false
			elem.request.set( 'SELEZ', ' ' )
			// seleziona la risposta
			if ( me.checked == true )
			  elem.respons[req].set( 'SELEZ', 'X' )
			else
			  elem.respons[req].set( 'SELEZ', ' ' )
	}
  if ( rtype == 'P' && elem.respons[req].get('DISP') == imgGre ) {
		  var obj = document.getElementById("ckP"+num+"_0")
			elem.request.set( 'SELEZ', ' ' )
			if ( obj.checked ) 
			  elem.respons[req].set( 'SELEZ', 'X' )
			else
			  elem.respons[req].set( 'SELEZ', ' ' )
	}
  if ( rtype == 'N' )
	  for (var i=0; i<size; i++) {
		  var obj = document.getElementById("ckP"+num+"_"+i)
			obj.disabled = true
		}
}

function verifica() {
  var mats = ""
  var qtys = ""
  var dats = ""
	var typs = ""
  for(var i=0; i<ord.rows.length; i++) {
	  if ( ord.rows[i].visible && ord.rows[i].request.data['QTY'] > 0 ) {
  	  mats += ord.rows[i].request.data['MATNR'] +"_"
  	  qtys += ord.rows[i].request.data['QTY'] +"_"
			typs += ord.rows[i].request.data['TYPE'] +"_"
  		var datArray = ord.rows[i].request.data['DATA'].split("-")
  		var newDate = datArray[2]+"-"+datArray[1]+"-"+datArray[0]
  	  dats += newDate +"_"			
		}
	}
	
	mats = mats.substring(0,mats.length-1)
	qtys = qtys.substring(0,qtys.length-1)
	dats = dats.substring(0,dats.length-1)
	typs = typs.substring(0,typs.length-1)
	
	for (var i=0; i<txtsHidden.length; i++) {
	 document.getElementById(txtsHidden[i][0]).value = " "
	}

	document.getElementById(txtsHidden[3][0]).value = mats
	document.getElementById(txtsHidden[5][0]).value = qtys
	document.getElementById(txtsHidden[7][0]).value = dats
	document.getElementById(txtsHidden[2][0]).value = typs
	return true
}

orderDone = false
function ordina() {
  var msg = ""
	for (var j=0; j<ord.rows.length; j++) {
	  if ( ord.rows[j].request.get('TYPE') == 'N' || ord.rows[j].request.get('TYPE') == 'M' ) {
		  alert(msgs["msgs.ordine.modificato"])
			return false
		}
	}
	var cont = 0
  for (var i=0; i<txtsHidden.length; i++) {
	  var tmp = ""
		var name = txtsHidden[i][1].substring(txtsHidden[i][1].indexOf("-")+1, txtsHidden[i][1].length)
    for (var j=0; j<ord.rows.length; j++) {
		  if ( ord.rows[j].visible && ord.rows[j].request.get('QTY') > 0 && 
			     ord.rows[j].request.get('ERROR').substring(0,1) != '1' && 
					 ord.rows[j].request.get('ERROR').substring(0,1) != '2' ) {
				cont++
			  if ( name == 'DATA' ) {
					  var datArray = ord.rows[j].request.get(name).split("-")
						tmp += datArray[2]+"-"+datArray[1]+"-"+datArray[0] +"_"
					}
				else
  		    tmp += ord.rows[j].request.get(name) +"_"
  			for (var k=0; k<ord.rows[j].respons.length; k++)
				  if ( name == 'DATA' ) {
					  var datArray = ord.rows[j].respons[k].get(name).split("-")
						tmp += datArray[2]+"-"+datArray[1]+"-"+datArray[0] +"_"
					}
					else
  			    tmp += ord.rows[j].respons[k].get(name) +"_"
  		}
		}
	  if ( cont == 0 ) {
		  alert(msgs["msgs.no.zero.rows"])
			return false
		}
    tmp = tmp.substring(0,tmp.length-1)  		
    document.getElementById(txtsHidden[i][0]).value = tmp
		msg += tmp+"\r\n"
	}
	if (debug) alert(msg)
	orderDone = true
	return true
}

var hiddenFlds
function add2Cart(fields) {
  var args = add2Cart.arguments
	if ( args.length == 0 ) fields = hiddenFlds
  if ( hiddenFlds == null ) return 
  var matnr = ""
	var qty = ""
	var data = ""
    //var d0 = new Date((new Date()).getTime()+7*24*60*60*1000)
    //var dataDef = d0.getFullYear()+"-"+(d0.getMonth()+1)+"-"+d0.getDate()
	var qtyDef = 1
	for (var i=0; i<selboxes.length; i++) {
	  matnr += selboxes[i][1] + "_"
		qty += qtyDef + "_"
		data += lastDateIns + "_"
	}
	
	if ( selboxes.lnegth <= 0 ) return false;
	matnr = matnr.substring(0,matnr.length-1)
	qty = qty.substring(0,qty.length-1)
	data = data.substring(0,data.length-1)
	document.getElementById(fields[0][0]).value = matnr
	document.getElementById(fields[1][0]).value = qty
	document.getElementById(fields[2][0]).value = data
	//alert(matnr+"\r\n"+qty+"\r\n"+data); return false;
}

function checkInputs() {
  var i = 0
	var ok = true
	
	while ( i < inputs.length-1 && ok ) {
	  var x = document.getElementById(inputs[i][0]).value
		var y = inputs[i][1].substring(0,inputs[i][1].indexOf("&"))
		if ( y == '' ) y = inputs[i][1]
    if ( x == '' || x.indexOf(y) >= 0 ) {
  	  alert(inputs[i][2])
  		ok = false
  	}
	  i++
	}
	return ok
}
 		function getFromDate(val,valType) {
		  if ( valType == 'dd' ) return val.substring(0,val.indexOf("-"))
		  if ( valType == 'mm' ) return val.substring(val.indexOf("-")+1, val.lastIndexOf("-"))
		  if ( valType == 'yy' ) return val.substring(val.lastIndexOf("-")+1, val.length)
		}
		function fieldUp(fldName, mode) {
		  var fldtype = fldName.substring(fldName.lastIndexOf("_")+1,fldName.length)
			var obj = document.getElementById(fldName)
			var subFldName = fldName.substring(0,fldName.lastIndexOf("_"))
		  var val = parseInt(obj.value,10)
			if ( fldtype == 'dd' && val < 31 ) val++
			if ( fldtype == 'mm' && val < 12 ) val++
			if ( fldtype == 'yy' && val < 2010 ) val++
			obj.value = val
			if ( document.getElementById(subFldName) != null )
			  setDateField(subFldName)
			checkDateRanges(fldName.substring(0,fldName.lastIndexOf("_")), mode)
		}
		
		function fieldDown(fldName, mode) {
		  var fldtype = fldName.substring(fldName.lastIndexOf("_")+1,fldName.length) 
		  var obj = document.getElementById(fldName)
			var subFldName = fldName.substring(0,fldName.lastIndexOf("_"))
		  var val = parseInt(obj.value,10)
			if ( fldtype == 'dd' && val > 1 ) val--
			if ( fldtype == 'mm' && val > 1 ) val--
			if ( fldtype == 'yy' && val > 2004 ) val--
			obj.value = val
			if ( document.getElementById(subFldName) != null )
			  setDateField(subFldName)
			checkDateRanges(fldName.substring(0,fldName.lastIndexOf("_")), mode)
		}
		function checkDate(obj,mode) {
		  var fldName = obj.id.substring(0,obj.id.lastIndexOf("_"))
		  var fldType = obj.id.substring(obj.id.lastIndexOf("_")+1,obj.id.length)
		  var val = parseInt(obj.value,10)
			if ( fldType == 'dd' ) {
			  if ( val < 0 ) obj.value = 1
				if ( val > 31 ) obj.value = 31
			}
			if ( fldType == 'mm' ) {
			  if ( val < 0 ) obj.value = 1
				if ( val > 12 ) obj.value = 12 
			}
			if ( fldType == 'yy' ) {
			  if ( val < 2005 ) obj.value = 2005
				if ( val > 2010 ) obj.value = 2010 
			}
			if ( mode == 1 ) {
			  setDateField(fldName)
			}
			checkDateRanges(fldName, mode)
		}

    function checkDateRanges(fldName, mode) {
			var dd = parseInt(document.getElementById(fldName+"_dd").value,10)
			var mm = parseInt(document.getElementById(fldName+"_mm").value,10)
			var yy = parseInt(document.getElementById(fldName+"_yy").value,10)
			var dty = new Date()
			dty.setFullYear( ((yy)+"") )
			dty.setMonth( ((mm-1)+"") )
			dty.setDate( (dd+"") )
			if ( dty.getTime() < minDate.getTime() ) {
			  document.getElementById(fldName+"_dd").value = minDate.getDate()
			  document.getElementById(fldName+"_mm").value = minDate.getMonth()+1
			  document.getElementById(fldName+"_yy").value = minDate.getFullYear()
				var dtz = ""
				if ( ulang == "it" ) {
				  dtz = minDate.getDate() +"-"+ (minDate.getMonth()+1) +"-"+ minDate.getFullYear()
				}
				else {
				  dtz = (minDate.getMonth()+1) +"-"+ minDate.getDate() +"-"+ minDate.getFullYear()
				}
			  alert(msgs["msgs.data.non.minore.di"]+dtz)
			}
      if ( mode == 0 )
        if ( ulang == "it" ) {
          lastDateIns = dd +"-"+ mm +"-"+ yy
        }
        else {
          lastDateIns = mm +"-"+ dd +"-"+ yy
      }				  
		}
		
		function setDateField(fldName) {
			var fld = document.getElementById(fldName)
			var day = parseInt(document.getElementById(fldName+"_dd").value,10)
			var mon = parseInt(document.getElementById(fldName+"_mm").value,10)
			var yea = parseInt(document.getElementById(fldName+"_yy").value,10)
			fld.value = day+"-"+((mon<10)?"0":"")+mon+"-"+yea
		}

function setRadio(me,order,row,pos) {
	order.rows[row].respons[pos].set('SELEZ',me.value)
  if ( me.value == ' ' ) {
    for (var i=0; i<ord.rows[row].respons.length; i++) {
      var pre = me.id.substring(0,me.id.indexOf("_"))
      var obj1 = document.getElementById(pre+"_W_"+row+"_"+i)
      var obj2 = document.getElementById(pre+"_X_"+row+"_"+i)
			var obj3 = document.getElementById(pre+"_D_"+row+"_"+i)
      obj1.checked = true
			obj2.checked = false
			obj3.checked = false
			order.rows[row].respons[i].set('SELEZ',me.value)
    }
	}
	else {
    for (var i=0; i<ord.rows[row].respons.length; i++) {
      var pre = me.id.substring(0,me.id.indexOf("_"))
      var obj1 = document.getElementById(pre+"_W_"+row+"_"+i)
      var obj2 = document.getElementById(pre+"_X_"+row+"_"+i)
			var obj3 = document.getElementById(pre+"_D_"+row+"_"+i)
			if ( obj1.checked ) { 
			  obj1.checked = false
				if ( me.value == 'D' && i == pos ) { 
				  obj2.checked = false
					obj3.checked = true
					order.rows[row].respons[i].set('SELEZ',me.value)
				}
				else { 
				  obj2.checked = true
					obj3.checked = false
					order.rows[row].respons[i].set('SELEZ','X')
			  }
			}
    }		
	}
  var obj2 = document.getElementById(pre+"_X_"+row+"_"+pos)
  var obj3 = document.getElementById(pre+"_D_"+row+"_"+pos)
	if ( obj2.checked && me.value == 'D' ) { obj2.checked = false; obj3.checked = true; }
	if ( obj2.checked && me.value == 'X' ) { obj2.checked = true; obj3.checked = false; }
	if ( obj3.checked && me.value == 'D' ) { obj2.checked = false; obj3.checked = true; }
	if ( obj3.checked && me.value == 'X' ) { obj2.checked = true; obj3.checked = false; }
}

var btnSelez = null
var contClick = 0
var doCheckBoxes = false
function setForm(formName) {
  var frm = document.getElementById(formName)
	frm.onsubmit = disableButtons
	//frm.onload = setFocusToTabindex(3)
}
function disableButtons(e) {	
	register(e)

	// controlla che sia inserita almeno una riga VISIBILE
	if ( typeof(ord.rows) == "undefined" || ord.rows.length == 0 ) {
    alert(msgs["msgs.no.zero.rows"])
		contClick = 0
    return false
	}
	var found = false
	var i = 0
	var j = 0
	while ( !found && i<ord.rows.length ) {
	  if ( ord.rows[i].visible == true && parseInt(ord.rows[i++].request.get("QTY"),10) != 0 ) found = true
	}
	if ( !found ) {
    alert(msgs["msgs.no.zero.rows"])
		contClick = 0
    return false
	}

	// un pulsante può essere cliccato una sola volta
	if ( contClick > 0 ) return false
	contClick++
	
	// elenca i bottoni per i quali non serve controllo 
  if ( btnSelez.id == "button#ln3080" ) return true
	if ( btnSelez.id == "button#ln2911" ) return true

	// controlla cha almeno richiesta o proposte siano selezionate
	if ( doCheckBoxes ) {
  	var i = 0
  	var found = false
  	var riga = ""
  	while ( i < ord.rows.length && !false ) {
  	  var obj = ord.rows[i++]
  		var selez = false
  		if ( obj.visible && obj.request.get('TYPE') != 'N' ) {
    		for (var j=0; j<obj.respons.length; j++) {
    		  if ( obj.respons[j].get('SELEZ') == 'X' ) { selez = true; break; }
    		}
    	  if ( !selez && obj.request.get('SELEZ') == ' ' ) {
    		  found = true
    			riga = obj.request.get('POSNR')
    		}
  		}
  	}
  	if ( found ) {
      alert(msgs["msgs.ordine.selezioni.errate"]+riga)
			contClick = 0
      return false
  	}
	}
	// controlla l'indirizzo mail
	var objs = document.getElementsByTagName('input')
	for (var i=0; i<objs.length; i++) {
	  var elm = objs[i]
		if ( elm.name == 'fld678' && elm.value.replace(/^\s*|\s*$/g,'') == '' ) {
		  alert(msgs["msgs.inserire.mail"])
			elm.focus()
			contClick = 0
			return false
		}
		/*if ( elm.name == 'fld678' ) {
		  var str = elm.value.replace(/^\s*|\s*$/g,'')
			if ( str.lastIndexOf(".") > 2 && str.indexOf("@") > 0 &&
			     str.lastIndexOf(".") > str.indexOf("@")+1 ) {
  		  alert("inserire un indirizzo mail valido")
  			elm.focus()
				contClick = 0
  			return false
			} 
		}*/
		// controlla l'oda
		if ( elm.name == 'fld679' && elm.value.replace(/^\s*|\s*$/g,'') == '' ) {
		  alert(msgs["msgs.inserire.oda"])
			elm.focus()
			contClick = 0
			return false
		}
	}
	
	return true
}
function register(e)
{
	if (!e)
	{
		e = window.event;
		var targ = e.srcElement;
	}
	else
		var targ = e.target;
	return true;
}

function setFocusToTabindex(n) {
  obj = document.getElementsByTagName('input')
  for (var i=0; i<obj.length; i++) {
    if ( obj[i].tabIndex == n ) {
		 obj[i].focus()
		}
  }
}


/*Credit JavaScript Kit www.javascriptkit.com*/
var dragapproved=false
var z,x,y
function move(){
if (event.button==1&&dragapproved){
z.style.pixelLeft=temp1+event.clientX-x
z.style.pixelTop=temp2+event.clientY-y
return false
}
}
function drags() {
  if (!document.all) return
	// elenca le pagine sulle quali usare il trascinamento
	var url = document.location.href
	if ( url.indexOf("page") < 0 ) return;
	var pag = url.substring( url.indexOf("/page")+1, url.indexOf(".do",url.indexOf("/page")) )
	if ( pag != "page179" ) return

  var objx = event.srcElement
	if ( event.srcElement.tagName != "TD" && event.srcElement.tagName != "DIV" ) return
  var i = 0
  while ( i<8 && objx.id.indexOf("drag") != 0 ) {
	  i++
		objx = objx.parentNode		
  }
  if ( objx.id.indexOf("drag") == 0 ) {
    dragapproved=true
    z=objx
    temp1=z.style.pixelLeft
    temp2=z.style.pixelTop
    x=event.clientX
    y=event.clientY
    document.onmousemove=move
  }
}
document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")
/* end credits */
function showTable(lyname) {
  var obj = document.getElementById(lyname)
  x=event.clientX
  y=event.clientY
	obj.style.top = y-70
	obj.style.left= x-110
	obj.style.visibility='visible'
}

function changeDateOf(fld) {
  var dataDA = document.getElementById(inputs['_beg'][0]).value
  var dataAL = document.getElementById(inputs['_end'][0]).value
	var name1 = ""
	var name2 = ""
  if ( this.name == 'data_ins' ) {
	  name1 = 'data_ins'
		name2 = 'data_ric'
	}
  if ( this.name == 'data_ric' ) {
		name1 = 'data_ric'
	  name2 = 'data_ins'
	}
	document.getElementById(hiddens[name1+"_beg"][0]).value = dataDA
	document.getElementById(hiddens[name1+"_end"][0]).value = dataAL
	document.getElementById(hiddens[name2+"_beg"][0]).value = ''
	document.getElementById(hiddens[name2+"_end"][0]).value = ''
}
String.prototype.trim=function() {
     var
         s='',
         //r=/^\s+|\s+$/,
				 r=/^\s*|\s*$/g,
         a=this.split(/\n/g),
         i=a.length
     while(i-->0) {
         s+=a[i].replace(r,'')
				 if ( i > 0 ) s+='\n'
		}
     return s
}
String.prototype.checkString=function(obj, maxlength) {
  var args = String.prototype.checkString.arguments
	var end
  if ( args.length < 2 || typeof(maxlength) == "undefined" ) end = this.length
	else end = maxlength
	if ( this.trim().length > end ) {
	  alert(msgs["msgs.max.length.chars"]+end)
    obj.value = this.trim().toUpperCase().substring(0,end)
		obj.focus()
		return false
	}
  obj.value = this.trim().toUpperCase()	
  return true
}
String.prototype.checkNum=function(obj) {
	if (isNaN(this.trim()) || this.trim()=='') {
	  alert(msgs["inserire.numero"])
		obj.focus()
	  return false
	}
  if ( parseInt(this.trim(),10) <=0 ) {
	  obj.value = 1
	}
	return true 
}
