 function changeMode(mode) {
  var oodiv = document.getElementById("oo");
  var podiv = document.getElementById("po");
  switch(mode) {
   case "OO":
    oodiv.style.display="block";
    podiv.style.display="none";
   break;
   case "PO":
    oodiv.style.display="none";
    podiv.style.display="block";
   break;
  }
 }
 
 curr_tarif_id = false;
 function showTarifs(id){    
 	var tarif = document.getElementById("tarif_div_"+id);
 	if(curr_tarif_id != false) var curr_tarif = document.getElementById("tarif_div_"+curr_tarif_id);
 	if(tarif != null){
	   tarif.style.display='block';
	   var defTarif = document.getElementById('tarif_'+id).options[0].value;
	   setTarif(defTarif);
	   if(curr_tarif)curr_tarif.style.display='none';
	   curr_tarif_id = id;
	}else{
		if(curr_tarif)curr_tarif.style.display='none';
		curr_tarif_id = false;
		setTarif('');
	}
 }
 function setTarif(id){
     document.getElementById('tarif_value').value = id;
     
 }
 
 divs = new Array();
 function switchDiv(id){
 	var tD = document.getElementById(id);
 	if(tD != null){
	    var cV = divs[id];
	    if(cV == undefined) cV = 'none';
	    var nV = (cV == 'none') ? 'block' : 'none';
	    divs[id] = nV;
	    tD.style.display = nV;
	}		
 }
 
 
 //форма
 curr_sat = 1;
 function create_tarif(serv_id,tarif_id,zone)
{   
    var target = document.getElementById('sat_'+zone);   
  
    if(document.getElementById('t_'+zone) == null){
		newDiv = document.createElement("div");  
		newDiv.setAttribute('id', 't_'+zone);
	}else{
	    newDiv = document.getElementById('t_'+zone);
	    newDiv.innerHTML = '';
	}
   
   var tarifs_select = '';
   if(g_services[serv_id] != undefined){ 
		tarifs_select += '<select name="tarif['+zone+'][]">'; 
		tarifs_select += '<option value="">Выберите тариф</option>';
		for(var i in g_services[serv_id]['tarifs']) {
			if (!g_services[serv_id]['tarifs'].hasOwnProperty(i)) continue;
			var sel = (tarif_id == i) ? " selected" : "";
			tarifs_select += '<option value="'+i+'" '+sel+'>'+g_services[serv_id]['tarifs'][i]+'</option>';
		}
		tarifs_select += '</select>';
	}
      
    newDiv.innerHTML = tarifs_select;      
    target.appendChild(newDiv);   
}
function create_service(serv_id,tarif_id,zone)
{
    var services_select = '<select name="service['+zone+'][]" onChange="create_tarif(this.value,false,'+zone+')">'; 
    services_select += '<option value="">Выберите услугу</option>';
    for(var i in g_services) {
		if (!g_services.hasOwnProperty(i)) continue;
		var sel = (serv_id == i) ? " selected" : "";
		services_select += '<option value="'+i+'" '+sel+'>'+g_services[i]['name']+'</option>';
    }
    services_select += '</select>';
    return services_select;
}
function add_service_select(serv_id, tarif_id)
{
    if(tarif_id == '') tarif_id = 9999;
    var target = document.getElementById('services_cont');     
    newDiv = document.createElement("div");    
    newDiv.setAttribute('id', 'sat_'+curr_sat);    
    newDiv.setAttribute('style', 'text-align:left;margin-bottom:10px;');    
    
    newDiv.innerHTML = create_service(serv_id, tarif_id,curr_sat);
      
    target.appendChild(newDiv);  
     
    if(tarif_id != false){        
        create_tarif(serv_id,tarif_id,curr_sat);
    }
    
    curr_sat = curr_sat + 1;
    
}

//номера телефонов
//FF странно работает с focus()
//использовать setTimeout("ff_focus('"+tid+"')",250);
//где tid - id текстового поля
function ff_focus(elId){
	document.getElementById(elId).focus();
}

timeOutHdr = true;
function checkPhone(id){
   // if(!flag) clearTimeout(timeOutHdr);
    //else{
        var source = document.getElementById(id);

        var patt = new RegExp ("[\\d\\s()\\-\\+]{1}", "g");
        var cch = source.value.substring(source.value.length-1, source.value.length);
        if(!patt.test(cch)){
            var fP = source.value.substring(0, source.value.length-1);
			source.value = fP;
        }
        if(source.value.length == 1 && source.value.substring(0, 1) != '+'){
			var fP = "+";
			var sP = source.value;
			source.value = fP + sP;
		}
        else if(source.value.length == 1 && source.value.substring(0, 1) == '+'){}
		else if(source.value.length == 3 && source.value.substring(2, 3) != ' '){
			var fP = source.value.substring(0, source.value.length-1);
			var sP = source.value.substring(source.value.length-1, source.value.length);
			source.value = fP + ' ' + sP;
		}
        else if(source.value.length == 3 && source.value.substring(2, 3) == ' '){}
        else if(source.value.length == 4 && source.value.substring(3, 4) != '('){
			var fP = source.value.substring(0, source.value.length-1);
			var sP = source.value.substring(source.value.length-1, source.value.length);
			source.value = fP + '(' + sP;
		}
        else if(source.value.length == 4 && source.value.substring(3, 4) == '('){}
        else if(source.value.length == 8 && source.value.substring(7, 8) != ')'){
			var fP = source.value.substring(0, source.value.length-1);
			var sP = source.value.substring(source.value.length-1, source.value.length);
			source.value = fP + ') ' + sP;
		}
        else if(source.value.length == 8 && source.value.substring(7, 8) == ')'){}
        else if(source.value.length == 9 && source.value.substring(8, 9) != ' '){
			var fP = source.value.substring(0, source.value.length-1);
			var sP = source.value.substring(source.value.length-1, source.value.length);
			source.value = fP + ' ' + sP;
		}
        else if(source.value.length == 9 && source.value.substring(8, 9) == ' '){}
        else if(source.value.length == 13 && source.value.substring(12, 13) != '-'){
			var fP = source.value.substring(0, source.value.length-1);
			var sP = source.value.substring(source.value.length-1, source.value.length);
			source.value = fP + '-' + sP;
		}
        else if(source.value.length == 13 && source.value.substring(12, 13) == '-'){}
        else if(source.value.length == 16 && source.value.substring(15, 16) == '-'){
			var fP = source.value.substring(0, source.value.length-1);
			var sP = source.value.substring(source.value.length, source.value.length);
			source.value = fP + sP;
		}
        else {
            var currpatt = new RegExp ("[\\d]{1}", "g");
            var currch = source.value.substring(source.value.length-1, source.value.length);
            if(!currpatt.test(currch)){
                var fP = source.value.substring(0, source.value.length-1);
                source.value = fP;
            }
       // }
		//timeOutHdr = setTimeout('checkPhone(true,"'+id+'")',1);
    }
}

function initOrderForm(mode)
{
	service_init.each(function(item){
		add_service_select(item[0], item[1]);
	});
}

function goToOrder(serv_id, tariff_id)
{
	var eForm = new Element('form', {
		'method' : 'post',
		'action' : '/order'
	});
	$('ContentCell').grab(eForm);
	var el = new Element('input', {
		'type' : 'hidden',
		'name' : 'service[0][]'
	});
	el.value = serv_id;
	eForm.grab(el);
	el = new Element('input', {
		'type' : 'hidden',
		'name' : 'tarif[0][]'
	});
	el.value = tariff_id;
	eForm.grab(el);
	eForm.submit();
	//service['+zone+'][]
    //window.location='http://'+location.host +'/order';
}

var callReqOpen = false;
function toggleCallReq()
{
	$('CallRequest').setStyle('display', callReqOpen ? 'none' : 'block');
	callReqOpen = !callReqOpen;
}

function sendCallReq()
{
	var cperson = $('creq_contact_person').value;
	var cperson_check = cperson.replace(/\s+/g, '');
	if (!cperson_check.length)
	{
		alert('Укажите, пожалуйста, контактное лицо');
		return;
	}
	var cphone = $('creq_contact_phone').value;
	var cphone_check = cphone.replace(/\s+/g, '');
	//if (!cphone || !cphone.test(/^\+\d{1}\s\(\d{3}\)\s[0-9\-]{5,9}$/))
	if (!cphone_check.length || !cphone_check.test(/^[0-9\-\(\)]{5,}$/))
	{
		alert('Укажите, пожалуйста, контактный телефон');
		return;
	}
	var ctext = $('creq_request_text').value;
	var el = $('creq_status');
	el.set('html', 'Отправка...');
	el.setStyle('display', 'block');
	var data_str = "ajax=1&doit=addRequest" +
		"&person=" + encodeURIComponent(cperson) + 
		"&phone=" + encodeURIComponent(cphone) +
		"&text=" + encodeURIComponent(ctext);
	var req = new Request.JSON({
		url : '/CallRequest',
		method : 'post',
		data : data_str,
		onSuccess : sendCallRequestEnd
	});
	req.send();
}

function sendCallRequestEnd(response)
{
	var text = "Спасибо, Ваша заявка принята. Наши менеджеры свяжутся с Вами.";
	if (!response || !response.success)
		text = "Не удалось отправить заявку.";
	else
	{
		$('creq_contact_person').value = '';
		$('creq_contact_phone').value = '';
		$('creq_request_text').value = '';
	}
	var el = $('creq_status');
	el.set('html', text);
	el.setStyle('display', 'block');
	ttt = function(){
		$('creq_status').setStyle('display', 'none');
	}.delay(5000);
}
