var xmlData = null;

function showConcerns(name) {
	if(xmlData != null) {
		displayConcerns(name)
	}
}

function displayConcerns(name) {
	var xmlNode = getAreaNode(xmlData,name);
	if(xmlNode != null) {
		createCookie("solutionadvice",n_lang+"||Concern||"+escape(name));
		addConcernContent(name,xmlNode);
		$("#advice_default").fadeOut("fast", function() {
			$("#advice_concerns").fadeIn("fast");
		});
	}
}

function addConcernContent(name,xmlNode) {
	var concernContainer = $("#advice_concerns");
	if(concernContainer.size() < 1) {
		$("#advice").append('<div id="advice_concerns" style="display:none;"></div>');	
	}
	$("#advice_concerns").empty().append('<p class="breadcrumb">'+name+'&nbsp;</p><h4>'+advice_q2+'</h4><h5>'+advice_q2sub+'</h5><ul></ul>');

	var concerns = xmlNode.getElementsByTagName("concern");

	var tooLong = false;
	var tooLongExtra = false;
	for(var i = 0; i < concerns.length; i++) {
		if(concerns[i].getAttribute("name").length > 20){
			tooLong = true;
			if(concerns[i].getAttribute("name").length > 30){
				tooLongExtra = true;
			}
		}
		
	}
	for(var i = 0; i < concerns.length; i++) {
		var nameSplit = name.split(" ",3);
		var concernName = concerns[i].getAttribute("name");
		var concernSplit = concernName.split(" ",3);
		if(nameSplit[1] == null || nameSplit[2] == null){
			nameSplit[2] = "";
		}
		if(concernSplit[1] == null || concernSplit[2] == null){
			concernSplit[2] = "";
		}
		$("#advice_concerns ul").append('<li '+((tooLong) ? ((tooLongExtra) ? 'style="width:285px"': 'style="width:250px"') : "")+'><a href="#'+name.replace(/ /g, "-").toLowerCase() + ":" + concerns[i].getAttribute("name").replace(/ /g, "-").toLowerCase()+'" onclick="showProblems(\''+name+'\','+i+'); cmCreateManualLinkClickTag(this.href); return false;"><strong>'+concerns[i].getAttribute("name")+'</strong></a></li>');
	}
	
	$("#advice_concerns").append('<a class="advice_back" href="#advice_concerns_back">'+backTxt+'</a>');
	$("#advice_concerns .advice_back").click(function() {
		$("#advice_concerns").fadeOut("fast", function() {
			$("#advice_default").fadeIn("fast");
			deleteCookie("solutionadvice");
		});
	});
}

function getAreaNode(xml,name) {
	var areas = xml.getElementsByTagName("area");
	for(var i = 0; i < areas.length; i++) {
		if(areas[i].getAttribute("name") == name) return areas[i];
	}
	alert("Error loading content for " + name);
	return null;
}

function getConcernNode(area,order) {
	var concerns = area.getElementsByTagName("concern");
	return concerns[order];
}

function showProblems(name,order,createConcern) {
	var area = getAreaNode(xmlData,name);
	if(area != null) {
		createCookie("solutionadvice",n_lang+"||Problem||"+escape(name)+"||"+order);
		if(createConcern) {
			addConcernContent(name,getAreaNode(xmlData,name));
		}
		var problemContainer = $("#advice_problems");
		if(problemContainer.size() < 1) {
			$("#advice").append('<div id="advice_problems" style="display:none"></div>');
		}
		var concern = getConcernNode(area,order);
		concernName = concern.getAttribute("name")
		$("#advice_problems").empty().append('<p class="breadcrumb">'+name+'&nbsp;/&nbsp;'+concernName+'&nbsp;</p><h4>'+advice_q3+'?</h4><h5>'+advice_q3sub+'</h5><ul></ul>');

		var problems = concern.getElementsByTagName("problem");
		for(var i = 0; i < problems.length; i++) {
			$("#advice_problems ul").append('<li><a href="'+problems[i].getAttribute("href")+'">'+problems[i].firstChild.nodeValue+'</a></li>');
		}

		$("#advice_problems").append('<a class="advice_back" href="#advice_problems_back">'+backTxt+'</a>');
		$("#advice_problems .advice_back").click(function() {
			$("#advice_problems").fadeOut("fast", function() {
				$("#advice_concerns").fadeIn("fast");
				createCookie("solutionadvice",n_lang+"||Concern||"+escape(name));
			});
		});

		$("#advice_concerns").fadeOut("fast", function() {
			$("#advice_problems").fadeIn("fast");
		});
	}
}

$(document).ready(function() {
	$.ajax({
		type: "GET",
		url: xmlpath,
		dataType: "xml",
		success: function(data) {
			xmlData = data;
			var stateCookie = readCookie("solutionadvice");
			if(stateCookie) {
				var cookieArry = stateCookie.split("||");
				if(cookieArry[0] != n_lang) {
					deleteCookie("solutionadvice");
				}
				else {
					switch(cookieArry[1]) {
						case "Concern" :
							displayConcerns(unescape(cookieArry[2]));
							break;
						case "Problem" : 
							$("#advice_default").fadeOut("fast");
							showProblems(unescape(cookieArry[2]),cookieArry[3],true);
							break;
					}
				}
			}
		}
	});
	
	var link1 = document.getElementById("advice_datacenter").getElementsByTagName("a")[0];
	link1.href = "#" + (link1.getElementsByTagName("strong")[0]).innerHTML.replace(/ /g, "-").toLowerCase();

	var link1 = document.getElementById("advice_enduser").getElementsByTagName("a")[0];
	link1.href = "#" + (link1.getElementsByTagName("strong")[0]).innerHTML.replace(/ /g, "-").toLowerCase();

	var link1 = document.getElementById("advice_network").getElementsByTagName("a")[0];
	link1.href = "#" + (link1.getElementsByTagName("strong")[0]).innerHTML.replace(/ /g, "-").toLowerCase();
});