/*
	Öppnar popup för kategorivärden		
	
	categoryId - kategorins id
	articleId - skickas med om funktionen anropas från den interaktiva modulen
*/	
function tagNewsSubCategories(categoryId, articleId)
{
	var browser = navigator.appName;
	var ihc = "";
	var request = getHTTPObject();
	var url = "ajax2/tagnews.php?func=categoryValues";
	url += "&cid=" + categoryId;	
	url += articleId != null && articleId.length > 0 ? "&artId=" + articleId : "";
	url += "&" + Math.random();
	
	request.open("GET", url, true);
	request.onreadystatechange = function (){
		if (request.readyState == 4)
		{
			ihc += "<div class=\"popup_tagnews_subcategory\">\n";											
				var library = request.responseXML.getElementsByTagName('library').item(0);			 				
				var cname = library.getElementsByTagName('categoryName').item(0).firstChild.nodeValue;					
									
				// Kategorins rubrik i popupen
				ihc += "<div class=\"sub_header\">" + cname + "</div>\n";													
				
				ihc += "<div style=\"margin-top: 5px;\"></div>\n";
								
				// Om kategorivärden finns					
				if(library.getElementsByTagName('subcategory').length > 0)
				{
					var subcategories = library.getElementsByTagName('subcategory');
					
					ihc += "<div id=\"subcategories\">";			
					ihc += "<span id=\"categoryId\" style=\"display:none\">"+ categoryId +"</span>";	
						
					if(articleId != null && articleId.length > 0)
						ihc += "<span id=\"articleId\" style=\"display:none\">"+ articleId +"</span>";
					
					// Skriv ut kategorivärden
					for(var i=0; i<subcategories.length; i++)
					{						
						ihc += "<div style=\"margin-bottom: 5px\">";
						var items = subcategories[i].getElementsByTagName('item'); 														
						
						// i avancerad sökning
						if(articleId == null){	
							var subcatvalue = items[0].firstChild.nodeValue;																										
							
							// Element som innehåller id-värden, skapas innanför dolda span-elementet
							// när man kryssat för kategorivärden och sparat.
							var nodes = document.getElementsByName("categoryvalues");		
														
							if(nodes.length > 0){								
								var values = nodes[0].value.split('|');																							
								var found = false;								
								for(var j=0; j < values.length; j++){
									if(values[j] == subcatvalue){
										ihc += "<input type=\"checkbox\" checked=\"checked\" value=\"" + subcatvalue + "\" /> ";
										found = true;
										break;
									}
								}	
							}
							
							if(nodes.length == 0 || !found)				
								ihc += items[1].firstChild.nodeValue;																			
						}
						// i interaktiv modul
						else{							
							ihc += items[1].firstChild.nodeValue;
						}						
						ihc += items[2].firstChild.nodeValue;							
						ihc += "</div>";														
					}						
					ihc += "</div>";								
					ihc += "<div style=\"margin-top: 10px;\"></div>\n";
					
					ihc += "<input type=\"button\" class=\"button\" value=\""+ p('ID_SAVE') +"\" onclick=\"closePopup(); save_subcats2article('subcategories', '" + articleId + "');\" /> ";
					ihc += "<input type=\"button\" class=\"button\" value=\""+ p('ID_CANCEL') +"\" onclick=\"closePopup()\" /> ";						
				}
				else{
					ihc += "<p>"+ p('ID_TOOLS_NO_SUBCATEGORY') +"</p>";			
					ihc += "<input type=\"button\" class=\"button\" value=\""+ p('ID_CANCEL') +"\" onclick=\"closePopup()\" /> ";
				}
				
			ihc += "</div>";				
			popup_dialog(p('ID_TOOLS_TAG_THAT_NEWS'), ihc, "280px", "360px");				
		}
	}
	request.send(null);						
		
}


/*
 *	Sparar uppmärkning av artikel		
 */
function save_subcats2article(holder, artId)
{	
	var checkedIds = "";
	var browser = navigator.appName;		
	var h = document.getElementById(holder); // div i popup med kategorivärden
	var cid = h.getElementsByTagName("span").item(0).firstChild.nodeValue;			
	var chkboxes = h.getElementsByTagName("input");		
	var cc = "";
	var k = 0;
	var categoryName = new Array();
		
	var node = document.getElementById("categoryvalues");		
	var savedIds = node != null && node.value.length > 0 ? node.value.split('|') : '';	

	var root = document.getElementById('catid' + cid);	
	if (root != null)
	{
		var divs = root.getElementsByTagName('div');
		cc = divs[1].innerHTML;	
	}
	
			
	// Spara id för förkryssde rutor i sträng separerade med '|' och spara namnen i array
	for (var i=0; i<chkboxes.length; i++)
	{	
		// Finns i array men inte förkryssat, ta bort id-värdet ur strängen
		if (in_array(chkboxes[i].value, savedIds) && !chkboxes[i].checked)
		{	
			node.value = node.value.replace(eval("/" + chkboxes[i].value + "/g"), '');
														
			var root = document.getElementById('catid' + cid);
			var divs = root.getElementsByTagName('div');					
			divs[1].innerHTML = divs[1].innerHTML.replace(eval("/" + "<br>" + chkboxes[i].nextSibling.nodeValue + "/"), '');	
			divs[1].innerHTML = divs[1].innerHTML.replace(eval("/" + chkboxes[i].nextSibling.nodeValue + "/"), '');
			
		}
		// Finns inte i arrayen men är förkryssat, lägg till id-värdet i strängen
		else if(!in_array(chkboxes[i].value, savedIds) && chkboxes[i].checked)
		{
			checkedIds += chkboxes[i].value + "|";			
			cc += chkboxes[i].nextSibling.nodeValue + "<br />";				
		}
	}		
			
	// Save in hidden element
	if (artId == 'undefined'){
		if (checkedIds.length > 0){
			var root = document.getElementById('selected_categoryvalues');					
			var nodes = document.getElementsByName('categoryvalues'); 
			
			// Spara id för kategorivärden i dold fält
			if (nodes.length == 0){
				var node = document.createElement("input");
				node.setAttribute('type', 'hidden');
				node.setAttribute('name', 'categoryvalues');
				node.setAttribute('id', 'categoryvalues');
				
				if(checkedIds.substring(checkedIds.length-1) == '|')
					checkedIds = checkedIds.substring(0, checkedIds.length-1);				
				node.setAttribute('value', checkedIds);		
				root.appendChild(node);
			}
			else {
				if(checkedIds.substring(checkedIds.length-1) == '|')
					checkedIds = checkedIds.substring(0, checkedIds.length-1);	
				var newvalues = nodes[0].value + "|" + checkedIds;
				nodes[0].value = newvalues;				 
			}
			
			// Visa namn på kategorivärden
			var root = document.getElementById('catid' + cid);
			var divs = root.getElementsByTagName('div');
			divs[1].innerHTML = cc;			
			
		}
	}
	// Save to table
	else {	
		var url  = "func=saveSubcat2Article";
			url += "&cid=" + cid;
			url += "&scid=" + checkedIds;	
			url += artId != 'undefined' ? "&artId=" + artId : "";	
			
			var wurl = window.location.href;
			if (wurl.search(/&indvCat=1/gi) != -1)
				url += "&individtag=1";				
			url += "&" + Math.random();
							
		var request = getHTTPObject();		
		request.open('post', 'ajax2/tagnews.php', false);
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");	
		request.send(url);	
		
		var library = request.responseXML.getElementsByTagName("library").item(0);			
		if (library.getElementsByTagName("item").length > 0)		
			alert(library.getElementsByTagName("item").item(0).firstChild.nodeValue);				
		else
			getListCategory2Article(artId);					
	}				
}	


/*
 *	Koden ska vara den samma som uppmärkningsdelen i js/moreinfo.js
 */
function getListCategory2Article(ID)
{		
	var ihc = "";
	var request = getHTTPObject();
	var url = "ajax2/tagnews.php";
	url += "?func=getListCategory2Article";
	url += "&ID=" + ID;		
	url += "&" + Math.random();		
	
	request.open("GET", url, true);
	request.onreadystatechange = function ()
	{
		if (request.readyState == 4)
		{		
			var browser=navigator.appName;
			var newsTagCategories = request.responseXML.getElementsByTagName('newsTagCategories').item(0);				
			var categories = newsTagCategories.getElementsByTagName('category');
							
			ihc += "<div class=\"sub_header\">" + p('ID_MOREINFO_TAGGING') + "</div>\n";
			
			if(categories.length > 0)						
				for(var i=0; i<categories.length; i++)
				{
					var cname = categories[i].getElementsByTagName('categoryName').item(0).firstChild.nodeValue;	
																				
					ihc += "<div class=\"category\">";
						ihc += "<div class=\"categoryName\">"+ cname +"</div>";	
						ihc += "<div class=\"subCategories\">";									
						if(categories[i].getElementsByTagName('subcategory').length > 0)
						{
							var subcategories = categories[i].getElementsByTagName('subcategory');
							
							for(var j=0; j<subcategories.length; j++)
								ihc += "<div>"+ subcategories[j].firstChild.nodeValue +"</div>";
						}
						ihc += "</div>";	
						ihc += "<div style=\"clear:both\"></div>";
					ihc += "</div>";								
				}													
			document.getElementById("ptc" + ID).innerHTML = ihc;
		}
	}
	request.send(null);							
}

/*
 *	Anropas från avanserad sökning
 */
function listNewsCategories()
{		
	var ihc = "";
	var request = getHTTPObject();
	var url = "ajax2/tagnews.php";
	url += "?func=listNewsCategories";	
	url += "&" + Math.random();		
	
	request.open("GET", url, true);
	request.onreadystatechange = function ()
	{
		if (request.readyState == 4)
		{		
			var browser=navigator.appName;
			var newsTagCategories = request.responseXML.getElementsByTagName('newsTagCategories').item(0);				
			var categories = newsTagCategories.getElementsByTagName('category');							
			
			if(categories.length > 0)						
				for(var i=0; i<categories.length; i++)
				{
					var cname = categories[i].getElementsByTagName('categoryName').item(0).firstChild.nodeValue;	
					var cid = categories[i].getAttribute("id");
					
					
					ihc += "<div class=\"category\" id=\"catid" + cid + "\">";
						ihc += "<div class=\"categoryName\">"+ cname +"</div>";							
						ihc += "<div style=\"clear:both\"></div>";
						ihc += "<div class=\"subCategories\">";															
						ihc += "</div>";	
						
						ihc += "<div style=\"clear:both\"></div>";
					ihc += "</div>";								
				}													
			document.getElementById("newsCategories").innerHTML = ihc;
		}
	}
	request.send(null);							
}
