var fontSize = 10;
var selectedScope = 0;
var preselectedScope = 0;
var selectedMethodRowNum = 0;
var dsMethods;
var dsScopes;
var dsNews;
var dsNewsInitObserver;
var dsSponsors;
var dsLabels;
var dsMethods_Books, dsMethods_Activities, dsMethods_Activities_LinkCount, dsMethods_Activities_Scopes, dsMethods_Activities_Valuation, dsMethods_Sponsors, dsMethods_CaseStudies, dsMethods_Syn, dsMethods_Hyperlinks;
var currentSearchLanguage = 0;
var activityCheck = new Array(0,0,0,0);
var directView = false;

function search_init()
{
	dsLabels = new Spry.Data.JSONDataSet("view/user/localization/search.js",{useCache:false});
	dsSponsors = new Spry.Data.JSONDataSet("libs/amfphp/json.php/CDataService.ListSponsorsByMethod/0/"+currentLanguage);
	dsMethods = new Spry.Data.JSONDataSet(/*"libs/amfphp/json.php/CDataService.ListMethods/0/0/4/"+currentSearchLanguage+"/1"*/"",{useCache:false});
	var obs = {onPostLoad: search_MethodsLoaded};
	dsMethods.addObserver(obs);
	dsMethods_Books = new Spry.Data.NestedJSONDataSet(dsMethods, "Books");
	dsMethods_Activities = new Spry.Data.NestedJSONDataSet(dsMethods, "Activities");
	dsMethods_Activities_LinkCount = new Spry.Data.NestedJSONDataSet(dsMethods, "ActivitiesLinkCount");
	dsMethods_Activities_Scopes = new Spry.Data.NestedJSONDataSet(dsMethods, "Scopes");
	dsMethods_Activities_Valuation = new Spry.Data.NestedJSONDataSet(dsMethods_Activities, "ValuationTypes");
	dsMethods_CaseStudies = new Spry.Data.NestedJSONDataSet(dsMethods, "CaseStudies");
	dsMethods_Sponsors = new Spry.Data.NestedJSONDataSet(dsMethods, "Sponsors");
	dsMethods_Syn = new Spry.Data.NestedJSONDataSet(dsMethods, "Synonyms");
	dsMethods_Hyperlinks = new Spry.Data.NestedJSONDataSet(dsMethods, "Hyperlinks");
	dsScopes = new Spry.Data.JSONDataSet("libs/amfphp/json.php/CDataService.ListScopes/"+currentLanguage);
	dsNews = new Spry.Data.JSONDataSet("libs/amfphp/json.php/CDataService.ListNews/"+currentLanguage);
	dsNewsInitObserver = {onPostLoad: search_initNews};
	dsNews.addObserver(dsNewsInitObserver);
	
}

function search_MethodsLoaded()
{
	document.getElementById("inputLanguage").disabled = false;
}

function search_initNews()
{
	/*dsNews.removeObserver(dsNewsInitObserver);
	
	var newsEffect = new Spry.Effect.Fade('news_content_text',{duration: 1000,from: 0, to: 100,toggle: true, finish:search_onNewsFadeEnd});
	newsEffect.start();*/
	
}

function search_onPreLoad()
{
	//dsMethods = new Spry.Data.JSONDataSet("libs/amfphp/json.php/CDataService.ListMethods/0/0/2/"+currentSearchLanguage+"/"+MemberType,{useCache:false});
}

function search_onPostUpdate()
{
	/*new Spry.Widget.Tooltip("cbScopeTooltip","#cbScope", {showDelay:300});
	new Spry.Widget.Tooltip("ckbActivityTooltip","#ckbGen", {showDelay:300});
	new Spry.Widget.Tooltip("ckbActivityTooltip","#ckbDist", {showDelay:300});
	new Spry.Widget.Tooltip("ckbActivityTooltip","#ckbSave", {showDelay:300});
	new Spry.Widget.Tooltip("ckbActivityTooltip","#ckbApply", {showDelay:300});*/
	
	Spry.Data.Region.addObserver("inputScope", {onPostUpdate: search_onRegScopeUpdate});
	
	if(!dsMethods.dataWasLoaded)
	{
		var l = dsLabels.getCurrentRow();
		var elm = document.getElementById("search_description_content");
		if(elm)
			elm.innerHTML = l.start_text;
	}
}

function search_onScopeChange()
{
	preselectedScope = document.getElementById("inputScope").value;
}

function search_onRegScopeUpdate()
{
	document.getElementById("inputScope").selectedIndex = preselectedScope;
}

function search_update()
{
	dsMethods.loadData();
}

function search_onChangeLanguage(langID)
{
	if(currentSearchLanguage == langID)
	{
		return;
	}
		
	document.getElementById("inputLanguage").disabled = true;
	
	currentSearchLanguage = langID;

	dsScopes.setURL("libs/amfphp/json.php/CDataService.ListScopes/"+langID);
	Spry.Data.updateRegion("inputScope");
	
	if(directView)
	{
		dsMethods.setURL("libs/amfphp/json.php/CDataService.ListMethods/0/ids"+escape(activityCheck)+"/1000/"+langID+"/1");
		directView = false;
	}
	else if(selectedScope > 0)
	{
		dsMethods.setURL("libs/amfphp/json.php/CDataService.ListMethods/"+selectedScope+"/ids"+escape(activityCheck)+"/4/"+langID+"/1");
	}
	
	try
	{
		var meth = dsMethods.getRowByRowNumber(selectedMethodRowNum, true);
		dsMethods.setCurrentRow(meth.ds_RwID);
		dsSponsors.setURL("libs/amfphp/json.php/CDataService.ListSponsorsByMethod/"+meth.ID+"/"+langID);
		Spry.Data.updateRegion("right_bottom_content");
		Spry.Data.updateRegion("search_methods_content");
	}
	catch(e)
	{
		document.getElementById("inputLanguage").disabled = false;
		selectedMethodRowNum = 0;
	}
	
	try
	{
		if(dsLabels.getDataWasLoaded())
		{
			dsLabels.setCurrentRowNumber(currentSearchLanguage-1);
			Spry.Data.updateRegion("lblSearchMethodsHeader");
			Spry.Data.updateRegion("lblSearchMethodsHeaderPractice");
			Spry.Data.updateRegion("lblNewsHeader");
			Spry.Data.updateRegion("lblSponsorsHeader");
			Spry.Data.updateRegion("search_methods_links");
			//Spry.Data.updateRegion("cbScopeTooltip");
			//Spry.Data.updateRegion("ckbActivityTooltip");
			Spry.Data.updateRegion("user_interface");
			var l = dsLabels.getCurrentRow();
			document.getElementById("search_description_content").innerHTML = l.start_text;
		}
		else
		{
			
			var obs = {onPostLoad: function(){
									dsLabels.setCurrentRowNumber(currentSearchLanguage-1);
									Spry.Data.updateRegion("lblSearchMethodsHeader");
									Spry.Data.updateRegion("lblNewsHeader");
									Spry.Data.updateRegion("lblSponsorsHeader");
									//Spry.Data.updateRegion("cbScopeTooltip");
									//Spry.Data.updateRegion("ckbActivityTooltip");
									Spry.Data.updateRegion("search_methods_links");
									Spry.Data.updateRegion("user_interface");
									dsLabels.removeObserver(obs);
									var l = dsLabels.getCurrentRow();
									document.getElementById("search_description_content").innerHTML = l.start_text;
										
									}};
			dsLabels.addObserver(obs);
		}
	}
	catch(e)
	{
		
	}
	
	//dsNews.setURL("libs/amfphp/json.php/CDataService.ListNews/"+currentLanguage);
	//Spry.Data.updateRegion("news_content");
	
	
	
	dsHomeLabels.setCurrentRowNumber(langID-1);
	//Spry.Data.updateRegion("localizedUI");
	
}

function search_onChangeFont(size)
{
	fontSize = size;
	var content = document.getElementById("search_description_content");
	content.style.fontSize = size+"px";
	
	content = document.getElementById("search_description_content");
	var spans = content.getElementsByTagName("span");
	if(spans)
	{
		for(var i=0;i<spans.length;i++)
			spans[i].style.fontSize = (size)+"px";
	}
	
	content = document.getElementById("method_activities_table");
	if(content)
	{
		var spans = content.getElementsByTagName("span");
		if(spans)
		{
			for(var i=0;i<spans.length;i++)
				spans[i].style.fontSize = (size)+"px";
		}
	}
		
	content = document.getElementById("method_links");
	if(content)
		content.style.fontSize = size+"px";
}

function search_onSearchClick()
{
	selectedScope = document.getElementById("inputScope").value;
	
	if(selectedScope == 0)
		return;
	
	dsMethods.setURL("libs/amfphp/json.php/CDataService.ListMethods/"+selectedScope+"/ids"+escape(activityCheck)+"/4/"+currentLanguage+"/1");
	var rgn = Spry.Data.getRegion('search_methods_content');
	rgn.updateContent();
	//var rgn = Spry.Data.getRegion('sponsors');
	//rgn.UpdateContent();
	Spry.Data.updateRegion("sponsors");
}

function search_onShowMethod(id, langID)
{
	selectedScope = 0;

	dsMethods.setURL("libs/amfphp/json.php/CDataService.GetMethodByID/"+id+"/"+langID+"/1/0/4");
	
	search_onChangeLanguage(langID);
	directView = true;
	
}

function search_onShowGlossaryMethods(synonymID, langID)
{
	selectedScope = 0;

	dsMethods.setURL("libs/amfphp/json.php/CDataService.ListMethodsBySynonymID/4/"+langID+"/1/"+synonymID);
	
	search_onChangeLanguage(langID);
	directView = true;
}

function search_onMethodSelect(rowNum)
{
	if(rowNum == undefined)
		rowNum = 0;
		
	selectedMethodRowNum = rowNum;
	var meth = dsMethods.getRowByRowNumber(selectedMethodRowNum, true);
	dsSponsors.setURL("libs/amfphp/json.php/CDataService.ListSponsorsByMethod/"+meth.ID+"/"+currentLanguage);
	dsMethods.setCurrentRowNumber(selectedMethodRowNum);
	Spry.Data.updateRegion("search_methods_content");
	Spry.Data.updateRegion("search_methods_practice_content");
	Spry.Data.updateRegion("sponsors");
	Spry.Data.updateRegion("search_methods_links");
	//Spry.Data.updateAllRegions();
}

function search_updateNews()
{
	//newsEffect.start();
	var currentRow = dsNews.getCurrentRowNumber();
	var numRows = dsNews.getRowCount(true);
	var row = currentRow+1;
	if(row == numRows)
		row = 0;
	dsNews.setCurrentRowNumber(row);
	var rgn = Spry.Data.getRegion('news_content_text');
	rgn.updateContent();
}

function search_onNewsFadeEnd(elmentObj , FadeObj)
{
	if(FadeObj.direction == 2)
	{
		//FadeObj.stop();
		search_updateNews();
		setTimeout(function(){FadeObj.start();}, 500);
	}
	else
	{
		setTimeout(function(){FadeObj.start();}, 4000);
	}
	//FadeObj.start();
}

function search_onActivityCheck(id)
{
	if(activityCheck[id-1] == 0)
	{
		document.getElementById("activity_check_"+id).style.backgroundImage = "url('res/img/checkbox_checked.png')";
		activityCheck[id-1] = id;
	}
	else
	{
		document.getElementById("activity_check_"+id).style.backgroundImage = "url('res/img/checkbox.png')";
		activityCheck[id-1] = 0;
	}
}

function search_getValuationText(region, lookupFunc)
{
	var d;
	
	var actRowID = lookupFunc("{dsMethods_Activities::ds_RowID}");
	d = dsMethods_Activities.getRowByID(actRowID);
	
	for(var i=0;i<d.ValuationTypes.length;i++)
	{
		if(d.ValuationTypes[i].Active == "1")
			return d.ValuationTypes[i].Description;
	}
	return "";
}

function search_print()
{
	var wnd = window.open("view/user/view.user.print_method.php", "print");
	
}

function search_isMethod()
{
	return dsMethods.getRowCount() > 0;
}
