﻿/// <reference name="MicrosoftAjax.js" assembly="System.Web.Extensions" />

Type.registerNamespace("Finatica");
Type.registerNamespace("Finatica.FindProject");

Finatica.SectionMaxMin = function(oLnkId, oContentId)
{
try
{
	if (oContentId != null && oContentId != '')
	{
		var oLnk = $get(oLnkId);
		var oContent = $get(oContentId);
		//var sMaxHtml = oLnk.getAttribute('max_html');
		var sMaxHtml = oLnk.attributes['max_html'].value;
		var sMinHtml = oLnk.attributes['min_html'].value;
		if (oContent.style.display == 'none')
		{
			oLnk.innerHTML = sMinHtml;
			oContent.style.display = 'block';
		}
		else
		{
			oLnk.innerHTML = sMaxHtml;
			oContent.style.display = 'none';
		}
	}
}catch(e)
{
	alert(e);
};
};






Finatica.FindProject.SearchParams = null;


Finatica.FindProject.Search = function(sender, e)
{
	if(!Finatica.FindProject.FindProject)
	{
		alert('Function Finatica.FindProject.FindProject not defined');
		return;
	}

	if(Finatica.FindProject.SearchParams == null)
	{
		Finatica.FindProject.SearchParams = Finatica.FindProject.CreateSearchParams();
	}
	else
	{
		if(Finatica.FindProject.SearchParams.orderby!=null)
		{
			Finatica.FindProject.SearchParams.orderby.asc = null;
			Finatica.FindProject.SearchParams.orderby.className = 'script-link script-link_alt';
		}
	}
	
	if(Finatica.FindProject.FillSearchParams)
		Finatica.FindProject.FillSearchParams();
	
	var UserContext = Array();

	Finatica.FindProject.FindProject(Finatica.FindProject.SearchParams, null, Finatica.FindProject.OnSearchComplite, Finatica.FindProject.OnSearchError, UserContext);
};

Finatica.FindProject.OnSearchComplite = function(result, userContext, fname)
{
	var commonCss = 'script-link script-link_alt';
	var upCss = 'active-up ';
	var downCss = 'active-down ';
	
		
	if (userContext.length>0)
	{//Пришли с реордера
		var sender = userContext[0];
		if(sender.asc == null) sender.asc = 'asc';
		else sender.asc = (sender.asc == 'asc' ? 'desc' : 'asc');
		
		
		if(Finatica.FindProject.SearchParams == null)
			Finatica.FindProject.SearchParams = Finatica.FindProject.CreateSearchParams();
		var searchParams = Finatica.FindProject.SearchParams;
			
		if(searchParams.orderby != null)
		{
			searchParams.orderby.className = commonCss;
			if(!(searchParams.orderby===sender))
				searchParams.orderby.asc = null;
		}
				
		searchParams.orderby = sender;
		sender.className = (sender.asc == 'desc' ? upCss : downCss) + commonCss;
	}
	$get(Finatica.FindProject.SearchResultID).innerHTML = result.projects;
	$get(Finatica.FindProject.PagerID).innerHTML = result.pager;
	$(window).scrollTop($('#sort1').offset().top - 15)
};

Finatica.FindProject.GetSelectedIds = function(pd) {
    var inputs = pd.getElementsByTagName('input');
    var res = '';
    var i;

    for (i = 0; i < inputs.length; i++) {
        if (inputs[i].checked)
            res += "'" + inputs[i].value + "',";
    }
    if (res.length > 0)
        res = res.substr(0, res.length - 1);
    return res;
};

Finatica.FindProject.Reorder = function(sender, e)
{
	if(!Finatica.FindProject.FindProject)
	{
		alert('Function Finatica.FindProject.FindProject not defined');
		return;
	}

	var asc = (sender.asc == null? 'desc' : sender.asc);
	var orderby = sender.attributes['orderby'].value + ' ' + asc;
	
	var pageNum = 1;
	var numOnPage = null;
	var count = -1;
	
	UserContext = new Array(sender)

	if(Finatica.FindProject.SearchParams == null)
		Finatica.FindProject.SearchParams = Finatica.FindProject.CreateSearchParams();
	
	Finatica.FindProject.FindProject(Finatica.FindProject.SearchParams, orderby, Finatica.FindProject.OnSearchComplite, Finatica.FindProject.OnSearchError, UserContext);
};

Finatica.FindProject.ChangePage = function(pageNum)
{
	if(Finatica.FindProject.SearchParams == null)
		Finatica.FindProject.SearchParams = Finatica.FindProject.CreateSearchParams();
	var searchParams = Finatica.FindProject.SearchParams;
	
	var UserContext = Array();
	searchParams.pageNum = pageNum;
	
	if(searchParams.orderby == null)
	{
		var orderby = null;
	}
	else
	{
		var sender = searchParams.orderby;
		var orderby = sender.attributes['orderby'].value + (sender.asc == null? ' asc' : (sender.asc == 'asc' ? ' desc' : ' asc'));
	}
	
	Finatica.FindProject.FindProject(searchParams, orderby, Finatica.FindProject.OnSearchComplite, Finatica.FindProject.OnSearchError, UserContext);
};	


Finatica.FindProject.OnSearchError = function(error)
{
	Finatica.LastError = error;
	alert('OnSearchError\n' + error.get_message());
};


Finatica.FindProject.DefaultSort = function(element) {
    var sender = $(element)[0];
    sender.asc = 'asc';
    sender.className = 'active-down ' + sender.className;
}

