///////////////////////////////////////////////////
// Controllo presenza di stato.
//////////////////////////////////////////////////

function CheckStatus(objStatus)
{
	// ritorna false se non ci sono informazioni di stato, true nel caso ci siano
	// in quest' ultimo caso, riempe anche un' oggetto di stato.
	
	var xmldata = GetHiddenData();
	
	if (xmldata.length==0)
		return false;

	CXmlDeserializer.DeserializeFromXml(objStatus, xmldata);
	
	return true;
	
}


////////////////////////////
//////////////////////////// 
//IMPAGINAZIONE DI RISULTATI
////////////////////////////
////////////////////////////

var objResponse = new Object();
var QueryOrders = new Object();
QueryOrders.dateFrom = null; // new Date("1/1/1900");
QueryOrders.dateTo = null; // new Date("1/1/2008");
QueryOrders.pageNumber = 1;
QueryOrders.pageSize = 10;

var PagerOrders = new CPager("PagerOrders", 10); 

function init()
{


	//Inizializzazione pager prodotti
	PagerOrders.OnGotoPage = function (sender,page) {
		QueryOrders.pageNumber = page; 
		ExtractOrders();
		ImpaginateOrders()
		return true;
	} 	

	// Costruzione tabella principale ordini
	repeaterOrders = new CRepeater("orders",1,10);
	repeaterOrders.Table.className = "table-Orders";
	repeaterOrders.Table.cellPadding = 0;
	repeaterOrders.Table.cellSpacing = 0;
	repeaterOrders.Table.border = 0;	
	repeaterOrders.OnDefineLayOut = DefineLayOutOrders;
	repeaterOrders.OnFillCell = fillCellOrders;
	repeaterOrders.OnSetLayOut = SetLayOutOrders;
	
	
	ImpaginateSearchOrders();

	var objStatus = new Object();
	if ( CheckStatus(objStatus) )
	{
		document.getElementById('inputDateFrom').value = objStatus.fromDate;
		document.getElementById('inputDateTo').value = objStatus.toDate;
		DoSearchOrder();
	}

	ExtractOrders();
	ImpaginateOrders();
	
	document.getElementById("div-btn-login").innerHTML= GetBtnLogin();

}

//////////////////////
// Estrae gli ordini
/////////////////////
function ExtractOrders(){

	var SoR = new CSoapRequest(WebServiceUrlPath+'ws/std/WsGetOrdersStatus.asmx', 'GetOrdersStatus', 'requestMsg');
	if ( SoR.sendRequestObject(QueryOrders) )
	{
		objResponse = CXmlDeserializer.Deserialize(null, SoR.responseNode.node());
		//alert(SoR.responseNode.xml());
		var len = objResponse.table.rows.length;
		//alert(objResponse.table.rows.length);
	}
	
}

////////////////////////
// Set layout categorie
///////////////////////
function SetLayOutOrders(sender, row, col, obj)
{
	// definisce il layout dell' oggetto. (TABLE/TR/TD)
	// viene chiamata ad ogni rendering dell' oggetto
	//
	return true;
}

///////////////////////////////
// Definizione layout categorie
///////////////////////////////
function DefineLayOutOrders(row, col)
{
	// determina quali td e tr creare nella tabella che rappresenta il repeater
	return true;
}

//////////////////////////
// Riempe layout ordini
//////////////////////////
function fillCellOrders(cell,col,row){

	// riempe la cella opportuna con il contenuto
	// viene chiamata ad ogni rendering dell' oggetto
	
	var i = row+col;

	if (i<objResponse.table.rows.length)
	{
		var orderid=objResponse.table.rows[i]["ORDERID"];
		var createdate=objResponse.table.rows[i]["CREATEDATE"];
		var orderstatusdescription=objResponse.table.rows[i]["ORDERSTATUSDESCRIPTION"];		
		
		var HTML = "";
			HTML+=		'<table width=650 cellpadding="0" cellspacing="0" border=0>';
			if(row==0){
			HTML+=		'<tr class="tr-txtcart">';
			HTML+=			'<td align=center width=160 class="td-OrderStatusOrange"><div class="statusorder-OrderId">&nbsp;</div></td>';
			HTML+=			'<td align=center width=160 class="td-OrderStatusOrange"><div class="statusorder-OrderDate">&nbsp;</div></td>';
			HTML+=			'<td align=center width=160 class="td-OrderStatusOrange"><div class="statusorder-OrderStatus">&nbsp;</div></td>';
			HTML+=			'<td align=center class="td-OrderStatusOrange"><div class="statusorder-OrderView">&nbsp;</div></td>';
			HTML+=		'</tr>';
			}
			HTML+=		'<tr>';
			HTML+= 			'<td align=center class="label-Bold td-OrderStatus1" width=160>';			
			HTML+=			orderid;
			HTML+=			'</td>';
			HTML+= 			'<td align=center class="label-Bold td-OrderStatus1" width=160>';			
			HTML+=			FormatDateTime(createdate);
			HTML+=			'</td>';
			HTML+= 			'<td align=center class="label-Bold td-OrderStatus1" width=160>';			
			HTML+=			orderstatusdescription;
			HTML+=			'</td>';
			HTML+= 			'<td align=center class="label-Bold td-OrderStatus2"><input type="button" class="btn-OrderView" name="btn-OrderView" onclick="JavaScript:DoViewOrder(' + orderid + ')">';			
			HTML+=			'</td>';
			HTML+=		'</tr>';
			HTML+=		'</table>';						
	}
	else
	{
		HTML="&nbsp;"
	}
	


	return HTML;
}

function ImpaginateOrders(){

	PagerOrders.SetTotalPageCount (objResponse.table.TotalPageCount);
	repeaterOrders.RenderLayout(document.getElementById("div-orders"));
	PagerOrders.Render(document.getElementById('div-pager-orders'));

}

function ImpaginateSearchOrders(){

		var HTML="";	
			HTML+=		'<table width=650 cellpadding="0" cellspacing="0" border=0>';
			HTML+=		'<tr class="tr-txtcart">';
			HTML+=			'<td align=left style="padding-left:50;"><div class="statusorder-ImgDate">&nbsp;</div></td>';
			HTML+=			'<td>&nbsp;</td>';
			HTML+=		'</tr>';
			HTML+=		'<tr>';
			HTML+= 			'<td align=center colspan=2>';			
			HTML+=			'<table class="table-CartItem" style="padding-bottom:5; padding-top:5;" width=100% cellpadding="0" cellspacing="0" border=0>';
			HTML+=			'<tr>';
			HTML+=				'<td valign=top align=center>';
			HTML+=					'<table width=87% cellpadding="0" cellspacing="0" border=0>';
			HTML+=					'<tr>';
			HTML+=						'<td valign=top align=center class="label-Bold">';
			HTML+=							arg[13];
			HTML+=						'</td>';
			HTML+=						'<td valign=top>';
			HTML+=							'<input class="cart-EditEditable" size="15" name="inputDateFrom" id="inputDateFrom" tabindex="1" value="">';
			HTML+=						'</td>';
			HTML+=						'<td valign=top align=center class="label-Bold">';
			HTML+=							arg[14];
			HTML+=						'</td>';
			HTML+=						'<td valign=top>';
			HTML+=							'<input class="cart-EditEditable" size="15" name="inputDateTo" id="inputDateTo" tabindex="1" value="">';
			HTML+=						'</td>';
			HTML+=						'<td valign=top>';
			HTML+=							'<input type="button" class="submit-Login" name="submit-SearchOrder" onclick="javascript:DoSearchOrder()" tabindex="3">';
			HTML+=						'</td>';
			HTML+=					'</tr>';
			HTML+=					'</table>';
			HTML+=				'</td>';
			HTML+=			'</tr>';
			HTML+=			'</table>';			
			HTML+=			'</td>';
			HTML+=		'</tr>';
			HTML+=		'</table>';						

	document.getElementById('div-search-orders').innerHTML=HTML;

}

function DoSearchOrder() {

	QueryOrders.dateTo = QueryOrders.dateFrom = null;
	
	var datefrom=document.getElementById('inputDateFrom').value;
	var dateto=document.getElementById('inputDateTo').value;
	if (datefrom>"")
	{
		datefrom = GetDateValue(datefrom, null);
		if(datefrom==null){
			alert("Data sbagliata");
			document.getElementById('inputDateFrom').focus();	
			return;
		}
		datefrom.setHours(0);
		datefrom.setMinutes(0);
		datefrom.setSeconds(0);
		QueryOrders.dateFrom = datefrom;

	}

	if (dateto>"")
	{
		dateto = GetDateValue(dateto, null);
		if(dateto==null){
			alert("Data sbagliata");
			document.getElementById('inputDateTo').focus();	
			return;
		}
		dateto.setHours(23);
		dateto.setMinutes(59);
		dateto.setSeconds(59);
		QueryOrders.dateTo = dateto;


	}




	ExtractOrders();
	ImpaginateOrders();

}

function DoViewOrder(orderId){
	
	var obj = new Object();
	obj.fromDate = document.getElementById('inputDateFrom').value;
	obj.toDate = document.getElementById('inputDateTo').value;
	obj.orderId = orderId;

	PutHiddenData("<root>" +  CXmlSerializer.Serialize(obj) + "</root>");
	document._formhidden.submit();
	return;
}