
// -----------------------------------------

var startCode;
var codeLengths = Array(7,9,10,11);
var vatCodeLengths = Array(9,12);
var errMessages = Array();

window.onload = StartVatForm;
function StartVatForm(form){
	if(!form){
		form = document.forms["PVMPayerFilter"];
	}
	startCode = sType;
	if(!startCode) startCode = 'Code';
	errMessages[1] = form.Error1.value;
	errMessages[2] = form.Erorr2.value;
	errMessages[3] = form.Error3.value;
	errMessages[4] = form.Error4.value;
	errMessages[5] = form.Error5.value;
	errMessages[6] = form.Error6.value;
	errMessages[7] = form.Error7.value;

	ShowHideBlock(startCode);
	document.getElementById("inp" + startCode).checked = true;
}

function ShowHideBlock(codeName){
	var form = document.forms["PVMPayerFilter"];
	if(form.SearchType[0].style.visibility == "hidden"){
		return;		// no action for alternative (HTML2) website
	}

	document.getElementById("NoteByCodePlace").style.display	= (codeName == "Code" ? "block" : "none");
	document.getElementById("NoteByPVMCodePlace").style.display = (codeName == "PVMCode" ? "block" : "none");
	document.getElementById("NoteByNamePlace").style.display	= (codeName == "Name" ? "block" : "none");
	document.getElementById("InputByCodePlace").style.display	= (codeName == "Code" ? "block" : "none");
	document.getElementById("InputByPVMCodePlace").style.display= (codeName == "PVMCode" ? "block" : "none");
	document.getElementById("InputByNamePlace").style.display	= (codeName == "Name" ? "block" : "none");
}

function CheckCodes(code, lengths){
	var codeLength = code.length;
	if(codeLength < 1){
		return 1;
	}
	// check number
	for(var i = 0; i < codeLength; i++){
		var symbolCode = code.charCodeAt(i);
		if(symbolCode < 48 || symbolCode > 57){
			return 2;
		}
	}

	// check number length
	for(var i = 0; i < lengths.length; i++){
		if(lengths[i] == codeLength){
			return 0;	// validated
		}
	}

	return 3;	// not allowed length
}

function CheckUserInput(form){
	var err = 0;

	if(form.SearchType && form.SearchType[0]){
		// main website
		if(form.SearchType[0].checked){
			err = CheckCodes(form.InputByCode.value, codeLengths);
		} else if(form.SearchType[1].checked) {
			err = CheckCodes(form.InputByPVMCode.value, vatCodeLengths);
			if(err > 0){
				err += 3;
			}
		} else if(form.SearchType[2].checked){
			if(form.InputByName.value.length <= 3)
				err = 7;
		}
	} else {
		// alternative website
		if(form.InputByCode.value){
			err = CheckCodes(form.InputByCode.value, codeLengths);
		} else if(form.InputByPVMCode.value) {
			err = CheckCodes(form.InputByPVMCode.value, vatCodeLengths);
			if(err > 0){
				err += 3;
			}
		} else {
			if(form.InputByName.value.length <= 3)
				err = 7;
		}
	}

	if(err > 0){
		alert(errMessages[err]);
		event.returnValue = false;
	}
}
