var orderPhoneInput = null;

function initOrderForm(mode)
{
	service_init.each(function(item){
		order_add_service(item[0], item[1]);
	});
	orderPhoneInput = new PhoneInput({city_codes : city_codes_array, input_name : 'data[contact_phone]', input_id: 'contact_phone'});
	orderPhoneInput.setValue(init_phone[0], init_phone[1]);
	$('contact_phone_container').grab(orderPhoneInput.wrapper, 'top');
	order_changeMode();
}

function order_changeMode(mode)
{
	var mode_settings = {
		'OO' : {
			company_visibility : 'block',
			contact_person_label : 'Контактное лицо'
		},
		'PO' : {
			company_visibility : 'none',
			contact_person_label : 'Ваше имя'
		}
	};
	if (!mode)
		mode = $('order_mode_selector').value;
	if (!mode_settings[mode])
		mode = 'OO';
	$('company_name_container').setStyle('display', mode_settings[mode].company_visibility);
	$('workarea_container').setStyle('display', mode_settings[mode].company_visibility);
	$('contact_name_label').set('html', mode_settings[mode].contact_person_label);

	/*if (mode == 'OO')
	{
		$('oo_info').setStyle('display', 'block');
		$('po_info').setStyle('display', 'none');
	}
	else if (mode == 'PO')
	{
		$('po_info').setStyle('display', 'block');
		$('oo_info').setStyle('display', 'none');
	}
	else
	{
		$('po_info').setStyle('display', 'none');
		$('oo_info').setStyle('display', 'none');
	}*/
}

var serv_cnt = 0;

function rem_srv(num)
{
	var tt = $('serv_input' + num);
	if (tt)
		tt.parentNode.removeChild(tt);
}

function order_add_service(service_id, tariff_id)
{
	var container = $('serviceContainer');
	var num = serv_cnt;
	var eDiv = new Element('div', {
		'id' : 'serv_input' + num,
		'styles' : {
			'margin-bottom' : '10px'
		}
	});
	var eDiv2 = new Element('div', {
		'styles' : {
			'float' : 'left'
		}
	});
	eDiv.grab(eDiv2);
	
	var btlink = new Element('button', {
		'type' : 'button',
		'class' : 'img_button',
		'onclick' : 'rem_srv(\'' + num + '\')',
		'onmouseover' : 'toggleHighlightBtn(this, true);',
		'onmouseout' : 'toggleHighlightBtn(this, false);',
		'styles' : {'margin-left' : '15px', 'width' : '123px'}
	});
	btlink.addEvent('click', function() { rem_srv(num); });
	btlink.addEvent('mouseover', function() { toggleHighlightBtn(this, true); });
	btlink.addEvent('mouseout', function() { toggleHighlightBtn(this, false); });
	
	var im = new Element('img', {'src' : '/images/buttons/del_btn_static.png'});
	btlink.grab(im);
	eDiv.grab(btlink);
	eDiv.grab(new Element('div', {'class' : 'clearer'}));
	
	var servSelect = new Element('select', {
		'name' : 'service[' + num + '][]',
		'id' : 'serv' + num,
		'styles' : {'width' : '230px'}
	});
	servSelect.addEvent('change', function() { order_fill_tariff(this, num); });
	
	var opt = new Element('option', {'value' : ''});
	opt.set('html', 'Выберите услугу');
	servSelect.grab(opt);
	g_services.each(function(item, index)
	{
		if (!item)
			return;
		opt = new Element('option', {'value' : index});
		opt.set('html',  item["name"]);
		if (service_id && index == service_id)
			opt.selected = true;
		servSelect.grab(opt);
	});
	eDiv2.grab(servSelect);
	
	eDiv2.grab(new Element('br'));
	
	var tariffSelect = new Element('select', {
		'name' : 'tarif[' + num + '][]',
		'id' : 'tar' + num,
		'styles' : {
			'display' : 'none',
			'margin-top' : '3px',
			'width' : '230px'
		}
	});
	opt = new Element('option', {'value' : ''});
	opt.set('html', 'Выберите тариф');
	tariffSelect.grab(opt);	
	eDiv2.grab(tariffSelect);
	container.grab(eDiv);
	
	order_fill_tariff(servSelect, num, tariff_id);
	
	serv_cnt++;
}

function order_fill_tariff(servEl, num, tariff_id)
{
	var tariffEl = $('tar' + num);
	if (!tariffEl)
		return;
	
	var len = tariffEl.options.length - 1;
	for (len; len > 0; len--)
		tariffEl.remove(len);
	
	var servId = servEl.value;
	if (servId)
		tariffEl.setStyle('display', 'inline');
	else
	{
		tariffEl.setStyle('display', 'none');
		return;
	}
	
	var tlist = g_services[servId]["tarifs"];
	if (tlist && tlist.length)
	{
		tlist.each(function(item, index) {
			if (!item)
				return;
			var opt = new Element('option', {'value' : index});
			opt.set('html', item);
			if (tariff_id && index == tariff_id)
				opt.selected = true;
			tariffEl.grab(opt);
		});
	}
}

function check_contact_fields()
{
  err = false;

  if($('order_mode_selector').value == 'OO')
  {
    if($('company_name').value.length < 3)
    {
      err = true;
      $('company_name_err').style.display = 'inline';
    }
    else
    {
      $('company_name_err').style.display = 'none';
    }
  }

  if($('contact_name').value.length < 3)
  {
    err = true;
    $('contact_name_err').style.display = 'inline';
  }
  else
  {
    $('contact_name_err').style.display = 'none';
  }

  if(!/^\+7\(\d{3,5}\)\d{3}\-\d{2,4}$/.test($('contact_phone').value))
  {
    err = true;
    $('contact_phone_err').style.display = 'inline';
  }
  else
  {
    $('contact_phone_err').style.display = 'none';
  }

  if(!err)
  {
    next_tab();
  }
}

function check_captcha_process(jsonObj)
{
  if(jsonObj.status == 'ok')
  {
    $('captcha_err').style.display = 'none';
    next_tab();
  }
  else
  {
    $('captcha_err').style.display = 'inline';
    $('captcha_img').src = '/file_handler.php?captcha=1&anticache=' + (new Date()).getTime();
  }
}

function check_additional_fields()
{
  var req = new Request.JSON({url: '/Order', method: 'post', onComplete: check_captcha_process});
  var data = 'ajax=1&doit=check_captcha&captcha=' + encodeURIComponent($('captcha').value);
  req.send(data);
}

function check_spam_process(jsonObj)
{
  if(jsonObj.status == 'ok')
  {
    $('orderForm').submit();
  }
  else
  {
    $('spam_err').style.display = 'inline';
  }
}

function check_spam()
{
  var req = new Request.JSON({url: '/Order', method: 'post', onComplete: check_spam_process});
  var data = 'ajax=1&doit=check_spam';
  req.send(data);
}
function goto_cabinet()
{
    $("cab_v").value = '1';
    check_spam();
}
