﻿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;
			}
		}
		
	}
	if(n_lang == "ja-jp"){
		tooLong = true;
		tooLongExtra = true;
	} 
	for(var i = 0; i < concerns.length; i++) {
		var nameSplit = name.split(" ",3);
		var concernName = concerns[i].getAttribute("name");
		var concernTitle = concerns[i].getAttribute("english");
		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="#'+ concernTitle +'" onclick="showProblems(\''+name+'\','+i+'); 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");
		});
	});
	var backTerms = new RegExp("back|volver|zurück|retour|indietro|terug|后退|戻る|tillbaka","i");
	var getHref = '';
	/*
	$("#advice_default a").click(function(){
		getHref = $(this).attr("href");
		pageTracker._trackPageview("/"+n_lang+"/solutions/finder/" + $(this).attr("href").replace("#",""));
	});
	*/
	$("#advice_concerns a").click(function(){
		if($(this).attr("href").search(backTerms) >= 0){
		} else {
			getHref = $(this).attr("href");
			pageTracker._trackPageview("/"+n_lang+"/solutions/finder/" + $(this).attr("href").replace("#",""));
		}
	});
	$("#advice_problems a").click(function(){
		if($(this).attr("href").search(backTerms) >= 0){
		} else {
			getHref = $(this).attr("href");
			pageTracker._trackPageview("/"+n_lang+"/solutions/finder/" + $(this).attr("href").replace("#",""));
		}
	});
}

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_problems a").click(function(){
			if($(this).attr("href").indexOf("thickclient") > -1){
				var getCaps = $(this).attr("href").split('=')[1].split('&')[0];
				$(this).attr({href : $(this).attr("href")+"#"+getCaps});
			}
		});

		$("#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 = "data-center";

	var link1 = document.getElementById("advice_enduser").getElementsByTagName("a")[0];
	link1.href = "end-user-computing";

	var link1 = document.getElementById("advice_network").getElementsByTagName("a")[0];
	link1.href = "identity-and-security";
	
	$("#advice_default a").click(function(){
		if($(this).attr("href").indexOf("back") < 1){
		    pageTracker._trackPageview("/"+n_lang+"/solutions/" + $(this).attr("href"));
		}
	});
});