var selected_client_id;
var old_owner_filter_value = "init";
var old_city_filter_value = "init";
var timeout = null;

function inverse(id) {
	elem=document.getElementById(id);
	im=document.getElementById("f_mode");
	if(elem.style.display=="none") {
  		elem.style.display="";
		im.src="img/minus.gif";
	} else {
		elem.style.display="none";
		im.src="img/plus.gif";
	}
}

function apply_custom_filter(f_name, s_name, ss_name, js_id, js_name) {
	field_name = eval(f_name);
	select_name = eval(s_name);
	slow_name = eval(ss_name);
	js_custom_array_id = eval(js_id);
	js_custom_array_name = eval(js_name);

	if (ss_name.length > 0)
	{
	 	slow_name.style.display = "block";
		select_name.style.display="none";
	}
	else
	{
	 	select_name.style.visibility = "hidden";
	}

	expr=field_name.value.toLowerCase();
	var selects = new Array;
	if(old_owner_filter_value!=expr) {
		old_owner_filter_value=expr;
		expr_length=expr.length;
		cal=js_custom_array_id.length;
		fl=select_name.length;
		for(i=0;i<fl;i++) {
			selects[select_name.options[i].value] = select_name.options[i].selected;
			select_name.options[i].value="";
			select_name.options[i].text="";
			select_name.options[i].selected=false;
		}
		var Cpt=0;
		if(expr_length==0) {
			for(i=0;i<cal;i++) {
				cid=js_custom_array_id[i];
				cval=js_custom_array_name[cid];
				select_name.options[Cpt].value=cid;
				select_name.options[Cpt].text=cval;
 					select_name.options[Cpt].selected=selects[cid];
				Cpt++;
				select_name.length=Cpt+1;
			}
		} else {
			for(i=0;i<cal;i++) {
				cid=js_custom_array_id[i];
				cval=js_custom_array_name[cid];
				cval2=cval.toLowerCase();
				if(cval2.indexOf(expr.toLowerCase()) != -1) {
					select_name.options[Cpt].value=cid;
					select_name.options[Cpt].text=cval;
 					select_name.options[Cpt].selected=selects[cid];
					Cpt++;
					select_name.length=Cpt+1;
				}
			}
		}
		select_name.disabled=false;
		if(Cpt>0) {
			select_name.length=Cpt;
		} else {
			select_name.disabled=true;
			select_name.options[0].text='Значений не найдено';
		}
	}
 	select_name.style.visibility = "visible";
 	select_name.style.display="block";
	select_name.style.display="block";
	if (ss_name.length > 0)
	{
		slow_name.style.display = "none";
	}
}

function apply_owner_filter() {
	if (document.prop_detail) frm= 'document.prop_detail.';
	if (document.fs) frm= 'document.fs.';
	if (document.all_ploskosti) frm = 'document.all_ploskosti.';

	apply_custom_filter(frm+'fOwnerName',frm+'fOwner','fOwnerSlowSearch', 'js_owner_array_id', 'js_owner_array_name');
}

function apply_city_filter() {
	if (document.prop_detail) frm= 'document.prop_detail.';
	if (document.fs) frm= 'document.fs.';
	if (document.all_ploskosti) frm = 'document.all_ploskosti.';
	apply_custom_filter(frm+'fTownName',frm+'fTown','', 'js_city_array_id', 'js_city_array_name');
}

function clear_filter() {
	if (document.prop_detail) frm=document.prop_detail;
	if (document.fs) frm=document.fs;
	if (document.all_ploskosti) frm=document.all_ploskosti;

	if (frm.c_name_s) frm.c_name_s.value='';
	if (frm.client_id && frm.client_id[0]) frm.client_id[0].selected=true;

	if (frm.fProposNum) frm.fProposNum.value='';
	if (frm.only_validate) frm.only_validate.checked=false;
	if (frm.fCampaignName) frm.fCampaignName.value='';
	if (frm.fStatus && frm.fStatus[0]) frm.fStatus[0].selected=true;
	if (frm.fPayStatus && frm.fPayStatus[0]) frm.fPayStatus[0].selected=true;
	if (frm.fManager && frm.fManager[3]) frm.fManager[3].selected=true;
	if (frm.owner_code && frm.owner_code[0]) frm.owner_code[0].selected=true;

	if (frm.camp_active_from) frm.camp_active_from.value='';
	if (frm.camp_active_to) frm.camp_active_to.value='';
	if (frm.camp_filter) frm.camp_filter.value='';
	if (frm.camp_num) frm.camp_num.value='';

	if (frm.manager_id && frm.manager_id[0]) frm.manager_id[0].selected=true;

	if (frm.owner_id && frm.owner_id[0]) frm.owner_id[0].selected=true;
	if (frm.camp_id && frm.camp_id[0]) frm.camp_id[0].selected=true;

	if (frm.glue_active_from) frm.glue_active_from.value='';
	if (frm.glue_active_to) frm.glue_active_to.value='';
	if (frm.glue_filter) frm.glue_filter.value='';
}

function LoadClients(force) {
	if(!document.getElementById('debug')) return;
	if (document.prop_detail) frm=document.prop_detail;
	else if (document.fs) frm=document.fs;
	else if (document.all_ploskosti) frm=document.all_ploskosti;

	document.getElementById('debug').innerHTML = 'Подождите, идёт поиск...';
	frm.client_id.style.display = "none";

	frm.client_id.options.length = 0;

	var query = '' + frm.c_name_s.value;
	var req = new Subsys_JsHttpRequest_Js();

	req.onreadystatechange = function() {
	  frm.client_id.length = 0;

		if (req.readyState == 4) {
			if (req.responseJS) {
			  var Cpt = 0;
			  frm.client_id.length = 0;
			  if (req.responseJS.countz > 0) {
					for(i=0;i < (req.responseJS.countz);i++) {
						frm.client_id.length++;
						frm.client_id.options[i].value = eval('req.responseJS.value_'+i);
						frm.client_id.options[i].text = eval('req.responseJS.text_'+i);
						Cpt = i+1;
					}
				}
				document.getElementById('debug').innerHTML = req.responseText;
				if(Cpt>0) {
					frm.client_id.style.display = "block";
					document.getElementById('client_filter').style.display = "block";
					frm.client_id.length=req.responseJS.countz;
				}	else {
					document.getElementById('client_filter').style.display = "block";
					if (query == '')
						document.getElementById('debug').innerHTML = 'Введите текст для начала поиска. <br><br>Для просмотра полного списка клиентов введите символ "*".';
					frm.client_id.style.display = "none";
				}
				set_cname();
			}
		}
	}

	req.caching = true;
	req.open('POST', 'ajax.php?type=client', true);
	req.send({ q: query });
}

// Поддержка загрузки данных по тайм-ауту (1 секунда после
// последнего отпускания клавиши в текстовом поле).
function doLoadUp() {
	if (timeout) clearTimeout(timeout);
	timeout = setTimeout(doLoad, 1000);
}

function set_cname() {
	if (document.prop_detail) frm=document.prop_detail;
	else if (document.fs) frm=document.fs;
	else if (document.all_ploskosti) frm=document.all_ploskosti;
	else return;

	var current_id=frm.current_client_id.value;
	
	idx=frm.client_id.selectedIndex;
	if(idx>=0) {
		frm.c_name_s.value=frm.client_id[idx].text;
	} else {
		for(var i=0;i<frm.client_id.length;i++)
			if (frm.client_id[i].text == frm.c_name_s.value) {
				frm.client_id[i].selected = true;
				set_cname();
				return '';
			}
	}
	var o=document.getElementById('set_client_btn');
	if(o) {
		if(current_id!=frm.client_id[idx].value) {
			if (o.style.display != "inline") o.style.display = "inline";
		} else {
			if (o.style.display == "inline") o.style.display = "none";
		}
	}
}
//////////////////////////////////////////////////////////////////////////////////////////////
function LoadCampName(force) {
	if(!document.getElementById('camp_name_short')) return;
	frm=document.all_ploskosti;
	document.getElementById('camp_name_short').innerHTML = 'Подождите, идёт поиск...';
	var query = '' + frm.edit.value;
	var req = new Subsys_JsHttpRequest_Js();

	req.onreadystatechange = function() {
		if (req.readyState == 4)
			if (req.responseJS) document.getElementById('camp_name_short').innerHTML=req.responseJS.value;
	}

	req.caching = false;
	req.open('POST', 'ajax.php?type=get_camp_name', true);
	req.send({ q: query });
}
function SetCampName() {
	if(!document.getElementById('camp_name_short')) return;
	if(document.all_ploskosti) frm=document.all_ploskosti;

	var query = '' + frm.edit.value;
	var name = '' + document.getElementById('camp_name_short').value;
	var req = new Subsys_JsHttpRequest_Js();

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			go_change_name('reset');
		}
	}

	req.caching = false;
	req.open('POST', 'ajax.php?type=set_camp_name', true);
	req.send({ q: query, new_name: name});
}
function load_all_milestone() {
	frm=document.fb;
	for(i=0;i<frm.length;i++) {
		cname=frm.elements[i].name;
		if(cname.charAt(0)=='y') {
			p_id=cname.substring(1, cname.length);
			load_one_milestone(p_id);
		}
	}
}
function load_one_milestone(p_id) {
	var query=''+p_id;
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			document.getElementById('mbar_'+p_id).innerHTML=req.responseJS.bar;
			if(req.responseJS.remove=='') {
				document.getElementById('del_btn_'+p_id+'_on').style.display = "inline";
				document.getElementById('del_btn_'+p_id+'_off').style.display = "none";
			} else {
				document.getElementById('del_med_'+req.responseJS.remove+'_off').style.display = "inline";
				document.getElementById('del_med_'+req.responseJS.remove+'_on').style.display = "none";
			}
		}
	}
	req.caching = true;
	req.open('POST', 'ajax.php?type=build_milestone', true);
	req.send({ q: query});
}
function load_express_camp_info(plane_id, x) {
	xid=x+1;
	date=document.fb.elements["ym"+xid].value;
	if(!date || date=='') return;
	var query = '' + plane_id;
	var date = '' + date;
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			name = x+'_'+plane_id;
			o=document.getElementById(name);
			s='&nbsp;';
			if(req.responseJS.block_qty==5) {
				s='R';
				o.style.background='#7dfe68';
			} else if(req.responseJS.block_qty==1) {
				s=req.responseJS.client_name+'\\'+req.responseJS.camp_name;
				o.style.background='#ff8033';
			} else if(req.responseJS.block_qty>1) {
				s='X';
				o.style.background='#fff000';
			} else o.style.background='#ffffff';
			o.innerHTML=s;
		}
	}

	req.caching = false;
	req.open('POST', 'ajax.php?type=get_express_camp_info', true);
	req.send({ q: query, dt: date});
}
function load_all_express_camp_info(pl, x) {
	xid=x+1;
	date=document.fb.elements["ym"+xid].value;
	if(!date || date=='') return;
	var query = '' + pl;
	var date = '' + date;
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			planes=pl.split(",");
			for(y=0;y<planes.length;y++) {
				plane_id=planes[y];
				name = x+'_'+plane_id;
				o=document.getElementById(name);
				s='&nbsp;';
				if(eval('req.responseJS.block_qty_'+plane_id)==5) {
					s='R';
					o.style.background='#7dfe68';
				} else if(eval('req.responseJS.block_qty_'+plane_id)==1) {
					s=eval('req.responseJS.client_name_'+plane_id)+'\\'+eval('req.responseJS.camp_name_'+plane_id);
					o.style.background='#ff8033';
				} else if(eval('req.responseJS.block_qty_'+plane_id)>1) {
					s='X';
					o.style.background='#fff000';
				} else o.style.background='#ffffff';
				o.innerHTML=s;
				if(x==g_x && y==g_y) {
					select_cell=new Array();
					highlite_active_row();
				}
			}
		}
	}
	req.caching = false;
	req.open('POST', 'ajax.php?type=get_all_express_camp_info', true);
	req.send({ q: query, dt: date});
}
function ajax_start_add_campaign() {
	frm=document.add_camp_form;
	if(frm.new_client_name.value=='' || frm.new_camp_name.value=='') return;
	var ydat=new Array;
	var s_cell=new Array;
	for(x=0;x<12;x++) {
		xid=x+1;
		ydat[x]=document.fb.elements["ym"+xid].value;
	}
	for(i=0;i<select_cell.length;i++) {
		s_cell[i]=new Array;
		s_cell[i]['plane_id']=planes[select_cell[i]['y']];
		s_cell[i]['x']=select_cell[i]['x'];
	}
	idx=frm.exist_client_id.selectedIndex;
	u_id=frm.exist_client_id[idx].value;
	u_name=frm.new_client_name.value;
	idx=frm.exist_camp_name.selectedIndex
	camp_id=frm.exist_camp_name[idx].value;
	c_name=frm.new_camp_name.value;
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if(req.responseJS.add_status==1) Ext.Msg.alert('Ошибка добавления', "Эта плоскость уже продана в запрашиваемом периоде.");
			else if(req.responseJS.add_status>1) Ext.Msg.alert('Ошибка добавления', "Ошибка добавления продажи плоскости.");
			for(i=0;i<select_cell.length;i++) load_express_camp_info(planes[select_cell[i]['y']], select_cell[i]['x']);
			select_cell=new Array;
			win_add_camp.hide();
		}
	}

	req.caching = false;
	req.open('POST', 'ajax.php?type=add_plane_block', true);
	req.send({ q: s_cell, dt: ydat, u_id: u_id, u_name: u_name, c_id: camp_id, c_name: c_name});
}
function open_del_camp_window() {
	ydat=new Array;
	s_cell=new Array;
	for(x=0;x<12;x++) {
		xid=x+1;
		ydat[x]=document.fb.elements["ym"+xid].value;
	}
	for(i=0;i<select_cell.length;i++) {
		s_cell[i]=new Array;
		s_cell[i]['plane_id']=planes[select_cell[i]['y']];
		s_cell[i]['x']=select_cell[i]['x'];
	}
	if(select_cell.length==1) {
		plane_id=planes[select_cell[0]['y']];
		name=select_cell[0]['x']+'_'+plane_id;
		o=document.getElementById(name); var cell_name=o.innerHTML;
		var cinfo=cell_name.split("\\");
		date=document.fb.elements["ym"+(select_cell[0]['x']+1)].value;
		if(!date || date=='') return;
		var text_date=document.getElementById('m'+(select_cell[0]['x']+1)).innerHTML.toLowerCase().replace('<br>', ' ');
		msg='Вы запросили удалить продажу плоскости №'+plane_id+' из кампании '+cinfo[1]+' клиента '+cinfo[0]+' в период "'+text_date+'". Нажмите "Да" для удаления или "Отмена" чтоб отменить удаление';
	} else {
		l=0;
		for(i=0;i<select_cell.length;i++) {
			if(enable_operation(select_cell[i]['x'], select_cell[i]['y']) && !enable_operation_add(select_cell[i]['x'], select_cell[i]['y'])) l++;
		}
		msg='Будут удалены продажи для '+l+' плоскостей. Продолжать?';
	}
	my_confirm('Запрос на подтверждение', msg, ajax_del_camp_execute, 'Удалить', 'Отменить', 2)
}
function ajax_del_camp_execute() {
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			for(i=0;i<select_cell.length;i++) load_express_camp_info(planes[select_cell[i]['y']], select_cell[i]['x']);
			select_cell=new Array;
		}
	}
	req.caching = false;
	req.open('POST', 'ajax.php?type=del_plane_block', true);
	req.send({ q: s_cell, dt: ydat});
}
function change_mcode_sorder() {
	var co=getCookie('code_sorder_mode');
	setCookie('code_sorder_mode', '', erase_time);
	if(co=="ow") setCookie('code_sorder_mode', 'ep', cook_time);
	else setCookie('code_sorder_mode', 'ow', cook_time);
	document.location.reload();
}
