/* Использует функции из prj_core.js */

function order_ShowBirthdaySelect(guestInd)
{
	var placeObjID = 'bd_' + guestInd;
	var bdyObjID = 'bd_y_' + guestInd;
	var bdmObjID = 'bd_m_' + guestInd;
	var bddObjID = 'bd_d_' + guestInd;

	var elP = document.getElementById(placeObjID);
	var el = document.getElementById('bd_select');
	el.style.display = 'block';
	el.style.left = findPosX(elP);
	el.style.top = findPosY(elP);

	var selector = document.zakaz_simple_form.bdySelector;
	selector.title = guestInd;
	el = document.getElementById(bdyObjID);
	var option = getOptionByValue(selector, el.value);
	if( option == null )
		option = selector.options[0];
	option.selected=true;

	selector = document.zakaz_simple_form.bdmSelector;
	el = document.getElementById(bdmObjID);
	option = getOptionByValue(selector, el.value);
	if( option == null )
		option = selector.options[0];
	option.selected=true;

	selector = document.zakaz_simple_form.bddSelector;
	el = document.getElementById(bddObjID);
	option = getOptionByValue(selector, el.value);
	if( option == null )
		option = selector.options[0];
	option.selected=true;
}

function order_SetBirthdayFromSelect()
{
	var selector = document.zakaz_simple_form.bdySelector;
	var guestInd = selector.title;
	var bdyObjID = 'bd_y_' + guestInd;
	var bdmObjID = 'bd_m_' + guestInd;
	var bddObjID = 'bd_d_' + guestInd;
	var infoEl = 'bdsel_' + guestInd;

	var el = document.getElementById(bdyObjID);
	el.value = selector.options[selector.selectedIndex].value;
	var y = el.value;

	selector = document.zakaz_simple_form.bdmSelector;
	var el = document.getElementById(bdmObjID);
	el.value = selector.options[selector.selectedIndex].value;
	var m = el.value;
	m = m < 10 ? '0'+m : m;

	selector = document.zakaz_simple_form.bddSelector;
	var el = document.getElementById(bddObjID);
	el.value = selector.options[selector.selectedIndex].value;
	var d = el.value;
	d = d < 10 ? '0'+d : d;

	var el = document.getElementById(infoEl);
	setTextNodeVal(el, d+'.'+m+'.'+y); 

	order_CloseBirthdaySelect();
}

function order_ClearBirthday()
{
	var selector = document.zakaz_simple_form.bdySelector;
	var guestInd = selector.title;
	var bdyObjID = 'bd_y_' + guestInd;
	var bdmObjID = 'bd_m_' + guestInd;
	var bddObjID = 'bd_d_' + guestInd;
	var infoEl = 'bdsel_' + guestInd;

	var el = document.getElementById(bdyObjID);
	el.value = '';

	var el = document.getElementById(bdmObjID);
	el.value = '';

	var el = document.getElementById(bddObjID);
	el.value = '';
	
	var el = document.getElementById(infoEl);
	setTextNodeVal(el, 'Age (for children only)'); 

	order_CloseBirthdaySelect();
}

function order_CloseBirthdaySelect()
{
	var selector = document.zakaz_simple_form.bdySelector;
	var guestInd = selector.title;
	var el = document.getElementById("guestn_" + guestInd);
	el.focus();	

	var el = document.getElementById('bd_select');
	el.style.display = 'none';
}


function order_OnGuestCountChange()
{
	var count = getValueFromElement('guest_count');
	count = count - 0;

	// - показываем нужное количество 
	for(var i=2; i <= count; i++ )
	{
		var el = document.getElementById("guest_data_"+i);
		el.style.display = 'block';
	}

	// - прячем лишние
	count += 1;
	for(var i=count; i < 100; i++)
	{
		var el = document.getElementById("guest_data_"+i);
		if(el != null)
			el.style.display = 'none';
		else
			break;
	}

	var el = document.getElementById("guestn_1");
	el.focus();	
}

function order_ShowCountrySelect(guestInd)
{
	var placeObjID = 'ch_' + guestInd;
//	var nameObjID = 'guestc_n_' + guestInd;
	var valueObjID = 'guestc_' + guestInd;

	var elP = document.getElementById(placeObjID);
	var el = document.getElementById('country_select');
	el.style.display = 'block';
	el.style.left = findPosX(elP);
	el.style.top = findPosY(elP);
	
	var selector = document.zakaz_simple_form.countrySelector;
	selector.title = guestInd;

//	var elNameObj = document.getElementById(nameObjID);
	var elValueObj = document.getElementById(valueObjID);
	var option = getOptionByValue(selector, elValueObj.value);
	if( option == null )
	{
		alert('Country not found '+elValueObj.value);
		return;
	}
	option.selected=true;	
}

function order_SetCountryFromSelect()
{
	var selector = document.zakaz_simple_form.countrySelector;
	var guestInd = selector.title;
	var nameObjID = 'guestc_n_' + guestInd;
	var valueObjID = 'guestc_' + guestInd;
	var value = selector.options[selector.selectedIndex].value;
	var text = selector.options[selector.selectedIndex].text;

	var elNameObj = document.getElementById(nameObjID);
	setTextNodeVal(elNameObj, text);
	var elValueObj = document.getElementById(valueObjID);
	elValueObj.value = value;

	// Проверим стоит ли флаг: для всех гостей
	var countryForAll = document.zakaz_simple_form.countryForAll;
	if(countryForAll.checked)
	{
	  for (var i=1; i <= 15; i++)
	  {
			nameObjID = 'guestc_n_' + i;
			valueObjID = 'guestc_' + i;
			elNameObj = document.getElementById(nameObjID);
			setTextNodeVal(elNameObj, text);
			elValueObj = document.getElementById(valueObjID);
			elValueObj.value = value;
	  }
	}

	var el = document.getElementById("guestn_" + guestInd);
	el.focus();	

	order_CloseCountrySelect();
}

function order_CloseCountrySelect()
{
	var el = document.getElementById('country_select');
	el.style.display = 'none';
}

function setTextNodeVal(el, val)
{
	if(el == null)
		return;
	if(val == null)
		val = ''; //?
	if(el.firstChild == null)
	{
		var textNode = document.createTextNode(val);
		el.appendChild(textNode); 			
	}
	else
		el.firstChild.nodeValue = val;
}

/// objSelect - объект SELECT
/// value - значение по которому будем искать OPTION
function getOptionByValue(objSelect, value)
{
  for (var i=0; i < objSelect.options.length; i++)
  {
     if (objSelect.options[i].value == value)
     	return objSelect.options[i];
  }
  return null;
}

function findPosX(obj)
{
  var curleft = 0;
  if (obj.offsetParent) {
      while (1) {
          curleft+=obj.offsetLeft;
          if (!obj.offsetParent) {
              break;
          }
          obj=obj.offsetParent;
      }
  } else if (obj.x) {
      curleft+=obj.x;
  }
  return curleft;
}
 
function findPosY(obj)
{
  var curtop = 0;
  if (obj.offsetParent) {
    while (1)
    {
      curtop+=obj.offsetTop;
      if (!obj.offsetParent) {
          break;
      }
      obj=obj.offsetParent;
    }
  } else if (obj.y) {
      curtop+=obj.y;
  }
  return curtop;
}

function order_OnHotelChange()
{
	var val = getValueFromElement('hotel_id');
	var params = "hotel_id=" + val;
	var loader=new net.ContentLoader('./?bssproc=order_fc&action=get_rtypes', order_OnHotelChange_Reply, null, "POST", params);
}

function order_OnHotelChange_Reply()
{
	if( ! isProcessResponseOk(this.req.responseText) )
	{
		alert(this.req.responseText);
		return;
	}
	// - изменяем список типов номеров
	var res = getResponseText(this.req.responseText); 
	if( res != "")
	{
		var parentObj = document.getElementById("order_fc_rtype").parentNode;
		parentObj.innerHTML = res;
		var el = document.getElementById("order_fc_rtype");
		el.style.width='100%';
	}
	else
	{
		var el = document.getElementById("order_fc_rtype");
		el.innerHTML = '<select name="order_fc_rtype" id="order_fc_rtype" style="width: 100%;"><option>-Рассмотрю варианты-</option></select>';
	}
}

function check_order_form_s(tmpName)
{
	var res;
	var el;
	res = checkFormValue('zakaz_simple_form', 'accept_rules', 'bool', 1);
  if (! res)
  {
	  alert('Вы не подтвердили согласие с правилами бронирования');    
	  return false;
  }

	el = document.getElementById(tmpName);
	if(el != null)
	{
  	res = checkFormValue('zakaz_simple_form', tmpName, '', 1);
    if (! res)
    {
  	  alert('Введите контрольное число');
			el = document.getElementById(tmpName);
			if(el != null)
				el.focus();
  	  return false;
    }
	}

	el = document.getElementById('need_accept');
	el.value = 1;

	return true; 
}
