﻿function getFilterXML(filter) {
	var filterParameters = '<?xml version="1.0" encoding="UTF-8"?>';
	filterParameters += '<filter>';
	filterParameters += '<description>' + filter.description + '</description>';
	filterParameters += '<regions>' + filter.regions + '</regions>';
	filterParameters += '<sectors>' + filter.sectors + '</sectors>';
	
	filterParameters += '<legform>' + (filter.optionEnabled == true ? filter.legformDDL.options[filter.legformDDL.selectedIndex].value : '') + '</legform>'
	filterParameters += '<hassite>' + (filter.optionEnabled == true && filter.hasSite == true ? "true" : "false") + '</hassite>';
	filterParameters += '<INN>' + (filter.optionEnabled == true ? filter.inn : '') + '</INN>';
	filterParameters += '<MMVB></MMVB>';
	filterParameters += '<OGRN>' + (filter.optionEnabled == true ? filter.ogrn : '') + '</OGRN>';
	filterParameters += '<OKPO></OKPO>';
	filterParameters += '<RTS></RTS>';
	

	var projTypes = '';
	if (filter.optionEnabled == true) {
		if ( filter.buybusiness == true) {
			projTypes += "'"+filter.buybusiness_const+"',";
		}

		if (filter.sellbusiness == true) {
			projTypes += "'"+ filter.sellbusiness_const +"',";
		}

		if (filter.creditbuy == true) {
			projTypes += "'" + filter.creditbuy_const + "',";
		}
		
		if (filter.creditsale == true) {
			projTypes += "'" + filter.creditsale_const + "',";
		}		

		if (filter.investor == true) {
			projTypes += "'" + filter.investor_const +"',";
		}

		if ( filter.needinvestor == true) {
			projTypes += "'"+ filter.needinvestor_const +"',";
		}

		if (filter.patnershipsearch == true) {
			projTypes += "'" + filter.patnershipsearch_const+ "',";
		}
		
		if (filter.patnershipoffer == true) {
			projTypes += "'" + filter.patnershipoffer_const+ "',";
		}

		if (projTypes != '') {
			projTypes = projTypes.substring(0, projTypes.length - 1);
		}
	}

	filterParameters += '<projTypes>' + projTypes + '</projTypes>'
	filterParameters += '<itemsOnPage>'+ filter.itemsOnPage +'</itemsOnPage>';
	filterParameters += '<currentPage>' + filter.pageNumber + '</currentPage>';
	filterParameters += '<pagerMethodName>' + filter.functionName + '</pagerMethodName>';
	filterParameters += '<includeNotVerified>true</includeNotVerified>'
	filterParameters += '</filter>';
	return filterParameters;
}

function getEmptyFilter()
	{
		filter.optionEnabled =	false;
		filter.description = "";
		filter.regions = "";
		filter.sectors = "";
		filter.legformDDL =	null;
		filter.hasSite = false;
		filter.inn = "";
		filter.mmvb = "";
		filter.ogrn = "";
		filter.okpo = "";
		filter.rts = "";
		filter.buybusiness = false;	
		filter.sellbusiness = false; 
		filter.creditsale =	false; 
		filter.creditbuy =	false; 
		filter.investor = false; 
		filter.needinvestor = false; 
		filter.patnershipsearch = false;
		filter.patnershipoffer = false;											 
	}

function onSectorNodePopulated(sender, eventArgs)
{
	var parentNode = eventArgs.get_node();
	var nodes = parentNode.get_nodes();
	parentNode.get_childListElement()
	var childList = parentNode.get_childListElement();
	if(childList != null)
	{	
		$(childList).addClass("company-sort-list"); 
		for(var i=0; i<nodes.get_count();i++)
		{
			var currentNode = nodes.getNode(i);
			var expMode = currentNode.get_expandMode()
			var hasChildren =  expMode != undefined && expMode == 3;	
			var node_text = currentNode.get_text();					
			$(currentNode.get_textElement()).text('');			
			var element = currentNode.get_element();
			if(element != null)
			{
				$(element).addClass("company-group close");
			}
			
			var a = document.createElement('a');		
			a.href="#";				
			if(hasChildren == true)
			{
				$(a).addClass("group-name");
				var span = document.createElement('span');
				$(span).text(node_text);
				$(span).attr("node_value",currentNode.get_value());
				$(span).click(onClick)
				a.appendChild(span);
								
				var i_element = document.createElement('i');				
				$(i_element).attr("node_value",currentNode.get_value());				
				$(i_element).attr("treeView_id",currentNode.get_treeView().get_id());
				$(i_element).click(onExpand);
				a.appendChild(i_element);			
			}
			else
			{
				$(a).attr("node_value",currentNode.get_value());				
				$(a).click(onClick);
				$(a).text(node_text);
			}
			currentNode.get_textElement().appendChild(a);		
		}		
	}	
}

function onExpand(e)
{
    var tgt; 
    if ((e = e || window.event) 
        && (tgt = e.srcElement || e.target)) 
    { 
         expandSectorNode($(tgt).attr('node_value'),$(tgt).attr('treeView_id')); 
    } 
    return false;
}

function onClick(e)
{
    var tgt; 
    if ((e = e || window.event) 
        && (tgt = e.srcElement || e.target)) 
    { 
         loadBySector($(tgt).attr('node_value')); 
    } 
    return false;
}

function rtvSectorsOnClientLoad(sender, eventArgs)
{
	var treeView = sender.get_element();
	treeView.className='';
			
	var uls =  treeView.getElementsByTagName("ul");
	for(var i = 0; i< uls.length; i++)
	{
		uls[i].className = "company-sort-list";
	}
	
	var lis =  treeView.getElementsByTagName("li");
	for(var i = 0; i< lis.length; i++)
	{
		lis[i].className = "company-group close";
	}
	$('i.expand-link').text('');	
}

function expandSectorNode(nodeValue,treeViewID)
{
	var treeView = $find(treeViewID);
	var node = treeView.findNodeByValue(nodeValue);
	var isExpanded = node.get_expanded();
	
	if( isExpanded == true)
	{
		node.get_element().className = "company-group close";				
		node.collapse();
	}
	else
	{
		node.get_element().className = "company-group open";				
		node.expand();
	}
}


function applyFilter()
{
	deleteRubricator();
	showCompanies();
	getSimillarProjects(1);
	getCompanies(1);
	getCompanyNews(1); 
	return false;
}

function sectorsTab_click(treeViewID)
{
	var sectorsTab = $get('sectorsTab');
	var regionsTab = $get('regionsTab');
	var alphabetTab = $get('alphabetTab');
	
	if(sectorsTab == undefined || regionsTab == undefined || alphabetTab == undefined) return false;
	
	regionsTab.className = alphabetTab.className = "";
	sectorsTab.className = "active";
	
	var treeView = $find(treeViewID);	
	var element = treeView.get_element();
	element.style["display"] = "block";	
	$get('divCompanies').style["display"] = "none";
	
	return false;
}


var isLoaded = false;
function regionsTab_click(treeViewID,companyPanel)
{
	var sectorsTab = $get('sectorsTab');
	var regionsTab = $get('regionsTab');
	var alphabetTab = $get('alphabetTab');
	
	if(sectorsTab == undefined || regionsTab == undefined || alphabetTab == undefined) return false;
	
	sectorsTab.className = alphabetTab.className = "";
	regionsTab.className = "active";	
	
	var treeView = $find(treeViewID);	
	var element = treeView.get_element();
	element.style["display"] = "none";
	$get('divCompanies').style["display"] = "block";
	
	if(isLoaded == false)
	{
		isLoaded = true;
		$find(companyPanel).set_value('regions');
	} 
	
	return false;
}
	
function showCompanies()
{
	$get('divCompanies').style["display"] = "block";
}