/* global function to help grab parameters for the url */
function gup( name, url ){  
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+name+"=([^&#]*)";  
	var regex = new RegExp( regexS );  
	if (typeof url == "undefined") {
		url = window.location.href;
	}
	var results = regex.exec( url );  
	if( results == null )    return "";  else    return results[1];
}

var network = gup("network");
var display = gup("display");
$("html").addClass(display);

$(document).ready(function(){
    
    /***** grabbed directly from Coverage Map page for tab behavior ***/
    var sections = $("#menu_coverageTabs li");
    var content = $("#coverage_image_container"); 
    var contentInner = $("#coverage_image_container div"); 
    var TAB_menuLinks = $("img.activecoverate_state"); 
    var maps = [$("#menu_coverageTabs_content1 div.coverage_text").clone(), $("#menu_coverageTabs_content2 div.coverage_text").clone(), $("#menu_coverageTabs_content3 div.coverage_text").clone()];
    
    function showMyContent(){			
    	$("#coverage_image_container div").css({
            visibility:"visible",  
            opacity:"1",  
            display:"block"
        }); 			
    	content.fadeIn(1000); 
    };
    
    function turnOffStates(){	
    	for(var i=0; i < TAB_menuLinks.length;i++)
    		TAB_menuLinks[i].src = TAB_menuLinks[i].src.replace("_Over","_Under");
    }
    
    TAB_menuLinks.click(
    	function () { 
    		turnOffStates();
    		this.src = this.src.replace("_Under","_Over");
    	}
    );
    
    function init(indexToShow){	
    	TAB_menuLinks[indexToShow-1].src = TAB_menuLinks[indexToShow-1].src.replace("_Under","_Over"); 	
    	content.html(maps[indexToShow-1]);	
    };
    /***** END grabbed directly from Coverage Map page ***/
    
    
    // Based on what network is desired (by a url param 'network'), the tabs on the page need to be updated
    switch(network){
    	case "2G":
    		$("#menu_coverageTabs li").hide();
    	  	$("#menu_coverageTabs_item3").show();
    	  	init(3);
    	  	break;
    	case "3G":
    		$("#menu_coverageTabs li").hide();
    	  	$("#menu_coverageTabs_item2").show();
    	  	init(2);
    	  	break;
    	case "ON": // Open network
    		$("#menu_coverageTabs li").hide();
    	  	$("#menu_coverageTabs_item1").show();
    	  	init(1);
    	  	break;
    	default:
    	  	// Do nothing to manipulate the tabs besides init()
    	  	init(1);
    }
    
    //bind links within modal box to pass along that the page is to be shown in modal view and which network (if any) is to be shown exclusively
    $("a").each(function(){
        try {
    	    var link = $(this);
    	    var href = link.attr("href");
    	    if(href){
    	       link.attr("href", href + ((href.indexOf("?")>0)? "&" : "?") + "display=" + display + "&network=" + network);
    	    }
        }catch(err){
            console.error(err);  
        }
    });
    
    
    //bind Coverage Map tabs to their original behaviour (when not pulled in via ijax)
    $("#menu_coverageTabs li a").click(function(e){							
    	var parent_id = $(this).parents("li:first").attr("id");
        					
    	switch(parent_id){     			
    		case "menu_coverageTabs_item1":  
    			content.hide().html(maps[0]);
    			showMyContent();
    			break;
    	
    		case "menu_coverageTabs_item2":  	
    			content.hide().html(maps[1]);
    			showMyContent(); 					
    			break;
    	
    		case "menu_coverageTabs_item3":  	
    			content.hide().html(maps[2]);
    			showMyContent();				
    			break;
    			
    		default:
    			break;
    	}
    	return false;
    });
});
