<?php
	session_start();
	if(strpos($_SESSION['userdir'], "new_flat")){
	}else{
	$_SESSION['userdir'] = $_SESSION['userdir']."/new_flat";
	}
	function create_guid($namespace = '') {    
    static $guid = '';
    $uid = uniqid("", true);
    $data = $namespace;
    $data .= $_SERVER['REQUEST_TIME'];
    $data .= $_SERVER['HTTP_USER_AGENT'];
    $data .= $_SERVER['LOCAL_ADDR'];
    $data .= $_SERVER['LOCAL_PORT'];
    $data .= $_SERVER['REMOTE_ADDR'];
    $data .= $_SERVER['REMOTE_PORT'];
    $hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));
    $guid = '{' .  
            substr($hash,  0,  8) .
            '-' .
            substr($hash,  8,  4) .
            '-' .
            substr($hash, 12,  4) .
            '-' .
            substr($hash, 16,  4) .
            '-' .
            substr($hash, 20, 12) .
            '}';
    return $guid;
  }
	set_time_limit(0);
	$buf = create_guid();
	$GUID = substr($buf, 1, 36);
	$date_e = explode(".", $_POST['Date_End']);
	$date_g = explode(".", $_POST['Date_Get']);
	$dname = $GUID;
	if(isset($_POST['submit'])){
	$out = "<?xml version='1.0' encoding='UTF-8'?>\n";
	$out .= "<!-- Изготовлено с помощью системы tehplan-online.ru -->\n";
	$out .= "<STD_TP CodeType='023' Version='02' GUID='".$GUID."'>";//ОСНОВНОЙ КОРНЕВОЙ ЭЛЕМЕНТ
		$out .= "<Flat>";//Технический план здания
			$out .= "<Package>";//Пакет информации

				$out .= "<New_Flat>";
					$out .= "<Register>";//Реестр
						$out .= "<Number_Register>";//Регистрационные номера
							if($_POST['CadastralNumberOKS'] != ""){
							$out .= "<CadastralNumberOKS>";//Кадастровый номер здания или сооружения, в котором расположено помещение
							$out .= trim($_POST['CadastralNumberOKS']);
							$out .= "</CadastralNumberOKS>";//Выбор
							}
							if(isset($_POST['okslist1'])){
							$out .= "<Old_Numbers_OKS>";   //Ранее присвоенные номера здания или сооружения, в котором расположено помещение
								for($i = 1; $i <= $_POST['add_new_number_oks_']; $i++){
								$out .= "<Old_Number_OKS Type = '".$_POST['okslist'.$i]. "' Number = '".$_POST['Old_Number_OKS'.$i]. "'/>";//Ранее присвоенный номер здания или сооружения, в котором расположено помещение
								}
							$out .= "</Old_Numbers_OKS>";
							}
							if(isset($_POST['oldnumlist1'])){
							$out .= "<Old_Numbers>";//Ранее присвоенные номера
								for($i = 1; $i <= $_POST['add_new_number_']; $i++){
								$out .= "<Old_Number Type = '".$_POST['oldnumlist'.$i]. "' Number = '".$_POST['Old_Number'.$i]. "'/>";
								}
							$out .= "</Old_Numbers>";
							}
							
							
						$out .= "</Number_Register>";
						$out .= "<Cad_Number_Prev>";//Кадастровые номера объектов недвижимости (из которых было образовано помещение)
							for($i = 1; $i <= $_POST['add_new_obj_']; $i++){
							$out .= "<CadastralNumber>";
							$out .= trim($_POST['objnum_'.$i]);
							$out .= "</CadastralNumber>";
							}
						$out .= "</Cad_Number_Prev>";
						$out .= "<Method>";//Способ образования объекта
						$out .= $_POST['Method'];
						$out .= "</Method>";
					$out .= "</Register>";
					$out .= "<Assignation_Code>";//Код назначения и вид помещения
					$out .= $_POST['dAss_f'];
					$out .= "</Assignation_Code>";
					$out .= "<Area>";//Площадь в квадратных метрах
					$out .= $_POST['Area'];
					$out .= "</Area>";
					$out .= "<Location>";//Описание местоположения
							$out .= "<Code_OKATO>";//ОКАТО
							$out .= $_POST['OKATO'];
							$out .= "</Code_OKATO>";
							$out .= "<Code_KLADR>";//КЛАДР
							$out .= $_POST['KLADR'];
							$out .= "</Code_KLADR>";
							$out .= "<Postal_Code>";//Почтовый индекс
							$out .= $_POST['Postal_Code'];
							$out .= "</Postal_Code>";
							$out .= "<Region>";//Код региона
							$out .= $_POST['region'];
							$out .= "</Region>";
							if($_POST['District'] != ""){
							$out .= "<District Name='".$_POST['District']."' Type ='".$_POST['District_type']."'>";//Район
							$out .= "</District>";
							}
							if($_POST['City'] != ""){
							$out .= "<City Name='".$_POST['City']."' Type ='".$_POST['City_type']."'>";//Муниципальное образование
							$out .= "</City>";
							}
							if($_POST['City_District'] != ""){
							$out .= "<Urban_District Name='".$_POST['City_District']."' Type ='р-н'>";//Городской район
							$out .= "</Urban_District>";
							}
							if($_POST['Soviet_Village'] != ""){
							$out .= "<Soviet_Village Name='".$_POST['Soviet_Village']."' Type ='с/с'>";//Сельсовет
							$out .= "</Soviet_Village>";
							}
							if($_POST['Locality'] != ""){
							$out .= "<Locality Name='".$_POST['Locality']."' Type ='".$_POST['Locality_type']."'>";//Населенный пункт
							$out .= "</Locality>";
							}
							if($_POST['Street_Name'] != ""){
							$out .= "<Street Name='".$_POST['Street_Name']."' Type ='".$_POST['Street_Type']."'>";//Улица
							$out .= "</Street>";
							}
							if($_POST['Level1_Name'] != "")
							{
							$out .= "<Level1 Type='".$_POST['Level1_Type']."' Value ='".$_POST['Level1_Name']."'>";//Дом
							$out .= "</Level1>";
							}
							if($_POST['Level2_Name'] != "")
							{
							$out .= "<Level2 Type='".$_POST['Level2_Type']."' Value ='".$_POST['Level2_Name']."'>";//Корпус
							$out .= "</Level2>";
							}
							if($_POST['Level3_Name'] != "")
							{
							$out .= "<Level3 Type='".$_POST['Level3_Type']."' Value ='".$_POST['Level3_Name']."'>";//Строение
							$out .= "</Level3>";
							}
							if($_POST['Level4_Name'] != "")
							{
							$out .= "<Apartment Type='".$_POST['Level4_Type']."' Value ='".$_POST['Level4_Name']."'>";//Квартира
							$out .= "</Apartment>";
							}
							if($_POST['Other'] != "")
							{
							$out .= "<Other>";//Иное
							$out .= $_POST['Other'];
							$out .= "</Other>";
							}
							if($_POST['note'] != "")
							{
							$out .= "<Note>";//Неформализованное описание
							$out .= $_POST['note'];
							$out .= "</Note>";
							}
						$out .= "</Location>";
					
					$out .= "<Levels>";//Уровни
					for($i = 1; $i <= $_POST['add_new_level_']; $i++){
						$out .= "<Level Number = '".$_POST['levelnum'.$i]."' Type = '".$_POST['leveltype'.$i]."'>";//Уровень
							$out .= "<Position Number_OnPlan = '".$_POST['Number_OnPlan'.$i]."'";
							if($_POST['Description'.$i] != ""){
							$out .= " Description = '".$_POST['Description'.$i]."'";//Расположение в строении
							}
							$out .= ">";
								$out .= "<Plans>";//Планы
									$out .= "<Plan File = './Images/".$_POST['levelFile'.$i]."'";
									if($_POST['DescriptionFile'.$i] != ""){
									$out .= " Description = '".$_POST['DescriptionFile'.$i]."'";//План
									}
									$out .= ">";
									$out .= "</Plan>";
								$out .= "</Plans>";
							$out .= "</Position>";
						$out .= "</Level>";
					}
					$out .= "</Levels>";
					//
					
					if($_POST['add_new_sub_flat_'] > 0){
					$out .= "<Sub_Flats>";//Сведения о частях помещения
					for($i = 1; $i <= $_POST['add_new_sub_flat_']; $i++){
						$out .= "<Sub_Flat Definition = '".$_POST['sub_flat_def'.$i]."'>";//Сведения о части помещения
							$out .= "<Area>";//Площадь в квадратных метрах
							$out .= $_POST['sub_flat_area'.$i];
							$out .= "</Area>";
							$out .= "<Position_In_Flat";//Расположение части в здании
							if($_POST['Description'.$i] != ""){
							$out .= " Description = '".$_POST['Description'.$i]."'";	
							}
							$out .= ">";						
								//Выбор
								if(!isset($_POST['leveltype'.$i.'_2'])){
								$out .= "<Position Number_OnPlan = '".$_POST['Number_OnPlan'.$i.'_1']."'";
								if($_POST['Description'.$i.'_1'] != ""){
								$out .= " Description = '".$_POST['Description'.$i.'_1']."'";//Расположение в строении
								}
								$out .= ">";
									$out .= "<Plans>";//Планы
										$out .= "<Plan File = './Images/".$_POST['levelFile'.$i.'_1']."'";
										if($_POST['DescriptionFile'.$i.'_1'] != ""){
										$out .= " Description = '".$_POST['DescriptionFile'.$i.'_1']."'>";//План
										}
										$out .= ">";
										$out .= "</Plan>";
									$out .= "</Plans>";
								$out .= "</Position>";
								}else{
								$out .= "<Levels>";//Уровни
								for($j = 1 ;;$j++){
									if(!isset($_POST['leveltype'.$i.'_'.$j]))
										break;
									$out .= "<Level Number = '".$_POST['levelnum'.$i.'_'.$j]."' Type = '".$_POST['leveltype'.$i.'_'.$j]."'>";//Уровень
										
										$out .= "<Position Number_OnPlan = '".$_POST['Number_OnPlan'.$i.'_'.$j]."'";
										if($_POST['Description'.$i.'_'.$j] != ""){
										$out .= " Description = '".$_POST['Description'.$i.'_'.$j]."'>";//Расположение в строении
										}
										$out .= ">";
											$out .= "<Plans>";//Планы
												$out .= "<Plan File = './Images/".$_POST['levelFile'.$i.'_'.$j]."'";
												if($_POST['DescriptionFile'.$i.'_'.$j] != ""){
												$out .= " Description = '".$_POST['DescriptionFile'.$i.'_'.$j]."'";//План
												}
												$out .= ">";
												$out .= "</Plan>";
											$out .= "</Plans>";
										$out .= "</Position>";
									$out .= "</Level>";
								}
								$out .= "</Levels>";
								//
								}
							$out .= "</Position_In_Flat>";
							if($_POST['Encumbrance'] != ""){
							$out .= "<Encumbrance>";//Содержание ограничения (обременения) прав
							$out .= $_POST['Encumbrance'];
							$out .= "</Encumbrance>";
							}
						$out .= "</Sub_Flat>";
					}
					$out .= "</Sub_Flats>";
					}
				$out .= "</New_Flat>";			
			
			$out .= "</Package>";
			$out .= "<Contractor Date = '".$date_e[2]."-".$date_e[1]."-".$date_e[0]."'>";//Кадастровый инженер
				if($_POST['Contractor'] == "Cadastral_Engineer"){
					$out .= "<Cadastral_Engineer>";//Физическое лицо
						$out .= "<FIO>";//Фамилия, Имя, Отчество
						$Cad_Eng_FIO = explode(" ", trim($_POST['Cad_Eng_FIO']));
							$out .= "<Surname>";//Фамилия
							$out .= $Cad_Eng_FIO[0];
							$out .= "</Surname>";
							$out .= "<First>";//Имя
							$out .= $Cad_Eng_FIO[1];
							$out .= "</First>";
							if(isset($Cad_Eng_FIO[2])){
							$out .= "<Patronymic>";//Отчество
							$out .= $Cad_Eng_FIO[2];
							$out .= "</Patronymic>";
							}
						$out .= "</FIO>";
						$out .= "<N_Certificate>";//Номер квалификационного аттестата кадастрового инженера
						$out .= $_POST['Cad_Eng_N_Certificate'];
						$out .= "</N_Certificate>";
						$out .= "<INN>";//ИНН
						$out .= $_POST['Cad_Eng_INN'];
						$out .= "</INN>";
						$out .= "<Telephone>";//Контактный телефон
						$out .= $_POST['Cad_Eng_Telephone'];
						$out .= "</Telephone>";
						$out .= "<E_mail>";//Электронный адрес
						$out .= $_POST['Cad_Eng_E_mail'];
						$out .= "</E_mail>";
						$out .= "<Address>";//Адрес
						$out .= $_POST['Cad_Eng_Address'];
						$out .= "</Address>";
						$out .= "<Organization>";
							$out .= "<Name>";//Название организации Юр. лица
							$out .= $_POST['Cad_Org_name'];
							$out .= "</Name>";
							$out .= "<Code_OGRN>";//Код ОГРН
							$out .= $_POST['Cad_Org_OGRN'];
							$out .= "</Code_OGRN>";
							$out .= "<Telephone>";//Контактный телефон
							$out .= $_POST['Cad_Org_Telephone'];
							$out .= "</Telephone>";
							$out .= "<E_mail>";//Электронный адрес
							$out .= $_POST['Cad_Org_E_mail'];
							$out .= "</E_mail>";
							$out .= "<Address>";//Адрес
							$out .= $_POST['Cad_Org_Address'];
							$out .= "</Address>";
							//$out .= "<Document>";//Реквизиты документа, подтверждающего аккредитацию
							//$out .= $_POST['Cad_Org_Document'];
							//$out .= "</Document>";
						$out .= "</Organization>";
					$out .= "</Cadastral_Engineer>";
				}
				if($_POST['Contractor'] == "Cadastral_Organization"){
					$out .= "<Cadastral_Organization>";//Юридическое лицо
						$out .= "<Name>";//Название организации Юр. лица
							$out .= $_POST['Cad_Org_name'];
							$out .= "</Name>";
							$out .= "<Code_OGRN>";//Код ОГРН
							$out .= $_POST['Cad_Org_OGRN'];
							$out .= "</Code_OGRN>";
							$out .= "<Officer>";//Должностное лицо
							$Cad_Org_FIO = explode(" ", trim($_POST['Cad_Org_Officer']));
								$out .= "<Surname>";//Фамилия
								$out .= $Cad_Org_FIO[0];
								$out .= "</Surname>";
								$out .= "<First>";//Имя
								$out .= $Cad_Org_FIO[1];
								$out .= "</First>";
								if(isset($Cad_Org_FIO[2])){
								$out .= "<Patronymic>";//Отчество
								$out .= $Cad_Org_FIO[2];
								$out .= "</Patronymic>";
								}
							$out .= "</Officer>";
							$out .= "<Telephone>";//Контактный телефон
							$out .= $_POST['Cad_Org_Telephone'];
							$out .= "</Telephone>";
							$out .= "<E_mail>";//Электронный адрес
							$out .= $_POST['Cad_Org_E_mail'];
							$out .= "</E_mail>";
							$out .= "<Address>";//Адрес
							$out .= $_POST['Cad_Org_Address'];
							$out .= "</Address>";
							$out .= "<Document>";//Реквизиты документа, подтверждающего аккредитацию
							$out .= $_POST['Cad_Org_Document'];
							$out .= "</Document>";
					$out .= "</Cadastral_Organization>";
				}
				
			$out .= "</Contractor>";
			$out .= "<Client Date = '".$date_g[2]."-".$date_g[1]."-".$date_g[0]."'>";//Сведения о заказчике кадастровых работ
					if($_POST['Client'] == "Person")
					{
					$out .= "<Person>";//Физические лица
						$out .= "<FIO>";//Фамилия, имя, отчество для Физ. лиц
							$ClientFIO = explode(" ", trim($_POST['Clientfio']));
							$out .= "<Surname>";//Фамилия
							$out .= $ClientFIO[0];
							$out .= "</Surname>";
							$out .= "<First>";//Имя
							$out .= $ClientFIO[1];
							$out .= "</First>";
							if(isset($ClientFIO[2])){
							$out .= "<Patronymic>";//Отчество
							$out .= $ClientFIO[2];
							$out .= "</Patronymic>";
							}							
						$out .= "</FIO>";
					$out .= "</Person>";
					}
					if($_POST['Client'] == "Organization")
					{
					$out .= "<Organization>";//Юридические лица
						$out .= "<Name>";//Полное наименование
						$out .= $_POST['org_name'];
						$out .= "</Name>";
						$out .= "<Agent>";//Представитель
								$ClientFIO = explode(" ", trim($_POST['org_fio']));
								$out .= "<Surname>";//Фамилия
								$out .= $ClientFIO[0];
								$out .= "</Surname>";
								$out .= "<First>";//Имя
								$out .= $ClientFIO[1];
								$out .= "</First>";
								if(isset($ClientFIO[2])){
								$out .= "<Patronymic>";//Отчество
								$out .= $ClientFIO[2];
								$out .= "</Patronymic>";
								}	
							$out .= "<Appointment>";//Должность
							$out .= $_POST['org_app'];
							$out .= "</Appointment>";
						$out .= "</Agent>";
					$out .= "</Organization>";
					}
					if($_POST['Client'] == "Governance")
					{
					$out .= "<Governance>";//Орган государственной власти, орган местного самоуправления
						$out .= "<Name>";//Полное наименование
						$out .= $_POST['gov_name'];
						$out .= "</Name>";
						$out .= "<Agent>";//Представитель
								$ClientFIO = explode(" ", trim($_POST['gov_fio']));
								$out .= "<Surname>";//Фамилия
								$out .= $ClientFIO[0];
								$out .= "</Surname>";
								$out .= "<First>";//Имя
								$out .= $ClientFIO[1];
								$out .= "</First>";
								if(isset($ClientFIO[2])){
								$out .= "<Patronymic>";//Отчество
								$out .= $ClientFIO[2];
								$out .= "</Patronymic>";
								}	
							$out .= "<Appointment>";//Должность	
							$out .= $_POST['gov_app'];
							$out .= "</Appointment>";
						$out .= "</Agent>";
					$out .= "</Governance>";
					}
					if($_POST['Client'] == "Foreign_Organization")
					{
					$out .= "<Foreign_Organization>";
						$out .= "<Name>";//Полное наименование
						$out .= $_POST['for_name'];
						$out .= "</Name>";
						$out .= "<Country>";//Наименование страны регистрации (инкорпорации)
						$out .= $_POST['for_country'];
						$out .= "</Country>";
						$out .= "<Agent>";//Представитель
								$ClientFIO = explode(" ", trim($_POST['for_fio']));
								$out .= "<Surname>";//Фамилия
								$out .= $ClientFIO[0];
								$out .= "</Surname>";
								$out .= "<First>";//Имя
								$out .= $ClientFIO[1];
								$out .= "</First>";
								if(isset($ClientFIO[2])){
								$out .= "<Patronymic>";//Отчество
								$out .= $ClientFIO[2];
								$out .= "</Patronymic>";
								}	
							$out .= "<Appointment>";//Должность	
							$out .= $_POST['for_app'];
							$out .= "</Appointment>";
						$out .= "</Agent>";
					$out .= "</Foreign_Organization>";
					}
			$out .= "</Client>";
			$out .= "<Input_Data>";//Исходные данные
				$out .= "<Documents>";//Перечень документов, использованных при подготовке технического плана
				for($i = 1;;$i++){
				if(!isset($_POST['select_doc_'.$i])){
					break;
				}
				$f = fopen("DocumentsTP.csv", "r");
				$data = fgetcsv($f, 1000, ';');
				for($j = 1;;$j++){
					if($data[0] == $_POST['select_doc_'.$i])
					{
						$docname = $data[1];
						break;
					}
					$data = fgetcsv($f, 1000, ';');
				}
				$out .= "<Document>"; //Реквизиты документов
					$out .= "<Code_Document>"; //Код документа
					$out .= $_POST['select_doc_'.$i];
					$out .= "</Code_Document>";
					$out .= "<Name>"; //Наименование документа
					$out .= $docname;
					$out .= "</Name>";
					if($_POST['Series'.$i] != ""){
						$out .= "<Series>";
						$out .= $_POST['Series'.$i];
						$out .= "</Series>";
					}
					if($_POST['Number'.$i] != ""){
						$out .= "<Number>";
						$out .= $_POST['Number'.$i];
						$out .= "</Number>";
					}
					if($_POST['Date'.$i] != ""){
						$docd = explode(".", $_POST['Date'.$i]);
						$out .= "<Date>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</Date>";
					}
					if($_POST['IssueOrgan'.$i] != ""){
						$out .= "<IssueOrgan>";
						$out .= $_POST['IssueOrgan'.$i];
						$out .= "</IssueOrgan>";
					}
					if($_POST['NumberReg'.$i] != ""){
						$out .= "<NumberReg>";
						$out .= $_POST['NumberReg'.$i];
						$out .= "</NumberReg>";
					}
					if($_POST['DateReg'.$i] != ""){
						$docd = explode(".", $_POST['DateReg'.$i]);
						$out .= "<DateReg>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</DateReg>";
					}
					if($_POST['Started'.$i] != "" || $_POST['Stopped'.$i] != ""){
						$out .= "<Duration>";
							if($_POST['Started'.$i] != ""){
								$docd = explode(".", $_POST['Started'.$i]);
								$out .= "<Started>";
								$out .= $docd[2]."-".$docd[1]."-".$docd[0];
								$out .= "</Started>";
							}
							if($_POST['Stopped'.$i] != ""){
								$docd = explode(".", $_POST['Stopped'.$i]);
								$out .= "<Stopped>";
								$out .= $docd[2]."-".$docd[1]."-".$docd[0];
								$out .= "</Stopped>";
							}
						$out .= "</Duration>";
					}
					if($_POST['Img_Name'.$i] != ""){
						if(strpos($_POST['Img_Name'.$i], "C:") !== false){
							$ImgName = explode('\\', $_POST['Img_Name'.$i]);
							$_POST['Img_Name'.$i] = $ImgName[2];
						}
						$out .= "<Images>";
						$out .= "<Image Name = './Images/".$_POST['Img_Name'.$i]."'";
						if($_POST['Img_Name'.$i] != ""){
							$out .= " URL = '".$_POST['URL'.$i]."'";
						}
						$out .= "/>";
						$out .= "</Images>";
					}
					if($_POST['Desc'.$i] != ""){
						$out .= "<Desc>";
						$out .= $_POST['Desc'.$i];
						$out .= "</Desc>";
					}
					if($_POST['IssueOrgan_Code'.$i] != ""){
						$out .= "<IssueOrgan_Code>";
						$out .= $_POST['IssueOrgan_Code'.$i];
						$out .= "</IssueOrgan_Code>";
					}
				$out .= "</Document>";
				}
				$out .= "</Documents>";
				$out .= "<Means_Survey>";	//Сведения о средствах измерения
					for($i = 1;; $i++){
					if(!isset($_POST['device_'.$i])){
						break;
					}
					$dev = explode("$", $_POST['device_'.$i]);
					$out .= "<Means_Survey>";	//Сведения о средствах измерения
						$out .= "<Name>";	//Название прибора (инструмента, аппаратуры)
						$out .= $dev[0];
						$out .= "</Name>";
						$out .= "<Certificate>";	//Реквизиты сертификата прибора (инструмента, аппаратуры)
						$out .= $dev[1];
						$out .= "</Certificate>";
						$out .= "<Certificate_Verification>";	//Реквизиты свидетельства о поверке прибора (инструмента, аппаратуры)
						$out .= $dev[2];
						$out .= "</Certificate_Verification>";
					$out .= "</Means_Survey>";
					}
				$out .= "</Means_Survey>";
			$out .= "</Input_Data>";
			$out .= "<Conclusion>"; //Заключение кадастрового инженера
			$out .= $_POST['conclusion'];
			$out .= "</Conclusion>";
			$out .= "<Appendix>"; //Приложения
				for($i = 1;;$i++){
				if(!isset($_POST['select_doc_'.$i])){
					break;
				}
				$f = fopen("DocumentsTP.csv", "r");
				$data = fgetcsv($f, 1000, ';');
				for($j = 1;;$j++){
					if($data[0] == $_POST['select_doc_'.$i])
					{
						$docname = $data[1];
						break;
					}
					$data = fgetcsv($f, 1000, ';');
				}
				$out .= "<Document>"; //Реквизиты документов
					$out .= "<Code_Document>"; //Код документа
					$out .= $_POST['select_doc_'.$i];
					$out .= "</Code_Document>";
					$out .= "<Name>"; //Наименование документа
					$out .= $docname;
					$out .= "</Name>";
					if($_POST['Series'.$i] != ""){
						$out .= "<Series>";
						$out .= $_POST['Series'.$i];
						$out .= "</Series>";
					}
					if($_POST['Number'.$i] != ""){
						$out .= "<Number>";
						$out .= $_POST['Number'.$i];
						$out .= "</Number>";
					}
					if($_POST['Date'.$i] != ""){
						$docd = explode(".", $_POST['Date'.$i]);
						$out .= "<Date>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</Date>";
					}
					if($_POST['IssueOrgan'.$i] != ""){
						$out .= "<IssueOrgan>";
						$out .= $_POST['IssueOrgan'.$i];
						$out .= "</IssueOrgan>";
					}
					if($_POST['NumberReg'.$i] != ""){
						$out .= "<NumberReg>";
						$out .= $_POST['NumberReg'.$i];
						$out .= "</NumberReg>";
					}
					if($_POST['DateReg'.$i] != ""){
						$docd = explode(".", $_POST['DateReg'.$i]);
						$out .= "<DateReg>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</DateReg>";
					}
					if($_POST['Started'.$i] != "" || $_POST['Stopped'.$i] != ""){
						$out .= "<Duration>";
							if($_POST['Started'.$i] != ""){
								$docd = explode(".", $_POST['Started'.$i]);
								$out .= "<Started>";
								$out .= $docd[2]."-".$docd[1]."-".$docd[0];
								$out .= "</Started>";
							}
							if($_POST['Stopped'.$i] != ""){
								$docd = explode(".", $_POST['Stopped'.$i]);
								$out .= "<Stopped>";
								$out .= $docd[2]."-".$docd[1]."-".$docd[0];
								$out .= "</Stopped>";
							}
						$out .= "</Duration>";
					}
					if($_POST['Img_Name'.$i] != ""){
						if(strpos($_POST['Img_Name'.$i], "C:") !== false){
							$ImgName = explode('\\', $_POST['Img_Name'.$i]);
							$_POST['Img_Name'.$i] = $ImgName[2];
						}
						$out .= "<Images>";
						$out .= "<Image Name = './Images/".$_POST['Img_Name'.$i]."'";
						if($_POST['Img_Name'.$i] != ""){
							$out .= " URL = '".$_POST['URL'.$i]."'";
						}
						$out .= "/>";
						$out .= "</Images>";
					}
					if($_POST['Desc'.$i] != ""){
						$out .= "<Desc>";
						$out .= $_POST['Desc'.$i];
						$out .= "</Desc>";
					}
					if($_POST['IssueOrgan_Code'.$i] != ""){
						$out .= "<IssueOrgan_Code>";
						$out .= $_POST['IssueOrgan_Code'.$i];
						$out .= "</IssueOrgan_Code>";
					}
				$out .= "</Document>";
				}
			$out .= "</Appendix>";
		$out .= "</Flat>";
	$out .= "</STD_TP>";
	date_default_timezone_set("Europe/Moscow");
	
	require_once 'php/Classes/PHPExcel.php';
	require_once 'php/Classes/PHPExcel/IOFactory.php';
	mkdir($_SESSION['userdir']."/GUOKS_".$dname, 0777);
	
	

	//-------------------------------------------------------------------------------------------------------------------------
	//Формируем исходные данные
	
	$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/3 Квартира.xlsx");
	$objPHPExcel->setActiveSheetIndex(0);
	
	
	//Приборы
	for($i = 1; ; $i++){
		if(!isset($_POST['device_'.$i])){
			break;
		}
		$j = $i + 1;
		if(isset($_POST['device_'.$j])){
			$objPHPExcel->getActiveSheet()->insertNewRowBefore(11+$i,1);
			$objPHPExcel->getActiveSheet()->mergeCells('A'.(11+$i).':J'.(18+$i));
			$objPHPExcel->getActiveSheet()->mergeCells('K'.(11+$i).':AQ'.(11+$i));
			$objPHPExcel->getActiveSheet()->mergeCells('AR'.(11+$i).':BW'.(11+$i));
			$objPHPExcel->getActiveSheet()->mergeCells('BX'.(11+$i).':DD'.(11+$i));
		}
		if(isset($_POST['device_'.$i])){
		$dev = explode("$", $_POST['device_'.$i]);
			$objPHPExcel->getActiveSheet()->setCellValue('A'.(11+$i), $i);
			$objPHPExcel->getActiveSheet()->setCellValue('K'.(11+$i), iconv("Windows-1251", "UTF-8", $dev[0]));
			$objPHPExcel->getActiveSheet()->setCellValue('AR'.(11+$i), iconv("Windows-1251", "UTF-8", $dev[1]));
			$objPHPExcel->getActiveSheet()->setCellValue('BX'.(11+$i), iconv("Windows-1251", "UTF-8", $dev[2]));
		}
	}
	
	//Документы
	for($i = 1;;$i++){
		if(!isset($_POST['select_doc_'.$i])){
			break;
		}
		$f = fopen("DocumentsTP.csv", "r");
		$data = fgetcsv($f, 1000, ';');
		for($j = 1;;$j++){
			if($data[0] == $_POST['select_doc_'.$i])
			{
				$docname = $data[1];
				break;
			}
			$data = fgetcsv($f, 1000, ';');
		}
		
		$j = $i + 1;
		if(isset($_POST['select_doc_'.$j]) || isset($_POST['Kart_Kind1'])){
			$objPHPExcel->getActiveSheet()->insertNewRowBefore(7+$i,1);
			$objPHPExcel->getActiveSheet()->mergeCells('A'.(7+$i).':J'.(7+$i));
			$objPHPExcel->getActiveSheet()->mergeCells('K'.(7+$i).':BJ'.(7+$i));
			$objPHPExcel->getActiveSheet()->mergeCells('BK'.(7+$i).':DD'.(7+$i));
		}
		if(isset($_POST['select_doc_'.$i])){
			$objPHPExcel->getActiveSheet()->setCellValue('A'.(7+$i), $i);
			$objPHPExcel->getActiveSheet()->setCellValue('K'.(7+$i), iconv("Windows-1251", "UTF-8", $docname));
			$objPHPExcel->getActiveSheet()->setCellValue('BK'.(7+$i), iconv("Windows-1251", "UTF-8", "№ ".$_POST['Number'.$i]." от ".$_POST['Date'.$i]));
		}
	}
	$n = $i;
	$i = 1;
	for($n ;; $n++){
		if(!isset($_POST['Kart_Kind'.$i])){
			break;
		}
		$j = $i + 1;
		if(isset($_POST['Kart_Kind'.$j])){
			$objPHPExcel->getActiveSheet()->insertNewRowBefore(7+$n,1);
			$objPHPExcel->getActiveSheet()->mergeCells('A'.(7+$n).':J'.(7+$n));
			$objPHPExcel->getActiveSheet()->mergeCells('K'.(7+$n).':BJ'.(7+$n));
			$objPHPExcel->getActiveSheet()->mergeCells('BK'.(7+$n).':DD'.(7+$n));
		}
		if(isset($_POST['Kart_Kind'.$i])){
			$objPHPExcel->getActiveSheet()->setCellValue('A'.(7+$n), $n);
			$objPHPExcel->getActiveSheet()->setCellValue('K'.(7+$n), iconv("Windows-1251", "UTF-8", $_POST['Kart_Kind'.$i]));
		}
		$i++;
	}
	
	for($i = 1; $i <= $_POST['add_new_obj_']; $i++){
		$j = $i + 1;
		if(isset($_POST['objnum_'.$j])){
			$objPHPExcel->getActiveSheet()->insertNewRowBefore(15+$i,1);
			$objPHPExcel->getActiveSheet()->mergeCells('A'.(15+$i).':T'.(15+$i));
			$objPHPExcel->getActiveSheet()->mergeCells('U'.(15+$i).':DD'.(15+$i));
		}
		if(isset($_POST['objnum_'.$i])){
			$objPHPExcel->getActiveSheet()->setCellValue('A'.(15+$i), $i);
			$objPHPExcel->getActiveSheet()->setCellValue('U'.(15+$i), iconv("Windows-1251", "UTF-8", $_POST['objnum_'.$i]));
		}
	}
	
	
	
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	$objWriter->save($_SESSION['userdir']."/GUOKS_".$dname."/3 Исходные данные.xlsx");
	
	//-------------------------------------------------------------------------------------------------------------------------
	//Формируем характеристику помещения
	$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/4 Квартира.xlsx");
	$objPHPExcel->setActiveSheetIndex(0);
	
	//$objPHPExcel->getActiveSheet()->setCellValue('BC7', $n);
	//$objPHPExcel->getActiveSheet()->setCellValue('BC8', $n);
	
	if($_POST['CadastralNumberOKS'])
		$objPHPExcel->getActiveSheet()->setCellValue('BC8', $_POST['CadastralNumberOKS']);
	
	$floor = "";
	for($i = 1; $i <= $_POST['add_new_level_']; $i++){
		$floor .= $_POST['levelnum'.$i];
		if($i < $_POST['add_new_level_']){
			$floor .= ", ";
		}
	}
	
	if($floor)
		$objPHPExcel->getActiveSheet()->setCellValue('BC9', $floor);
	
	
	$oldnum = "";
	for($i = 1; $i <= $_POST['add_new_number_']; $i++){
		$oldnum .= $_POST['Old_Number'.$i];
		if($i < $_POST['add_new_number_']){
			$oldnum .= ", ";
		}
	}
	if($oldnum)
		$objPHPExcel->getActiveSheet()->setCellValue('BC10', $oldnum);
	
	$f = fopen("Regions.csv", "r");
	$data = fgetcsv($f, 1000, ';');
	for($j = 1;;$j++){
			if($data[0] == $_POST['region'])
			{
				$regionname = $data[1];
				break;
			}
			$data = fgetcsv($f, 1000, ';');
	}
	fclose($f);
	$objPHPExcel->getActiveSheet()->setCellValue('BC12', iconv("Windows-1251", "UTF-8", $regionname));
	if($_POST['District'] != "")
		$distr = $_POST['District']." район";
	if($distr)
		$objPHPExcel->getActiveSheet()->setCellValue('BC13', iconv("Windows-1251", "UTF-8", $distr));
	
	if($_POST['City'] != "" && $_POST['District'] == "")
		$objPHPExcel->getActiveSheet()->setCellValue('BC13', iconv("Windows-1251", "UTF-8", "г. ".$_POST['City']));
	if($_POST['City'] != "" && $distr != "")
		$objPHPExcel->getActiveSheet()->setCellValue('BC14', iconv("Windows-1251", "UTF-8", "г. ".$_POST['City']));
	
	$loc = "";
	if($_POST['Soviet_Village'] != ""){
		$loc .= $_POST['Soviet_Village'];
		if($_POST['Locality'] != ""){
			$loc .= ", ";
		}
	}
	if($_POST['Locality'] != ""){
		$loc .= $_POST['Locality_type']." ".$_POST['Locality'];
	}
	if($loc)
		$objPHPExcel->getActiveSheet()->setCellValue('BC14', iconv("Windows-1251", "UTF-8", $loc));
	
	if($_POST['Street_Name'])
		$objPHPExcel->getActiveSheet()->setCellValue('BC15', iconv("Windows-1251", "UTF-8", $_POST['Street_Type']." ".$_POST['Street_Name']));
	if($_POST['Level1_Name'])
		$objPHPExcel->getActiveSheet()->setCellValue('BC16', iconv("Windows-1251", "UTF-8", $_POST['Level1_Name']));
	if($_POST['Level2_Name'])
		$objPHPExcel->getActiveSheet()->setCellValue('BC17', iconv("Windows-1251", "UTF-8", $_POST['Level2_Name']));
	if($_POST['Level3_Name'])
		$objPHPExcel->getActiveSheet()->setCellValue('BC18', iconv("Windows-1251", "UTF-8", $_POST['Level3_Name']));
	if($_POST['Level4_Name'])
		$objPHPExcel->getActiveSheet()->setCellValue('BC19', iconv("Windows-1251", "UTF-8", $_POST['Level4_Name']));
	if($_POST['Other'])
		$objPHPExcel->getActiveSheet()->setCellValue('BC20', iconv("Windows-1251", "UTF-8", $_POST['Other']));
	
	if($_POST['dAss_f'] == "206002000000")
		$objPHPExcel->getActiveSheet()->setCellValue('BC21', iconv("Windows-1251", "UTF-8", "Жилое помещение"));
	if($_POST['dAss_f'] == "205001000000"){
		$objPHPExcel->getActiveSheet()->setCellValue('BC21', iconv("Windows-1251", "UTF-8", "Жилое помещение"));
		$objPHPExcel->getActiveSheet()->setCellValue('BC22', iconv("Windows-1251", "UTF-8", "Квартира"));
	}
	if($_POST['dAss_f'] == "205002000000"){
		$objPHPExcel->getActiveSheet()->setCellValue('BC21', iconv("Windows-1251", "UTF-8", "Жилое помещение"));
		$objPHPExcel->getActiveSheet()->setCellValue('BC22', iconv("Windows-1251", "UTF-8", "Комната"));
	}	
	if($_POST['dAss_f'] == "206001000000")
		$objPHPExcel->getActiveSheet()->setCellValue('BC21', iconv("Windows-1251", "UTF-8", "Нежилое помещение"));
	
	
	
	$objPHPExcel->getActiveSheet()->setCellValue('BC23', $_POST['Area']);
	
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	$objWriter->save($_SESSION['userdir']."/GUOKS_".$dname."/4 Характеристика помещения.xlsx");
	
	//-------------------------------------------------------------------------------------------------------------------------
	//Заключение кадастрового инженера
	$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/5 Квартира.xlsx");
	$objPHPExcel->setActiveSheetIndex(0);
	if($_POST['conclusion'] != ""){
		$objPHPExcel->getActiveSheet()->setCellValue('A5', iconv("Windows-1251", "UTF-8", $_POST['conclusion']));
		$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
		$objWriter->save($_SESSION['userdir']."/GUOKS_".$dname."/5 Заключение кадастрового инженера.xlsx");
	}
	//-------------------------------------------------------------------------------------------------------------------------
	//Чертежи
	/*$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/9 Схема геодезических построений.xls");
	$objPHPExcel->setActiveSheetIndex(0);
	$listcounter[$listnum] = "Схема геодезических построений";
	$objPHPExcel->getActiveSheet()->setCellValue('CS1', $listnum);
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	$objWriter->save("excel/new_building/GUOKS_".$dname."/".$listnum." Схема геодезических построений.xlsx");
	$listnum++;
	
	$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/10 Схема расположения здания на земельном участке.xls");
	$objPHPExcel->setActiveSheetIndex(0);
	$listcounter[$listnum] = "Схема расположения здания на земельном участке";
	$objPHPExcel->getActiveSheet()->setCellValue('CS1', $listnum);
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	$objWriter->save("excel/new_building/GUOKS_".$dname."/".$listnum." Схема расположения здания на земельном участке.xlsx");
	$listnum++;
	
	$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/11 Чертеж контура здания.xls");
	$objPHPExcel->setActiveSheetIndex(0);
	$listcounter[$listnum] = "Чертеж контура здания";
	$objPHPExcel->getActiveSheet()->setCellValue('CS1', $listnum);
	$objPHPExcel->getActiveSheet()->setCellValue('BE13', $_POST['Scale']);
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	$objWriter->save("excel/new_building/GUOKS_".$dname."/".$listnum." Чертеж контура здания.xlsx");
	*/
	//-------------------------------------------------------------------------------------------------------------------------
	//Титульный лист
	$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/1 Квартира.xlsx");
	$objPHPExcel->setActiveSheetIndex(0);
	$listnum = 5 + $_POST['add_new_level_'];
	for($i = 1;; $i++){
		if(!isset($_POST['pages'.$i])){
			break;
		}
		if($_POST['pages'.$i] != ""){
			$listnum += $_POST['pages'.$i];
		}
	}
	$objPHPExcel->getActiveSheet()->setCellValue('CU7', $listnum);
	$objPHPExcel->getActiveSheet()->setCellValue('F17', "V");
	
	if($_POST['Client'] == "Person"){
		$objPHPExcel->getActiveSheet()->setCellValue('B29', iconv("Windows-1251", "UTF-8", $_POST['Clientfio']));
		$fio = explode(" ", $_POST['Clientfio']);
		$name = $fio[1];
		$patr = $fio[2];
		if($patr != ""){
			$tmp = "/ ".$fio[0]." ".$name[0].". ".$patr[0].". /";
		}else{
			$tmp = "/ ".$fio[0]." ".$name[0].". /";
		}
		$objPHPExcel->getActiveSheet()->setCellValue('B32', iconv("Windows-1251", "UTF-8", $tmp));
	}
	if($_POST['Client'] == "Organization"){
		$objPHPExcel->getActiveSheet()->setCellValue('B29', iconv("Windows-1251", "UTF-8", $_POST['org_name']));
		$fio = explode(" ", $_POST['org_fio']);
		$name = $fio[1];
		$patr = $fio[2];
		if($patr != ""){
			$tmp = "/ ".$fio[0]." ".$name[0].". ".$patr[0].". /";
		}else{
			$tmp = "/ ".$fio[0]." ".$name[0].". /";
		}
		$objPHPExcel->getActiveSheet()->setCellValue('L31', iconv("Windows-1251", "UTF-8", $tmp));
		$objPHPExcel->getActiveSheet()->setCellValue('B32', iconv("Windows-1251", "UTF-8", $_POST['org_app']));
	}
	if($_POST['Client'] == "Governance"){
		$objPHPExcel->getActiveSheet()->setCellValue('B29', iconv("Windows-1251", "UTF-8", $_POST['gov_name']));
		$fio = explode(" ", $_POST['gov_fio']);
		$name = $fio[1];
		$patr = $fio[2];
		if($patr != ""){
			$tmp = "/ ".$fio[0]." ".$name[0].". ".$patr[0].". /";
		}else{
			$tmp = "/ ".$fio[0]." ".$name[0].". /";
		}
		$objPHPExcel->getActiveSheet()->setCellValue('L31', iconv("Windows-1251", "UTF-8", $tmp));
		$objPHPExcel->getActiveSheet()->setCellValue('B32', iconv("Windows-1251", "UTF-8", $_POST['gov_app']));
	}
	if($_POST['Client'] == "Foreign_Organization"){
		$objPHPExcel->getActiveSheet()->setCellValue('B29', iconv("Windows-1251", "UTF-8", $_POST['for_name'].", Страна регистрации: ".$_POST['for_country']));
	}
	if($_POST['Contractor'] == "Cadastral_Engineer"){
		$objPHPExcel->getActiveSheet()->setCellValue('AW38', iconv("Windows-1251", "UTF-8", $_POST['Cad_Eng_FIO']));
		$objPHPExcel->getActiveSheet()->setCellValue('BF40', iconv("Windows-1251", "UTF-8", $_POST['Cad_Eng_N_Certificate']));
		$objPHPExcel->getActiveSheet()->setCellValue('X42', iconv("Windows-1251", "UTF-8", $_POST['Cad_Eng_Telephone']));
		$objPHPExcel->getActiveSheet()->setCellValue('B45', iconv("Windows-1251", "UTF-8", "Адрес: ".$_POST['Cad_Eng_Address']));
		$objPHPExcel->getActiveSheet()->setCellValue('B46', iconv("Windows-1251", "UTF-8", "E-Mail: ".$_POST['Cad_Eng_E_mail']));
		$objPHPExcel->getActiveSheet()->setCellValue('W48', iconv("Windows-1251", "UTF-8", $_POST['Cad_Org_name']));
		$fio = explode(" ", $_POST['Cad_Eng_FIO']);
		$name = $fio[1];
		$patr = $fio[2];
		if($patr != ""){
			$tmp = "/ ".$fio[0]." ".$name[0].". ".$patr[0].". /";
		}else{
			$tmp = "/ ".$fio[0]." ".$name[0].". /";
		}
		$objPHPExcel->getActiveSheet()->setCellValue('L50', iconv("Windows-1251", "UTF-8", $tmp));
	}
	
	if($_POST['Contractor'] == "Cadastral_Organization"){
		$objPHPExcel->getActiveSheet()->setCellValue('AW38', iconv("Windows-1251", "UTF-8", $_POST['Cad_Org_Officer']));
		$objPHPExcel->getActiveSheet()->setCellValue('BF40', iconv("Windows-1251", "UTF-8", $_POST['Cad_Org_Document']));
		$objPHPExcel->getActiveSheet()->setCellValue('X42', iconv("Windows-1251", "UTF-8", $_POST['Cad_Org_Telephone']));
		$objPHPExcel->getActiveSheet()->setCellValue('B45', iconv("Windows-1251", "UTF-8", "Адрес: ".$_POST['Cad_Org_Address']));
		$objPHPExcel->getActiveSheet()->setCellValue('B46', iconv("Windows-1251", "UTF-8", "E-Mail: ".$_POST['Cad_Org_E_mail']));
		$objPHPExcel->getActiveSheet()->setCellValue('W48', iconv("Windows-1251", "UTF-8", $_POST['Cad_Org_name']));
	}
	
	$month['01'] = 'января';
	$month['02'] = 'февраля';
	$month['03'] = 'марта';
	$month['04'] = 'апреля';
	$month['05'] = 'мая';
	$month['06'] = 'июня';
	$month['07'] = 'июля';
	$month['08'] = 'августа';
	$month['09'] = 'сентября';
	$month['10'] = 'октября';
	$month['11'] = 'ноября';
	$month['12'] = 'декабря';
	
	$date_e = explode(".", $_POST['Date_End']);
	$date_g = explode(".", $_POST['Date_Get']);
	
	$objPHPExcel->getActiveSheet()->setCellValue('BW33', iconv("Windows-1251", "UTF-8", $date_g[0]));
	$objPHPExcel->getActiveSheet()->setCellValue('CD33', iconv("Windows-1251", "UTF-8", $month[$date_g[1]]));
	$objPHPExcel->getActiveSheet()->setCellValue('CT33', iconv("Windows-1251", "UTF-8", $date_g[2]));
	
	$objPHPExcel->getActiveSheet()->setCellValue('BW50', iconv("Windows-1251", "UTF-8", $date_e[0]));
	$objPHPExcel->getActiveSheet()->setCellValue('CD50', iconv("Windows-1251", "UTF-8", $month[$date_e[1]]));
	$objPHPExcel->getActiveSheet()->setCellValue('CT50', iconv("Windows-1251", "UTF-8", $date_e[2]));
	
	
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	$objWriter->save($_SESSION['userdir']."/GUOKS_".$dname."/1 Титульный лист.xlsx");
	
	//-------------------------------------------------------------------------------------------------------------------------
	//Содержание
	$objPHPExcel = PHPExcel_IOFactory::load("excel/templates/2 Квартира.xlsx");
	$objPHPExcel->setActiveSheetIndex(0);
	//$listcounter[$listnum] = "Заключение кадастрового инженера";
	
	$objPHPExcel->getActiveSheet()->setCellValue('A7', "1");
	$objPHPExcel->getActiveSheet()->setCellValue('I7', iconv("Windows-1251", "UTF-8", "Титульный лист"));
	$objPHPExcel->getActiveSheet()->setCellValue('CP7', "1");
	
	$objPHPExcel->getActiveSheet()->setCellValue('A8', "2");
	$objPHPExcel->getActiveSheet()->setCellValue('I8', iconv("Windows-1251", "UTF-8", "Содержание"));
	$objPHPExcel->getActiveSheet()->setCellValue('CP8', "2");
	
	$objPHPExcel->getActiveSheet()->setCellValue('A9', "3");
	$objPHPExcel->getActiveSheet()->setCellValue('I9', iconv("Windows-1251", "UTF-8", "Исходные данные"));
	$objPHPExcel->getActiveSheet()->setCellValue('CP9', "3");
	
	$objPHPExcel->getActiveSheet()->setCellValue('A10', "4");
	$objPHPExcel->getActiveSheet()->setCellValue('I10', iconv("Windows-1251", "UTF-8", "Характеристики помещения"));
	$objPHPExcel->getActiveSheet()->setCellValue('CP10', "4");
	
	$objPHPExcel->getActiveSheet()->setCellValue('A11', "5");
	$objPHPExcel->getActiveSheet()->setCellValue('I11', iconv("Windows-1251", "UTF-8", "Заключение кадастрового инженера"));
	$objPHPExcel->getActiveSheet()->setCellValue('CP11', "5");
	
	$objPHPExcel->getActiveSheet()->setCellValue('A12', "6");
	$objPHPExcel->getActiveSheet()->setCellValue('I12', iconv("Windows-1251", "UTF-8", "План этажа"));
	$objPHPExcel->getActiveSheet()->setCellValue('CP12', "6");
	
	$p = 0;
	for($i = 1;;$i++){
		if(!isset($_POST['select_doc_'.$i])){
			break;
		}
		$f = fopen("DocumentsTP.csv", "r");
		$data = fgetcsv($f, 1000, ';');
		if($_POST['pages'.$i] != ""){
			$p++;
			for($j = 1;;$j++){
				if($data[0] == $_POST['select_doc_'.$i])
				{
					$docname = $data[1];
					break;
				}
				$data = fgetcsv($f, 1000, ';');
			}
			$k = $i + 1;

			if(isset($_POST['select_doc_'.$k])){
				$objPHPExcel->getActiveSheet()->insertNewRowBefore(12+$p,1);
				$objPHPExcel->getActiveSheet()->mergeCells('A'.(12+$p).':H'.(12+$p));
				$objPHPExcel->getActiveSheet()->mergeCells('I'.(12+$p).':CO'.(12+$p));
				$objPHPExcel->getActiveSheet()->mergeCells('CP'.(12+$p).':DD'.(12+$p));
			}
			if(isset($_POST['select_doc_'.$i])){
				$objPHPExcel->getActiveSheet()->setCellValue('A'.(12+$p), 6+$p);
				$objPHPExcel->getActiveSheet()->setCellValue('I'.(12+$p), iconv("Windows-1251", "UTF-8", $docname));
				$objPHPExcel->getActiveSheet()->setCellValue('CP'.(12+$p), "-");
			}
		}else{
			continue;
		}
	}
	
	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
	$objWriter->save($_SESSION['userdir']."/GUOKS_".$dname."/2 Содержание.xlsx");
	//-------------------------------------------------------------------------------------------------------------------------
	
	$output = iconv("Windows-1251", "UTF-8", $out);
	$fout = fopen($_SESSION['userdir']."/GUOKS_".$dname.".xml", "w");
	fwrite($fout, $output);
	fclose($fout);
	}
	
	
	//------------------------------------------------------------------------
	$out = $_POST['Contractor']."\n";//Динамические элементы
	$out .= $_POST['Client']."\n";
	$out .= "11\n";
	$out .= "add_new_doc;".$_POST['add_new_doc_']."\n";
	$out .= "add_new_kart;".$_POST['add_new_kart_']."\n";
	$out .= "add_new_geo_point;".$_POST['add_new_geo_point_']."\n";
	$out .= "add_new_app;".$_POST['add_new_app_']."\n";
	$out .= "add_new_mat;".$_POST['add_new_mat_']."\n";
	$out .= "add_new_parent;".$_POST['add_new_parent_']."\n";
	$out .= "add_new_obj;".$_POST['add_new_obj_']."\n";
	$out .= "add_new_number_oks;".$_POST['add_new_number_oks_']."\n";
	$out .= "add_new_number;".$_POST['add_new_number_']."\n";
	$out .= "add_new_level;".$_POST['add_new_level_']."\n";
	$out .= "add_new_sub_flat;".$_POST['add_new_sub_flat_']."\n";
	for($i = 1; $i <= $_POST['add_new_sub_flat_']; $i++){
		$out .= "add_new_sub_flat_level;".$_POST['sub_levels'.$i]."\n";
	}
	//Кадастровый инженер
	if($_POST['Contractor'] == "Cadastral_Engineer"){
		$out .= "Cad_Eng_FIO;".$_POST['Cad_Eng_FIO']."\n";
		$out .= "Cad_Eng_N_Certificate;".$_POST['Cad_Eng_N_Certificate']."\n";
		$out .= "Cad_Eng_INN;".$_POST['Cad_Eng_INN']."\n";
		$out .= "Cad_Eng_Telephone;".$_POST['Cad_Eng_Telephone']."\n";
		$out .= "Cad_Eng_E_mail;".$_POST['Cad_Eng_E_mail']."\n";
		$out .= "Cad_Eng_Address;".$_POST['Cad_Eng_Address']."\n";
		$out .= "Cad_Org_name;".$_POST['Cad_Org_name']."\n";
		$out .= "Cad_Org_OGRN;".$_POST['Cad_Org_OGRN']."\n";
		$out .= "Cad_Org_Telephone;".$_POST['Cad_Org_Telephone']."\n";
		$out .= "Cad_Org_E_mail;".$_POST['Cad_Org_E_mail']."\n";
		$out .= "Cad_Org_Address;".$_POST['Cad_Org_Address']."\n";
	}
	if($_POST['Contractor'] == "Cadastral_Organization"){
		$out .= "Cad_Org_name;".$_POST['Cad_Org_name']."\n";
		$out .= "Cad_Org_OGRN;".$_POST['Cad_Org_OGRN']."\n";
		$out .= "Cad_Org_Officer;".$_POST['Cad_Org_Officer']."\n";
		$out .= "Cad_Org_Telephone;".$_POST['Cad_Org_Telephone']."\n";
		$out .= "Cad_Org_E_mail;".$_POST['Cad_Org_E_mail']."\n";
		$out .= "Cad_Org_Address;".$_POST['Cad_Org_Address']."\n";
	}
	$out .= "Date_End;".$_POST['Date_End']."\n";
	for($i = 1; $i <= $_POST['add_new_obj_']; $i++){
		$out .= "objnum_".$i.";".$_POST['objnum_'.$i]."\n";
	}
	//Приборы
	for($i = 1; $i <= $_POST['add_new_app_']; $i++){
		$out .= "device_".$i.";".$_POST['device_'.$i]."\n";
	}
	//Заказчик
	if($_POST['Client'] == "Person"){
		$out .= "Clientfio;".$_POST['Clientfio']."\n";
	}
	if($_POST['Client'] == "Organization"){
		$out .= "org_name;".$_POST['org_name']."\n";
		$out .= "org_fio;".$_POST['org_fio']."\n";
		$out .= "org_app;".$_POST['org_app']."\n";
	}
	if($_POST['Client'] == "Governance"){
		$out .= "gov_name;".$_POST['gov_name']."\n";
		$out .= "gov_fio;".$_POST['gov_fio']."\n";
		$out .= "gov_app;".$_POST['gov_app']."\n";
	}
	if($_POST['Client'] == "Foreign_Organization"){
		$out .= "for_name;".$_POST['for_name']."\n";
		$out .= "for_country;".$_POST['for_country']."\n";
		$out .= "for_fio;".$_POST['for_fio']."\n";
		$out .= "for_app;".$_POST['for_app']."\n";
	}
	$out .= "Date_Get;".$_POST['Date_Get']."\n";
	$out .= "Method;".$_POST['Method']."\n";
	for($i = 1; $i <= $_POST['add_new_obj_']; $i++){
		$out .= "objnum_".$i.";".$_POST['objnum_'.$i]."\n";
	}
	//Характеристики здания
	$out .= "CadastralNumberOKS;".$_POST['CadastralNumberOKS']."\n";
	for($i = 1; $i <= $_POST['add_new_number_oks_']; $i++){
		$out .= "okslist".$i.";".$_POST['okslist'.$i]."\n";
		$out .= "Old_Number_OKS".$i.";".$_POST['Old_Number_OKS'.$i]."\n";
	}
	for($i = 1; $i <= $_POST['add_new_number_']; $i++){
		$out .= "oldnumlist".$i.";".$_POST['oldnumlist'.$i]."\n";
		$out .= "Old_Number".$i.";".$_POST['Old_Number'.$i]."\n";
	}
	$out .= "OKATO;".$_POST['OKATO']."\n";
	$out .= "KLADR;".$_POST['KLADR']."\n";
	$out .= "Postal_Code;".$_POST['Postal_Code']."\n";
	$out .= "region_type;".$_POST['region_type']."\n";
	$out .= "region;".$_POST['region']."\n";
	$out .= "District_type;".$_POST['District_type']."\n";
	$out .= "District;".$_POST['District']."\n";
	$out .= "City_type;".$_POST['City_type']."\n";
	$out .= "City;".$_POST['City']."\n";
	$out .= "City_District;".$_POST['City_District']."\n";
	$out .= "Soviet_Village;".$_POST['Soviet_Village']."\n";
	$out .= "Locality_type;".$_POST['Locality_type']."\n";
	$out .= "Locality;".$_POST['Locality']."\n";
	$out .= "Street_Type;".$_POST['Street_Type']."\n";
	$out .= "Street_Name;".$_POST['Street_Name']."\n";
	$out .= "Level1_Type;".$_POST['Level1_Type']."\n";
	$out .= "Level1_Name;".$_POST['Level1_Name']."\n";
	$out .= "Level2_Type;".$_POST['Level2_Type']."\n";
	$out .= "Level2_Name;".$_POST['Level2_Name']."\n";
	$out .= "Level3_Type;".$_POST['Level3_Type']."\n";
	$out .= "Level3_Name;".$_POST['Level3_Name']."\n";
	$out .= "Level4_Type;".$_POST['Level4_Type']."\n";
	$out .= "Level4_Name;".$_POST['Level4_Name']."\n";
	$out .= "Other;".$_POST['Other']."\n";
	$out .= "note;".$_POST['note']."\n";
	$out .= "dAss_f;".$_POST['dAss_f']."\n";
	$out .= "Area;".$_POST['Area']."\n";
	$out .= "Encumbrance;".$_POST['Encumbrance']."\n";
	//Документы
	for($i = 1; $i <= $_POST['add_new_doc_']; $i++){
		$out .= "select_doc_".$i.";".$_POST['select_doc_'.$i]."\n";
		$out .= "Series".$i.";".$_POST['Series'.$i]."\n";
		$out .= "Number".$i.";".$_POST['Number'.$i]."\n";
		$out .= "Date".$i.";".$_POST['Date'.$i]."\n";
		$out .= "IssueOrgan".$i.";".$_POST['IssueOrgan'.$i]."\n";
		$out .= "NumberReg".$i.";".$_POST['NumberReg'.$i]."\n";
		$out .= "DateReg".$i.";".$_POST['DateReg'.$i]."\n";
		$out .= "Started".$i.";".$_POST['Started'.$i]."\n";
		$out .= "Stopped".$i.";".$_POST['Stopped'.$i]."\n";
		$out .= "Register".$i.";".$_POST['Register'.$i]."\n";
		$out .= "Img_Name".$i.";".$_POST['Img_Name'.$i]."\n";
		$out .= "URL".$i.";".$_POST['URL'.$i]."\n";
		$out .= "Desc".$i.";".$_POST['Desc'.$i]."\n";
		$out .= "IssueOrgan_Code".$i.";".$_POST['IssueOrgan_Code'.$i]."\n";
		$out .= "pages".$i.";".$_POST['pages'.$i]."\n";
	}
	for($i = 1; $i <= $_POST['add_new_level_']; $i++){
		$out .= "leveltype".$i.";".$_POST['leveltype'.$i]."\n";
		$out .= "levelnum".$i.";".$_POST['levelnum'.$i]."\n";
		$out .= "Number_OnPlan".$i.";".$_POST['Number_OnPlan'.$i]."\n";
		$out .= "Description".$i.";".$_POST['Description'.$i]."\n";
		$out .= "DescriptionFile".$i.";".$_POST['DescriptionFile'.$i]."\n";
	}
	
	for($i = 1; $i <= $_POST['add_new_sub_flat_']; $i++){
		$out .= "sub_flat_def".$i.";".$_POST['sub_flat_def'.$i]."\n";
		$out .= "sub_flat_area".$i.";".$_POST['sub_flat_area'.$i]."\n";
		$out .= "sub_flat_desc".$i.";".$_POST['sub_flat_desc'.$i]."\n";
		for($j = 1; $j <= $_POST['sub_levels'.$i]; $j++){
			$out .= "leveltype".$i."_".$j.";".$_POST['leveltype'.$i.'_'.$j]."\n";
			$out .= "levelnum".$i."_".$j.";".$_POST['levelnum'.$i.'_'.$j]."\n";
			$out .= "Number_OnPlan".$i."_".$j.";".$_POST['Number_OnPlan'.$i.'_'.$j]."\n";
			$out .= "Description".$i."_".$j.";".$_POST['Description'.$i.'_'.$j]."\n";
			$out .= "DescriptionFile".$i."_".$j.";".$_POST['DescriptionFile'.$i.'_'.$j]."\n";
		}
	}
	
	$out .= "conclusion;".$_POST['conclusion'];
	
	
	
	$fout = fopen($_SESSION['userdir']."/GUOKS_".$dname.".tpo", "w");
	fwrite($fout, $out);
	fclose($fout);
	//------------------------------------------------------------------------
	if(isset($_POST['submit1'])){
		$file=$_SESSION['userdir']."/GUOKS_".$dname.".tpo";
		header("Content-type: application/zip");
		header("Content-Disposition: attachment; filename=GUOKS_".$dname.".tpo");
		readfile($file); 
	}
	
	
	if(isset($_POST['submit'])){
	$zip = new ZipArchive(); 
	$zip->open($_SESSION['userdir']."/GUOKS_".$dname.".zip", ZIPARCHIVE::CREATE); 
	$filecontents = file_get_contents($_SESSION['userdir']."/GUOKS_".$dname.".xml");
	$zip->addFromString("GUOKS_".$dname.".xml", $filecontents); 
	
	/*$filecontents = file_get_contents($_SESSION['userdir']."/GUOKS_".$dname.".tpo");
	$zip->addFromString("GUOKS_".$dname.".tpo", $filecontents); */
	
	$zip->addEmptyDir("Images");	
	
	$filecontents = file_get_contents($_SESSION['userdir']."/GUOKS_".$dname."/1 Титульный лист.xlsx");
	$filename = iconv('windows-1251', 'cp866', "1 Титульный лист.xlsx");
	$zip->addFromString("Images/".$filename, $filecontents);
	
	
	$filecontents = file_get_contents($_SESSION['userdir']."/GUOKS_".$dname."/2 Содержание.xlsx");
	$filename = iconv('windows-1251', 'cp866', "2 Содержание.xlsx");
	$zip->addFromString("Images/".$filename, $filecontents); 
	
	
	$filecontents = file_get_contents($_SESSION['userdir']."/GUOKS_".$dname."/3 Исходные данные.xlsx");
	$filename = iconv('windows-1251', 'cp866', "3 Исходные данные.xlsx");
	$zip->addFromString("Images/".$filename, $filecontents); 
	
	
	$filecontents = file_get_contents($_SESSION['userdir']."/GUOKS_".$dname."/4 Характеристика помещения.xlsx");
	$filename = iconv('windows-1251', 'cp866', "4 Характеристики здания.xlsx");
	$zip->addFromString("Images/".$filename, $filecontents);
	
	
	$filecontents = file_get_contents($_SESSION['userdir']."/GUOKS_".$dname."/5 Заключение кадастрового инженера.xlsx");
	$filename = iconv('windows-1251', 'cp866', "5 Заключение кадастрового инженера.xlsx");
	$zip->addFromString("Images/".$filename, $filecontents);
	
	$zip->close(); 
function libxml_display_error($error){
    $return = "<br/>\n";
    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "<b>ПРЕДУПРЕЖДЕНИЕ $error->code</b>: ";
            break;
        case LIBXML_ERR_ERROR:
            $return .= "<b>ОШИБКА $error->code</b>: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "<b>ФАТАЛЬНАЯ ОШИБКА $error->code</b>: ";
            break;
    }
	$flag = 0;
	if($error->code == "1874"){
		$return .= "Элемент <b>'";
		$errmes = trim($error->message);
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> содержит атрибут <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>, имеющий значение <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= ",</b> которое не совпадает с фиксированным значением <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>.";
		$flag = 1;
	}
	
	if($error->code == "1871"){
		$errmes = trim($error->message);
		$pos = strpos($errmes, "Missing child element(s).");
		if($pos){
			$return .= "В элементе <b>'";
			for($i = 9;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> не хватает дочернего(их) элемента(ов), ожидается(ются) элемент(ы) <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "(" && $errmes[$i + 1] == " ")
					break;
			}
			for($i = $i + 2;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i + 1] == " " && $errmes[$i + 2] == ")")
					break;
			}
			$return .= "'</b>.";
		}
		$pos = strpos($errmes, "This element is not expected.");
		if($pos){
			$pos = strpos($errmes, "This element is not expected. Expected");
			if($pos){
				$return .= "Элемент <b>'";
				for($i = 9;;$i++){
					$return .= $errmes[$i];
					if($errmes[$i] == "'")
						break;
				}
				$return .= "</b> находится в недопустимом месте, ожидается(ются) элемент(ы) <b>'";
				for($i = $i + 1;;$i++){
					if($errmes[$i] == "(" && $errmes[$i + 1] == " ")
						break;
				}
				for($i = $i + 2;;$i++){
					$return .= $errmes[$i];
					if($errmes[$i + 1] == " " && $errmes[$i + 2] == ")")
						break;
				}
				$return .= "'</b>.";
			}else{
				$return .= "Элемент <b>'";
				for($i = 9;;$i++){
					$return .= $errmes[$i];
					if($errmes[$i] == "'")
						break;
				}
				$return .= "</b> находится в недопустимом месте.";
			}
		}
		$flag = 1;
	}
	
	if($error->code == "1824"){
		$errmes = trim($error->message);
		$pos = strpos($errmes, ", attribute");
		if($pos){
			$return .= "В элементе <b>'";
			for($i = 9;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> атрибут <b>'";
			for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> имеет значение <b>'";
			for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b>, которое не соответствует его типу.";
		}else{
			$return .= "Элемент <b>'";
			for($i = 9;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> имеет значение <b>'";
			for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b>, которое не соответствует его типу.";
		}
		$flag = 1;
	}
	
	if($error->code == "1828"){
		$errmes = trim($error->message);
		$return .= "Элемент <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> должен содержать внутри себя его значение, а найден другой элемент.";
		$flag = 1;
	}
	
	if($error->code == "1840"){
		$errmes = trim($error->message);
		$return .= "Элемент <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> содержит значение, которое не входит в список допустимых, например: <b>";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "{")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i + 1] == "}")
				break;
		}
		$return .= "</b>.";
		$flag = 1;
	}
	if($error->code == "1831"){
		$errmes = trim($error->message);
		if(strpos($errmes, ", attribute")){
			$return .= "Элемент <b>'";
			for($i = 9;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> имеет атрибут <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> со значением <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> длинной <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов), поэтому не достигает необходимый минимум в <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов).";
		}else{
			$return .= "Элемент <b>'";
			for($i = 9;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> имеет длинну значения <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов), поэтому не достигает необходимый минимум в <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов).";
		}
		$flag = 1;
	}
	
	if($error->code == "1832"){
		$errmes = trim($error->message);
		if(strpos($errmes, ", attribute")){
			$return .= "Элемент <b>'";
			for($i = 9;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> имеет атрибут <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> со значением <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> длинной <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов), поэтому превышает обязательный максимум в <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов).";
		}else{
			$return .= "Элемент <b>'";
			for($i = 9;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> имеет длинну значения <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов), поэтому превышает обязательный максимум в <b>'";
			for($i = $i + 1;;$i++){
				if($errmes[$i] == "'")
					break;
			}
			for($i = $i + 1;;$i++){
				$return .= $errmes[$i];
				if($errmes[$i] == "'")
					break;
			}
			$return .= "</b> символа(ов).";
		}
		$flag = 1;
	}
	if($error->code == "1839"){
		$errmes = trim($error->message);
		$return .= "Элемент <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> содержит атрибут <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>, имеющий значение <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>, которое не соответствует шаблону <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>.";
		$flag = 1;
	}
	if($error->code == "1833"){
		$errmes = trim($error->message);
		$return .= "Элемент <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> имеет значение <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>, которое является меньшим, чем минимально допустимое: <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>.";
		$flag = 1;
	}
	
	if($error->code == "1834"){
		$errmes = trim($error->message);
		$return .= "Элемент <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> имеет значение <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>, которое является большим, чем максимально допустимое: <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>.";
		$flag = 1;
	}
	
	if($error->code == "1843"){
		$errmes = trim($error->message);
		$return .= "Элемент <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> имеет внутри себя символы, выходящие за пределы контейнеров <b><></b>.";
		$flag = 1;
	}
	
	if($error->code == "1845"){
		$errmes = trim($error->message);
		$return .= "Элемент <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> не найден в XML-схеме.";
		$flag = 1;
	}
	
	if($error->code == "1868"){
		$errmes = trim($error->message);
		$return .= "В элементе <b>'";
		for($i = 9;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b> не хватает обязательного атрибута <b>'";
		for($i = $i + 1;;$i++){
			if($errmes[$i] == "'")
				break;
		}
		for($i = $i + 1;;$i++){
			$return .= $errmes[$i];
			if($errmes[$i] == "'")
				break;
		}
		$return .= "</b>.";
		$flag = 1;
	}
	if($flag == 0)
		$return .= trim($error->message);
    return $return;
}

function libxml_display_errors() {
    $errors = libxml_get_errors();
    foreach ($errors as $error) {
        print libxml_display_error($error);
    }
    libxml_clear_errors();
}

// Enable user error handling
libxml_use_internal_errors(true);

$xml = new DOMDocument();
$xml->load($_SESSION['userdir']."/GUOKS_".$dname.".xml");

if (!$xml->schemaValidate('C:\Разработка\doc_V02_STD_TP\V02_STD_TP\STD_TP.xsd')) {
    print '<b>DOMDocument::schemaValidate() Generated Errors!</b>';
    libxml_display_errors();
}else{	
	$filename = iconv('windows-1251', 'cp866', $filename);
	$file=$_SESSION['userdir']."/GUOKS_".$dname.".zip";
	$size = filesize($file);
	header("Content-type: application/zip");
	header("Content-Length: ".$size);
	header("Content-Disposition: attachment; filename=GUOKS_".$dname.".zip");
	readfile($file); 
	}
}
?>