// validation
	function validate_order_form()
	{	
	    var order_form = document.getElementById("order_form");		
		var useAltWmVallets = order_form.altWmVallet.value;
		order_form.altWmVallet.value = 0;
	    if(order_form.operationType.value =='Buy'){
	        var reg = new RegExp('^[ZUREBYG]{1}\\d{12}$','i');
	        var _validate = reg.test(order_form.clientWmVallet.value);
	        if(!_validate) {
	            alert("Ошибка в указании номера кошелька! Первая буква кошелька должна быть Z, U, R, E, B, Y либо G. При этом после буквы должно быть указано 12 цифр."); 
	            return false;
	        }
	    }

	    var val1 = new Number(order_form.wmCurrencyAmount.value); // wm Amount
	    var val2 = new Number(order_form.wmUahAmount.value); // uah Amount
	    if (val1 <= 0) {
	    	 alert("Введите сумму!"); 
	         return false;
	    } 
		if (val2 <= 0) {
	    	 alert("Операция невозможна!"); 
	         return false;		
		}
	    
	    if(order_form.clientPhoneNumber.value == '') {
	        alert("Введите, пожалуйста, Телефон");
	        return false;
	    }
	    else
	    {
	        var regTel = new RegExp('\\+38\\d{10}','i');
	        var _validate = regTel.test(order_form.clientPhoneNumber.value);
	        if (!_validate) {
	            alert ('Номер телефона указан неверно. Телефон должен быть в международном формате: (+38ZZZХХХХХХХ)');
	            return false;
	        }
	    }
	    
	    if(order_form.clientEmail.value != '') {	    	
	    	var regEmail = new RegExp(/^([a-zA-Z0-9\.]{1,})(((\.|\-|\_)[a-zA-Z0-9]{1,})+)?@([a-z0-9]{2,})(\-[a-z0-9]{2,})?(\.[a-z0-9]{2,})?(\.[a-z]{2,})+$/);
	    	var _validate = regEmail.test(order_form.clientEmail.value);
	    	if (!_validate){	    		
	    		alert('E-mail указан неверно');
	    		return false;
	    	}
	    }
	    
        if(parseInt(order_form.clientWmId.value)!=order_form.clientWmId.value || order_form.clientWmId.value.length != 12){ 
            alert("WMID должен быть 12-значным числом!"); 
            return false; 
        }
	    
        if(order_form.clientName.value == '')
        {
        	alert("Введите, пожалуйста, ФИО.");
        	return false;
        }

        if(order_form.clientPasportNumber.value == '')
        {
        	alert("Введите, пожалуйста, Серию и № паспорта.");
        	return false;
        }
		
        if(order_form.clientPasportIssuedBy.value == '')
        {
        	alert("Введите, пожалуйста, кем выдан паспорт.");
        	return false;
        }		
        
	    if(order_form.operationType.value =='Sell' && order_form.paymentType[1].checked){
	        
	        if(order_form.clientName.value == '') {
	            alert("Введите, пожалуйста, ФИО.");
	            return false;    
	        }
	        if(order_form.clientBankMfoCode.value == '') {
	            alert("Укажите МФО банка.");
	            return false;    
	        }
	        if(order_form.clientEgrpouCode.value == '') {
	            alert("Укажите ЕГРПОУ.");
	            return false;    
	        }
	        if(order_form.clientTransitAccountNumber.value == '') {
	            alert("Укажите номер банковского счета.");
	            return false;
	        }
	    }
		order_form.altWmVallet.value = useAltWmVallets;
	    return true;
	}
	
	// 
	function prep_alt_post(){
		var altFlagField = document.getElementById("altWmVallet");
		altFlagField.value = 1;
	}

// 	ajax form update functions
	var ajaxPath = '/main/wp-content/custom-php/';
	var updated_data = new Object();
	updated_data.wait_for_all = false;
	var xmlhttp;
	function update_form() {
		xmlhttp = new XMLHttpRequest();
		
		var order_form = document.getElementById("order_form");
		
		var url = ajaxPath+"ajax.order_form_update.php";
		var params = "clientWmVallet=" + order_form.clientWmVallet.value;
			params = params + "&clientWmId=" + order_form.clientWmId.value;
			params = params + "&clientName=" + order_form.clientName.value;
			params = params + "&clientEmail=" + order_form.clientEmail.value; 
			params = params + "&clientPhoneNumber=" + order_form.clientPhoneNumber.value;
			params = params + "&operationType=" + order_form.operationType.value;
			params = params + "&clientBankMfoCode=" + order_form.clientBankMfoCode.value ;
			params = params + "&clientEgrpouCode=" + order_form.clientEgrpouCode.value ;
			params = params + "&clientTransitAccountNumber=" + order_form.clientTransitAccountNumber.value ;
			params = params + "&clientPasportNumber=" + order_form.clientPasportNumber.value ;
			params = params + "&clientPasportIssuedBy=" + order_form.clientPasportIssuedBy.value ;
			
		if(order_form.paymentType[0].checked) {
			params = params + "&paymentType=PaymentInOurOffice";   
		} else {
			params = params + "&paymentType=Cashless";       
		}

		xmlhttp.open('POST', url, true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", params.length);
		xmlhttp.setRequestHeader("Connection", "close");

		xmlhttp.onreadystatechange = update_form_finish;

		xmlhttp.send(params);
		
		updated_data.wait_for_all = true;
		update_amount();
	}

	function update_form_finish() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			//document.getElementById("order_credentials").innerHTML = xmlhttp.responseText;
			updated_data.update_credentials_form_response = xmlhttp.responseText;
			updated_data.update_credentials_form_done = true;
			if (updated_data.wait_for_all) {
				if (updated_data.update_amounts_done) {
					updatePage();
				}			
			} else {
				updatePage();
			}
		}
	}
//------------------------------------
	var xmlttp2;
	function update_amount(direction) {		
		xmlhttp2 = new XMLHttpRequest();
		
		var order_form = document.getElementById("order_form");
		
		var url = ajaxPath+'ajax.order_amount_update.php';
		var params = 'operationType=' + order_form.operationType.value +
					 '&wmCurrencyType=' + order_form.wmCurrencyType.value + 
					 '&wmCurrencyAmount=' + order_form.wmCurrencyAmount.value + 
					 '&wmUahAmount=' + order_form.wmUahAmount.value + 
					 '&direction=' + direction;

		xmlhttp2.open('POST', url, true);
		xmlhttp2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp2.setRequestHeader("Content-length", params.length);
		xmlhttp2.setRequestHeader("Connection", "close");

		xmlhttp2.onreadystatechange = update_amount_finish;

		xmlhttp2.send(params);		
	}

	function update_amount_finish() {
		if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {
			updated_data.update_amounts_response = xmlhttp2.responseText;
			updated_data.update_amounts_done = true;
			if (updated_data.wait_for_all) { 
				if (updated_data.update_credentials_form_done) {
					updatePage();
				}			
			} else {
				updatePage();
			}
		}		
	}
	
	function updatePage() {
		if (updated_data.update_credentials_form_done) {
			document.getElementById("order_credentials").innerHTML = updated_data.update_credentials_form_response;
		}
		if (updated_data.update_amounts_done) {
			var values = eval ("(" + updated_data.update_amounts_response + ")");
			document.getElementById("payoutMessage").innerHTML = values.message;
			document.getElementById("wmUahAmount").value = values.payout;
			document.getElementById("wmCurrencyAmount").value = values.wmAmount;			
			var order_form = document.getElementById("order_form");
			var newWmVallet = order_form.wmCurrencyType.value.substr(2,1);
			if (order_form.clientWmVallet.value.substr(0,1) != newWmVallet) {
				order_form.clientWmVallet.value = newWmVallet;
			}
			document.getElementById("wmCurrencyLabel").innerHTML = order_form.wmCurrencyType.value;
			document.getElementById("wmCurrencyAmountLabel").innerHTML = values.wmCurrencyAmountLabel;
			document.getElementById("wmUahAmountLabel").innerHTML = values.wmUahAmountLabel;
			
		}
		updated_data = new Object();
		updated_data.wait_for_all = false;
	}
