function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	    return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false;;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false;
	 }

	 return true					
}


function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}


function submit_form_order() {
	var err = false;
	var err_msg = '';
	
	var contact_name_org = $('contact_name_org').value;
	var contact_email = $('contact_email').value;
	var contact_phone = $('contact_phone').value;
	
	if (contact_name_org == '' || contact_email == '' || contact_phone == '') {
		err = true;
	}
	
	if (err == false && echeck(contact_email) == false) {
		err = true;
		err_msg += 'Введен не верный e-mail!\n';
	}
	
	if (err == false && isInteger(contact_phone) == false) {
		err = true;
		err_msg += 'Введен не верный телефон!\n';
	}
	
	
	var d = new Date();
	var this_year = parseInt(d.getFullYear());
	var failed_year = false;
	
	var err_people = false;
	var num_people = 0;
	var all_inputs = $ES('input', $("tmp_persona_table"));
	$each(all_inputs, function(el, index) {
		if (el.id == 'contact_surname') {
			if (el.value == '' || el.value == 'Фамилия') {
				err_people = true;
			}
			num_people++;
		}
		
		if (el.id == 'contact_name') {
			if (el.value == '' || el.value == 'Имя') {
				err_people = true;
			}
		}
		
		if (el.id == 'contact_familyname') {
			if (el.value == '' || el.value == 'Отчество') {
				err_people = true;
			}
		}
		
		if (el.id == 'contact_year') {
			if (el.value == '') {
				err_people = true;
			} else {
				var num_year = parseInt(el.value);
				var diff = this_year - num_year;
				
				if (diff < 12 || diff > 70) {
					failed_year = true;
				}
			}
		}
		
	});
	
	if (err_people == true) {
		err = true;
		err_msg += 'Необходимо заполнить все поля посетителя!\n';
	}
	
	if (failed_year == true) {
		err = true;
		err_msg += 'Посетитель не подходит по возрастным условиям посещения Останкинской башни!\n';
	}
	
	
	if (err == false) {
		//alert(num_people);
		var date = $('exhib_exist_id').value;
		var time_start = $('exhib_time').value;
		
		new XHR({method: 'post', onSuccess: function(req){
			if (parseInt(req) >= num_people) {
				$('user_form').submit();
			} else {
				alert('Недостаточно в этой группе мест. Всего осталось '+req+' мест. Необходимо заполнить поля согласно указанному количеству мест!');
			}
		}}).send('/is/ajax/getfreeplaces_order/', 'date='+date+'&time_start='+time_start);
	
		
	} else {
		alert('Заполните необходимые поля или введите в правильном формате!\n'+err_msg);
	}
}

function form_submit(NameForm, ReqElement) {
	var err = false;
	if (ReqElement != '') {
		var reqelement_arr = ReqElement.split('#');
		
		$each(reqelement_arr, function(element){
			if ($(element).value == '') {
				err = true;
			}
		});
	}
	if (err == false) {
		$(NameForm).submit();
	} else {
		alert('Заполните необходимые поля!');
	}
}

function form_cancel(Path) {
	document.location = Path;
}

function loadPlaces() {
	var date = $("date").value;
	var time_start = $("time_start").value;
	var time_stop = $("time_stop").value;
	
	if (date != '' && time_start > 0) {
		new XHR({method: 'post', onSuccess: function(req){
			if (req != '') {
				$("result_order").innerHTML = req;
			} else {
				$("result_order").innerHTML = 'Для выбранной даты и времени нет свободных мест.<br/> Пожалуйста выберите другой период времени.';
			}
		}}).send('/is/ajax/getfreeplaces/', 'date='+date+'&time_start='+time_start+'&time_stop='+time_stop);
	} else {
		$("result_order").innerHTML = '<p>Выберите дату и время экскурсии</p>';
	}
}

function ShowPersons(AId) {
	new XHR({method: 'post', onSuccess: function(req){
		if (req != '') {
			$("row_"+AId).innerHTML = req;
		}
	}}).send('/is/ajax/getperson/', 'id='+AId);
}

function ShowPersons_WOStaus(AId) {
	new XHR({method: 'post', onSuccess: function(req){
		if (req != '') {
			$("row_"+AId).innerHTML = req;
		}
	}}).send('/is/ajax/getpersonwostatus/', 'id='+AId);
}

function CloseRow(AId) {
	$("row_"+AId).innerHTML = '';
}

var store_ValAId = '';
var store_IDPerson = '';
var store_IDOrder = '';
var store_IDExhib = '';


function UpdateStatus(ValAId, IDPerson, IDOrder, IDExhib) {
	if (ValAId == 4 || ValAId == 5) {
		$("comment_div").setStyle('display', 'block');
		store_ValAId = ValAId;
		store_IDPerson = IDPerson;
		store_IDOrder = IDOrder;
		store_IDExhib = IDExhib;
	} else {
		new XHR({method: 'post', onSuccess: function(req){
			ShowPersons(IDExhib);
		}}).send('/is/ajax/updatestatus/', 'id='+ValAId+'&id_person='+IDPerson+'&id_order='+IDOrder+'&id_exhib='+IDExhib);
	}
}

function UpdateStatusOrder(ValAId, IDPerson, IDOrder, IDExhib) {
	if (ValAId == 4 || ValAId == 5) {
		$("comment_div").setStyle('display', 'block');
		store_ValAId = ValAId;
		store_IDPerson = IDPerson;
		store_IDOrder = IDOrder;
		store_IDExhib = IDExhib;
	} else {
		new XHR({method: 'post', onSuccess: function(req){
			ShowOrders();
		}}).send('/is/ajax/updatestatus/', 'id='+ValAId+'&id_person='+IDPerson+'&id_order='+IDOrder+'&id_exhib='+IDExhib);
	}
}

function UpdateStatusOrder1(ValAId, IDPerson, IDOrder, IDExhib) {
	if (ValAId == 4 || ValAId == 5) {
		$("comment_div").setStyle('display', 'block');
		store_ValAId = ValAId;
		store_IDPerson = IDPerson;
		store_IDOrder = IDOrder;
		store_IDExhib = IDExhib;
	} else {
		new XHR({method: 'post', onSuccess: function(req){
			window.location.reload()
		}}).send('/is/ajax/updatestatus/', 'id='+ValAId+'&id_person='+IDPerson+'&id_order='+IDOrder+'&id_exhib='+IDExhib);
	}
}

function SaveComment() {
	var comment = $("comment_status").value;
	
	if (comment != '') {
		new XHR({method: 'post', onSuccess: function(req){
			$("comment_div").setStyle('display', 'none');
			$("comment_status").value = '';
			if (store_IDExhib > 0) {
				ShowPersons(store_IDExhib);
			} else {
				ShowOrders();
			}			
			
		}}).send('/is/ajax/updatestatus/', 'id='+store_ValAId+'&id_person='+store_IDPerson+'&id_order='+store_IDOrder+'&id_exhib='+store_IDExhib+'&comment='+comment);
	} else {
		alert('Укажите причину для смены статуса!')
	}
}

function BlockSeans(AId) {
	new XHR({method: 'post', onSuccess: function(req){
		window.location.reload()
	}}).send('/is/ajax/blockexhib/', 'id='+AId);
}


function UnBlockSeans(AId) {
	new XHR({method: 'post', onSuccess: function(req){
		window.location.reload()
	}}).send('/is/ajax/unblockexhib/', 'id='+AId);
}

var max_num_rows = 30;

function ShowAnketa(ADate, ATime, ATimeStr, ANumPlaces) {
	$("selected_date").innerHTML = ADate;
	$("date").value = ADate;
	$("time_start").value = ATime;
	$("exhib_time").value = ATime;
	$("selected_time").innerHTML = ATimeStr;
	
	new XHR({method: 'post', onSuccess: function(req){
		var arr_req = req.split("#");
		max_num_rows = parseInt(ANumPlaces);
		$("exhib_exist_id").value = arr_req[0];
	}}).send('/is/ajax/getfreeplaces/', 'date='+ADate+'&time_start='+ATime);
	$("list_exhib").setStyle('display', 'none');
	$("button_sub").setStyle('display', 'block');
	$("form_exhib").setStyle('display', 'block');
}
		
function addCar() {
	var id = $("car_id").value;
	var temp_id = id;
	temp_id++;
	$("this_car_"+id).innerHTML = '<div class="form-2p-n">'+ id +'</div><div class="form-2-f"><input name="contact_marka_auto[]" id="contact_marka_auto" type="text" class="form-it-2" value="Введите марку" onfocus="javascript:if(this.value==\'Введите марку\')this.value=\'\'" onblur="javascript:if(this.value==\'\')this.value=\'Введите марку\'" /></div><div class="form-2-f"><input name="contact_gosnomer_auto[]" id="contact_gosnomer_auto" type="text" class="form-it-2" style="width: 142px;" value="Введите номер" onfocus="javascript:if(this.value==\'Введите номер\')this.value=\'\'" onblur="javascript:if(this.value==\'\')this.value=\'Введите номер\'" /></div><a href="javascript:{}" onclick="delCar('+ id +')" style="display: block; float: left;"> X </a><div id="this_car_'+temp_id+'"></div>';
	$("car_id").value = temp_id;
}

function addPeople() {
	var id = $("people_id").value;
	var temp_id = id;
	temp_id++;
	if( id <= max_num_rows ){
		$("this_peple_"+id).innerHTML = '<div style="clear: both" class="remove_'+ id +'"><div class="form-2p-n">'+ id +'</div><div class="form-2-f2"><input name="contact_surname[]" id="contact_surname" type="text" class="form-it-3" value="Фамилия" onfocus="javascript:if(this.value==\'Фамилия\')this.value=\'\'" onblur="javascript:if(this.value==\'\')this.value=\'Фамилия\'" /></div><div class="form-2-f2"><input name="contact_name[]" id="contact_name" type="text" class="form-it-3" value="Имя" onfocus="javascript:if(this.value==\'Имя\')this.value=\'\'" onblur="javascript:if(this.value==\'\')this.value=\'Имя\'" /></div><div class="form-2-f2"><input name="contact_familyname[]" id="contact_familyname" type="text" class="form-it-3" value="Отчество" onfocus="javascript:if(this.value==\'Отчество\')this.value=\'\'" onblur="javascript:if(this.value==\'\')this.value=\'Отчество\'" /></div><div class="form-2-f"><select name="contact_birthday[]" id="contact_birthday" class="form-it-3"><option selected value="Полный">Полный</option><option value="Льготный">Льготный</option></select></div><div class="form-2-f2"><input name="contact_citizenship[]" id="contact_citizenship" type="text" class="form-it-3" value="Россия" onfocus="javascript:if(this.value==\'Россия\')this.value=\'\'" onblur="javascript:if(this.value==\'\')this.value=\'Россия\'" /></div><div class="form-2-f"><input name="contact_year[]" id="contact_year" class="form-it-3" value="1990" onfocus="javascript:if(this.value==\'1990\')this.value=\'\'" onblur="javascript:if(this.value==\'\')this.value=\'1990\'" type="text"></div><a href="javascript:{}" onclick="delItem('+ id +')" style="display: block; float: left;"> X </a></div><div id="this_peple_'+temp_id+'"></div>';
		/* увеличиваем счетчик элементов */
		$("people_id").value = temp_id;
		if (id == max_num_rows) {
			$("link_add_people").setStyle('display', 'none');
		}
	}
}
					

function delItem(id) {
	$("this_peple_" + id ).innerHTML = '';
	$("people_id").value = parseInt($("people_id").value) - 1;
	if ($("people_id").value <= max_num_rows) {
		$("link_add_people").setStyle('display', 'block');
	}
}

function delCar(id) {
	$("this_car_" + id ).innerHTML = '';
	$("car_id").value = parseInt($("car_id").value) - 1;
}

function ShowOrders() {
	var date_report = $("date_report").value;
	var time_id = $("time_id").value;


	new XHR({method: 'post', onSuccess: function(req){
		$("result_orders").innerHTML = req;
	}}).send('/is/ajax/getorders/', 'date='+date_report+'&time_id='+time_id);
}

function PrintOrdersDay() {
	var date_report = $("date_report").value;
	var time_id = $("time_id").value;

	
	new XHR({method: 'post', onSuccess: function(req){
		myWin= open("", "displayWindow", "width=500,height=400,status=yes,toolbar=yes,menubar=yes,scrollbars=yes");
		myWin.document.open();
		myWin.document.write(req);
		myWin.document.close();  
	}}).send('/is/ajax/getorderstoprintday/', 'date='+date_report+'&time_id='+time_id);
}

function PrintCarsDay() {
	var date_report = $("date_report").value;
	var time_id = $("time_id").value;

	
	new XHR({method: 'post', onSuccess: function(req){
		myWin= open("", "displayWindow", "width=500,height=400,status=yes,toolbar=yes,menubar=yes,scrollbars=yes");
		myWin.document.open();
		myWin.document.write(req);
		myWin.document.close();  
	}}).send('/is/ajax/getcarstoprintday/', 'date='+date_report+'&time_id='+time_id);
}

function PrintOrdersSeans() {
	var date_report = $("date_report").value;
	var time_id = $("time_id").value;

	
	new XHR({method: 'post', onSuccess: function(req){
		myWin= open("", "displayWindow", "width=500,height=400,status=yes,toolbar=yes,menubar=yes,scrollbars=yes");
		myWin.document.open();
		myWin.document.write(req);
		myWin.document.close();  
	}}).send('/is/ajax/getorderstoprintseans/', 'date='+date_report+'&time_id='+time_id);
}


function ShowOrderInner(Aid) {
	new XHR({method: 'post', onSuccess: function(req){
		$("result_order_inner").innerHTML = req;
		myCal = new Calendar({ date_report1: 'Y-m-d' });
					
	}}).send('/is/ajax/getorderinner/', 'id='+Aid);
}

function CloseOrderInner() {
	$("result_order_inner").innerHTML = '';
}

function SaveOrderProper(Aid) {
	var name = $("name").value;
	var email = $("email").value;
	var phone = $("phone").value;

	new XHR({method: 'post', onSuccess: function(req){
		ShowOrders();
	}}).send('/is/ajax/saveorderprop/', 'id='+Aid+'&name='+name+'&email='+email+'&phone='+phone);
}

function AddNewAuto() {
	var row = 'Марка-<input type="text" value="" name="new" id="car_mark">Номер-<input type="text" value="" name="new" id="car_gosnum"><br>';
	
	$("new_cars").innerHTML = $("new_cars").innerHTML + row;
}

function SaveOrderCar(Aid) {
	var car_mark = '';
	var car_gosnum = '';
	
	var all_inputs = $ES('input', $("car_table"));
	$each(all_inputs, function(el, index) {
		if (el.id == 'car_mark') {
			if (el.name == 'new') {
				if (el.value != '') {
					car_mark += el.name + '#' + el.value +'*';
				}
			} else {
				car_mark += el.name + '#' + el.value +'*';
			}
		}
		if (el.id == 'car_gosnum') {
			if (el.name == 'new') {
				if (el.value != '') {
					car_gosnum += el.name + '#' + el.value +'*';
				}
			} else {
				car_gosnum += el.name + '#' + el.value +'*';
			}
		}
		
	});
	
	new XHR({method: 'post', onSuccess: function(req){
		ShowOrderInner(Aid);
	}}).send('/is/ajax/saveordercar/', 'id='+Aid+'&car_mark='+car_mark+'&car_gosnum='+car_gosnum);
	
}

function DeleteCar(Aid, CarId) {
	new XHR({method: 'post', onSuccess: function(req){
		ShowOrderInner(Aid);
	}}).send('/is/ajax/deletecar/', 'id='+CarId);
}

function UpdateBirthday(Avalue, Aid) {
	new XHR({method: 'post', onSuccess: function(req){
		
	}}).send('/is/ajax/savepersonabirthday/', 'id='+Aid+'&value='+Avalue);
}

function AddNewPersona() {
	var row = 'Фамилия-<input type="text" value="" name="new" id="surname">Имя-<input type="text" value="" name="new" id="firstname">Отчество-<input type="text" value="" name="new" id="familyname"><br>Дата рождения-<select id="birthday" name="new"><option value="Полный">Полный</option><option value="Льготный">Льготный</option></select>Гражданство-<input type="text" value="" name="new" id="citizenship"><br/>';
	
	$("new_persons").innerHTML = $("new_persons").innerHTML + row;
}

function SaveOrderPersona(Aid) {
	var surname = '';
	var firstname = '';
	var familyname = '';
	var citizenship = '';
	var birthday = ''; // только для новых
	
	var all_inputs = $ES('input', $("people_table"));
	$each(all_inputs, function(el, index) {
		if (el.id == 'surname') {
			if (el.name == 'new') {
				if (el.value != '') {
					surname += el.name + '#' + el.value +'*';
				}
			} else {
				surname += el.name + '#' + el.value +'*';
			}
		}
		if (el.id == 'firstname') {
			if (el.name == 'new') {
				if (el.value != '') {
					firstname += el.name + '#' + el.value +'*';
				}
			} else {
				firstname += el.name + '#' + el.value +'*';
			}
		}
		
		if (el.id == 'familyname') {
			if (el.name == 'new') {
				if (el.value != '') {
					familyname += el.name + '#' + el.value +'*';
				}
			} else {
				familyname += el.name + '#' + el.value +'*';
			}
		}
		
		if (el.id == 'citizenship') {
			if (el.name == 'new') {
				if (el.value != '') {
					citizenship += el.name + '#' + el.value +'*';
				}
			} else {
				citizenship += el.name + '#' + el.value +'*';
			}
		}
		
		
	});
	
	var all_inputs = $ES('select', $("people_table"));
	$each(all_inputs, function(el, index) {
		if (el.id == 'birthday') {
			if (el.name == 'new') {
				if (el.value != '') {
					birthday += el.name + '#' + el.value +'*';
				}
			}
		}
	});
	
	
	
	
	new XHR({method: 'post', onSuccess: function(req){
		ShowOrderInner(Aid);
	}}).send('/is/ajax/saveorderpersona/', 'id='+Aid+'&surname='+surname+'&firstname='+firstname+'&familyname='+familyname+'&citizenship='+citizenship+'&birthday='+birthday);
	
}

function DeletePersona(AId, PersonaId) {
	showDeleteComment(AId, PersonaId);
}

function SaveNumPlaces(AId) {
	var numplaces = $("numplaces").value;
	new XHR({method: 'post', onSuccess: function(req){
		
	}}).send('/is/ajax/savenumplaces/', 'id='+AId+'&value='+numplaces);
}


function showDeleteComment(AId, PersonaId) {
	$("comment_hid_id").value = AId;
	$("comment_hid_personaid").value = PersonaId;
	$("comment_div1").setStyle('display', 'block');
}

function SaveComment1() {
	var comment = $("comment_status1").value;
	
	if (comment != '') {
		new XHR({method: 'post', onSuccess: function(req){
			$("comment_div1").setStyle('display', 'none');
			$("comment_status1").value = '';
			ShowOrderInner($("comment_hid_id").value);
		}}).send('/is/ajax/deletepersona/', 'id='+$("comment_hid_personaid").value+'&comment='+comment);
	
	} else {
		alert('Укажите причину для смены статуса!')
	}
}

function ShowDetailLog(Aid) {
	new XHR({method: 'post', onSuccess: function(req){
		$("detail_log").innerHTML = req;
	}}).send('/is/ajax/getdetaillog/', 'id='+Aid);
}

function CloseDetailLog() {
	$("detail_log").innerHTML = '';
}


function ChangeTime(AId) {
	var date_report1 = $("date_report1").value;
	var change_time = $("change_time").value;
	if (date_report1 != '') {
		new XHR({method: 'post', onSuccess: function(req){
			ShowOrders();
		}}).send('/is/ajax/savechagedate/', 'id='+AId+'&date='+date_report1+'&time='+change_time);
	} else {
		alert('Выберите дату и время!');
	}
}

