function getStreet(pars)
{
	var url = '/jstreet.mhtml';
	$('sbutton').style.display = 'none'
	$('street').disabled = true;				
	var myAjax = new Ajax.Updater( {success: 'StreetDiv'}, url, {method: 'get', parameters: pars, onFailure: reportError, onComplete: popupDiv});
}

function reportError(request)
{
	$('street').style.display = 'inline';
	alert('Улица не найдена');
	$('sbutton').style.display = 'inline'
	$('street').disabled = false;
}
		
function NewSearch()
{
	$('street').style.display='inline';
	$('show_str_street').innerHTML = '';
	$('str_street').value='';
	$('sbutton').style.display = 'inline';
	$('street').disabled = false;
	$('div_houses').style.display = 'none';
	$('FlatId').style.display = 'none';
}

function SearchStreet(param)
{
	var el = $('street');
	if(el.value.length < 3)
	{
		alert('Введите не менее 3 букв');
		return false;
	}
	var pars = el.value.toUpperCase();
	getStreet('street='+pars);
}
			
popupDiv = function(e)
{
	
	$('StreetDiv').style.display = 'inline';	
	
}
			

function StreetSelect(value, arr_str, arr_title)
{
	arr = arr_str.split(',');
	arr_name = arr_title.split(',');
	$('show_str_street').innerHTML = value;
	$('str_street').value = value;
	$('street').style.display = 'none';
	$('StreetDiv').style.display = 'none';
	$('div_houses').style.display = 'block';				
	var nCurrValuesCnt = arr.length;
	if(nCurrValuesCnt > 0)
	{
		var oList = $("house_s");
		var oListOptionsCnt = oList.options.length;
		oList.length = 0;
		
		if (document.createElement){
			var newListOption = document.createElement("OPTION");
			newListOption.text = "Выберите дом";
			newListOption.value = "";
			(oList.options.add) ? oList.options.add(newListOption) : oList.add(newListOption, null);
		}else{
			//  NN3.x-4.x
			oList.options[i] = new Option(arr[i], arr[i], false, false);
		}
		
		for (i = 0; i < nCurrValuesCnt; i++){
			if (document.createElement){
				var newListOption = document.createElement("OPTION");
				newListOption.text = arr_name[i];
				newListOption.value = arr[i];
				(oList.options.add) ? oList.options.add(newListOption) : oList.add(newListOption, null);
			}else{
				//  NN3.x-4.x
				oList.options[i] = new Option(arr[i], arr[i], false, false);
			}
		}
	}
}


function ChangeAbility(value)
{
	if(value=="phone")
	{
		$('PhoneDiv').style.display="block";
		$('StreetDivAb').style.display="none";
	}
	if(value=="address")
	{
		$('PhoneDiv').style.display="none";
		$('StreetDivAb').style.display="block";
	}
	if(value=="none")
	{
		$('PhoneDiv').style.display="none";
		$('StreetDivAb').style.display="none";
	}	
}

function HouseChange(val)
{
	$('show_str_street').innerHTML +=", "+val;
	$('str_street').value +=", "+val;
	$('FlatId').style.display = "block";
}

(function()
		{
		    var UA = navigator.userAgent;
		    is_gecko = /gecko/i.test(UA);
		    is_opera = /opera/i.test(UA);
		    is_mac = /mac_powerpc/i.test(UA);
		    is_ie = /msie/i.test(UA) && !is_opera && !is_gecko && !is_mac;
		    is_ie5 = is_ie && /msie 5\.[^5]/i.test(UA);
		    is_nn4 = document.layers ? true : false;
		})();
		
function clearNum(Num) {
	var str = "";
	for (var j=0; j<=Num.length-1; j++){
		if (Num.substring(j,j+1)/1+1 && Num.substring(j,j+1)!=" ") str += Num.substring(j,j+1);
	}
	return str;
}
		
		
function checkSend()
{
	var abiltype = $('ability_change').value;
	$('ability_type').value=abiltype;
	if(abiltype == 'phone')
	{
		var ph_cod = $('ph_cod').value;
		var ph_num = $('ph_numtel');
		if (clearNum(ph_num.value).length + clearNum(ph_cod).length != 7){
			if (clearNum(ph_cod).length == 1) {alert('Введите шестизначный номер. Допустимые символы - цифры');}
				else {alert('Введите пятизначный номер. Допустимые символы - цифры');}
				 ph_num.select();
				 ph_num.focus();
				 return false;
			}
			else
			{
				$('cod').value=ph_cod;
				$('numtel').value=ph_num.value;
				return true;
			}
	}
	if(abiltype == 'address')
	{
		var house_addrid = $('house_s').value;
		var flat_num = $('flat_num_id').value;
		if(house_addrid.length==0||flat_num.length==0)
		{
			alert('Не указан номер дома или номер квартиры');
			return false;
		}
		else
		{
			$('home_addrid').value = house_addrid;
			$('flat_num').value = flat_num;
		}
	}
}

function CloseTT(check)
{
	if(check)
	{
		$('close_tt_rate').disabled=false;
		$('close_tt_div').style.display='block';
		$('add_comm_div').style.display='none';
	}
	else
	{
		$('close_tt_rate').disabled=true;
		$('close_tt_div').style.display='none';
		$('add_comm_div').style.display='block';
	}
}

function ShowTVChannel(tarif)
{
	$('tarif_out').innerHTML = $(tarif).innerHTML;
	scroll(0,0);
}

function TVReqSend()
{
	if($('variance').value > 0)
	{
		if(!$('fio').value || !$('contphone').value)
			alert("Заполните ФИО заявителя и контактный телефон");
		else
		{
			var r_login = new RegExp("^[a-z0-9]+$","gi");
			var r_phone = new RegExp("^[0-9]+$", "g");
			
			if($('variance').value == 1 && (!$('login').value || !r_login.test($('login').value)))
				alert("Заполните шифр установки Интернет-подключения. Допустимые символы a-z и 0-9");
			else if($('variance').value == 2 && $('techno').value == 0)
				alert("Заполните данные для организации подключения");
			else
			{
				if($('techno').value == 1 && (!$('phone').value || !r_phone.test($('phone').value)))
					alert("Заполните номер стационарного телефона. Допустимые символы 0-9");
				else if($('techno').value == 2 && !$('addr_id').value)
					alert("Полностью укажите адрес проживания");
				else
				{
					var r_email = new RegExp("^[a-z0-9-_.@]*$", "g");
					if(!r_email.test($('contemail').value))
						alert("Недопустимые символы в E-Mail");
					else
					{
						var r_cod = new RegExp("^[a-z0-9]{6}$","gi");
						if(!r_cod.test($('cod').value))
							alert("Введите код с картинки. Допустимые символы a-z и 0-9");
						else
						{
							$('submitButt').disabled = true;
							$('submitButt').value = 'Подождите...';
							var pars = "type=iptv" + "&variance=" + $('variance').value + "&techno=" + $('techno').value + "&login=" + $('login').value +
							"&area=" + $('area').value + "&phone=" + $('phone').value + "&addr_id=" + $('addr_id').value + "&flat=" + $('flat').value +
							"&fio=" + $('fio').value + "&contphone=" + $('contphone').value + "&contemail=" + $('contemail').value + '&cod=' + $('cod').value;
							new Ajax.Updater({ success: 'req_form' }, '/iptv/tvrequest.mhtml', { method: 'post', parameters: pars, onFailure: TVReqError });
						}
					}
				}
			}
		}
	} else { alert("Выберите вариант оформления заявки") }
}

function FTTReqSend()
{
	if($('addr_id').value == 0 || $('flat').value == 0)
			alert("Полностью укажите адрес проживания");
	else
	{
		if(!$('fio').value || !$('contphone').value)
			alert("Заполните ФИО заявителя и контактный телефон");
		else
		{
			if(!$('selectdate').value)
				alert("Укажите планируемую дату подключения");
			else
			{
				var r_cod = new RegExp("^[a-z0-9]{6}$","gi");
				if(!r_cod.test($('cod').value))
					alert("Введите код с картинки. Допустимые символы a-z и 0-9");
				else
				{
					return true;
				}
			}
		}
	}
	return false;
}

function checkAgentForm()
{
	var res = false;
	
	if($('family').value.length && $('name').value.length && $('secname').value.length)
	{
		var r_numbers = new RegExp("^[0-9]+$");
		if(r_numbers.test($('mobil').value) && r_numbers.test($('seria').value) && r_numbers.test($('number').value))
		{
			var r_date = new RegExp("^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$");
			if(r_date.test($('date').value) && r_date.test($('birth_date').value))
			{
				if($('tarif').value > 0)
				{
					if(r_numbers.test($('env_number').value))
					{
						res = true;
					} else { alert("Укажите номер конверта") }
				} else { alert("Не выбран тарифный план") }
			} else { alert("Формат даты ДД/ММ/ГГГГ") }
		} else { alert("В номере сотового телефона, серии и номере паспорта допустимы только цифры") }
	} else { alert("Заполните ФИО абонента") }
	
	return res;
}

function checkZakazForm()
{
	var res = false;
	if($('family').value.length && $('name').value.length && $('secname').value.length)
	{
		var r_numbers = new RegExp("^[0-9]+$");
		if(r_numbers.test($('mobil').value) && r_numbers.test($('seria').value) && r_numbers.test($('number').value))
		{
			var r_date = new RegExp("^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$");
			if(r_date.test($('date').value) && r_date.test($('birth_date').value))
			{
				if($('tarif').value != '')
				{
					var s_date = new RegExp("^[0-9]{4}\.[0-9]{2}\.[0-9]{2}$");
					if(s_date.test($('selectdate').value)){
						res = true;
					} else { alert("Не выбрана дата выполнения заказа") }
				} else { alert("Не выбран тарифный план") }
			} else { alert("Формат даты ДД/ММ/ГГГГ") }
		} else { alert("В номере сотового телефона, серии и номере паспорта допустимы только цифры") }
	} else { alert("Заполните ФИО абонента") }
	
	return res;
}

function checkFttxForm()
{
	var res = false;
	
	if($('family').value.length && $('name').value.length && $('secname').value.length)
	{
		var r_numbers = new RegExp("^[0-9]+$");
		if(r_numbers.test($('mobil').value) && r_numbers.test($('seria').value) && r_numbers.test($('number').value))
		{
			var r_date = new RegExp("^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$");
			if(r_date.test($('date').value) && r_date.test($('birth_date').value))
			{
				if($('tarif').value > 0)
				{
						res = true;
				} else { alert("Не выбран тарифный план") }
			} else { alert("Формат даты ДД/ММ/ГГГГ") }
		} else { alert("В номере сотового телефона, серии и номере паспорта допустимы только цифры") }
	} else { alert("Заполните ФИО абонента") }
	if(res == true){if(confirm("Проверьте правильность заполненных данных. Будет создано новое подключение со списанием средств с лицевого счета абонента. Продолжить?")==false){res=false;}}
	return res;
}

function TVReqError()
{
	$('submitButt').disabled = false;
	$('submitButt').value = 'Отправить заявку';
	alert("Проверьте ввод символов с картинки. Если символы трудночитаемы - кликните на картинку для изменения кода. Важно: проверьте в настройках разрешен ли в Вашем браузере прием cookies");
}

function NoPlanDate()
{
	alert ('pass');
}

function AdslVsFttx()
{
	if($('choise1').checked)
	{
		$('ch_adsl').style.display = 'block';
		$('ch_fttx').style.display = 'none';
	}
	else
	{
		$('ch_adsl').style.display = 'none';
		$('ch_fttx').style.display = 'block';
	}
}

function GetSelect(type, parent)
{
	$(type + '_select').options[0] = new Option("Подождите немного...", '0');
	$(type + '_select').options[0].selected = true;
	$('addr_id').value = 0;
	new Ajax.Updater( {success: (type + '_select')}, '../iptv/tvrequest.mhtml', {method: 'post', parameters: ('parent=' + parent), onComplete: $(type).style.display = 'block' });
}

function GetSelectFttx(type, parent)
{
	$(type + '_select').options[0] = new Option("Подождите немного...", '0');
	$(type + '_select').options[0].selected = true;
	$('addr_id').value = 0;
	new Ajax.Updater( {success: (type + '_select')}, '../iptv/tvrequest.mhtml', {method: 'post', parameters: ('parent=' + parent), onComplete: $(type).style.display = 'block' });
}

// ф-ция, определяющая алгоритм сортировки
function _sort(a, b) {
    var a = a[0];
    var b = b[0];
    var _a = (a + '').replace(/,/, '.');
    var _b = (b + '').replace(/,/, '.');
    var date_format = new RegExp('^[0-9]{4}.[0-9]{2}.[0-9]{2}$','g');
    if (parseFloat(_a) && !date_format.test(a) && parseFloat(_b) && !date_format.test(a)) return sort_numbers(parseFloat(_a), parseFloat(_b));
    else if (!sort_case_sensitive) return sort_insensitive(a, b);
    else return sort_sensitive(a, b);
}

// ф-ция сортировки чисел
function sort_numbers(a, b) {
    return a - b;
}

// ф-ция регистронезависимой сортировки
function sort_insensitive(a, b) {
    var anew = a.toLowerCase();
    var bnew = b.toLowerCase();
    if (anew < bnew) return -1;
    if (anew > bnew) return 1;
    return 0;
}

// ф-ция регистрозависимой сортировки
function sort_sensitive(a, b) {
    if (a < b) return -1;
    if (a > b) return 1;
    return 0;
}

// вспомогательная ф-ция, выдирающая из дочерних узлов весь текст
function getConcatenedTextContent(node) {
    var _result = "";
    if (node == null) {
        return _result;
    }
    var childrens = node.childNodes;
    var i = 0;
    while (i < childrens.length) {
        var child = childrens.item(i);
        switch (child.nodeType) {
            case 1: // ELEMENT_NODE
            case 5: // ENTITY_REFERENCE_NODE
                _result += getConcatenedTextContent(child);
                break;
            case 3: // TEXT_NODE
            case 2: // ATTRIBUTE_NODE
            case 4: // CDATA_SECTION_NODE
                _result += child.nodeValue;
                break;
            case 6: // ENTITY_NODE
            case 7: // PROCESSING_INSTRUCTION_NODE
            case 8: // COMMENT_NODE
            case 9: // DOCUMENT_NODE
            case 10: // DOCUMENT_TYPE_NODE
            case 11: // DOCUMENT_FRAGMENT_NODE
            case 12: // NOTATION_NODE
            // skip
            break;
        }
        i++;
    }
    return _result;
}

// суть скрипта
function sort(e) {
    var el = window.event ? window.event.srcElement : e.currentTarget;
    while (el.tagName.toLowerCase() != "td") el = el.parentNode;
    var a = new Array();
    var name = el.lastChild.nodeValue;
    var dad = el.parentNode;
    var table = dad.parentNode.parentNode;
    var up = table.up;
    var node, arrow, curcol;
    for (var i = 0; (node = dad.getElementsByTagName("td").item(i)); i++) {
        if (node.lastChild.nodeValue == name){
            curcol = i;
            if (node.className == "curcol"){
                arrow = node.firstChild;
                table.up = Number(!up);
            }else{
                node.className = "curcol";
                arrow = node.insertBefore(document.createElement("img"),node.firstChild);
                table.up = 0;
            }
            arrow.src = img_dir + table.up + ".gif";
            arrow.alt = "";
        }else{
            if (node.className == "curcol"){
                node.className = "";
                if (node.firstChild) node.removeChild(node.firstChild);
            }
        }
    }
    var tbody = table.getElementsByTagName("tbody").item(0);
    for (var i = 0; (node = tbody.getElementsByTagName("tr").item(i)); i++) {
        a[i] = new Array();
        a[i][0] = getConcatenedTextContent(node.getElementsByTagName("td").item(curcol));
        a[i][1] = getConcatenedTextContent(node.getElementsByTagName("td").item(1));
        a[i][2] = getConcatenedTextContent(node.getElementsByTagName("td").item(0));
        a[i][3] = node;
    }
    a.sort(_sort);
    if (table.up) a.reverse();
    for (var i = 0; i < a.length; i++) {
        tbody.appendChild(a[i][3]);
    }
}

// ф-ция инициализации всего процесса
function init(e) {
    if (!document.getElementsByTagName) return;

    for (var j = 0; (thead = document.getElementsByTagName("thead").item(j)); j++) {
        var node;
        for (var i = 0; (node = thead.getElementsByTagName("td").item(i)); i++) {
            if (node.addEventListener) node.addEventListener("click", sort, false);
            else if (node.attachEvent) node.attachEvent("onclick", sort);
            node.title = "Нажмите на заголовок, чтобы отсортировать колонку";
        }
        thead.parentNode.up = 0;
        
        if (typeof(initial_sort_id) != "undefined"){
            td_for_event = thead.getElementsByTagName("td").item(initial_sort_id);
            if (document.createEvent){
                var evt = document.createEvent("MouseEvents");
                evt.initMouseEvent("click", false, false, window, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, td_for_event);
                td_for_event.dispatchEvent(evt);
            } else if (td_for_event.fireEvent) td_for_event.fireEvent("onclick");
            if (typeof(initial_sort_up) != "undefined" && initial_sort_up){
                if (td_for_event.dispatchEvent) td_for_event.dispatchEvent(evt);
                else if (td_for_event.fireEvent) td_for_event.fireEvent("onclick");
            }
        }
    }
}

function ShowOrderList(elem,parent)
{
	var l = 0;
	var t = 0;
	
	var bl = document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
	var bt = document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;

	
	while (parent)
	{
		l += parent.offsetLeft;
		t += parent.offsetTop;
		parent = parent.offsetParent;
	}
	var dl = (l+20<bl-300)?l+20:l-250;
	var dt = (t+20<bt)?t+20:t-20;
	$(elem).style.left = dl;
	$(elem).style.top  = dt;
	$(elem).style.display = 'block';
}

function CloseOrderDiv(elem)
{
	$(elem).style.display = 'none';
}

function ShowOperList(tt_id,x,y)
{
	$('OperList').style.display = 'block';
	$('OperList').style.top = y+200;
	$('OperList').style.left = x+350;
	$('order_id').value= tt_id;
}

function SetOrderUser(oper)
{
	var rejid = $('order_id').value;
	var pars = 'oper='+oper+'&rejid='+rejid;
	new Ajax.Updater({ success: 'req_form' }, 'setorderuser.mhtml', { method: 'post', parameters: pars, onFailure: SetOrderUserErr, onComplete: SetOrderUserCompl });
}

function SetOrderUserErr()
{
	alert("Ошибка назначения исполнителя");
}

function SetOrderUserCompl()
{
	alert("Исполнитель назначен");
	location.replace('orders.mhtml');
}

function SetDate(el)
{
	el=el?el:'selectdate';
	var elem = $(el);
	
	var l = 0;
	var t = 0;
	
	while (elem)
	{
		l += elem.offsetLeft;
		t += elem.offsetTop;
		elem = elem.offsetParent;
	}
	$('calendar').style.left = l+20;
	$('calendar').style.top  = t+20;
	$('calendar').style.display = 'block';
	LEFT_CAL.focus();
}

function HideDiv(el)
{
	if($(el).style.display == 'block')
	{
		$(el).style.display = 'none';
		$(el+'_but').src='/images/plus.gif';
	}
	else
	{
		$(el).style.display = 'block';
		$(el+'_but').src='/images/minus.gif';
	}
}

function SendExtSearch()
{
	if($('ch_num').checked){$('value').value = $('num').value;$('searchkomm').innerHTML = $('searchkomm').innerHTML+' по номеру';}
	if($('ch_phonenum').checked){$('value').value = $('phonenum').value;$('searchkomm').innerHTML = $('searchkomm').innerHTML+' по телефону'}
	if($('ch_address').checked){$('value').value = $('house_s').value;$('searchkomm').innerHTML = $('searchkomm').innerHTML+' по номеру дома'}
	if($('ch_pointname').checked){$('value').value = $('pointname').value;$('searchkomm').innerHTML = $('searchkomm').innerHTML+' по шифру установки'}
	if($('value').value.length==0){alert('Не заполнен параметр поиска');return false;}
	if($('ch_phonenum').checked&&$('value').value.length!=7)
	{
		alert('Номер телефона - 7 цифр');
		return false;
	}
	return true;
}

function ChoiseType(type)
{
	if(type=='orders')
	{
		$('searchkomm').innerHTML = 'Поиск в заказах';
	}
	else 
	{
		$('searchkomm').innerHTML = 'Поиск в нарядах';
	}

}

function ChoiseMaket(ch)
{
	if(ch == 'adsl')
	{
		$('ch_adsl_label').style.textDecoration = 'underline';
		$('ch_adsl_label').style.color = '#DA441C';
		$('ch_fttx_label').style.textDecoration = 'none';
		$('ch_fttx_label').style.color = '#000000';
		$('ch_iptv_label').style.textDecoration = 'none';
		$('ch_iptv_label').style.color = '#000000';
		$('ch_phone').style.display = 'block';
		$('ch_address').style.display = 'none';
	}
	if(ch == 'fttx')
	{
		
		$('ch_adsl_label').style.textDecoration = 'none';
		$('ch_adsl_label').style.color = '#000000';
		$('ch_fttx_label').style.textDecoration = 'underline';
		$('ch_fttx_label').style.color = '#DA441C';
		$('ch_iptv_label').style.textDecoration = 'none';
		$('ch_iptv_label').style.color = '#000000';
		$('ch_phone').style.display = 'none';
		$('ch_address').style.display = 'block';
	}
	if(ch == 'iptv')
	{
		
		$('ch_adsl_label').style.textDecoration = 'none';
		$('ch_adsl_label').style.color = '#000000';
		$('ch_fttx_label').style.textDecoration = 'none';
		$('ch_fttx_label').style.color = '#000000';
		$('ch_iptv_label').style.textDecoration = 'underline';
		$('ch_iptv_label').style.color = '#DA441C';
		$('ch_phone').style.display = 'block';
		$('ch_address').style.display = 'block';
	}
}

function ChangeOrderStatus(stid)
{
	if(stid==3)
	{
		var reply = false;
		reply = prompt("Необходимо оставить комментарий","");
		if(reply==''||reply==null||reply=='null'){return false;}
		else { $('ch_comment').value = reply}
	}
	$('ch_state').value = stid;
	$('ChStatForm').submit();
}

