// JScript File
(function($){ 
	var loadMessage = "Verifying your location...";
	var loadDelay = 2000;
	var force = true;
	try{google.load("search","1");}catch(error){}// loading search
	$(document).ready(function() {
	    //pulls the users location from google
	    var location = 'noselect';
	    // google.loader.ClientLocation =
		// {"latitude":42.359,"longitude":-71.061,"address":{"city":"Boston","region":"MA","country":"USA","country_code":"US"}};
	    try {
		    if (google.loader.ClientLocation) {
		      var loc = google.loader.ClientLocation;
		      if(loc && loc.address && loc.address.region)
		        location = loc.address.region;
		    }
	    } catch(error) {
	    	
	    }
	    //call stateChanged whenever the dropdown value changes
	    $("#mainContent_stateDropdown").change(stateChanged);
	    // if the dropdown has no value selected try to populate it from session
		// or google
	    var contents = $("#plansHolder").html();
	    if($("#mainContent_stateDropdown").getSelectedIndex() <= 0 || contents.indexOf("mp-table") == -1){
	        // if the user has a stored state from a previous use then load it, otherwise pull it from google.
	        if($("#mainContent_stateDropdown").getSelectedIndex()<=0){
	    		  setState(findState(eval(stateJson),location));
	    	}
            stateChanged();
	    }else{
	    	//if the dropdown has a value selected it will be loaded by .net, so just show the print button and track the state
	        $(".hidePrint").css("display","inline");
	        loadDelay = 1000;
	        loadMessage = "&nbsp;";
	    }
	    force = false;
	    
	    initializeFmlNews();
	});
	// sets the dropdown to a specific state
	function setState(state){
	    $("#mainContent_stateDropdown").setSelectedValue(state);
	}
 
	function findState(eformularyStateArray,googleLocation){
		if(eformularyStateArray.length > 0){
			for (var i=0; i<eformularyStateArray.length;i++) {
				if(eformularyStateArray[i].stateAbbr==googleLocation){
					return eformularyStateArray[i].stateName;
				}
			}
        }
		return 'noselect';
	}
	var t; 
	function stateChanged(){
	    if($("#mainContent_stateDropdown option:selected").text() != "Select" || force){
	        $("#plansHolder").html("<div class='loading'><p>" + loadMessage +"</p></div>");
	        $("#stateDisplay").html( "" );
	        $("#statePrintDisplay").html( "" );   
	        clearTimeout(t);
	        t = setTimeout(function(){
	                getStatePlans();
	                if($("#mainContent_stateDropdown option:selected").text() != "Select"){
	                    $.cookie('state', $("#mainContent_stateDropdown option:selected").text(), {path:"/"});
	                    $("#stateDisplay").html( $("#mainContent_stateDropdown option:selected").text() );
	                    $("#statePrintDisplay").html( $("#mainContent_stateDropdown option:selected").text() );
	                }

	        }, loadDelay);
	        
	        
	        loadMessage = "&nbsp;";
	        loadDelay = 1000;
	    }
	}

	// specific calls for the ping
	function getStatePlans(){		
		var url=ctx+'/nexium-resources/getStatePlans.json';
		var qsData = {'state':$("#mainContent_stateDropdown").getSelectedValue()};
	    $.ajax({
	       type: "get",
		   url: url,
		   data: qsData,
		   dataType:"json",
		   beforeSend: function(){
	    	 
	       },
		   success: function(msg){
	    	 
	    	  $("#plansHolder").html(msg.json);
	    	  $(".hidePrint").css("display","inline");
	     
		   },
		   complete: function(XMLHttpRequest, textStatus){
			    //alert("complete");
		   },
		   error: function(xhr,status){
			  if ( xhr.status > 200 && xhr.status <= 500 ){
				  alert("error comminucation.");
			  }
		   }
		});
	    
	}
	
	function statePlansFailed(){
		//setInnerHTML('loadingMessageContent', 'The service is unavailable, please try again later.<br\> <a href="#" onclick="javascript:mainClose();">Close Window</a>');
	}
	
	
	//=======================================================================
	// Eformulary news methods
	//=======================================================================
	
	/**
	 * Initialize eformulary news.
	 */
	function initializeFmlNews() {
		$('.fmlnews-head .item').html("News Item <span>1</span> of " + $('.fmlnews-body ul>li').length);
		$('.fmlnews-head a').click(showNews);
		$('.fmlnews-body ul>li').each(function() {
			$(this).find('.eformularyNewsRefPopup').css({'cursor': 'pointer', 'text-decoration': 'none'}).click(showSupInfo);
		});
		$('#fmlnews-popup .fmlnews-popup-btnclose').click(function() {
			$('#fmlnews-popup').hide();
		});
		$('.fmlnews-body .btnReference').click(showNewsReferences);
	}
	
	/**
	 * Show news.
	 */
	function showNews() {
		$('#fmlnews-popup').hide();
		var newsList = $('.fmlnews-body ul>li');
		var cur = parseInt($('.fmlnews-head .item span').text(), 10);
		cur = ($(this).text() == 'Next') ? cur + 1 : cur - 1;
		if (cur > newsList.length) {
			cur = 1;
		} else if (cur <= 0) {
			cur = newsList.length;
		}
		newsList.hide().eq(cur - 1).show();
		$('.fmlnews-head .item span').text(cur);
	}

	/**
	 * Show news info popup.
	 */
	function showSupInfo() {
		var popup = $('#fmlnews-popup');
		$('body').append(popup);
		var data = '<ul>';
		var refStr = $(this).attr("ref");
		if (refStr == null || refStr == "") {
			$(this).parents('li').find('.eformularyNewsRef').each(function() {
				data += '<li>' + $(this).html() + '</li>';
			});
		} else {
			var refIds = refStr.split(",");
			for (var i = 0; i < refIds.length; i++) {
				data += '<li>' + $(this).parents("li").find('#eformularyNewsRef-' + refIds[i]).html() + '</li>';
			}
		}
		data = $(data + '</ul>');
		$('.fmlnews-popup-list', popup).empty().append(data);
		var offset = $(this).offset();
		var left = (offset.left - 200 < 0) ? 0 : offset.left - 200;
		popup.css({position: 'absolute', zIndex: 999, left: left + 'px', top: (offset.top + 10) + 'px'}).bgiframe().show();
	}
	
	/**
	 * Show news references popup.
	 */
	function showNewsReferences() {
		var popup = $('#fmlnews-popup');
		$('body').append(popup);
		var data = '<ul>';
		var alllist = $(this).parents('.fmlnews-body').find('ul>li:visible');
		alllist.find('.eformularyNewsRef').each(function() {
			data += '<li>' + $(this).html() + '</li>';
		});
		data = $(data + '</ul>');
		$('.fmlnews-popup-list', popup).empty().append(data);
		var offset = $(this).offset();
		popup.css({position: 'absolute', zIndex: 999, left: (offset.left - 180) + 'px', top: (offset.top + 10) + 'px'}).bgiframe().show();
	}
	
})(jQuery);

function printMajorPlans(){
    print();
}


