
/*
   Функция вызова окна для регистрации нового проекта
*/

function reg_prj_form() {
  show_reg_win = window.open("prj_reg_win.php","reg_win","title,status,resizable,scrollbars,width=650, height=510, left=100, top=20");
  show_reg_win.focus(); 
}

// *****************************************************************************************************

/*
   Функция активации регистрации проекта
*/

function reg_prg(form) {
  form.action = "insert_project.php";
  if (form.prj_name.value != "" && form.record_owner.value != "") {
  	form.submit();  	
  }
  else {
  	if (form.prj_name.value == "") {
  		alert("Не заполнено поле 'Название проекта'");  		
  	}
  	if (form.record_owner.value == "") {
  		alert("Ошибка авторизации! Обратитесь в службу поддержки!"); 
  	}  	
  }
}

// *****************************************************************************************************


/*
   Функция активации обновления информации по проекту
*/

function update_prg(form) {
  form.action = "update_project.php";
  if (form.prj_name.value != "" && form.record_owner.value != "" && form.id_project.value != "") {
  	form.submit();  	
  }
  else {
  	if (form.prj_name.value == "") {
  		alert("Не заполнено поле 'Название проекта'");  		
  	}
  	if (form.record_owner.value == "") {
  		alert("Ошибка авторизации! Обратитесь в службу поддержки!"); 
  	} 
  	if (form.id_project.value == "") {
  		alert("Ошибка данных проекта! Обратитесь в службу поддержки!"); 
  	}   	
  }
}

// *****************************************************************************************************



/*
 **********************************************************************************
 *
 *  Функция установки цвета линии в табличке списка проектов
 *
 ***********************************************************************************
*/

function setColor(obj_line, light_color, old_color) {
	obj_line.style.background = light_color;
}
// *****************************************************************************************************

/*
 **********************************************************************************
 *
 *   Функция вызывает окно со списокм участников проекта
 *
 ***********************************************************************************
*/

function participant_list(id_project) {
	show_participans_win = window.open("prj_participants.php?id_project=" + id_project,"participants_win","title,status,resizable,scrollbars,width=100%, height=100%, left=0, top=0");	
    show_participans_win.focus(); 
}

// *****************************************************************************************************

function reg_participant(id_project) {
	reg_partt_win = window.open("reg_participant.php?id_project=" + id_project,"reg_partt_win","title,status,resizable,scrollbars,width=510, height=310, left=150, top=100");	
    reg_partt_win.focus(); 
}

function edit_partt_win(id_user,id_project) {
    open_partt_win = window.open("edit_partt_win.php?id_user="+id_user+"&id_project="+id_project,"open_partt_win","title,status,resizable,scrollbars,width=510, height=380, left=150, top=100");	
    open_partt_win.focus(); 
}

// *****************************************************************************************************

function edit_project(id_project) {
	edit_prj_win = window.open("edit_prj_win.php?id_project=" + id_project,"edit_prj_win","title,status,resizable,scrollbars,width=580, height=580, left=100, top=50");	
    edit_prj_win.focus(); 
}

/*
 **********************************************************************************
 *
 *  Функция формирующая доотображение информации по проекту
 *   значения массива javascipt 
 *   Признаком заголовка раздела является запись начинающаяся с ##
 *
 ***********************************************************************************
*/

function show_project_info(id_project, line_number, project_info) {
	var project_obj = document.getElementById(id_project);
	var content_str = "";
	var header_str = "";
	var str_temp = new String();
	var str_temp1 = new String();
	var str = "";
	var index = 0;
	var flag = new Number();
	var color = "#eeeeee";
	var foo = 0;
	flag = 1;
		
	if (project_info.length > 0) {
		
	    while (index < project_info.length) {
	    	str_temp = project_info[index];	 	    	
	    	if (str_temp != "") {
	    		
	    		if (str_temp.indexOf("##") != -1) {
	    			foo = Math.round(flag/2);
	    			if (flag == foo*2 ) {
	    				color = "#eeeeee";
	    			}
	    			else {
	    				color = "#cccccc";
	    			}
	    			flag++;
	    			header_str = "</div></td></tr><tr bgcolor='" + color + "'><td width=30 style='padding-left: 5px;'>" + str_temp.substr(2,str_temp.length) + "</td><td style='padding-left: 5px;'><div align='justify'>";
	    			index++;	    			
	    			content_str = project_info[index];	
	    			if (content_str == "") content_str = "&nbsp; ---";   			
	    		}    		
	    		if (str_temp.indexOf("##") == -1) {
	    			header_str = "";	    			
	    			content_str = project_info[index];
	    			if (content_str == "") content_str = "&nbsp; ---";   			
	    		}	    		
	    	
	    		str = str + header_str + content_str;
	    	}	    	
	    	
	    	index++;
	    }	
	    
	    str = str + "<tr bgcolor='" + color + "'><td width=30 style='padding-left: 5px;'>Список участников</td><td style='padding-left: 5px;'><a href=prj_participants.php?id_project=" + id_project + " target='_blank'>Список участников</a></td></tr>";
	    
	    project_obj.innerHTML = "<table width=100%  border='0' cellpadding='2' cellspacing='2' bgcolor='#666666'><tr><td>" + str + "</td></tr></table>";
     }
	 else {
	   	 project_obj.innerHTML = "<br>Data Parsing Error<br>";
	 }	
}
// *****************************************************************************************************

/*
 **********************************************************************************
 *
 *  Функция формирующая доотображение информации по проекту
 *
 ***********************************************************************************
*/

function hide_project_info(line_number) {
	var project_obj = document.getElementById(line_number);
	    project_obj.innerHTML = "";
	
}
// *****************************************************************************************************

// Создаем список сотрудников

function make_list(list, title_arr, value_arr) {
 //alert(list); 
 for (i=1;i<title_arr.length;i++) {
    list.options[i] = new Option(title_arr[i], value_arr[i]);
    k = new Number(i/2);
    k1= Math.ceil(k);
    k2 = Math.floor(k);
    list.options[i].style.background = "#eeeeee";
	list.options[i].style.color = "#000000";
    if (k1 == k2) {
	  list.options[i].style.background = "#FFFFFF"; 
	  list.options[i].style.color = "#000000";
	}
	//alert(list);
  }
 }

// отображаем фото сотрудника (если имеется таковое :))
 function setup_image(url,imageObj) {
 	imageObj.src = url; 	
 	if (url == "") {
 		imageObj.alt = "Нет фото";
 	}
 	//alert(url);
 }
 
/*
 **************************************************************************************
 *
 *  Функция формирующая выпадающие списки на страничке регистрации участника проекта
 *  Ниже указаны массивы, которые содержат выкачанные данные
 *
 *  инициализация списка для персонала
 *  var combo_mas_title = new Array();
 *  var combo_mas_link = new Array();
 *  var mas_photo_url = new Array();
 *  
 *  инициализация списка для логинов
 *  var login_mas_title = new Array();
 *  var login_mas_id = new Array();  
 *  var login_index = 1;
 *
 *  инициализация списка для ролей
 *  var role_mas_title = new Array();
 *  var role_mas_id = new Array(); 
 *  var role_index = 1;    
 *
 ***************************************************************************************
*/
 
 function setup_all_combo() {
    make_list(document.getElementById('prj_person'),combo_mas_title,combo_mas_link); // список участников
    make_list(document.getElementById('login_list'),login_mas_title,login_mas_id); // список логинов
    make_list(document.getElementById('roles_list'),role_mas_title,role_mas_id); // список логинов
 }
 
  function setup_report_combo() {
   
    make_list(document.getElementById('staff'),user_mas_title,user_mas_id); // список участников
    make_list(document.getElementById('prj_list'),combo_mas_title,combo_mas_link);

 }
 
/*
 **********************************************************************************
 *
 *  Функция проверяющая правильность заполнения формы регистрации участника проекта
 *
 ***********************************************************************************
*/
 
 
 function save_participant(form) {
 	form.action = "insert_prj_partt.php";
 	var mistake = "";
  if (form.prj_person.value != 0 && form.roles_list.value != 0 && form.login_list.value !=0 && form.prj_id.value) {
  	 form.submit();  	
  }
  else {
  	if (form.prj_person.value == 0) {
  		mistake += "Не выбран участник проекта - 'ФИО Участника'\r\r";  		
  	}
  	if (form.roles_list.value == 0) {
  		mistake += "Не выбрана роль участника проекта - 'Роль в проекте'\r\r";  		
  	}
  	if (form.login_list.value == 0) {
  		mistake += "Не выбран логин участника проекта - 'Логин входа в веб систему ',\rкоторый позволит репортить ему время потраченное на проект \r\r";  		
  	}
  	if (form.prj_id.value == "") {
  		mistake += "Ошибка инициализации проекта! Обратитесь в службу поддержки!\r\r"; 
  	} 
  	alert(mistake); 	
  }
 }
 
 
 function update_participant(form) {
 	form.action = "update_prj_partt.php";
 	var mistake = "";
  if (form.prj_person.value != 0 && form.roles_list.value != 0 && form.login_list.value !=0 && form.prj_id.value) {
  	 form.submit();  	
  }
  else {
  	if (form.prj_person.value == 0) {
  		mistake += "Не выбран участник проекта - 'ФИО Участника'\r\r";  		
  	}
  	if (form.roles_list.value == 0) {
  		mistake += "Не выбрана роль участника проекта - 'Роль в проекте'\r\r";  		
  	}
  	if (form.login_list.value == 0) {
  		mistake += "Не выбран логин участника проекта - 'Логин входа в веб систему ',\rкоторый позволит репортить ему время потраченное на проект \r\r";  		
  	}
  	if (form.prj_id.value == "") {
  		mistake += "Ошибка инициализации проекта! Обратитесь в службу поддержки!\r\r"; 
  	} 
  	alert(mistake); 	
  }
 }
 
function show_calendar() {
 	calendar_win = window.open("dateselector/example.html","calendar_win", "title,width=450, height=215, left=300, top=100");
    calendar_win.focus(); 
}

function check_report_dates(start_period, last_report, rp_start, rp_end, id_report, finish_period) {
 	mistake = "";
 	//alert(rp_start + " -- "  + rp_end + " -- " + id_report);
 	//alert(start_period +"--"+ last_report);
 	if (start_period != "") {
 		last_report = new String(last_report);
 		last_ar = last_report.split("-");
 		//alert(last_ar[2] +"|" + last_ar[1] + "|" + last_ar[0]);
 		last_date = new Date(Date.UTC(last_ar[0], last_ar[1], last_ar[2], 0, 0, 0)); 
 		//alert(last_date);
 		start_period = new String(start_period);
 		start_ar = start_period.split("-");
 		start_date = new Date(Date.UTC(start_ar[0], start_ar[1], start_ar[2], 0, 0, 0));  		
 		//alert(start_date + " end= " + last_date);
 		//alert(Date.UTC(last_date) + "--" + Date.UTC(start_date));
 		if (Date.UTC(last_date) >= Date.UTC(start_date)) {
 			if (rp_start != 0 && rp_end !=0 && id_report !=0) {
 				if (rp_start == start_period && rp_end == finish_period) {
 					mistake = "";
 					//alert(rp_start + "==" + start_period + "|" + rp_end + "==" + finish_period);
 				}
 				else {
 					mistake = "Ошибка! Недопустимо перекрывание временных отрезков \r (дата начала отчета меньше сохраненной даты конца отчета)"; 			
 				}
 			}
 			else { 
 				mistake = "Ошибка! Недопустимо перекрывание временных отрезков \r (дата начала отчета меньше сохраненной даты конца отчета)"; 			
 			}
 		}
 		
 	}
 	return mistake;
}
 
 
function make_base_format(text_date) {
 	result_date = ""; 
 	//alert(text_date);
 	text_date = new String(text_date);
 	try {
 		date_ar = text_date.split(".");
 	   	some_date = new Date(Date.UTC(date_ar[2], date_ar[1]-1, date_ar[0], 0, 0, 0)); 
 	   	// check bissextile year
 	   	var bissextile = Math.floor(parseInt(date_ar[2])/4);
 	   	if (bissextile != date_ar[2]/4 && date_ar[1] == 2 && date_ar[0] > 28) some_date = "NaN"; 	   		
 	   	// check for length
 	   	if (date_ar[2].length < 4 || date_ar[2].length > 4) some_date = "NaN"; 
 	   	if (date_ar[1].length < 2 || date_ar[1].length > 2) some_date = "NaN"; 
 	   	if (date_ar[0].length < 2 || date_ar[0].length > 2) some_date = "NaN"; 	   	
 	   	
 		if (some_date != "NaN") { 		
 			result_date = "" + date_ar[2] + "-" + date_ar[1] + "-" + date_ar[0]; 
 		}
 	}
 	catch(err) {
 		result_date = ""; 		
 	}
 	return result_date;
}
 
 
function try_reformat_date(date_start1, date_finish1) {
 	  mistake = "";
 	  //alert(date_start1 + "--" + date_finish1)
      base_start = make_base_format(date_start1);
      base_end = make_base_format(date_finish1); 
      if (base_start != "" && base_end != "") {
      	//alert(base_start + "--" + base_end);
      	document.forms[0].date_start.value = base_start;
		document.forms[0].date_finish.value = base_end;		
      }	
      else {      	
      	mistake = "Ошибка! Неверно задан формат даты периода!\r Пожалуйста следуйте шаблону dd.mm.yyyy!";
      }
      return mistake;
} 
 
 
function insert_report(form) {
 	form.action = "insert_report.php";
 	mistake = "";
 	mistake = try_reformat_date(form.date_start1.value, form.date_finish1.value);
 	if (mistake == "") { 				
 		mistake = check_report_dates(form.date_start.value,form.last_report.value, 0, 0, 0, 0); 
 	}
 	if (mistake == "") {
 			form.submit();//alert("ok");
 	}
 	else {
 		alert(mistake);
 	}
} 
 
function update_report(form) {
 	form.action = "update_report.php";
 	mistake = "";
 	mistake = try_reformat_date(form.date_start1.value, form.date_finish1.value);
 	if (mistake == "") {
 		var rps = form.rps.value;
 		var rpe = form.rpe.value;
 		var id_report = form.id_report;  		
 		mistake = check_report_dates(form.date_start.value, form.last_report.value, rps, rpe, id_report, form.date_finish.value); 
 	} 	 
 	if (mistake == "") {
 			form.submit(); 
 			//alert("update!ok");
 	}
 	else {
 		alert(mistake);
 	}
} 
 
function set_start_item(id_project, list) {
	for (i=1;i<list.length;i++) {
		if (list.options[i].value == id_project) {
    	    list.options[i].selected = true; 
    	}
	
  	}  	
}   

function make_report_info(form) {
	form.action = "report_page.php";
	form.report_show.value = 1;	
    form.submit();  	  
}


function set_start_item1(id_project, list) {
	for (i=0;i<list.length;i++) {
		if (list.options[i].value == id_project) {
    	    list.options[i].selected = true; 
    	}	
  	}  	
}  

function reload_report_page(value, form) {
  form.action = "report_page.php";
  form.report_show.value = 0;	
  form.submit();  
}

// ******************************************************************************************    
/* 
     *****************************************************************************************
     *  Функция выводит в новое окошко список людей незадествованных ни в одном проекте
     *  free_people_list - массив со списком
     *   
     *****************************************************************************************
*/


function show_free_people(list) {
	free_partt_win = window.open("","","resizable,scrollbars,width=510, height=310, left=150, top=100");	
	//free_partt_win.document.title = 0; //"Список незадействованных людей";
	for (i = 0; i < list.length; i++) {
	   free_partt_win.document.writeln(list[i]);
	}
    free_partt_win.focus(); 
}

function login_submit(form) {
	form.action	= "developer/index.php";
	form.submit();
}