<?php
	session_start();
	if(strpos($_SESSION['userdir'], "new_mp")){
	}else{
		$_SESSION['userdir'] = $_SESSION['userdir']."/new_mp";
	}
	
	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']);
	
	$out = "<?xml version='1.0' encoding='UTF-8'?>\n";
	$out .= "<!-- Изготовлено с помощью системы tehplan-online.ru -->\n";
	$out .= "<STD_MP>\n";
		$out .= "<eDocument CodeType = '014' Version = '04' GUID = '".$GUID."'/>\n";
		$out .= "<Title>\n";
			$out .= "<Contractor Date='".$date_e[2]."-".$date_e[1]."-".$date_e[0]."'>\n";
				$out .= "<FIO>\n";
					$Cad_Eng_FIO = explode(" ", trim($_POST['Cad_Eng_FIO']));
					$out .= "<Surname>";//Фамилия
					$out .= $Cad_Eng_FIO[0];
					$out .= "</Surname>\n";
					$out .= "<First>";//Имя
					$out .= $Cad_Eng_FIO[1];
					$out .= "</First>\n";
					if(isset($Cad_Eng_FIO[2])){
					$out .= "<Patronymic>";//Отчество
					$out .= $Cad_Eng_FIO[2];
					$out .= "</Patronymic>\n";
					}
				$out .= "</FIO>\n";
				$out .= "<N_Certificate>".$_POST['Cad_Eng_N_Certificate']."</N_Certificate>\n";
				$out .= "<Telephone>".$_POST['Cad_Eng_Telephone']."</Telephone>\n";
				$out .= "<Address>".$_POST['Cad_Eng_Address']."</Address>\n";
				$out .= "<E_mail>".$_POST['Cad_Eng_E_mail']."</E_mail>\n";
				$out .= "<Organization>".$_POST['Cad_Org_name']."</Organization>\n";
			$out .= "</Contractor>\n";
			if($_POST['Purpose']){
			$out .= "<Purpose>".$_POST['Purpose']."</Purpose>\n";
			}
			$out .= "<Reason>".$_POST['Reason']."</Reason>\n";
			$out .= "<Client Date = '".$date_g[2]."-".$date_g[1]."-".$date_g[0]."'>\n";
				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>\n";
		$out .= "</Title>\n";
		$out .= "<Package>\n";
			$out .= "<FormParcels Method='".$_POST['Method']."'>\n";
				for($i = 1; $i <= $_POST['add_new_parcel_']; $i++){
					$out .= "<NewParcel Definition='".$_POST['Definition'.$i]."'>\n";
						$out .= "<CadastralBlock>".$_POST['CadastralBlock'.$i]."</CadastralBlock>\n";
						if($_POST['numprev'.$i] > 0){
							$out .= "<Prev_CadastralNumbers>\n";
							for($j = 1; $j <= $_POST['numprev'.$i]; $j++){
								$out .= "<CadastralNumber>".$_POST['prevnum'.$i.'_'.$j]."</CadastralNumber>\n";
							}
							$out .= "</Prev_CadastralNumbers>\n";
						}
						if($_POST['numprovide'.$i] > 0){
							$out .= "<Providing_Pass_CadastralNumbers>\n";
							for($j = 1; $j <= $_POST['numprovide'.$i]; $j++){
								$out .= "<CadastralNumber>".$_POST['provide'.$i.'_'.$j]."</CadastralNumber>\n";
							}
							$out .= "</Providing_Pass_CadastralNumbers>\n";
						}
						if($_POST['numinner'.$i] > 0){
							$out .= "<Inner_CadastralNumbers>\n";
							for($j = 1; $j <= $_POST['numinner'.$i]; $j++){
								$out .= "<CadastralNumber>".$_POST['inner'.$i.'_'.$j]."</CadastralNumber>\n";
							}
							$out .= "</Inner_CadastralNumbers>\n";
						}
						$out .= "<Area>\n";
							$out .= "<Area>".$_POST['TotalArea'.$i]."</Area>\n";
							$out .= "<Unit>055</Unit>\n";
							$out .= "<Innccuracy>".$_POST['TotalIncuracy'.$i]."</Innccuracy>\n";
						$out .= "</Area>\n";
						$out .= "<Location>\n";
							$out .= "<Code_OKATO>".$_POST['OKATO'.$i]."</Code_OKATO>\n";
							$out .= "<Code_KLADR>".$_POST['KLADR'.$i]."</Code_KLADR>\n";
							if($_POST['Postal_Code'.$i]){
								$out .= "<Postal_Code>".$_POST['Postal_Code'.$i]."</Postal_Code>\n";
							}
							$out .= "<Region>".$_POST['region'.$i]."</Region>\n";
							if($_POST['District'.$i]){
								$out .= "<District Name='".$_POST['District'.$i]."' Type='".$_POST['District_type'.$i]."'></District>\n";
							}
							if($_POST['City'.$i]){
								$out .= "<City Name='".$_POST['City'.$i]."' Type='".$_POST['City_type'.$i]."'></City>\n";
							}
							if($_POST['City_District'.$i]){
								$out .= "<Urban_District Name='".$_POST['City_District'.$i]."' Type='р-н'></Urban_District>\n";
							}
							if($_POST['Soviet_Village'.$i]){
								$out .= "<Soviet_Village Name='".$_POST['Soviet_Village'.$i]."' Type='c/c'></Soviet_Village>\n";
							}
							if($_POST['Locality'.$i]){
								$out .= "<Locality Name='".$_POST['Locality'.$i]."' Type='".$_POST['Locality_type'.$i]."'></Locality>\n";
							}
							if($_POST['Street_Name'.$i]){
								$out .= "<Street Name='".$_POST['Street_Name'.$i]."' Type='".$_POST['Street_Type'.$i]."'></Street>\n";
							}
							if($_POST['Level1_Name'.$i]){
								$out .= "<Level1 Type='".$_POST['Level1_Type'.$i]."' Value='".$_POST['Level1_Name'.$i]."'></Level1>\n";
							}
							if($_POST['Level2_Name'.$i]){
								$out .= "<Level2 Type='".$_POST['Level2_Type'.$i]."' Value='".$_POST['Level2_Name'.$i]."'></Level2>\n";
							}
							if($_POST['Level3_Name'.$i]){
								$out .= "<Level3 Type='".$_POST['Level3_Type'.$i]."' Value='".$_POST['Level3_Name'.$i]."'></Level3>\n";
							}
							if($_POST['Level4_Name'.$i]){
								$out .= "<Apartment Type='".$_POST['Level4_Type'.$i]."' Value='".$_POST['Level4_Name'.$i]."'></Apartment>\n";
							}
							if($_POST['note'.$i]){
								$out .= "<Note>".$_POST['note'.$i]."</Note>\n";
							}
						$out .= "</Location>\n";
						$out .= "<Category Category='".$_POST['Category'.$i]."'></Category>\n";
						$out .= "<Utilization Utilization='".$_POST['Util'.$i]."' ByDoc='".$_POST['ByDoc'.$i]."'></Utilization>\n";
						
						if($_POST['totalcont'.$i] == 1){
							$out .= "<Entity_Spatial Ent_Sys='ID_01'>\n";
								$out .= "<Spatial_Element>\n";
									for($j = 1; $j <= $_POST['m_total_point'.$i.'_1']; $j++){
										$out .= "<Spelement_Unit Type_Unit='Точка'>\n";
											$input = $_POST['m_point_num'.$i.'_1_'.$j];
											if($input[0] == "н"){
												$Num_Geopoint = "";
												
												for($m = 1; $m < strlen($_POST['m_point_num'.$i.'_1_'.$j]); $m++)
													$Num_Geopoint .= $input[$m];
																
												$out .= "<NewOrdinate X = '".$_POST['m_point_x'.$i.'_1_'.$j]."' Y = '".$_POST['m_point_y'.$i.'_1_'.$j]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['m_point_zac'.$i.'_1_'.$j]."' Delta_Geopoint = '".$_POST['precision'.$i.'_1']."' Point_Pref = 'н'/>\n";
											}else{
												$Num_Geopoint = $_POST['m_point_num'.$i.'_1_'.$j];
												$out .= "<OldOrdinate X = '".$_POST['m_point_x'.$i.'_1_'.$j]."' Y = '".$_POST['m_point_y'.$i.'_1_'.$j]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['m_point_zac'.$i.'_1_'.$j]."' Delta_Geopoint = '".$_POST['precision'.$i.'_1']."'/>\n";
											}
										$out .= "</Spelement_Unit>\n";
									}
								$out .= "</Spatial_Element>\n";
								for($j = 1; $j <= $_POST['total_parts'.$i.'_1']; $j++){
									$out .= "<Spatial_Element>\n";
									for($k = 1; $k <= $_POST['total_part_points'.$i.'_1_'.$j]; $k++){
										$out .= "<Spelement_Unit Type_Unit='Точка'>\n";
										$input = $_POST['p_point_num'.$i.'_1_'.$j.'_'.$k];
										if($input[0] == "н"){
											$Num_Geopoint = "";
											
											for($m = 1; $m < strlen($_POST['p_point_num'.$i.'_1_'.$j.'_'.$k]); $m++)
												$Num_Geopoint .= $input[$m];
															
											$out .= "<NewOrdinate X = '".$_POST['p_point_x'.$i.'_1_'.$j.'_'.$k]."' Y = '".$_POST['p_point_y'.$i.'_1_'.$j.'_'.$k]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['p_point_zac'.$i.'_1_'.$j.'_'.$k]."' Delta_Geopoint = '".$_POST['precision'.$i.'_1']."' Point_Pref = 'н'/>\n";
										}else{
											$Num_Geopoint = $_POST['p_point_num'.$i.'_1_'.$j.'_'.$k];
											$out .= "<OldOrdinate X = '".$_POST['p_point_x'.$i.'_1_'.$j.'_'.$k]."' Y = '".$_POST['p_point_y'.$i.'_1_'.$j.'_'.$k]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['p_point_zac'.$i.'_1_'.$j.'_'.$k]."' Delta_Geopoint = '".$_POST['precision'.$i.'_1']."'/>\n";
										}
										$out .= "</Spelement_Unit>\n";
									}
									$out .= "</Spatial_Element>\n";
								}
							$out .= "</Entity_Spatial>\n";
						}
						if($_POST['totalcont'.$i] > 1){
							$out .= "<Contours>\n";
							for($j = 1; $j <= $_POST['totalcont'.$i]; $j++){
								$out .= "<NewContour Definition = '".$_POST['Definition'.$i]."(".$j.")'>\n";
									$out .= "<Area>\n";
										$out .= "<Area>".$_POST['area'.$i.'_'.$j]."</Area>\n";
										$out .= "<Unit>055</Unit>\n";
										$out .= "<Innccuracy>".round($_POST['delta'.$i.'_'.$j])."</Innccuracy>\n";
									$out .= "</Area>\n";
									$out .= "<Entity_Spatial Ent_Sys='ID_01'>\n";
										$out .= "<Spatial_Element>\n";
											for($k = 1; $k <= $_POST['m_total_point'.$i.'_'.$j]; $k++){
												$out .= "<Spelement_Unit Type_Unit='Точка'>\n";
													$input = $_POST['m_point_num'.$i.'_'.$j.'_'.$k];
													if($input[0] == "н"){
														$Num_Geopoint = "";
														
														for($m = 1; $m < strlen($_POST['m_point_num'.$i.'_'.$j.'_'.$k]); $m++)
															$Num_Geopoint .= $input[$m];
																		
														$out .= "<NewOrdinate X = '".$_POST['m_point_x'.$i.'_'.$j.'_'.$k]."' Y = '".$_POST['m_point_y'.$i.'_'.$j.'_'.$k]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['m_point_zac'.$i.'_'.$j.'_'.$k]."' Delta_Geopoint = '".$_POST['precision'.$i.'_'.$j]."' Point_Pref = 'н'/>\n";
													}else{
														$Num_Geopoint = $_POST['m_point_num'.$i.'_'.$j.'_'.$k];
														$out .= "<OldOrdinate X = '".$_POST['m_point_x'.$i.'_'.$j.'_'.$k]."' Y = '".$_POST['m_point_y'.$i.'_'.$j.'_'.$k]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['m_point_zac'.$i.'_'.$j.'_'.$k]."' Delta_Geopoint = '".$_POST['precision'.$i.'_'.$j]."'/>\n";
													}
												$out .= "</Spelement_Unit>\n";
											}
										$out .= "</Spatial_Element>\n";
										for($k = 1; $k <= $_POST['total_parts'.$i.'_'.$j]; $k++){
											$out .= "<Spatial_Element>\n";
											for($l = 1; $l <= $_POST['total_part_points'.$i.'_'.$j.'_'.$k]; $l++){
												$out .= "<Spelement_Unit Type_Unit='Точка'>\n";
												$input = $_POST['p_point_num'.$i.'_'.$j.'_'.$k.'_'.$l];
												if($input[0] == "н"){
													$Num_Geopoint = "";
													
													for($m = 1; $m < strlen($_POST['p_point_num'.$i.'_'.$j.'_'.$k.'_'.$l]); $m++)
														$Num_Geopoint .= $input[$m];
																	
													$out .= "<NewOrdinate X = '".$_POST['p_point_x'.$i.'_'.$j.'_'.$k.'_'.$l]."' Y = '".$_POST['p_point_y'.$i.'_'.$j.'_'.$k.'_'.$l]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['p_point_zac'.$i.'_'.$j.'_'.$k.'_'.$l]."' Delta_Geopoint = '".$_POST['precision'.$i.'_'.$j]."' Point_Pref = 'н'/>\n";
												}else{
													$Num_Geopoint = $_POST['p_point_num'.$i.'_'.$j.'_'.$k.'_'.$l];
													$out .= "<OldOrdinate X = '".$_POST['p_point_x'.$i.'_'.$j.'_'.$k.'_'.$l]."' Y = '".$_POST['p_point_y'.$i.'_'.$j.'_'.$k.'_'.$l]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['p_point_zac'.$i.'_'.$j.'_'.$k.'_'.$l]."' Delta_Geopoint = '".$_POST['precision'.$i.'_'.$j]."'/>\n";
												}
												$out .= "</Spelement_Unit>\n";
											}
											$out .= "</Spatial_Element>\n";
										}
									$out .= "</Entity_Spatial>\n";
								$out .= "</NewContour>\n";
							}
							$out .= "</Contours>\n";
						}
						if($_POST['Lim_Min'.$i]){
							$out .= "<Min_Area>\n";
								$out .= "<Area>".$_POST['Lim_Min'.$i]."</Area>\n";
								$out .= "<Unit>055</Unit>\n";
							$out .= "</Min_Area>\n";
						}
						if($_POST['Lim_Max'.$i]){
							$out .= "<Max_Area>\n";
								$out .= "<Area>".$_POST['Lim_Max'.$i]."</Area>\n";
								$out .= "<Unit>055</Unit>\n";
							$out .= "</Max_Area>\n";
						}
					$out .= "</NewParcel>\n";
				}
				for($i = 1; $i <= $_POST['add_new_rel_parcel_']; $i++){
					$out .= "<SpecifyRelatedParcel CadastralNumber='".$_POST['Rel_Cad_Num'.$i]."'>\n";
						$out .= "<AllBorder>\n";
							$out .= "<Entity_Spatial Ent_Sys='ID_01'>\n";
								$out .= "<Spatial_Element>\n";
								for($j = 1; $j <= $_POST['total_old_points'.$i]; $j++){
									$out .= "<Spelement_Unit Type_Unit='Точка'>\n";
									$input = $_POST['input_old_number'.$i.'_'.$j];
									if($input[0] == "н"){
										$Num_Geopoint = "";
										
										for($m = 1; $m < strlen($_POST['input_old_number'.$i.'_'.$j]); $m++)
											$Num_Geopoint .= $input[$m];
																		
										$out .= "<OldOrdinate X = '".$_POST['input_old_cx'.$i.'_'.$j]."' Y = '".$_POST['input_old_cy'.$i.'_'.$j]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['input_old_lock'.$i.'_'.$j]."' Delta_Geopoint = '".$_POST['rel_precision'.$i]."' Point_Pref = 'н'/>\n";
									}else{
										$Num_Geopoint = $_POST['input_old_number'.$i.'_'.$j];
										$out .= "<OldOrdinate X = '".$_POST['input_old_cx'.$i.'_'.$j]."' Y = '".$_POST['input_old_cy'.$i.'_'.$j]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['input_old_lock'.$i.'_'.$j]."' Delta_Geopoint = '".$_POST['rel_precision'.$i]."'/>\n";
									}
									$out .= "</Spelement_Unit>\n";
								}
								for($j = 1; $j <= $_POST['total_new_points'.$i]; $j++){
									$out .= "<Spelement_Unit Type_Unit='Точка'>\n";
									$input = $_POST['input_new_number'.$i.'_'.$j];
									if($input[0] == "н"){
										$Num_Geopoint = "";
										
										for($m = 1; $m < strlen($_POST['input_new_number'.$i.'_'.$j]); $m++)
											$Num_Geopoint .= $input[$m];
																		
										$out .= "<NewOrdinate X = '".$_POST['input_new_cx'.$i.'_'.$j]."' Y = '".$_POST['input_new_cy'.$i.'_'.$j]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['input_new_lock'.$i.'_'.$j]."' Delta_Geopoint = '".$_POST['rel_precision'.$i]."' Point_Pref = 'н'/>\n";
									}else{
										$Num_Geopoint = $_POST['input_new_number'.$i.'_'.$j];
										$out .= "<NewOrdinate X = '".$_POST['input_new_cx'.$i.'_'.$j]."' Y = '".$_POST['input_new_cy'.$i.'_'.$j]."' Num_Geopoint = '".$Num_Geopoint."' Geopoint_Zacrep = '".$_POST['input_new_lock'.$i.'_'.$j]."' Delta_Geopoint = '".$_POST['rel_precision'.$i]."'/>\n";
									}
									$out .= "</Spelement_Unit>\n";
								}
								$out .= "</Spatial_Element>\n";
							$out .= "</Entity_Spatial>\n";
						$out .= "</AllBorder>\n";
					$out .= "</SpecifyRelatedParcel>\n";
				}
			$out .= "</FormParcels>\n";
		$out .= "</Package>\n";
		$out .= "<Coord_Systems>\n";
			$out .= "<Coord_System Name='".$_POST['coord_sys']."' Cs_Id='ID_01'/>\n";
		$out .= "</Coord_Systems>\n";
		$out .= "<Input_Data>\n";
		if($_POST['add_new_doc_'] > 0){
			$out .= "<Documents>\n";
			for($i = 1; $i <= $_POST['add_new_doc_']; $i++){
				$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>\n"; //Реквизиты документов
					$out .= "<Code_Document>"; //Код документа
					$out .= $_POST['select_doc_'.$i];
					$out .= "</Code_Document>\n";
					$out .= "<Name>"; //Наименование документа
					$out .= $docname;
					$out .= "</Name>\n";
					if($_POST['Series'.$i] != ""){
						$out .= "<Series>";
						$out .= $_POST['Series'.$i];
						$out .= "</Series>\n";
					}
					if($_POST['Number'.$i] != ""){
						$out .= "<Number>";
						$out .= $_POST['Number'.$i];
						$out .= "</Number>\n";
					}
					if($_POST['Date'.$i] != ""){
						$docd = explode(".", $_POST['Date'.$i]);
						$out .= "<Date>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</Date>\n";
					}
					if($_POST['IssueOrgan'.$i] != ""){
						$out .= "<IssueOrgan>";
						$out .= $_POST['IssueOrgan'.$i];
						$out .= "</IssueOrgan>\n";
					}
					if($_POST['NumberReg'.$i] != ""){
						$out .= "<NumberReg>";
						$out .= $_POST['NumberReg'.$i];
						$out .= "</NumberReg>\n";
					}
					if($_POST['DateReg'.$i] != ""){
						$docd = explode(".", $_POST['DateReg'.$i]);
						$out .= "<DateReg>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</DateReg>\n";
					}
					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>\n";
					}
					if($_POST['Register'.$i] != ""){
						$out .= "<Register>";
						$out .= $_POST['Register'.$i];
						$out .= "</Register>\n";
					}
					if($_POST['Desc'.$i] != ""){
						$out .= "<Desc>";
						$out .= $_POST['Desc'.$i];
						$out .= "</Desc>\n";
					}
					if($_POST['IssueOrgan_Code'.$i] != ""){
						$out .= "<IssueOrgan_Code>";
						$out .= $_POST['IssueOrgan_Code'.$i];
						$out .= "</IssueOrgan_Code>\n";
					}
					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 .= "<AppliedFiles>";
						$out .= "<AppliedFile Kind='02' Name = 'Images\\".$_POST['Img_Name'.$i]."'/>";
						$out .= "</AppliedFiles>\n";
					}
				$out .= "</Document>\n";
			}
			$out .= "</Documents>\n";
		}
		if($_POST['add_new_geo_point_'] > 0){
			$out .= "<Geodesic_Bases>\n";
			for($i = 1; $i <= $_POST['add_new_geo_point_']; $i++){
				$out .= "<Geodesic_Base>\n";
					$out .= "<PName>".$_POST['geoname_'.$i]."</PName>\n";
					$out .= "<PKind>".$_POST['geotype_'.$i]."</PKind>\n";
					$out .= "<PKlass>".$_POST['geoclass_'.$i]."</PKlass>\n";
					$out .= "<OrdX>".$_POST['geox_'.$i]."</OrdX>\n";
					$out .= "<OrdY>".$_POST['geoy_'.$i]."</OrdY>\n";
				$out .= "</Geodesic_Base>\n";
			}
			$out .= "</Geodesic_Bases>\n";
		}
		if($_POST['add_new_app_'] > 0){
			$out .= "<Means_Survey>\n";
			for($i = 1; $i <= $_POST['add_new_app_']; $i++){
				$dev = explode("$", $_POST['device_'.$i]);
				$out .= "<Means_Survey>\n";
					$out .= "<Name>".$dev[0]."</Name>\n";
					$out .= "<Certificate>".$dev[1]."</Certificate>\n";
					$out .= "<Certificate_Verification>".$dev[2]."</Certificate_Verification>\n";
				$out .= "</Means_Survey>\n";
			}
			$out .= "</Means_Survey>\n";
		}
		$out .= "</Input_Data>\n";
		$out .= "<Conclusion>\n";
		$out .= $_POST['conclusion'];
		$out .= "</Conclusion>\n";
		if($_POST['file_geo']){
			$out .= "<Scheme_Geodesic_Plotting>\n";
				$out .= "<AppliedFile Kind='02' Name='Images\\".$_POST['file_geo']."'/>\n";
			$out .= "</Scheme_Geodesic_Plotting>\n";
		}
		if($_POST['file_pos']){
			$out .= "<Scheme_Disposition_Parcels>\n";
				$out .= "<AppliedFile Kind='02' Name='Images\\".$_POST['file_pos']."'/>\n";
			$out .= "</Scheme_Disposition_Parcels>\n";
		}
		$out .= "<Diagram_Parcels_SubParcels>\n";
			$out .= "<AppliedFile Kind='02' Name='Images\\".$_POST['file_par']."'/>\n";
		$out .= "</Diagram_Parcels_SubParcels>\n";
		if($_POST['add_new_doc_'] > 0){
			$out .= "<Appendix>\n";
			for($i = 1; $i <= $_POST['add_new_doc_']; $i++){
				$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>\n"; //Реквизиты документов
					$out .= "<Code_Document>"; //Код документа
					$out .= $_POST['select_doc_'.$i];
					$out .= "</Code_Document>\n";
					$out .= "<Name>"; //Наименование документа
					$out .= $docname;
					$out .= "</Name>\n";
					if($_POST['Series'.$i] != ""){
						$out .= "<Series>";
						$out .= $_POST['Series'.$i];
						$out .= "</Series>\n";
					}
					if($_POST['Number'.$i] != ""){
						$out .= "<Number>";
						$out .= $_POST['Number'.$i];
						$out .= "</Number>\n";
					}
					if($_POST['Date'.$i] != ""){
						$docd = explode(".", $_POST['Date'.$i]);
						$out .= "<Date>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</Date>\n";
					}
					if($_POST['IssueOrgan'.$i] != ""){
						$out .= "<IssueOrgan>";
						$out .= $_POST['IssueOrgan'.$i];
						$out .= "</IssueOrgan>\n";
					}
					if($_POST['NumberReg'.$i] != ""){
						$out .= "<NumberReg>";
						$out .= $_POST['NumberReg'.$i];
						$out .= "</NumberReg>\n";
					}
					if($_POST['DateReg'.$i] != ""){
						$docd = explode(".", $_POST['DateReg'.$i]);
						$out .= "<DateReg>";
						$out .= $docd[2]."-".$docd[1]."-".$docd[0];
						$out .= "</DateReg>\n";
					}
					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>\n";
					}
					if($_POST['Register'.$i] != ""){
						$out .= "<Register>";
						$out .= $_POST['Register'.$i];
						$out .= "</Register>\n";
					}
					if($_POST['Desc'.$i] != ""){
						$out .= "<Desc>";
						$out .= $_POST['Desc'.$i];
						$out .= "</Desc>\n";
					}
					if($_POST['IssueOrgan_Code'.$i] != ""){
						$out .= "<IssueOrgan_Code>";
						$out .= $_POST['IssueOrgan_Code'.$i];
						$out .= "</IssueOrgan_Code>\n";
					}
					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 .= "<AppliedFiles>";
						$out .= "<AppliedFile Kind='02' Name = 'Images\\".$_POST['Img_Name'.$i]."'/>";
						$out .= "</AppliedFiles>\n";
					}
				$out .= "</Document>\n";
			}
			$out .= "</Appendix>\n";
		}
	$out .= "</STD_MP>";
	$output = iconv("Windows-1251", "UTF-8", $out);
	$fout = fopen($_SESSION['userdir']."/GKUZU_".$GUID.".xml", "w");
	fwrite($fout, $output);
	fclose($fout);
	$zip = new ZipArchive(); 
	$zip->open($_SESSION['userdir']."/GKUZU_".$GUID.".zip", ZIPARCHIVE::CREATE); 
	$filecontents = file_get_contents($_SESSION['userdir']."/GKUZU_".$GUID.".xml");
	$zip->addFromString("GKUZU_".$GUID.".xml", $filecontents); 
	
	$zip->addEmptyDir("Images");
	
	$zip->close(); 
	
	//------------------------------
function libxml_display_error($error)
{
    $return = "<br/>\n";
    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "<b>Warning $error->code</b>: ";
            break;
        case LIBXML_ERR_ERROR:
            $return .= "<b>Error $error->code</b>: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "<b>Fatal Error $error->code</b>: ";
            break;
    }
    $return .= trim($error->message);
    if ($error->file) {
        $return .=    " in <b>$error->file</b>";
    }
    $return .= " on line <b>$error->line</b>\n";

    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']."/GKUZU_".$GUID.".xml");

if(!$xml->schemaValidate('C:\Разработка\doc_V04_STD_MP\V04_STD_MP\STD_MP.xsd')){
    print '<b>При проверке документа возникли ошибки:</b>';
    libxml_display_errors();
}else{
	$file=$_SESSION['userdir']."/GKUZU_".$GUID.".zip";
	$size = filesize($file);
	header("Content-type: application/zip");
	header("Content-Length: ".$size);
	header("Content-Disposition: attachment; filename=GKUZU_".$GUID.".zip");
	readfile($file);
}
?>