function toggleElement(element_id)
{
    var element = document.getElementById(element_id);
    if (element) {
        if (element.style.display == "" || element.style.display == "none") {
            element.style.display = "block";
        } else {
            element.style.display = "";
        }
    }
}
/*
function toggleClass(element_id,open_class,close_class)
{

	if(typeof(element_id) == "object"){
		var element = element_id;
	} else {
		var element = document.getElementById(element_id);
	}

	if (element) {
		var my_class = element.className;
		if (my_class.match(open_class) != null) {
			var replace_string = '/' + open_class + '/gi';
			element.className = my_class.replace(eval(replace_string),'');
			element.className += " " + close_class;
		} else if (my_class.match(close_class) != null) {
			var replace_string = '/' + close_class + '/gi';
			element.className = my_class.replace(eval(replace_string),'');
			element.className += " " + open_class;
		}
	}
}
*/

function showElement(element_id,type)
{
    if (type == '' || type == undefined){
        type = 'block';
    }

    var element = document.getElementById(element_id);
    if (element) {
        element.style.display = type;
    }
}

function hideElement(element_id)
{
    var element = document.getElementById(element_id);
    if (element) {
        element.style.display = "none";
    }
}

Array.prototype.in_array = function(p_val) {
    for(var i = 0, l = this.length; i < l; i++) {
        if(this[i] == p_val) {
            return true;
        }
    }
    return false;
}

function isValidEmail(src) {
    var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
    var regex = new RegExp(emailReg);
    return regex.test(src);
}

function toggleFaq(faq_id)
{

    var faq_q = document.getElementById("faq_q_" + faq_id);
    var faq_a = document.getElementById("faq_a_" + faq_id);
    
    if(faq_q && faq_a){
        
        // Remove selected classes
        var a_class = faq_a.className;
        var q_class = faq_q.className;
        a_class = a_class.replace(/selected/gi,'');
        q_class = q_class.replace(/selected/gi,'');
        
        // Show
        if(faq_a.style.display == 'none'){
            
            showElement("faq_a_" + faq_id,'');
            faq_a.className = a_class + ' selected';
            faq_q.className = q_class + ' selected';
            
        // Hide
        } else {
            
            hideElement("faq_a_" + faq_id);
            faq_a.className = a_class;
            faq_q.className = q_class;
            
        }
        
    }
    
}


$(document).ready(function() {
       if($("#map")) {
           $.each($("#map").children(),function() {
               $(this).hover(
                   function() {
                      className=$(this).attr("id").replace("area_","");                   
                      $("#map_content").addClass(className);
                      $("#link_"+className).addClass("selected");
                  },
                  function() {
                      className=$(this).attr("id").replace("area_","");                  
                      $("#map_content").removeClass(className);           
                      $("#link_"+className).removeClass("selected");
                  }       
                  );
           });
       }
        
       if($("#region_nav a")) {
       $.each($("#region_nav a"),function() {
                   $(this).hover(
              function() {
                 className=$(this).attr("id").replace("link_","");                   
                 $("#map_content").addClass(className);
             },
             function() {
                 className=$(this).attr("id").replace("link_","");                  
                 $("#map_content").removeClass(className);           
             }       
             );
         });    
       }
});





function rhFaqSubnav(link_clicked)
{
    
    if(typeof(link_clicked.href) == "string"){
    
        var href_array = link_clicked.href.split('#');
                
        if(typeof(href_array[(href_array.length-1)]) == "string") {
            
            var href_array = href_array[(href_array.length-1)];
            href_array = href_array.split('_');
            
            if(typeof(href_array[1]) == "string") {
                
                var guid = href_array[1];
                var my_type = href_array[0];
                
                if(guid.length == 32){
                
                    // We have a guid, so we can identify all the parts
                    
                    var faq_submenu = document.getElementById('faq_submenu_' + guid);
                    
                    /*
                    var general_container = document.getElementById('gen_' + guid);
                    var services_container = document.getElementById('ser_' + guid);
                    var faqs_container = document.getElementById('ser_' + guid);
                    */
                    
                    if(faq_submenu){
                        
                        // Show right content
                        if(my_type != 'gen'){
                            hideElement("gen_" + guid);
                        }
                        if(my_type != 'ser'){
                            hideElement("ser_" + guid);
                        }
                        if(my_type != 'faq'){
                            hideElement("faq_" + guid);
                        }
                        showElement(my_type + "_" + guid,"");
                        
                        // Activate correct menu item
                        var a_tags = faq_submenu.getElementsByTagName('A');
                        for(i=0;i<a_tags.length;i++){
                            
                            var this_tag = a_tags[i];
                            var this_class = this_tag.className;
                            this_tag.className = this_class.replace(/selected/gi,'');
                            
                            if(this_tag.href.match("#" + my_type + "_" + guid)){
                                this_tag.className += " selected";
                            }
                            
                        }
                                                
                        return false;
                    
                    }
                
                }
            
            }
            
        }
    
    }
    
    return true;
    
}