
/*****************************************************************************
*
*	Left menu sections: open/close....
*
******************************************************************************/

var optionSections = Array();
var optionImgSections = Array();
var optionHeadingSections = Array();

function registerOptionSection(optionId, imgId, headingId)
{
	optionSections.push(optionId);
	optionImgSections.push(imgId);
	optionHeadingSections.push(headingId);
}

function initOptionsState()
{
	var openOption = ReadCookie("SelectedOption");
	if(openOption != "" && openOption != null)
		toggleSection(openOption);
}

function setVisible(optEl, img, headingEl, optVisible)
{
	if (optEl != null && img != null && headingEl!=null)
	{ 
		if (optVisible)
		{
			optEl.style.display = 'block';
			img.src = img.src.replace("down.gif","up.gif");		
			headingEl.className = "left_heading_toggled";
		}
		
		if (!optVisible)
		{
			optEl.style.display = 'none';
			img.src = img.src.replace("up.gif","down.gif");
			headingEl.className = "left_heading_default";
		}
	}	
}

function toggleSection(id)
{
	for (var i=0; i<optionSections.length;i++)
	{
		optID = optionSections[i];
		optEl = document.getElementById(optID);
		imgEl = document.getElementById(optionImgSections[i]);
		headingEl = document.getElementById(optionHeadingSections[i]);
		
		if (optID != id)
		{
			setVisible(optEl, imgEl, headingEl, false);
		}
		else
		{
			if (imgEl.src.match("down.gif") != null)
			{
				setVisible(optEl, imgEl, headingEl, true);
				SetCookie("SelectedOption", id, 365);
			}
			else
			{
				setVisible(optEl, imgEl, headingEl, false);
				SetCookie("SelectedOption", "", 365);
			}
		}
	}
}


function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString()+";path=/";
}

function ReadCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return ""; 
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

/*****************************************************************************
*
*	Custom Filter/Settings common functions
*
******************************************************************************/
function saveCustom()
{
	var uilanguage = "";

	var obj = document.getElementById('select_lang');
	if (obj != null)
	{
		var selIndex = obj.selectedIndex;
		if (selIndex != -1)
		  uilanguage = obj.options[selIndex].value;
		if(uilanguage == "[default]")  
		 uilanguage = "";
	}

	var mode = "none";
	var errMessage = "";
	if(document.getElementById("restriction_lang").checked)
	  mode = "lang"
	else if (document.getElementById("restriction_feed").checked)
	  mode = "feedname";


	var category = '';
	 
	var obj = document.getElementById('restriction_alert');
	if (obj != null)
	{
		var selIndex = obj.selectedIndex;
		if (selIndex != -1)
		  category = obj.options[selIndex].value;
		if (category == 'all-articles')
		 category = '';
	}	

	var duplicates = 'false';
	if (document.getElementById('show_duplicates').checked)
		duplicates = 'true';

	var params = "";
	var state = getCustomFilterField(CUSTOM_FILTER_STATE);
	
	if (mode == "lang" || mode == "feedname")
	{
		params = document.getElementById('feedlist').innerHTML.replace(/;/g, ",").replace(/ /g, "");
		if (params == "all")
			errMessage = 'You have to select at least one lang/source item or select "No language/source filter".';
	}
	
	if (mode == "none" && category == "" && duplicates=="false")
	{
		state = "false";
	}
		
	if (errMessage != "")
	{
	 	alert(errMessage);
	}
	else
	{
		setCustomFilterField(CUSTOM_FILTER_STATE, state)
		setCustomFilterField(CUSTOM_FILTER_MODE, mode);
		setCustomFilterField(CUSTOM_FILTER_PARAM, params);
		setCustomFilterField(CUSTOM_FILTER_CATEGORY, category);
		setCustomFilterField(CUSTOM_FILTER_DUPLICATES, duplicates);
		setCustomSettingsField(CUSTOM_SETTINGS_UI_LANGUAGE, uilanguage);
		
		if (window.opener != null && (typeof window.opener == "object") && !window.opener.closed)
		{
			reloadFilteredPage(window.opener, state)
		}
		window.close();
	}	
}

function clearCustom()
{
	var mode = 'none';
	
	var obj = document.getElementById('restriction_alert');
	if (obj != null)
	{
		obj.selectedIndex = -1;
		obj.options[0].selected = true;
	}
	document.getElementById("restriction_none").checked = true;
	advancedsearchOnClickAll();
	obj = document.getElementById('select_lang');
	if (obj != null)
	{
		obj.selectedIndex = -1;
		obj.options[0].selected = true;
	}
	
}


/*****************************************************************************
*
*	Custom Filter definitiom, Filter on/off
*
******************************************************************************/
var CUSTOM_FILTER_STATE			=0; //"true"/"false" (default)
var CUSTOM_FILTER_MODE			=1; //"lang"/"feedname"/"none"(default)
var CUSTOM_FILTER_PARAM			=2; //list of comma separated values
var CUSTOM_FILTER_CATEGORY		=3; //list of comma separated categories
var CUSTOM_FILTER_DUPLICATES	=4; //"true"/"false"(default)

//custom settings
var CUSTOM_SETTINGS_UI_LANGUAGE	=0; 

function getCustomFilterField(index)
{
	var filterCookie = ReadCookie("CustomFilter").split("#");
	var res='';
	if (filterCookie.length > index)
	 	res = filterCookie[index];
	if (index == CUSTOM_FILTER_STATE && res == '') 	
		res = "false";
	return res; 	
}

function setCustomFilterField(index, val)
{
	var filterCookie = ReadCookie("CustomFilter").split("#");
	for (var i = 0; i < index; i++)
	{
		if (filterCookie[i] == null)
			filterCookie[i] = '';
	}		
	filterCookie[index] = val;
	SetCookie("CustomFilter", filterCookie.join("#"), 365);
}


function initCustomFilterState()
{
	var activeOption = getCustomFilterField(CUSTOM_FILTER_STATE);
	if (activeOption =="true" )
	{
		var imgEl = document.getElementById("custom_filter_image");
		if (imgEl != null)
		{
			imgEl.src = imgEl.src.replace("filter_off.gif","filter_on.gif");
			imgEl.alt = "Togle filter on/off. Current state is ON."
		}	
	}	
}

function toggleCustomFilterState()
{
	var oldState = getCustomFilterField(CUSTOM_FILTER_STATE);
	var newState;
	if (oldState=="true")
	{
		newState = "false";
	}
	else
	{
		newState="true";
	}	
	setCustomFilterField(CUSTOM_FILTER_STATE, newState);
	reloadFilteredPage(window, newState)
}

function reloadFilteredPage(page, newState)
{
	var form = page.document.forms['formPage'];
	var edition = form.elements["edition"].value;
	var imgEl = page.document.getElementById("custom_filter_image");
	
	if (imgEl != null)
	{
		if (newState == "true") 
		{
			imgEl.src = imgEl.src.replace("filter_off.gif","filter_on.gif");
			imgEl.alt = "Togle filter on/off. Current state is ON."
		}
		else
		{
			imgEl.src = imgEl.src.replace("filter_on.gif","filter_off.gif");
			imgEl.alt = "Togle filter on/off. Current state is OFF."
		}
	}
	
	if (edition=="filteredition" || edition=="filtereditionsimple" || edition=="alertedition" || edition=="countryedition"|| edition=="moreclusteredition" || edition=="clusteredition" || edition=="groupedition")
	{
		var nPage = form.elements['page'].value;
		if (nPage=="1")
			page.location.reload()
		else 
			page.gotopage("1");
	}
}


var customFilterEditWindow = '';

function customfilteredit()
{
	var form=document.forms['formPage'];
	var edition=form.elements["edition"].value;
	var link = HM_PL_ImageDir+"customfilter/"+HM_UI_Language+"/filter.html";
	
	
	if (!customFilterEditWindow.closed && customFilterEditWindow.location) 
	{
		customFilterEditWindow.location.href = link;
	}
	else 
	{
		customFilterEditWindow=window.open(link,"NewsBriefCustomFilterEdit","status,width=690,height=750");
		if (!customFilterEditWindow.opener) newwindow.opener = self; //trick for IE
	}
	if (window.focus) 
	{
		customFilterEditWindow.focus()
	}
}

function displayCustomFilter()
{
	var category = getCustomFilterField(CUSTOM_FILTER_CATEGORY);
	var mode = getCustomFilterField(CUSTOM_FILTER_MODE);
	var duplicates = getCustomFilterField(CUSTOM_FILTER_DUPLICATES);
	var cliclfunction = null;
	
	if (category == '')
	 category = 'all-articles';
	 
	var obj = document.getElementById('restriction_alert');
	if (obj != null)
	{
		obj.selectedIndex = -1;
		for (var i=0; i<obj.options.length; i++) 
		{
			if (obj.options[i].value == category) 
			{
				obj.options[i].selected = true;
			}
		}
	}	

	if(duplicates == 'true')
		document.getElementById('show_duplicates').checked = true;
	
	if (mode == "lang")
	{
	    document.getElementById("restriction_lang").checked = true;
	    document.getElementById("all_div_tr").style.display = 'none';
	    document.getElementById("lang_div_tr").style.display = 'inline';

		//document.getElementById('all-lang').checked=true;
		clickfunction = advancedsearch_OnClickLangItem;
	} 
	else if (mode == "feedname")
	{
	    document.getElementById("restriction_feed").checked = true;
	    document.getElementById("all_div_tr").style.display = 'none';
	    document.getElementById("feed_div_tr").style.display = 'inline';
		clickfunction = advancedsearch_OnClickFeedItem;
	}

	if (mode == "lang" || mode == "feedname")
	{
		 
		var params=getCustomFilterField(CUSTOM_FILTER_PARAM);
		var paramstmp=","+getCustomFilterField(CUSTOM_FILTER_PARAM)+",";
		var checkBoxes = document.getElementsByName(mode);
		for(var i = 0; i < checkBoxes.length; i++)
		{
			var cb = checkBoxes[i];
			if (paramstmp.indexOf(","+cb.value+",") != -1)
			{
				cb.checked=true;
				clickfunction(cb);
			}
		}
	}
	var uiLanguage = getCustomSettingsField(CUSTOM_SETTINGS_UI_LANGUAGE);
	if(uiLanguage != "")
	{
		var selectedLang = document.getElementById("lang_select_"+uiLanguage);
		selectedLang.selected = true;
	}
}


function cancelCustomFilter()
{
	window.close();
}

/*****************************************************************************
*
*	Local settings. currently just UI language
*
******************************************************************************/

function getCustomSettingsField(index)
{
	var SettingsCookie = ReadCookie("CustomSettings").split("#");
	var res='';
	if (SettingsCookie.length > index)
	 	res = SettingsCookie[index];
	return res; 	
}

function setCustomSettingsField(index, val)
{
	var SettingsCookie = ReadCookie("CustomSettings").split("#");
	for (var i = 0; i < index; i++)
	{
		if (SettingsCookie[i] == null)
			SettingsCookie[i] = '';
	}		
	SettingsCookie[index] = val;
	SetCookie("CustomSettings", SettingsCookie.join("#"), 365);
}


/*****************************************************************************
*
*	Search
*
******************************************************************************/
//this is doEXPERTSearch
function doSearch(searchParams, searchObject)
{
	//var values = "langs :"+searchParams.language+"\n";
	//values += "dates:" +searchParams.dateFrom+" to "+searchParams.dateTo+ "\n";
	//values += "query:" + searchParams.query;
	//alert(values);
	
	var form =document.forms['formPage'];
	form.elements["page"].value='1';
	form.elements["edition"].value="searchresults";
	form.elements["option"].value="";

	var e = form.elements["queryType"];
	if (e == null)
	{
		e=form.elements["special1"];
		e.name="queryType";
	}	
	e.value="query";

	e = form.elements["expertquery"];
	if (e == null)
	{
		e=form.elements["special2"];
		e.name="expertquery";
	}	
	e.value=searchParams.query;

	e = form.elements["expertparams"];
	if (e == null)
	{
		e=form.elements["special3"];
		e.name="expertparams";
	}	
	e.value=searchParams.dateFrom+"#"+searchParams.dateTo+"#"+searchParams.language;
	form.submit();
	
}

function doSimpleSearch()
{
	var items=document.getElementsByName("search");
	gotosearchresults("simple",items[0].value);
}


function dofullsearch()
{
	gotosearchresults("advanced",null)
}

function gotosearchresults(queryType, atLeast)
{
	var form =document.forms['formPage'];
	form.elements["page"].value='1';
	form.elements["edition"].value="searchresults";
	form.elements["option"].value="";

	var e = form.elements["queryType"];
	if (e == null)
	{
		e=form.elements["special1"];
		e.name="queryType";
	}	
	e.value=queryType;

	if (atLeast != null)
	{
		e = form.elements["atLeast"];
		if (e == null)
		{
			e=form.elements["special2"];
			e.name="atLeast";
		}	
		e.value=atLeast;
	}	
	form.submit();
}


/*****************************************************************************
*
*	Advanced search page
*
******************************************************************************/
var selectedItems = new Array();

function addSearchItem(item)
{
	selectedItems.push(item);
}

function removeSearchItem(item)
{
	i = 0;
	found = false;
	while (i < selectedItems.length && !found)
	{
		found = selectedItems[i]==item;
		if (!found) i++;
	}
			
	if (found)
	{
		selectedItems.splice(i, 1);
	}
}


function advancedsearch_OnChangeCountry()
{
	var container = document.getElementById('country_container');
	var select = document.getElementById('selectcountry');
	if (container!=null)
	{
		var selects = container.getElementsByTagName("div");
		var div_feeds_index = -1;

		for (var i=0; i<selects.length;i++)
		{
			if(selects[i].id.indexOf("div_feeds_") != -1)
			{
				div_feeds_index++;
				if (selects[i].id == 'div_feeds_'+select.value)
				{
					selects[i].style.display='inline';
					createFeedItems(selects[i], 0, div_feeds_index); 
				}
				else
				{
					selects[i].style.display='none';
				}
			}	
		}
	}
}

function advancedsearch_OnClickFeedItemEvent(e)
{
	checkbox = GetSelectedObj(CalcEvent(e));
	advancedsearch_OnClickFeedItem(checkbox);
}

function advancedsearch_OnClickFeedItem(checkbox)
{
	var feedlistEl = document.getElementById('feedlist');
	var feedlistArray = feedlistEl.innerHTML.split("; ");
	var feeds = ","+feedlistArray.join(",")+",";
	var parentDiv = checkbox.parentNode.parentNode;
	var allCheckbox = parentDiv.getElementsByTagName('input')[0];
	
	if (feedlistArray.length == 1 && feedlistArray[0]=="all")
	{
	 	feedlistArray = new Array();
	 	feeds = "";
	} 	
	
	if (checkbox.checked) 
	{
		if(feeds.indexOf(","+checkbox.value+",") == -1)
		{
		  feedlistArray.push(checkbox.value);
		  feedlistArray.sort();
		}  
	  	addSearchItem(checkbox);
	 
	}
	else
	{
		i = 0;
		found = false;
		while (i < feedlistArray.length && !found)
		{
		  found = feedlistArray[i]==checkbox.value;
		  if (!found) i++;
		}
			
		if (found)
		{
			feedlistArray.splice(i, 1);
		}
	 	removeSearchItem(checkbox);

		allCheckbox.checked = false;
		removeSearchItem(allCheckbox);
	}

	if (feedlistArray.length == 0)
	{
		feedlistEl.innerHTML="all";
	}	
	else
	{
		feedlistEl.innerHTML=feedlistArray.join("; ");
	}	
}

function advancedsearch_OnClickLangItem(checkbox)
{
	var feedlistEl = document.getElementById('feedlist');
	var feedlistArray = feedlistEl.innerHTML.split("; ");
	var parentDiv = checkbox.parentNode.parentNode;
	var allCheckbox = parentDiv.getElementsByTagName('input')[0];
	
	if(checkbox == allCheckbox)
	{
		if (checkbox.checked) 
		{
			//uncheck others
			advancedsearch_ResetAllcheckboxes(null);
			//langlist: all
			feedlistArray = new Array();
			feedlistArray.push(checkbox.value);
			addSearchItem(checkbox);
		}
		else 
		{
			//recheck and inform user
			checkbox.checked = true;
			alert("You have to select at least one language!");
		}
	}	
	else
	{
		if (checkbox.checked) 
		{
			//if 'all' checked: uncheck, empty langlist
			if(allCheckbox.checked == true || (feedlistArray.length == 1 && feedlistArray[0]=="all"))
			{
				allCheckbox.checked = false;
				feedlistArray = new Array();
				removeSearchItem(allCheckbox);
			}
			//langlist: add selected 
			 feedlistArray.push(checkbox.value);
			 feedlistArray.sort();
			 addSearchItem(checkbox);
		}
		else
		{
			//langlist: remove selected
			i = 0;
			found = false;
			while (i < feedlistArray.length && !found)
			{
			  found = feedlistArray[i]==checkbox.value;
			  if (!found) i++;
			}
				
			if (found)
			{
				feedlistArray.splice(i, 1);
			}
		 	removeSearchItem(checkbox);
			
			//if it was the last selected lang then select 'all'
			if(selectedItems.length == 0)
			{
				//langlist: all
				feedlistArray = new Array();
				allCheckbox.checked=true;
				feedlistArray.push(allCheckbox.value);
				addSearchItem(allCheckbox);
			}
			
		}
	}
	
	if (feedlistArray.length == 0)
	{
		feedlistEl.innerHTML="ERROR";
	}	
	else
	{
		feedlistEl.innerHTML=feedlistArray.join("; ");
	}	
}


function CalcEvent(eventObj)
{
	if(typeof eventObj!="undefined")
		return eventObj
	else
		return event
}

function GetSelectedObj(ev)
{
	if(typeof ev!="undefined")
	{
		if(typeof ev.target!="undefined")
			return ev.target
		else if(typeof ev.srcElement!="undefined")
			return ev.srcElement
		else return null;	
	}
	else 
		return null;
}

function advancedsearch_OnClickAllFeedItems(e)
{
	checkbox = GetSelectedObj(CalcEvent(e));
	var parentDiv = checkbox.parentNode.parentNode;
	var items = parentDiv.getElementsByTagName("input");
	if (checkbox.checked == true)
	{
		addSearchItem(checkbox);
	}
	else
	{
		removeSearchItem(checkbox);
	}
		
	//start with index 1 because index=0 is the click all element
	for(var i=1;i<items.length;i++)
	{
		if(items[i].checked != checkbox.checked)
		{
			items[i].checked = checkbox.checked;
			advancedsearch_OnClickFeedItem(items[i]);
		}	
	}
}


function addSourceItem(divContainer, index, text)
{
	var itemDiv = document.createElement("div");
	if(index == 0) //all item
	{
		itemDiv.className ="allitem";
		
		var itemInput = document.createElement("input");
		itemInput.name="allitem";
		itemInput.type="checkbox";
		itemInput.value="allitem";
		
        itemInput.onclick = new Function('e', 'advancedsearch_OnClickAllFeedItems(e)');
        itemDiv.appendChild(itemInput);
        itemDiv.appendChild(document.createTextNode(text));
	}
	else
	{
		itemDiv.className ="sourceitem";
		
		var itemInput = document.createElement("input");
		itemInput.name="feedname";
		itemInput.type="checkbox";
		itemInput.value=text;
        itemInput.onclick = new Function('e', 'advancedsearch_OnClickFeedItemEvent(e)');

        itemDiv.appendChild(itemInput);
        
        itemLink = document.createElement("a");
        itemLink.href="javascript:showsourcedef('"+text+"')";
        itemLink.appendChild(document.createTextNode(text));

        itemDiv.appendChild(itemLink);
	}
	divContainer.appendChild(itemDiv);
}
		
function createFeedItems(parentDiv, index, countryIndex) //-1 if not country page
{
	if(parentDiv.childNodes.length == 0 || 	parentDiv.childNodes[0].tagName != "DIV")
	{
		var container = document.createElement("div");
		container.className = "itemcontainer"
		var feeds;
		
		if(countryIndex == -1)
	  	{
			feeds = feedsList[index];
	  	}
	  	else // countries
	  	{
			feeds = feedsList[index][countryIndex];
	 	}

		for(var i=0; i<feeds.length-1; i++)
		{
	    	addSourceItem(container, i, feeds[i]);	
	    }
	 	parentDiv.appendChild(container);
	}	 	
}

function OnClickTab(index)
{
    var tabs = document.getElementById("feed_div_ul").getElementsByTagName("li");
	for (var i=0; i< tabs.length;i++)
	{
	    var sIndex = tabs[i].id.substr(9);
	    var el = document.getElementById("feed_div_"+sIndex);
	    
	    if (sIndex==index)
	    {
			tabs[i].className='selTab';
			el.style.display = 'block';
			if (i!=0) 
				createFeedItems(el, i, -1); //ok, the JS structire with feeds is by natural index.
		}
		else
		{
			tabs[i].className='tab';
			el.style.display = 'none';
		}
	}	
}

function advancedsearch_ResetAllcheckboxes(cbName)
{
	
	var items;
	if (cbName == null)
	{
		items=selectedItems;
		selectedItems = new Array();
	}
	else
	{	
		items=document.getElementsByName(cbName);
	}
	
	for (var i=0; i<items.length;i++)
	{
		items[i].checked = false;
	}
}

function advancedsearchOnClickAll()
{
    document.getElementById("all_div_tr").style.display = 'inline';
    document.getElementById("lang_div_tr").style.display = 'none';
    document.getElementById("feed_div_tr").style.display = 'none';
	advancedsearch_ResetAllcheckboxes(null);
	document.getElementById('feedlist').innerHTML="";
}

function advancedsearchOnClickLang()
{
    document.getElementById("all_div_tr").style.display = 'none';
    document.getElementById("lang_div_tr").style.display = 'inline';
    document.getElementById("feed_div_tr").style.display = 'none';
	advancedsearch_ResetAllcheckboxes(null);
	document.getElementById('all-lang').checked=true;
	advancedsearch_OnClickLangItem(document.getElementById('all-lang'));
}
function advancedsearchOnClickFeed() 
{
    document.getElementById("all_div_tr").style.display = 'none';
    document.getElementById("lang_div_tr").style.display = 'none';
    document.getElementById("feed_div_tr").style.display = 'inline';
	advancedsearch_ResetAllcheckboxes(null);
	document.getElementById('feedlist').innerHTML="all";
}

function advancedsearchInit()
{
	var el = document.getElementById("restriction_none");
	if (el.checked != true) /*this is FireFox, back button used*/
	{
		el.checked = true;
		advancedsearch_ResetAllcheckboxes("lang");
		advancedsearch_ResetAllcheckboxes("allitem");
		advancedsearch_ResetAllcheckboxes("feedname");
		document.getElementById('feedlist').innerHTML="";
	}	
}



/*****************************************************************************
*
*	Navigation
*
******************************************************************************/

function gotodynamicedition(edition,alert)
{
	var form =document.forms['formPage'];
	form.elements["page"].value='1';
	form.elements["option"].value=alert;
	form.elements["edition"].value=edition;
	form.submit();
}

function gotolanguage(language)
{
	var form=document.forms['formPage'];
	var edition=form.elements["edition"];
	var option=form.elements["option"];

	if (edition.value=='moreclusteredition')
	{
		edition.value='clusteredition'
		option.value = 'latest';
	}

	if (edition.value!='pressreviewav' && edition.value!='pressreviewwritten')
	{
		 form.elements["page"].value='1';
	}
	else
	{
		 form.elements["option"].value=form.elements["option"].value+'_'+form.elements["page"].value;
	}

	form.elements["language"].value=language;
	
	if (edition.value!='searchresults') 
	{
		gotostatic();
	}
	else
	{
		form.submit();
	}
}

function gotostatic()
{
	var form =document.forms['formPage'];
	var edition=form.elements["edition"].value;
	var section=form.elements["section"].value;
	if (section != '')
	{
		section = section+'/';
	}	
	
	if (edition!='searchresults')
	{
		var options = '';
		if (form.elements["articleType"] != null)
		{
			if (form.elements["articleType"].value != '' && form.elements["articleType"].value != 'all')
			options = 'articleType='+form.elements["articleType"].value;
		}
		if (form.elements["foralert"] != null)
		{
			if (form.elements["foralert"].value != '')
			{
				if (options != '')
					options = options + "&";
				options = options+'foralert='+form.elements["foralert"].value;
			}
		}
		
		if (options != '') options =  "?"+ options;
		
		var gotopage = HM_PL_ImageDir;
		
		if (form.elements["edition"].value=='clusteredition')
		{
			gotopage = HM_PL_ImageDir+form.elements["edition"].value+'/'+section+form.elements["language"].value+'/'+form.elements["option"].value+'.html'+options;
		}
		else
		{
		  	gotopage = HM_PL_ImageDir+form.elements["edition"].value+'/'+section+form.elements["language"].value+'/'+form.elements["option"].value+'.html'+options;
		}
		location.href=gotopage;
	}
}

function gotopage(nPage)
{
	var form =document.forms['formPage'];
	form.elements['page'].value=nPage;
	//var edition=form.elements["edition"].value;
	form.submit();
}

function gotoCombination(countryISO, theme)
{
	var form = document.forms['formPage'];
	form.elements['edition'].value = 'countryedition';
	form.elements['option'].value = countryISO;
	form.elements['foralert'].value = theme;
	gotostatic();
}


/*****************************************************************************
*
*	Show help
*
******************************************************************************/

function OnShowHelp(page)
{
	if (!window.showModalDialog)
	{
		window.open(HM_PL_ImageDir+page,"NewsBriefHelp","status,width=790,height=590");
	}
	else
	{
		window.showModalDialog(HM_PL_ImageDir+page,null,"dialogWidth:790px;dialogHeight:590px;center:yes;status:off;resizeable:yes;");
	}
}
/*****************************************************************************
*
*	Show article
*
******************************************************************************/

function OnShowArticle(id)
{
		if(HM_PL_ArticlesMode=='normal')
		{
			window.open(id,"_blank");
		}
		else
		{	
			window.open(HM_PL_ArticlesReadUrl+id,"_blank");
		}
}	
/*****************************************************************************
*
*	Google translation
*
******************************************************************************/

function OnGoogleTranslate(link, from, to)
{
			window.open("http://translate.google.com/translate?u="+link+"&sl="+from+"&tl="+to,"_blank");
}	


/*****************************************************************************
*
*	Subscribe actions
*
******************************************************************************/

function subscribe(method, option, section)
{	   
	if(method=="Newsletter")
	{
		option = option.substring(0, option.lastIndexOf("_"));
	}
	var newWindow=window.open(HM_PL_ImageDir+"subscribe.jsp?language="+HM_UI_Language+"&base="+HM_PL_ImageDir+"&option="+option+"&method="+method+"&section="+section,"Subscribe","width=600px,height=400,resizeable");
	newWindow.focus();
}

function clicksubscribe()
{
	var items=document.getElementsByName("subscribelink");
	if (items.length==0)
	{
		alert("It is currently not possible to subscribe to this page.");
	}
	else
	{
		items[0].click();
	}
}
/*****************************************************************************
*
*	Show triggers
*
******************************************************************************/


function OnShowMore(me)
{
	var el=me.parentNode.nextSibling;
	if (el.nodeName!='DIV' && el.nodeName!='SPAN') el=el.nextSibling; // Netscape likes to see a text node here...
	if(el.nodeName=='DIV')
	{
		if (el.style.display!='block')
				el.style.display='block';
			else
				el.style.display='none';
	}
	else			
	{
		if (el.style.display!='inline')
				el.style.display='inline';
			else
				el.style.display='none';
	}
}

function OnShowMuchMore()
{
	var items=document.getElementsByName("alert_more");
	var value='none';
	
	if (items.length>0 && (items[0].style.display!='block' && items[0].style.display!='inline')) value='block';
	
	for (var i=0; i<items.length;i++)
	{
		if(value=='block' && items[i].nodeName=='SPAN')
			items[i].style.display="inline";
		else
			items[i].style.display=value;
	}
}

/*****************************************************************************
*
*	Show english translation
*
******************************************************************************/

function getNameValue(el)
{
	var name = null;
	if(el!=null && el.nodeName=='DIV')
		name=el.getAttribute('NAME');
	if (name==null)
		name="";
	return name;	
}
function OnShowTranslation(me)
{
	var el=me.parentNode.nextSibling;
	
	while (el != null && (el.nodeName!='DIV' || getNameValue(el)!='item_translation'))
	{
		el=el.nextSibling;
	}

	if(el!=null)
	{
		if (el.style.display!='block')
		{
				el.style.display='block';
				el.dir='ltr';
		}
			else
		{
				el.style.display='none';
				el.dir='ltr';
		}
	}	
}

function OnShowAllTranslations()
{
	var items=document.getElementsByName("item_translation");
	var value='none';
	
	if (items.length>0 && items[0].style.display!='block') value='block';
	for (var i=0; i<items.length;i++)
	{
		items[i].style.display=value;
		items[i].dir='ltr';
	}
}

/*****************************************************************************
*
*	Show stats
*
******************************************************************************/


function opendailystats(alertID)
{
	if (!window.showModalDialog)
	{
		window.open(HM_PL_ImageDir+"statistics?alertID=" + alertID,"NewsBriefStats","status,width=750, height=350");
	}
	else
	{
		window.showModalDialog(HM_PL_ImageDir+"statistics?alertID=" + alertID,null,"dialogWidth:750px;dialogHeight:350px;center:yes;status:off;");
	}
}

/*****************************************************************************
*
*	Show defs
*
******************************************************************************/

//if you change the dimensions here check alertdef.xsl for CSS
//if you change the dimensions here check sourcedef.xsl for CSS
var defpopupFeatures = "status=yes,width=550,height=550,menubar=no,toolbar=no,location=yes,resizable=yes,scrollbars=true,directories=false,personalbar=false,dependent=yes,dialog=yes,minimizable=no";
var defpopupName = "NewsBriefDefs";
function showDefPopup(url)
{
	var popupDef = window.open(url,defpopupName,defpopupFeatures);
	if (window.focus) 
	{
		popupDef.focus()
	}
}

function showalertdef(alertID)
{
	var form=document.forms['formPage'];
	var edition=form.elements["edition"].value;
	showDefPopup(HM_PL_ImageDir+"alertdef.jsp?language="+HM_UI_Language+"&option=" + alertID + "&edition=" + edition);
}


function showsourcedef(sourceID)
{
	showDefPopup(HM_PL_ImageDir+"sourcedef.jsp?language="+HM_UI_Language+"&option=" + sourceID);
}


/*****************************************************************************
*
*	graphs
*
******************************************************************************/
var graphType='1';

function changeGraph(value) 
{
   if (value == '1') 
   {
     graphType='1';
     document.getElementById("map_placeholder1").style.display = "block";	
     document.getElementById("map_placeholder2").style.display = "none";	 					   
   }
   else 
   {
    graphType='2';
     document.getElementById("map_placeholder1").style.display = "none";	
     document.getElementById("map_placeholder2").style.display = "block";	 					   					
   }
}	
 // Check the current value of the pop-down box and display accordingly.  (Or set a variable in above code).
function openGraphHelp() 
{
	if (graphType == '1')                           
	     var helpWindow = window.open(HM_PL_ImageDir+"graph1.html","DailyStats","width=600,height=550,left=100,top=100,screenX=300,screenY=100,menubar=no,status=no,scrollbars=yes,resizable=no,dependent,titlebar=no"); 
	if (graphType == '2')
	     var helpWindow = window.open(HM_PL_ImageDir+"graph1.html","FortnightlyStats","width=600,height=350,left=100,top=100,screenX=300,screenY=100,menubar=no,status=no,scrollbars=yes,resizable=no,dependent,titlebar=no"); 
    helpWindow.focus(); 
}				

/*****************************************************************************
*
*	validate e-mail address
*
******************************************************************************/


function echeck(str) 
{

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	var ret = true;
	
	if (lat==-1 || lat==0 || lat==lstr)
	   ret = false
	else if (ldot==-1 || ldot==0 || ldot==lstr)
	   ret = false
	else if (str.indexOf(at,(lat+1))!=-1)
	   ret = false
	else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	   ret = false
	else if (str.indexOf(dot,(lat+2))==-1)
	   ret = false
	else if (str.indexOf(" ")!=-1)
	   ret = false
	
	 return ret
}


function ValidateEmail()
{
	var form = document.forms['formSubscribe'];
	var emailID = form.elements["mailto"];
	
	if ((emailID.value==null)||(emailID.value==""))
	{
		alert("Please enter your email address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false)
	{
		emailID.value=""
		alert("Invalid email address")
		emailID.focus()
		return false
	}
	return true
 }

/*****************************************************************************
*
*	loadGeoRSS
*
******************************************************************************/
//we wait for both the on load and FC_rendered to execute and then set 
//the geo RSS WorldKitMap
var loadedOnLoad = false;


function scheduleGeo()
{
	setTimeout('showGeoRSS()',1500);
}

function showGeoRSS()
{
	document.worldkit.SetVariable("JRSSComm",geoRSS);
	//document.worldkit.SetVariable("JComm","MAIN");
}

function loadGeoRSS()
{
	scheduleGeo();
	/*if(loadedFC)
	{	
		scheduleGeo();
	}*/	
	loadedOnLoad =	true;
}

//FC_Rendered method is called whenever a FusionCharts chart on the page
//has finished initial rendering. To this function, the chart passes its
//own DOM Id.

/// moved to embedfunction.js
 
/*****************************************************************************
*
*	tooltip library from 
*
*	http://brainerror.net/scripts/javascript/tooltip/demo.html
*	http://brainerror.net/scripts/javascript/tooltip/
*
******************************************************************************/

var prevTooltip;

function getWindowWidth() {
    
    if(window.innerWidth) {
        return window.innerWidth;
    } 
    
    return document.body.clientWidth
}

function mouseX(e) {

    if(e.pageX) {
        return e.pageX;
    }
    
    return e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
}

function mouseY(e) {
   
   if(e.pageY) {
        return e.pageY;
    } 
    
    return e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);    
}

function tooltip(e, o) {

    var windowWidth = getWindowWidth();

    o = document.getElementById(o);
    
    if(prevTooltip && prevTooltip != o) {
        prevTooltip.style.visibility = 'hidden';
    }

    if(o.style.visibility == 'visible') {

        o.style.visibility = 'hidden';
    } else {
    
        if(o.offsetWidth) {
            ew = o.offsetWidth;
        } else if(o.clip.width) {
            ew = o.clip.width;
        }
    
        y = mouseY(e) + 16;
        x = mouseX(e) - (ew / 4);
        
        if (x < 2) {
            x = 2;
        } else if(x + ew > windowWidth) {
            x = windowWidth - ew - 4;
        }
        
        o.style.left = x + 'px';
        o.style.top = y + 'px';    
        
        o.style.visibility = 'visible';
        
        prevTooltip = o;
    }
}
