﻿// Closure protects my local variables
(function(){
	var sPath = window.location.pathname.toLowerCase();
	var bHomePage = 0;
	var bHelpOn = 1;
	if (document.body.id == "homepage")  {
	    bHomePage = 1;
	}
	else if ((sPath.indexOf('webcam.aspx') > 0) || (sPath.indexOf('newsletter.aspx') > 0) || (sPath.indexOf('reactivatemyaccount.aspx') > 0))
	    bHelpOn = 0;
	// If we don't have YUI, we don't have anything 
	if (bHelpOn && (window.YAHOO)) {
	
		// shim causes errors in Safari
		var shim = (typeof ActiveXObject != "undefined")? '<iframe src="#" id="menu-411-iframe-shim"></iframe>' : "";
		document.write(shim);
      	var menu411 = document.getElementById("menu-411");
       	var iframe = YAHOO.util.Dom.get("menu-411-iframe-shim");
        if (iframe && iframe.style) {
      	iframe.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
        }
      	var theToggleAnchor = menu411.getElementsByTagName('a')[0];
		var questions411 = document.getElementById("questions-411");
		var answer411 = document.getElementById("answer-411");
		var faqsCallback = { success: populateFAQs, failure: dieSilently };
		YAHOO.util.Event.addListener(theToggleAnchor,'click',open411visibility);
		YAHOO.util.Event.on('toggle411Anchor','mouseover',switchImage);
		YAHOO.util.Event.on('toggle411Anchor','mouseout',switchImage);
		YAHOO.util.Event.on('close-411','click',close411visibility);
		var req = YAHOO.util.Connect.asyncRequest("GET","/webservices/general.asmx/LoadFAQ",faqsCallback);
        if (window.location.hash == "#faq") { open411visibility(); }
        YAHOO.util.Event.onAvailable("footer",addFAQLinks);
        
	}
	
	if(!bHelpOn){
	        var menu411 = document.getElementById("menu-411");
            var parentMenu411 = menu411.parentNode;
            parentMenu411.removeChild(menu411);
    }
	function open411visibility(e) {
	var menu411 = document.getElementById("menu-411");
	var iframe = document.getElementById("menu-411-iframe-shim");
			menu411.className = "active";
		    if(iframe){iframe.className = "active"}	
				
		if(typeof e != "undefined") { YAHOO.util.Event.stopEvent(e); }
		if (bHomePage) {
		    var ti = document.getElementById("toggle411Image");
    		ti.src = "Images/homepage/411-toggle_on.jpg";		
	    }	
	}
	function switchImage() {
		if (bHomePage) {
		    var ti = document.getElementById("toggle411Image");
            var imgSRC = ti.src;

            var splitURL = ti.src.split("/");
            if ( splitURL[5] == "411-toggle-hover.jpg")
    		    ti.src = "Images/homepage/411-toggle-normal.jpg";	
    	    else {
    	        if (splitURL[5] == "411-toggle-normal.jpg")
    		        ti.src = "Images/homepage/411-toggle-hover.jpg";
    		}     	
	    }	
	}	
    function close411visibility(e) { 
    	var menu411 = document.getElementById("menu-411");
	    var iframe = YAHOO.util.Dom.get("menu-411-iframe-shim");
		menu411.className = '';
		if(iframe)
		{iframe.className = '';}
		YAHOO.util.Event.stopEvent(e);
		if (bHomePage) {
		    var ti = document.getElementById("toggle411Image");
		    ti.src = "Images/homepage/411-toggle-normal.jpg";		
		}
	}
	// Called if AJAX request returns successfully
	function populateFAQs (oResult) {
	    var questions411 = document.getElementById("questions-411");
		var topics = oResult.responseXML.getElementsByTagName("topic");
		var tlength = topics.length;
		var dl = document.createElement("dl");
		for (var i = 0; i < tlength; i++) {
			var dt = document.createElement("dt");
			dt.innerHTML = topics[i].getAttribute("l");
			dl.appendChild(dt);
			var qs = topics[i].getElementsByTagName("question");
			var qlength = qs.length;
			for (var j = 0; j < qlength; j++) {
				var q = qs[j];
				var dd = document.createElement("dd");
				var a = document.createElement("a");
				a.innerHTML = q.getAttribute("q");
				a.href = "#";
				a.h = q.getAttribute("q");
				a.l = q.getAttribute("l");
				dd.appendChild(a);
				dl.appendChild(dd);
			}
		}
		// add questions to document
		questions411.replaceChild(dl,questions411.firstChild);
		// add event listeners to questions
		YAHOO.util.Event.on(dl.getElementsByTagName("a"),"click",displayAnswer);
	}
	function dieSilently (oResult) { 
	    var questions411 = document.getElementById("questions-411");
	    var message = document.createTextNode("No FAQ available.");
	    questions411.replaceChild(message,questions411.firstChild);
	}
	// Called when one of the questions is clicked
	function displayAnswer (e) {
		var answer411 = document.getElementById("answer-411");
		answer411.innerHTML = "<div><h4>"+this.h+"</h4><p>"+this.l+"</p></div>";
		YAHOO.util.Event.stopEvent(e);
	}
    function addFAQLinks () {
        var links = YAHOO.util.Dom.getElementsBy(isFAQLink,"a");
        YAHOO.util.Event.on(links,"click",open411visibility);
    }
	function isFAQLink (link) { return /#faq$/.test(link.href); }
})();