RequestModule = {
	
	
	userCreate : function(onResponse){
		Request.sendRequest({type:'USER_DETAL_CREATE',onDone:'Response.userCreate',onError:'Response.userCreateFailure'});
	},
	
	userEdit : function(){
		Request.sendRequest({type:'USER_DETAL'});
		Request.sendRequest({type:'USER_DETAL',onDone:'Response.userDetal',onError:'Response.userDetalFailure'});
	},
	
	userGetData : function(){
		Request.sendRequest({type:'USER_GET_DATA'});
	},
	
	orderCreate : function(){
		try{
			$('orderDialog').update('&nbsp;');
		}catch(ex){console.debug(ex)};
		Request.sendRequest({type:'ORDER'},{openWindowTitle:'',dataFormId:'koszykForm'});
	},
	/*
	orderEdit : function(nagId){
		console.debug('correct Order Edit');
		Request.sendRequest({type:'ORDER_EDIT',EDIT:nagId},{openWindowTitle:'Edycja test',dataFormId:'editOrder'});
	},
	
	orderNew : function(){
		Request.sendRequest({type:'ORDER_NEW'},{openWindowTitle:'Realizacja zamówienia'});
	},
	*/
	orderStatus : function(nagId){
		Request.sendRequest({type:'ORDER_STATUS',NAG:nagId,onDone:'Response.orderStatus',onFailure:'Response.orderStatus'});
	},
	
	orderClose : function(nagId){
		Request.sendRequest({type:'ORDER_CLOSE',CLOSE:nagId,onDone:'Response.orderDone'});
	},
	
	orderDelete : function(ordId){
		Request.sendRequest({type:'ORDER_DELETE',DELETE:ordId});
	},
	
	orderConfirmation : function(nagId){
		Request.sendRequest({type:'ORDER_CONFIRMATION',CONFIRM:nagId});
	},
	
	sendRequest : function(requestData,parameters) {
		
		try {
			
			if ( (typeof(parameters)!='undefined') && (typeof(parameters['dataFormId'])!='undefined') && ($(parameters['dataFormId'])!=null) ){
				console.debug($(parameters['dataFormId']).serialize(true));
				var requestToSend = $(parameters['dataFormId']).serialize(true);
				requestToSend = Object.extend(requestToSend,requestData);
			}else if($('requestForm')!=null){
				var requestToSend = $('requestForm').serialize(true);
				requestToSend = Object.extend(requestToSend,requestData);
			}else{
				var requestToSend = requestData;
			};
			
			if( typeof(parameters)!='undefined' ){
				if(typeof(parameters['openWindowTitle'])!='undefined'){
					pWindow.openWindow('responseWindow',{
						className:	'znak',
						ajaxUrl:	null,
						ajaxPost: 	'',
						width:		745,
						height:		550,
						title:  	parameters['openWindowTitle'],
						zIndex:		30
						}
					);
					pWindow.windows['responseWindow'].setHTMLContent('<div id="requestResponse"></div>')
				};//if(openOrderWindow){
			};
			
			
			console.debug('requestToSend : '+requestToSend);
			var toRequest = '';
			
			//Add new reqyest type actions
			if(requestData['type']=='ORDER')toRequest='Order';
			
			softAjax.getView('requestConnection', '/request'+toRequest, {
				div: 'requestResponse', 
				lock: true,  
				dontUnlock: true,
				query: requestToSend,
				onSuccess: function (json, transport, request) { 
					console.debug('Ajax success');
					console.debug('Response : '+json['response']);
					if( $('deliveryCountry') && ($('deliveryCountry').wasDisable) ){
						$('deliveryCountry').disabled=true;
					};
					if(json['response']=='DONE'){
						if(json['RESULT']=='done'){
							Response.orderDone(json, transport, request);
						}else{
							softPageControll.unlock();
						}
						//console.debug('Some code todo2 : '+requestData['type']);
						console.debug(requestData['onDone']+'(json, transport, request);');
						if(requestData['onDone']){
							softPageControll.unlock();
							eval(requestData['onDone']+'(json, transport, request);');
						}else{
							softPageControll.unlock();
							if(json['ResponseTime']){
								console.debug("ResponseTime : "+json['ResponseTime']);
							}else{
								console.debug('NoResponseTime');
							}
							//Request.alert('Akcja zakończona poprawnie.');
						}
					}else if(json['response']=='ERROR'){
						softPageControll.unlock();
						if(requestData['onFailure']){
							eval(requestData['onFailure']+'(json, transport, request)');
						}else{
							console.debug('Serwer error number: '+json['errorNumber']);
							console.debug('Message from Serwer : '+json['errorMessage']);
							$('requestResponse').update('<div class="serverErrorResponse">'+json['errorMessageDescription']+'</div>');
						}
					}
					
				},
				onFailure: function (json, transport, request) { 
					//console.debug('Ajax Failure '); 
				}
			});
		} catch (e) {
			console.debug('Exception : '+e );
		}
		return true;
	}
}


var RequestSrv = RequestModule;



ResponseModule = {
	
	userCreate : function(json, transport, request){
		console.debug('RESPONS method userCreated ');
		console.debug(json+' : '+transport+' : '+request);
	},
	
	userCreateFailure : function(json, transport, request){
		console.debug('RESPONS method userCreationFailure ');
		console.debug(json+' : '+transport+' : '+request);
	},
	
	orderStatus : function(json, transport, request){
		console.debug('RESPONS method userCreationFailure ');
		console.debug(json+' : '+transport+' : '+request);
		//Request.showMessage(json['showStatusToClient']);
		console.debug('REQUEST');
		console.debug(request);
		if(typeof(json['showStatusToClient'])!='undefined'){
			$('message'+request['parameters']['NAG']).update(json['showStatusToClient']);
		}else{
			$('message'+request['parameters']['NAG']).update('<i>Brak informacji</i>');
		}
	},
	
	orderDone : function(json, transport, request){
		pWindow.windows['responseWindow'].close();
		showLoadingDiv();
		console.debug('RESPONS method orderDone ');
		console.debug(json+' : '+transport+' : '+request);
		if(json['RESULT']=='DONE'){
			showLoadingDiv();	
			//alert('orderDone TODO (platność online,  rachunek, informacje)')
			document.location = '/orderDone';
			showLoadingDiv();	
		}
	},
	
	lastFunctionNoComa : function(){
		
	}

}

var Response = ResponseModule;


OrdersModule = {
	//Orders.getOrderData('order38Data',862709,'order38Row');" onmouseover="if(this.className=='ordersTr')
	openOrderInWindow : function(orderId,orderTitle){
					pWindow.openWindow('orderWindow',{
						className:	'znak',
						ajaxUrl:	'/orderWindow',
						ajaxPost: 	{orderId:orderId},
						width:		670,
						height:		400,
						title:  	(typeof(orderTitle)=='undefined')?'Zamówienie':orderTitle,
						zIndex:		30
						}
					);
	},
	getOrderData : function(orderDiv,orderId,orderDivExpand,orderType){
		if( typeof(orderType)=='undefined' ){
			var orderDataUrl = '/orderData';
		}else{
			orderDataUrl = '/orderFirmaData'
		}
		if($(orderDivExpand).style.display=='none'){
			softAjax.getView('orderConnection', orderDataUrl, {
				div: orderDiv, 
				lock: true,  
				dontUnlock: false,
				query: {orderId:orderId},
				onSuccess: function (json, transport, request) { 
					Effect.toggle(orderDivExpand,'blind', {duration: 0.3});
					console.debug('Ajax success');
					console.debug('JSON : '+json);
				},
				onFailure: function (json, transport, request) {
					console.debug('Ajax Failure '); 
				}
			});
		}else{
			Effect.toggle(orderDivExpand,'blind', {duration: 0.3});
		};
	},
	
	
	
	getPaymentData: function(orderDiv,orderId,orderDivExpand){
		if($(orderDivExpand).style.display=='none'){
			softAjax.getView('paymentConnection', '/paymentData', {
				div: orderDiv, 
				lock: true,  
				dontUnlock: false,
				query: {rozId:orderId},
				onSuccess: function (json, transport, request) { 
					Effect.toggle(orderDivExpand,'blind', {duration: 0.3});
					console.debug('Ajax success');
					console.debug('JSON : '+json);
				},
				onFailure: function (json, transport, request) {
					console.debug('Ajax Failure '); 
				}
			});
		}else{
			Effect.toggle(orderDivExpand,'blind', {duration: 0.3});
		};
	},
	
	lastFunctionNoComa : function(){
		
	}
}

var Orders = OrdersModule;
