//
function loadScript(href){
	if(document.all){
		var scriptObj = document.getElementById("Ajax")
		scriptObj.src = href
	}else{
		var span = window.document.createElement('SPAN');
		span.style.display = 'none';
		document.body.insertBefore(span, document.body.lastChild);
		span.innerHTML = '<s'+'cript id=\"ss\"></' + 'script>';
		var s = span.getElementsByTagName('script')[0];
		s.language = 'JavaScript';	
	     if (s.setAttribute) s.setAttribute('src', href); else s.src = href              
      }
}
//
var VisaCodeCur;
function wrVsLine(op, newGroup) {
	var vDisc = "";
	var vDiscPre = "";
	vDisc = ((VisaCode[op][9] == "")? VisaCode[op][10] : VisaCode[op][9]);
	if(op>0){
		vDiscPre = ((VisaCode[op-1][9] == "")? VisaCode[op-1][10] : VisaCode[op-1][9]);	
	}
	var vCode = VisaCode[op][10];
	var vPPer = parseInt(VisaCode[op][6]);
	if (vPPer == 0) {vPPer = wrVsPPWD0Desc};
	if (vPPer == 1) {vPPer = wrVsPPWD1Desc};
	if (VisaCode[op][6] == '08') {vPPer = '8' + ' ' + wrVsPPWDDesc}
	if (vPPer > 1) {vPPer = vPPer + ' ' + wrVsPPWDDesc};
	var vTelex = "";
	if (VisaCode[op][7] == 'T') {vTelex = ' TELEX'};
	var vVAO = vCode.substring(13, 22);
	var vPrice = VisaCode[op][8];
	
	var equalCount = 0;
	document.writeln('<tr  class="price_table_row">');
	if(newGroup == true || vDisc != vDiscPre){		
		equalCount = getEqualCount(op)	
	
		if(equalCount >0){
			document.writeln('<td class="price_table_col1" rowspan="'+(equalCount+1)+'">' + vDisc + '</td>');
		}else{
			document.writeln('<td class="price_table_col1">' + vDisc + '</td>');
		}
	}	
		
	document.writeln('<td class="price_table_col2">' + vPPer + ' ' + vVAO + ' ' + vTelex + '</td><td class="price_table_col3">' + '<input type="radio" name="ServiceCode" onclick="onclickServiceCode(this.value, this.form)" value="' + vCode + '">'  + vPrice + '</td></tr>');
}
function getEqualCount(op){
	var result = 0;
	var vDisc = "";
	var vDiscNext = "";
	
	for(var opM = op; opM < VisaCode.length-1; opM++) {
		if (VisaCodeCur != VisaCode[opM+1][1]) {
			break
		}else{
			vDisc = ((VisaCode[opM][9] == "")? VisaCode[opM][10] : VisaCode[opM][9])
			vDiscNext = ((VisaCode[opM+1][9] == "")? VisaCode[opM+1][10] : VisaCode[opM+1][9])
			if(vDisc != vDiscNext){
				break
			}else{
				result ++
			}
		}
	}
	return result
}
// 
function wrVsTable() {
	VisaCode.sort();
	VisaCodeCur = "";
	document.writeln('<table width="100%">');
	for (var opM = 0; opM < (VisaCode.length); opM++) {
		if (VisaCodeCur != VisaCode[opM][1]) {
			var vType = "";
			if (VisaCode[opM][1] == "B") (vType = wrVsTypeBDesc);
			if (VisaCode[opM][1] == "T") (vType = wrVsTypeTDesc);
			if (VisaCode[opM][1] == "G") (vType = wrVsTypeGDesc);
			document.writeln('<tr class="price_table_header"><td colspan="3" class="price_table_header">' + vType + '</tr>');
			document.writeln('<tr  class="price_table_header"><td class="price_table_header">' + wrVsTypeDesc + '</td><td class="price_table_header">' + wrVsPPDesc + '</td><td class="price_table_header">' + wrPriceDesc + '</td></tr>');
			
			VisaCodeCur = VisaCode[opM][1];
			wrVsLine(opM, true);
		}
		else {
			wrVsLine(opM, false);
		}
	}
	document.writeln('</table>');
}
// ---------------------------
function setFormValue(frm, fieldName, newValue){
	var field = frm.elements[fieldName];
	if (field == null) { return };
	var fieldType= field.type;
	if (fieldType == "text" || fieldType == "textarea" || fieldType == "hidden"){ 
		field.value = newValue;
		return;
	}
	
	if (fieldType == "select-one") {
		for (var i =0; i< field.options.length; i++) {
			if (field.options[i].value == newValue) {
				field.options.selectedIndex=i;
				return;
			}
		}
		return;
	}
	
	if (fieldType == "radio" || fieldType == "checkbox") {
		if (field.value == newValue ) {
			field.checked = true;
		} else {
			field.checked = false;			
		}
		return ;
	}
	
	if (String(fieldType) == "undefined") { //multiple radio or checkbox (i hope :)
		for( var i=0; i< field.length; i++) {
			if (field[i].value == newValue ) {
				field[i].checked = true;
			} else {
				field[i].checked = false;
			}
		}
		return;
	}
	
	return;
}
//---------------------------
//Check Hidden-Visible VisitDateFrom2
function onclickServiceCode(SCode, frm) {
	var VisaEntries = SCode.substring(5, 6);
	var VisaType = SCode.substring(4, 5);
	if (VisaEntries == "D" & VisaType != "B") {
		VisibleVisitDateFrom2(frm, true);
	} else {
		VisibleVisitDateFrom2(frm, false);
	}
	setAgreeMick(frm);
	checkAgreeDoneBefore(frm)
}
//VisibleVisitDateFrom2
function VisibleVisitDateFrom2(frm, visibleFlag) {
	if (visibleFlag == true) {
		document.getElementById("trVisitDateFrom2").style.visibility = 'visible';
		document.getElementById("trVisitDateTo2").style.visibility = 'visible';
		document.getElementById("trVisitDateFrom2").style.display= '';
		document.getElementById("trVisitDateTo2").style.display= '';
	} else {
		document.getElementById("trVisitDateFrom2").style.visibility = 'hidden';
		document.getElementById("trVisitDateTo2").style.visibility = 'hidden';
		document.getElementById("trVisitDateFrom2").style.display= 'none';
		document.getElementById("trVisitDateTo2").style.display= 'none';
	}
}
function checkAgreeDoneBefore(frm) {
	var SCode = getFieldValue(frm, "ServiceCode");
	var rand_no = Math.random();
	var VisitDateFromDD = getFieldValue(frm, "VisitDateFromDD");
	var VisitDateFromMM = getFieldValue(frm, "VisitDateFromMM");
	var VisitDateFromYYYY = getFieldValue(frm, "VisitDateFromYYYY");
	if (VisitDateFromDD != '-' && VisitDateFromMM != '-' && VisitDateFromYYYY != '-') {
		var path = '/globalbases/webportal.nsf/GetVSDoneBefore?OpenAgent&ServiceCode=' + SCode + '&VisitDateFromDD=' + VisitDateFromDD+ '&VisitDateFromMM=' + VisitDateFromMM + '&VisitDateFromYYYY=' + VisitDateFromYYYY + '&' + rand_no;
		if (frm.SubmitVisaOrder) {frm.SubmitVisaOrder.disabled = true};
		loadScript(path);
	}
}
// updateAgreeDoneBefore
function updateAgreeDoneBefore() {
	var frm = document.VisaOrder;
	var s = '';
	var html = '';
	var htmlSh = '';
	var SCode = getFieldValue(frm, "ServiceCode");
	var VisaCountry = SCode.substring(2, 4);
	var VisaType = SCode.substring(4, 5);
	var VisitDateFromDD = getFieldValue(frm, "VisitDateFromDD");
	var VisitDateFromMM = getFieldValue(frm, "VisitDateFromMM");
	var VisitDateFromYYYY = getFieldValue(frm, "VisitDateFromYYYY");
	if (VisitDateFromDD != '-' && VisitDateFromMM != '-' && VisitDateFromYYYY != '-' && !(VisaCountry  == 'RU' && (VisaType == 'T' || VisaType == 'G'))) {
		document.getElementById("AgreeDoneBefore").value= html;
		setFormValue(frm, "AgreeDoneBefore", html)
		document.getElementById("AgreeDoneBeforeTXT").innerHTML = htmlSh;
		if (Msg == '') {
			if (Waiting != '') {
				s = 'Please note that  we can submit paperwork to the authorities ONLY on ' + WaitingDate + ', because of the applications for this invitation type can be submited no earlier than ' + Waiting + ' days prior to the indicated entry date. ';
				html = html  + 'Waiting Date: ' + WaitingDate + '. ';
				htmlSh = htmlSh + s + '<br>';
			}
			s = 'If the application form is completed correctly and necessary documents are attached, the invitation you are requesting will be ready on ' + DoneBefore + '. ';
			html = html + s;
			htmlSh = htmlSh + s + '<br>';
			s = 'I accept this ready date.';
			html = html + s;
			htmlSh = htmlSh + s;
			document.getElementById("AgreeDoneBefore").style.visibility = 'visible';
			document.getElementById("AgreeDoneBefore").checked = false;
		} else {
			html=Msg;
			htmlSh=Msg;
			document.getElementById("AgreeDoneBefore").checked = false;
			document.getElementById("AgreeDoneBefore").style.visibility = 'hidden';
		}
		if (html != '') {
			document.getElementById("AgreeDoneBefore").value= html;
			setFormValue(frm, "AgreeDoneBefore", html)
			document.getElementById("AgreeDoneBeforeTXT").innerHTML = htmlSh;
		}
		document.getElementById("AgreeDoneBeforeTR").style.visibility = 'visible';
	} else {
		if (document.getElementById("AgreeDoneBefore") != null ) {
			document.getElementById("AgreeDoneBefore").checked = false;
			document.getElementById("AgreeDoneBefore").value= html;
			setFormValue(frm, "AgreeDoneBefore", html)
			document.getElementById("AgreeDoneBeforeTXT").innerHTML = htmlSh;
			document.getElementById("AgreeDoneBefore").style.visibility = 'hidden';
			document.getElementById("AgreeDoneBeforeTR").style.visibility = 'hidden';
		}
	}
	if ( frm.AgreeDoneBefore ) {
		document.getElementById("AgreeDoneBefore").checked = false;
	}
	if (frm.SubmitVisaOrder) {frm.SubmitVisaOrder.disabled = false};
}
//CheckValidDate
function CheckValidDate(frm, fieldYYYY, fieldMM, fieldDD) {
	var mydate = new Date();
	var YYYY = frm.elements[fieldYYYY];
	i_year = YYYY.options[YYYY.selectedIndex].value;
	var MM = frm.elements[fieldMM];
	i_month = MM.options[MM.selectedIndex].value - 1;
	var DD = frm.elements[fieldDD];
	i_day = DD.options[DD.selectedIndex].value;
	mydate = new Date(i_year, i_month, i_day);
               if ((i_day == mydate.getDate()) && (i_month == mydate.getMonth()) && (i_year == mydate.getFullYear()) && (i_year>1753)) {
		return mydate;
	} else {
		frm.elements[fieldDD].focus();
		return false;
	}
}
//CheckDates
function CheckDates(frm) {
	var BirthDate;
	BirthDate = CheckValidDate(frm, "BirthDateYYYY" , "BirthDateMM", "BirthDateDD");
	if ( BirthDate == false) {
		alert('Check Birtday');
		return false;
	}
	var PassportDate;
	PassportDate = CheckValidDate(frm, "PassportDateYYYY" , "PassportDateMM", "PassportDateDD");
	if ( PassportDate == false) {
		alert('Check Passport Date');
		return false;
	}
	var PassportValidityDate;
	PassportValidityDate = CheckValidDate(frm, "PassportValidityDateYYYY" , "PassportValidityDateMM", "PassportValidityDateDD");
	if (PassportValidityDate== false) {
		alert('Check Passport Validity Date')
		return false;
	}
	var PassportValidityDateMin = PassportValidityDate;
	var VisitDateFrom;
	VisitDateFrom = CheckValidDate(frm, "VisitDateFromYYYY" , "VisitDateFromMM", "VisitDateFromDD");
	if (VisitDateFrom== false) {
		alert('Check Visit Date From')
		return false;
	}
	var VisitDateTo;
	VisitDateTo = CheckValidDate(frm, "VisitDateToYYYY" , "VisitDateToMM", "VisitDateToDD");
	if (VisitDateTo== false) {
		alert('Check Visit Date To')
		return false;
	}
	var SCode = getFieldValue(frm, "ServiceCode");
	var VisaEntries = SCode.substring(5, 6);
	var VisaType = SCode.substring(4, 5);
	var PassportValidityMonthMin;
	PassportValidityMonthMin = 3;
	if (VisaType == "B") {
		PassportValidityMonthMin = 6;
	}
	PassportValidityDateMin.setHours(PassportValidityDate.getHours()-(PassportValidityMonthMin*30*24));
	if (VisaType != "B") {
		if (VisaEntries == "D") {
			var VisitDateFrom2;
			VisitDateFrom2 = CheckValidDate(frm, "VisitDateFrom2YYYY" , "VisitDateFrom2MM", "VisitDateFrom2DD");
			if (VisitDateFrom2 == false) {
				alert('Check Visit Date From 2')
				return false;
			}
			var VisitDateTo2;
			VisitDateTo2 = CheckValidDate(frm, "VisitDateTo2YYYY" , "VisitDateTo2MM", "VisitDateTo2DD");
			if (VisitDateTo2 == false) {
				alert('Check Visit Date To 2')
				return false;
			}
			if (VisitDateTo > VisitDateTo2) {
				alert('Visit Date To > Visit Date To 2');
				return false;
			}
			if (VisitDateTo2 > PassportValidityDateMin) {
				alert('VisitDateTo2 > PassportValidityDate - ' + PassportValidityMonthMin + ' month(s)');
				return false;
			}
		}
	}
	if (BirthDate > PassportDate) {
		alert('BirthDate > PassportDate');
		return false;
	}
	if (PassportDate > PassportValidityDate) {
		alert('PassportDate > PassportValidityDate');
		return false;
	}
	if (VisitDateFrom > VisitDateTo) {
		alert('VisitDateFrom > VisitDateTo');
		return false;
	}
	if (VisitDateTo > PassportValidityDateMin) {
		alert('VisitDateTo > PassportValidityDate - ' + PassportValidityMonthMin + ' month(s)');
		return false;
	}
	if (PassportDate > VisitDateFrom) {
		alert('PassportDate > VisitDateFrom');
		return false;
	}
	return true;
}
//Проверка длительности визы
function CheckVisaDuration(frm, SCode) {
	var mydate = new Date();
	var VisitD;
	var VisaDuration;
	var VisaDurationMeasure;
	var VisaProcessingPeriod;
	var dateProcessingPeriod = new Date();
	mydate.setHours(0);
	mydate.setMinutes(0);
	mydate.setSeconds(0,0);
	dateProcessingPeriod.setHours(0);
	dateProcessingPeriod.setMinutes(0);
	dateProcessingPeriod.setSeconds(0,0);
	VisaDuration = SCode.substring(6, 8);
	VisaDurationMeasure = SCode.substring(8, 9);
	VisaProcessingPeriod = parseInt(SCode.substring(9, 11));
	dateProcessingPeriod.setHours(mydate.getHours()+(24*VisaProcessingPeriod));
	var VisitDateFrom;
	VisitDateFrom = CheckValidDate(frm, "VisitDateFromYYYY" , "VisitDateFromMM", "VisitDateFromDD");
	if (VisitDateFrom== false) {
		alert('Check Visit Date From');
		return false;
	}
	var VisitDateTo;
	VisitDateTo = CheckValidDate(frm, "VisitDateToYYYY" , "VisitDateToMM", "VisitDateToDD");
	if (VisitDateTo== false) {
		alert('Check Visit Date To');
		return false;
	}
	if (VisitDateFrom < dateProcessingPeriod)  {
		alert('VisitDateFrom < Date end Processing Period');
		frm.elements['VisitDateFromDD'].focus();
		return false;
	}
	if (VisitDateFrom < mydate)  {
		alert('Visa in past?');
		frm.elements['VisitDateFromDD'].focus();
		return false;
	}
	if (VisaDurationMeasure != "M") {
		VisitD = parseInt(VisaDuration);
	} else {
		if (parseInt(VisaDuration) >= 12) {
			var tY = parseInt(VisaDuration)/12;
			VisitD = 365 * tY;
		} else {
			VisitD = parseInt(VisaDuration) * 30;
		}
	}
	var VisaEntries = SCode.substring(5, 6);
	var VisaType = SCode.substring(4, 5);
	if (VisaEntries == "D") {
		if (VisaType != "B") {
			var VisitDateFrom2;
			VisitDateFrom2 = CheckValidDate(frm, "VisitDateFrom2YYYY" , "VisitDateFrom2MM", "VisitDateFrom2DD");
			if (VisitDateFrom2 == false) {
				alert('Check Visit Date From 2')
				return false;
			}
			var VisitDateTo2;
			VisitDateTo2 = CheckValidDate(frm, "VisitDateTo2YYYY" , "VisitDateTo2MM", "VisitDateTo2DD");
			if (VisitDateTo2 == false) {
				alert('Check Visit Date To 2')
				return false;
			}
		}
		if (VisitDateTo < VisitDateFrom)  {
			alert('VisitDateTo < VisitDateFrom!');
			frm.elements['VisitDateFromDD'].focus();
			return false;
		}
//		if (VisitDateFrom2 < VisitDateTo)  {
//			alert('VisitDateFrom2 < VisitDateTo!');
//			frm.elements['VisitDateFromDD'].focus();
//			return false;
//		}
		if (VisaType != "B") {
			if (VisitDateTo2 < VisitDateFrom2)  {
				alert('VisitDateTo2 < VisitDateFrom2!');
				frm.elements['VisitDateFromDD'].focus();
				return false;
			}
			if (Math.round((VisitDateTo2 - VisitDateFrom)/24/3600000) > VisitD - 1) {
				alert('Duration of stay must not exceed ' + VisitD +' days.');
				frm.elements['VisitDateToDD'].focus();
				return false;
			}
		} else {
			if (Math.round((VisitDateTo - VisitDateFrom)/24/3600000) > VisitD) {
				alert('Duration of stay must not exceed ' + VisitD +' days.');
				frm.elements['VisitDateToDD'].focus();
				return false;
			}		
		}
	} else {
		if (VisitDateTo < VisitDateFrom)  {
			alert('VisitDateTo < VisitDateFrom!');
			frm.elements['VisitDateFromDD'].focus();
			return false;
		}
		if (Math.round((VisitDateTo - VisitDateFrom)/24/3600000) > VisitD - 1) {
			alert('Duration of stay must not exceed ' + VisitD +' days.');
			frm.elements['VisitDateToDD'].focus();
			return false;
		}
	}
	return true;
}
function getFieldValue(frm, fieldName) {
	var field = frm.elements[fieldName];
	if (field == null) { return ("") };
	var fieldType= field.type;
	if (fieldType == "text" || fieldType == "textarea" || fieldType == "hidden") { 
		return (field.value);
	}
	
	if (fieldType == "select-one") {
		return (field.options[field.options.selectedIndex].value );
	}
	
	if (fieldType == "radio" || fieldType == "checkbox") {
		if (field.checked == true ) {
			return (field.value);
		}
		return "";
	}
	
	if (String(fieldType) == "undefined") { //multiple radio or checkbox (i hope :)
		for( var i=0; i< field.length; i++) {
			if (field[i].checked == true ) {
				return (field[i].value);
			}
		}
		return("");
	}	
	return ("");
}
function fieldFocus(frm, fieldName) {
	var field = frm.elements[fieldName];
	if (field == null) { return ("") };
	var fieldType = field.type;
	if (fieldType == "text" || fieldType == "textarea" || fieldType == "hidden"){ 
		field.focus();
	}
	if (fieldType == "select-one") {
		field.focus();
	}
	if (fieldType == "radio" || fieldType == "checkbox") {
		field.focus();
	}
	return true;	
}
function CheckFields(frm, fieldName, fieldReg, fieldMsg) {
	var fv;
	for (var i=0; i< fieldName.length; i++) {
		fv = getFieldValue(frm, fieldName[i]);
		var regex = new RegExp(fieldReg[i]);
		if (regex.test(fv) == false) {
			fieldFocus(frm, fieldName[i]);
	    		alert(fieldMsg[i]);
			return false;
		}
	}
	return true;
}
//Проверка CompanyRefNum
function CheckCompanyRefNum(frm) {
	if (frm.CompanyRefNumRegExp.value != "") {
		var regex = new RegExp(frm.CompanyRefNumRegExp.value);
		if (regex.test(frm.CompanyRefNum.value) == false) {
	    		alert(frm.CompanyRefNumRegExpMsg.value);
			return false;
		}
	}
	return true;
}
//Проверка NeedConsulateCountry
function CheckConsulateCountry(frm) {
// 20100203
	return true;
	var vCitizenship = getFieldValue(frm, "Citizenship");
	var vConsulateCountry = getFieldValue(frm, "VisaConsulateCountry");
	var vEUCitizenship = false;
	var vEUConsulateCountry = false;
	for (var i = 0; i < EUCountry.length; i++) {
		if (vCitizenship == EUCountry[i]) {
			vEUCitizenship = true;
		}
		if (vConsulateCountry == EUCountry[i]) {
			vEUConsulateCountry = true;
		}
	}
	if (vEUCitizenship && vEUConsulateCountry) {
		return true;
	}	
	if (vCitizenship != vConsulateCountry) {
		return false;
	}
	return true;
}
//message for CheckConsulateCountry
function MesCheckConsulateCountry(frm) {
	var msg = '';
	msg = msg + 'You indicated that a country where you plan to process a visa is different from a country of your citizenship. ';
	msg = msg + 'Starting October 4th, 2007 foreign citizens can obtain a visa to Russia ONLY in the country of their citizenship. ';
	msg = msg + 'Exceptions include those who have an official status (residence or work permit) in a foreign country for the period of more than 90 days. ';
	msg = msg + 'A visa may also be issued in a country other than an applicant`s own in case of urgent necessity. A final decision in these cases would be left up to the consulate. ';
	msg = msg + 'If the above conditions are met, please click OK and we will proceed with this application immediately. ';
	msg = msg + 'If however you must verify the information before proceeding, please press CANCEL and reapply after the issue is verified with the Russian consulate in the country of your location. ';
	msg = msg + 'Thank you!';
/*
	msg = msg + 'You indicated that a country where you plan to process a visa is different from a country of your citizenship. ';
	msg = msg + 'Starting October 4th, 2007 foreign citizens can obtain a visa to Russia ONLY in the country of their citizenship. ';
	msg = msg + 'Exceptions include those who have an official status (residence or work permit) in a foreign country for the period of more than 90 days, please attach a copy of the official status to this form. ';
	msg = msg + 'A visa may also be issued in a country other than an applicant`s own in case of urgent necessity, ';
	msg = msg + 'such as participating in international, governmental, official, scientific, sport and cultural events. A final decision in these cases would be left up to the consulate. ';
	msg = msg + 'If the above conditions are met, please click OK and we will proceed with this application immediately. ';
	msg = msg + 'If however you must verify the information before proceeding, please press CANCEL and reapply after the issue is verified with the Russian consulate in the country of your location. ';
	msg = msg + 'Thank you!';
*/
//	msg = msg + 'You indicated that a country where you plan to process a visa is different from a country of your citizenship. ';
//	msg = msg + 'A copy of your official status (residence or work permit) for the period of more than 90 days is required for invitation processing, ';
//	msg = msg + 'please attach a copy of the official status to this form and we'll proceed with this application immediately, ';
//	msg = msg + 'if you do not have these documents please reapply for another visa type. Thank you! ';
	if(window.confirm(msg) == true){
		frm.NeedConsulateCountry.value = '';
		return true;
	} else {
		frm.NeedConsulateCountry.value = '1';
		return false;
	};
	return true;
}
//checked AgreeDoneBefore
function checkedAgreeDoneBefore(frm) {
	if (frm.AgreeDoneBefore.value == '') {return true};
	if (frm.AgreeDoneBefore.checked != true) {
		alert('Please check box: ' + frm.AgreeDoneBefore.value)
		return false;
	} 
	return true;
}
//checked ContactAgree
function checkedContactAgree(frm) {
//alert(frm.ContactAgree);
	if (frm.ContactAgree != null && frm.ContactAgreeCountry != null)  {
		var tContactAgreeCountry = getFieldValue(frm, "ContactAgreeCountry");
		if (frm.ContactAgree.checked == true && tContactAgreeCountry == '') {
			fieldFocus(frm, 'ContactAgreeCountry');
			alert('Please select the country of Express mail delivery');
			return false;
		}
	} 
	return true;
}
//check Person Contact Information
function checkContactInformation(frm) {
	var SCode = getFieldValue(frm, "ServiceCode");
	var VisaType = SCode.substring(4, 5);
	if (VisaType == "B") {
		var fieldName = new Array("JobCompany", "JobPosition", "JobAddress", "JobCountry", "JobCity", "JobState", "PhoneNumber");
		var fieldReg = new Array("^[\\w]", "^[\\w]", "^[\\w]", "^[\\w]", "^[\\w]", "^[\\w]", "^[\\w]");
		var fieldMsg = new Array("Check JobCompany", "Check JobPosition", "Check JobAddress", "Check JobCountry", "Check JobCity", "Check JobState", "Check PhoneNumber");
		if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	}
	return true;
}
//checked TravelInformation
function checkTravelInformation(frm) {
	var SCode = getFieldValue(frm, "ServiceCode");
	if (SCode.split('~')[1] == 'S') {
		var fieldName = new Array("VisitCityList", "VisitPlaceStayList", "VisitPlaceStayPhone", "VisitCompany");
		var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]", "[\\w]");
		var fieldMsg = new Array("Check  List of cities to be visited!", "Check  Full Address in Russia or Hotel name!", "Check Phone number in Russia!", "Check Company to be visited!");
		if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {
			return false;
		};
		return true;
	} 
	var scArray = 'VSRUBM06M04I, VSRUBM12M04I, VSRUBM24M07I, VSRUBM36M07I, VSRUBM48M07I, VSRUBM60M07I';
	if (scArray.indexOf(SCode) != -1) {
		var fieldName = new Array("VisitCityList", "VisitPlaceStayPhone", "VisitCompany");
		var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
		var fieldMsg = new Array("Check  List of cities to be visited!", "Check Phone number in Russia!", "Check Company to be visited!");
		if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {
			return false;
		};
		return true;
	} 
	var scArray = 'VSRUBS01M07I, VSRUBS03M07I, VSRUBD01M07I, VSRUBD03M07I, VSRUBM06M16I, VSRUBM12M16I';
	if (scArray.indexOf(SCode) != -1) {
		var fieldName = new Array("VisitCityList", "VisitPlaceStayPhone", "VisitCompany");
		var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
		var fieldMsg = new Array("Check  List of cities to be visited!", "Check Phone number in Russia!", "Check Company to be visited!");
		if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {
			return false;
		};
		return true;
	} 
	return true;
}
//Проверка и отправка RUB
function SubmitVisaOrderRUB() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName", "FirstName", "Gender");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Last Name!", "Check First Name!", "Check Gender!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("PassportNumber");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Passport Number!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("BirthCountry", "BirthCity", "Citizenship");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Birth Country!", "Check Birth City!", "Check Citizenship!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("ResidenceCountry", "ResidenceRegion", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Residence Country!", "Check ResidenceRegion!", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("MailAddress");
	var fieldReg = new Array("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
	var fieldMsg = new Array("Check E Mail");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	if (CheckDates(frm) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	if (CheckConsulateCountry(frm) == false) {
		if (MesCheckConsulateCountry(frm) == false) {
			return false;
		};
	};
	if (checkTravelInformation(frm) == false) {return false};
	if (checkAgreeMick(frm) != true) {return false};
	if (checkedAgreeDoneBefore(frm) != true) {return false};
	if (checkedContactAgree(frm) == false) {return false};
	frm.SubmitVisaOrder.disabled = true;
	frm.submit();
}
//Проверка и отправка RUT
function SubmitVisaOrderRUT() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName", "FirstName", "Gender");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Last Name!", "Check First Name!", "Check Gender!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("PassportNumber");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Passport Number!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("BirthCountry", "Citizenship");
	var fieldReg = new Array("[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Birth Country!", "Check Citizenship!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("ResidenceCountry", "ResidenceRegion", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Residence Country!", "Check ResidenceRegion!", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCompany", "JobPosition", "JobAddress");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Company!", "Check Job Position", "Check Job Address !");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobState", "JobZIPCode");
	var fieldReg = new Array("[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Job State!", "Check Job ZIP Code");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("MailAddress");
	var fieldReg = new Array("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
	var fieldMsg = new Array("Check E Mail");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	if (CheckDates(frm) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	if (CheckConsulateCountry(frm) == false) {
		if (MesCheckConsulateCountry(frm) == false) {
			return false;
		};
	};
	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//Проверка и отправка RUG
function SubmitVisaOrderRUG() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Group!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var num = fieldData[0].length;
	if (num < 2) {
		alert('Group < 2');
		return false;
	}
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("MailAddress");
	var fieldReg = new Array("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
	var fieldMsg = new Array("Check E Mail");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//Проверка и отправка CIS
function SubmitVisaOrderCIS() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName", "FirstName", "Gender");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Last Name!", "Check First Name!", "Check Gender!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("PassportNumber");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Passport Number!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("BirthCountry", "Citizenship");
	var fieldReg = new Array("[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Birth Country!", "Check Citizenship!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("MailAddress");
	var fieldReg = new Array("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
	var fieldMsg = new Array("Check E Mail");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("ResidenceCountry", "ResidenceRegion", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Residence Country!", "Check ResidenceRegion!", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("MailAddress");
	var fieldReg = new Array("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
	var fieldMsg = new Array("Check E Mail");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	if (CheckDates(frm) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	var tVisaCountry = SCode.substring(2, 4);
	var tVisaConsulateCountry = getFieldValue(frm, "VisaConsulateCountry");
	var tIDGL = getFieldValue(frm, "IDGL");
	if (tVisaCountry == 'BY' && tIDGL == '') {
		var msg = '';
		msg = msg + 'ATTENTION!\n';
		msg = msg + 'Due to new official regulations, we can provide Belarus invitations for visa processing ONLY when we make a valid and pre-paid hotel reservation for the traveler.\n';
		msg = msg + 'Additionally, once in Belarus each tourist should inform the inviting organization about his/her arrival and departure with flight details.\n';
		msg = msg + 'If you wish to continue, please click OK and proceed to the hotel reservation.\n';
		msg = msg + 'If you wish to cancel this request, please click CANCEL.\n';
		if (window.confirm(msg)) {
			frm.TMPAction.value="newHT";
			frm.target="_self";
		} else {
			frm.target="_self";
			return false;
		}
	}
	if (tVisaCountry == 'UA' && tIDGL == '') {
		var msg = '';
		msg = msg + 'ATTENTION!\n';
		msg = msg + 'Due to new official regulations, we can provide  Ukraine invitations for visa processing ONLY when we make a valid and pre-paid hotel reservation for the traveler.\n';
		msg = msg + 'Additionally, once in Ukraine each tourist should inform the inviting organization about his/her arrival and departure with flight details.\n';
		msg = msg + 'If you wish to continue, please click OK and proceed to the hotel reservation.\n';
		msg = msg + 'If you wish to cancel this request, please click CANCEL.\n';
		if (window.confirm(msg)) {
			frm.TMPAction.value="newHT";
			frm.target="_self";
		} else {
			frm.target="_self";
			return false;
		}
	}
	if (tVisaCountry == 'UZ' && tIDGL == '') {
		var msg = '';
		msg = msg + 'ATTENTION!\n';
		msg = msg + 'Due to new official regulations, we can provide Uzbekistan invitations for visa processing ONLY when we make a valid and pre-paid hotel reservation for the traveler.\n';
		msg = msg + 'Additionally, once in Uzbekistan each tourist should inform the inviting organization about his/her arrival and departure with flight details.\n';
		msg = msg + 'If you wish to continue, please click OK and proceed to the hotel reservation.\n';
		msg = msg + 'If you wish to cancel this request, please click CANCEL.\n';
		if (window.confirm(msg)) {
			frm.TMPAction.value="newHT";
			frm.target="_self";
		} else {
			frm.target="_self";
			return false;
		}
	}
//	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//Проверка и отправка RUGGB
function SubmitVisaOrderRUGGB() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName", "VisaConsulateCountry", "VisaConsulateCity");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Group Name!", "Check Visa Consulate Country!", "Check Visa Consulate City!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//Проверка и отправка Misc
function SubmitVisaMisc() {
	var frm = document.VisaOrderMisc;
	var fieldName = new Array("LastName", "FirstName", "Citizenship", "Subject");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Last Name!", "Check First Name!", "Check Citizenship", "Check Subject!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("MailAddress");
	var fieldReg = new Array("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
	var fieldMsg = new Array("Check E Mail");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	frm.submit();
}
//message for CheckConsulateCountry Partner
function MesCheckConsulateCountryP(frm) {
	var msg = '';
	msg = msg + 'You indicated that a country where you plan to process a visa for the applicant is different from a country of citizenship. ';
	msg = msg + 'Starting October 4th, 2007 foreign citizens can obtain a visa to Russia ONLY in the country of their citizenship. ';
	msg = msg + 'Exceptions include those who have an official status (residence or work permit) in a foreign country for the period of more than 90 days, please attach a copy of the official status to this form. ';
	msg = msg + 'A visa may also be issued in a country other than an applicant`s own in case of urgent necessity, such as participating in international,  ';
	msg = msg + 'governmental, official, scientific, sport and cultural events. A final decision in these cases would be left up to the consulate. ';
	msg = msg + 'If the above conditions are met or if you plan to process a visa for this person in the country of his/her citizenship, please click OK and we will ';
	msg = msg + 'proceed with this application immediately. If however, you must verify the information before proceeding, please press CANCEL and this application ';
	msg = msg + 'will be put on hold until you let us know whether or not you want to proceed with this. Thank you!';
//	msg = msg + 'You indicated that a country where you plan to process a visa for the applicant is different from a country of citizenship. ';
//	msg = msg + 'A copy of your client's official status (residence or work permit) for the period of more than 90 days is required for invitation processing, ';
//	msg = msg + 'please attach a copy of the official status to this form and we'll proceed with this application immediately, ';
//	msg = msg + 'if you do not have these documents please reapply for another visa type. Thank you! ';
	if(window.confirm(msg) == true){
		frm.NeedConsulateCountry.value = '';
	} else {
		frm.NeedConsulateCountry.value = '1';
	};
}
//Проверка и отправка RUBP
function SubmitVisaOrderRUBP() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName", "FirstName", "Gender");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Last Name!", "Check First Name!", "Check Gender!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("PassportNumber");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Passport Number!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("BirthCountry", "BirthCity", "Citizenship");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Birth Country!", "Check Birth City!", "Check Citizenship!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("ResidenceCountry", "ResidenceRegion", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Residence Country!", "Check ResidenceRegion!", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	if (CheckDates(frm) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	if (CheckCompanyRefNum(frm) == false) {return false};
	if (CheckConsulateCountry(frm) == false) {
		MesCheckConsulateCountryP(frm)
	};
	if (checkTravelInformation(frm) == false) {return false};
	if (checkAgreeMick(frm) != true) {return false};
	if (checkedAgreeDoneBefore(frm) != true) {return false};
	if (checkedContactAgree(frm) == false) {return false};
	if (checkContactInformation(frm) == false) {return false};
	frm.SubmitVisaOrder.disabled = true;
	frm.submit();
}
//Проверка и отправка RUTP
function SubmitVisaOrderRUTP() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName", "FirstName", "Gender");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Last Name!", "Check First Name!", "Check Gender!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("PassportNumber");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Passport Number!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("BirthCountry", "Citizenship");
	var fieldReg = new Array("[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Birth Country!", "Check Citizenship!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Visa Consulate Country", "Check Visa Consulate City", "PaymentType");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
//	var fieldName = new Array("ResidenceCountry", "ResidenceRegion");
//	var fieldReg = new Array("[\\w]", "[\\w]");
//	var fieldMsg = new Array("Check Residence Country!", "Check ResidenceRegion!");
//	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
//	var fieldName = new Array("JobCompany", "JobPosition", "JobAddress");
//	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
//	var fieldMsg = new Array("Check Company!", "Check Job Position", "Check Job Address !");
//	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
//	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
//	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
//	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
//	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
//	var fieldName = new Array("JobState", "JobZIPCode");
//	var fieldReg = new Array("[\\w]", "[\\w]");
//	var fieldMsg = new Array("Check Job State!", "Check Job ZIP Code");
//	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	if (CheckDates(frm) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	if (CheckCompanyRefNum(frm) == false) {return false};
	if (CheckConsulateCountry(frm) == false) {
		MesCheckConsulateCountryP(frm)
	};
	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//Проверка и отправка RUGP
function SubmitVisaOrderRUGP() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Group!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var num = fieldData[0].length;
	if (num < 2) {
		alert('Group < 2');
		return false;
	}
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	if (CheckCompanyRefNum(frm) == false) {return false};
	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//Проверка и отправка CISP
function SubmitVisaOrderCISP() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	var fieldName = new Array("LastName", "FirstName", "Gender");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Last Name!", "Check First Name!", "Check Gender!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("PassportNumber");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Check Passport Number!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("BirthCountry", "Citizenship");
	var fieldReg = new Array("[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Birth Country!", "Check Citizenship!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("ResidenceCountry", "ResidenceRegion", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Residence Country!", "Check ResidenceRegion!", "VisaConsulateCountry", "VisaConsulateCity", "PaymentType");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("JobCountry", "JobCity", "PhoneNumber");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Country!", "Check City", "Check PhoneNumber!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	if (CheckDates(frm) == false) {return false};
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	if (CheckCompanyRefNum(frm) == false) {return false};
	var tVisaCountry = SCode.substring(2, 4);
	var tVisaConsulateCountry = getFieldValue(frm, "VisaConsulateCountry");
	var tIDGL = getFieldValue(frm, "IDGL");
	if (tVisaCountry == 'BY' && tIDGL == '') {
		var msg = '';
		msg = msg + 'ATTENTION!\n';
		msg = msg + 'Due to new official regulations, we can provide Belarus invitations for visa processing ONLY when we make a valid and pre-paid hotel reservation for the traveler.\n';
		msg = msg + 'Additionally, once in Belarus each tourist should inform the inviting organization about his/her arrival and departure with flight details.\n';
		msg = msg + 'If you wish to continue, please click OK and proceed to the hotel reservation.\n';
		msg = msg + 'If you wish to cancel this request, please click CANCEL.\n';
		if (window.confirm(msg)) {
			frm.TMPAction.value="newHT";
			frm.target="_blank";
		} else {
			frm.target="_self";
			return false;
		}
	}
	if (tVisaCountry == 'UA' && tIDGL == '') {
		var msg = '';
		msg = msg + 'ATTENTION!\n';
		msg = msg + 'Due to new official regulations, we can provide Ukraine invitations for visa processing ONLY when we make a valid and pre-paid hotel reservation for the traveler.\n';
		msg = msg + 'Additionally, once in Ukraine each tourist should inform the inviting organization about his/her arrival and departure with flight details.\n';
		msg = msg + 'If you wish to continue, please click OK and proceed to the hotel reservation.\n';
		msg = msg + 'If you wish to cancel this request, please click CANCEL.\n';
		if (window.confirm(msg)) {
			frm.TMPAction.value="newHT";
			frm.target="_blank";
		} else {
			frm.target="_self";
			return false;
		}
	}
	if (tVisaCountry == 'UZ' && tIDGL == '') {
		var msg = '';
		msg = msg + 'ATTENTION!\n';
		msg = msg + 'Due to new official regulations, we can provide Uzbekistan invitations for visa processing ONLY when we make a valid and pre-paid hotel reservation for the traveler.\n';
		msg = msg + 'Additionally, once in Uzbekistan each tourist should inform the inviting organization about his/her arrival and departure with flight details.\n';
		msg = msg + 'If you wish to continue, please click OK and proceed to the hotel reservation.\n';
		msg = msg + 'If you wish to cancel this request, please click CANCEL.\n';
		if (window.confirm(msg)) {
			frm.TMPAction.value="newHT";
			frm.target="_blank";
		} else {
			frm.target="_self";
			return false;
		}
	}
	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//Проверка и отправка RUGGBP
function SubmitVisaOrderRUGGBP() {
	var frm = document.VisaOrder;
	var fieldName = new Array("ServiceCode");
	var fieldReg = new Array("[\\w]");
	var fieldMsg = new Array("Select visa!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("LastName", "VisaConsulateCountry", "VisaConsulateCity");
	var fieldReg = new Array("[\\w]", "[\\w]", "[\\w]");
	var fieldMsg = new Array("Check Group Name!", "Check Visa Consulate Country!", "Check Visa Consulate City!");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var fieldName = new Array("VisitCityList");
	var fieldReg = new Array("^[\\w]");
	var fieldMsg = new Array("Check VisitCityList");
	if (CheckFields(frm, fieldName, fieldReg, fieldMsg) == false) {return false};
	var SCode = getFieldValue(frm, "ServiceCode");
	if (CheckVisaDuration(frm, SCode) == false ) {return false};
	if (CheckCompanyRefNum(frm) == false) {return false};
	frm.SubmitVisaOrder.disabled=true;
	frm.submit();
}
//====== 20080414
function changeVisaConsulateCountry(frm) {
	if (CheckConsulateCountry(frm) == false) {
		var tClientType = getFieldValue(frm, "ClientType");
		if (tClientType == '1') {
			var tServiceCode = getFieldValue(frm, "ServiceCode");
			var aServiceCode = new Array('VSRUBS01M01I', 'VSRUBS03M01I', 'VSRUBD01M01I', 'VSRUBD03M01I', 'VSRUBM06M01I', 'VSRUBM12M01I', 'VSRUBS01M02I', 'VSRUBS03M02I', 'VSRUBD01M02I', 'VSRUBD03M02I');
			for (var i=0; i< aServiceCode.length; i++) {
				if (aServiceCode[i] == tServiceCode ) {
					var msg = '';
					msg = msg + 'You indicated that a country where you plan to process a visa for the applicant is different from a country of citizenship. ';
					msg = msg + 'A copy of your client`s official status (residence, work permit or green card) for the period of more than 90 days is required for invitation processing. ';
					msg = msg + 'Please attach a copy of the official status to this form and we`ll proceed with this application immediately, if you do not have these documents please reapply for another visa type. ';
					msg = msg + 'Thank you!';
					alert(msg);
				}
			}
		}
	}
	return true;
}
//======= 20080506 
function loadScriptUPS(href){
	if(document.all){
		var scriptObj = document.getElementById("AjaxUPS");
		scriptObj.src = href;
	}else{
		var span = window.document.createElement('SPANUPS');
		span.style.display = 'none';
		document.body.insertBefore(span, document.body.lastChild);
		span.innerHTML = '<s'+'cript id=\"ss\"></' + 'script>';
		var s = span.getElementsByTagName('script')[0];
		s.language = 'JavaScript';	
	     if (s.setAttribute) s.setAttribute('src', href); else s.src = href ;             
      }
}
function getUPSPrice(frm) {
	var SCode = getFieldValue(frm, "ServiceCode");
	var tClientType = getFieldValue(frm, "ClientType");
	var tUKCompany = getFieldValue(frm, "UKCompany");
	var tContactAgreeCountry  = getFieldValue(frm, "ContactAgreeCountry");
	var tVisaConsulateCountry = getFieldValue(frm, "VisaConsulateCountry");
	if (tContactAgreeCountry == '-' && tContactAgreeCountry == '') {
		setValue('ContactAgreeCountry', tVisaConsulateCountry);
	}
	var tPriceCurrency = getFieldValue(frm, "PriceCurrency");
	var tPartnerType =getFieldValue(frm, "PartnerType");
	if (tContactAgreeCountry != '-' && tContactAgreeCountry != '') {
	    var path = 'https://secure.visatorussia.com/globalbases/webportal.nsf/GetUPSPrice?OpenAgent&ServiceCode=' + SCode + '&ClientType=' + tClientType + '&UKCompany=' + tUKCompany + '&ContactAgreeCountry=' + tContactAgreeCountry + '&PriceCurrency=' + tPriceCurrency + '&PartnerType=' + tPartnerType ;
		loadScriptUPS(path);
	}
}
function updateUPSPrice() {
	var frm = document.VisaOrder;
	var SCode = getFieldValue(frm, "ServiceCode");
	var tVisaCountry = SCode.substring(2, 4);
	var tVisaType = SCode.substring(4, 5);
	var html = '';
	var tContactAgreeCountry = getFieldValue(frm, "ContactAgreeCountry"); 
	if (tVisaCountry == 'RU' && tVisaType == 'B' && UPSServiceCode != '' && UPSWebPrice != 0 && UPSWebCurrency != '' ) {
		html = '<b>Express Mail to ' + tContactAgreeCountry + ' Price: ' +  UPSWebCurrency + ' ' + UPSWebPrice + '</b>';
	};
	document.getElementById("UPSPrice").innerHTML = html;
}
//======= 20080604
function changeContactAgreeCountry(frm) {
	getUPSPrice(frm);
	return true;
}
//======= 20100505
function UpdateNVAFAgentSubform() {
	var form = document.VisaOrder;
	var item = form.NVAFAgent;
	if (item) {
		initNeedVisaApplicationForm();
	}
}
