$(document).ready(function() {

	$("img#button-howitworks").click(function () {
		$("div#contentholder").css("visibility", "visible");
		if ($(this).is("img")) {
			TabButtonsHelper.rollover.select(this);
		}
		$("div#layer-howitworks").css("z-index", "99").fadeIn("def", function () {
			$("div#layer-rates:visible").hide();
			$("div#layer-features:visible").hide();
			$("div#layer-video:visible").hide();
			$("div#layer-accessnumbers:visible").hide();
			$("div#layer-faqs:visible").hide();
			$(this).css("z-index", "3");
		});
	});

	$("img[id$='button-rates'],span[id$='link-rates']").click(function () {
		$("div#contentholder").css("visibility", "visible");
		if ($(this).is("img")) {
			TabButtonsHelper.rollover.select(this);
		}
		$("div#layer-rates").css("z-index", "99").fadeIn("def", function () {
			$("div#layer-howitworks:visible").hide();
			$("div#layer-features:visible").hide();
			$("div#layer-video:visible").hide();
			$("div#layer-accessnumbers:visible").hide();
			$("div#layer-faqs:visible").hide();
			$(this).css("z-index", "3");
		});
	});

	$("img#button-features").click(function () {
		$("div#contentholder").css("visibility", "visible");
		if ($(this).is("img")) {
			TabButtonsHelper.rollover.select(this);
		}
		$("div#layer-features").css("z-index", "99").fadeIn("def", function () {
			$("div#layer-howitworks:visible").hide();
			$("div#layer-rates:visible").hide();
			$("div#layer-video:visible").hide();
			$("div#layer-accessnumbers:visible").hide();
			$("div#layer-faqs:visible").hide();
			$(this).css("z-index", "3");
		});
	});

	$("img#button-video").click(function () {
		$("div#contentholder").css("visibility", "visible");
		if ($(this).is("img")) {
			TabButtonsHelper.rollover.select(this);
		}	
		$("div#layer-video").css("z-index", "99").fadeIn("def", function () {
			$("div#layer-howitworks:visible").hide();
			$("div#layer-rates:visible").hide();
			$("div#layer-features:visible").hide();
			$("div#layer-accessnumbers:visible").hide();
			$("div#layer-faqs:visible").hide();
			$(this).css("z-index", "3");
		});
	});

	$("span[id^='link-accessnumbers']").click(function () {
		$("div#contentholder").css("visibility", "visible");
		$("div#layer-accessnumbers").css("z-index", "99").fadeIn("def", function () {
			$("div#layer-howitworks:visible").hide();
			$("div#layer-rates:visible").hide();
			$("div#layer-features:visible").hide();
			$("div#layer-video:visible").hide();
			$("div#layer-faqs:visible").hide();
			$(this).css("z-index", "3");
		});
	});
	
	$("img[id*=button-faqs]").click(function () {
		$("div#contentholder").css("visibility", "visible");
		if ($(this).is("img")) {
			TabButtonsHelper.rollover.select(this);
		}		
		$("div#layer-faqs").css("z-index", "99").fadeIn("def", function () {
			$("div#layer-howitworks:visible").hide();
			$("div#layer-rates:visible").hide();
			$("div#layer-features:visible").hide();
			$("div#layer-video:visible").hide();
			$("div#layer-accessnumbers:visible").hide();
			$(this).css("z-index", "3");
		});
	});	
	
	$("img#button-home").click(function () {
		
		TabButtonsHelper.rollover.unselectAll();
		
		$("div#layer-howitworks:visible").fadeOut("def", function () {
			$("#contentholder").css("visibility", "hidden");
		});
		$("div#layer-rates:visible").fadeOut("def", function () {
			$("#contentholder").css("visibility", "hidden");
		});
		$("div#layer-features:visible").fadeOut("def", function () {
			$("#contentholder").css("visibility", "hidden");
		});
		$("div#layer-video:visible").fadeOut("def", function () {
			$("#contentholder").css("visibility", "hidden");
		});
		$("div#layer-accessnumbers:visible").fadeOut("def", function () {
			$("#contentholder").css("visibility", "hidden");
		});		
		$("div#layer-faqs:visible").fadeOut("def", function () {
			$("#contentholder").css("visibility", "hidden");
		});
	});
	
	TabButtonsHelper.rollover.init();
	$.preloadImages("/images/entertainerpages/layers/accessnumbers/search-button-wait.gif");
});

TabButtonsHelper = {};

TabButtonsHelper.rollover = 
{
   init: function()
   {
      this.preload();
      
      $(".tab-button").hover(
         function () { $(this).attr( 'src', TabButtonsHelper.rollover.newimage($(this).attr('src')) ); }, 
         function () { $(this).attr( 'src', TabButtonsHelper.rollover.originalimage_over($(this).attr('src')) ); }
      );
   },

   preload: function()
   {
      $(window).bind('load', function() {
         $('.tab-button').each( function( key, elm ) { 
         	$('<img>').attr( 'src', TabButtonsHelper.rollover.newimage( $(this).attr('src') ) );
         	$('<img>').attr( 'src', TabButtonsHelper.rollover.newimage_selected( $(this).attr('src') ) );
         });
      });
   },
   
   newimage: function( src )
   { 
   	if (src.indexOf('-on') > 0) {
   		return src;
   	}
   	else {
   		return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '-over' + src.match(/(\.[a-z]+)$/)[0]; 
   	}
   },

   originalimage_over: function( src )
   { 
   	if (src.indexOf('-on') > 0) {
   		return src;
   	}
   	else {
   		return TabButtonsHelper.rollover.originalimage(src);
   	}   
   },
   
   originalimage: function( src )
   { 
      	return src.replace(/-over\./, '.').replace(/-on\./, '.'); 
   },

   newimage_selected: function( src )
   { 
   	src = TabButtonsHelper.rollover.originalimage(src);
      	return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '-on' + src.match(/(\.[a-z]+)$/)[0]; 
   },

   select: function ( img ) {
   	TabButtonsHelper.rollover.unselectAll();
	img.src = TabButtonsHelper.rollover.newimage_selected(img.src); 
   }, 
   
   unselectAll: function ()
   {
   	$(".tab-button[src*='-on']").each( function ( key, elm ) { 
   		$(this).attr( 'src', TabButtonsHelper.rollover.originalimage( $(this).attr('src') ) ); 
   	});
   }   
};

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}

function getLocalAccessNumbers() {

	var numberToCheck = $('input#NPAEntry').val() + $('input#PhoneEntry').val();

	if(numberToCheck.length!=10)
	{
		alert("Invalind phone number!");
		return;
	}

	$.ajax({
		type: "GET",
		url: "/service/AjaxServlet",
		dataType: "text",
		data: "ajaxoperation=getLocalAccessNumbers&NPAEntry=" + $('input#NPAEntry').val() + "&PhoneEntry=" + $('input#PhoneEntry').val(),
		beforeSend: function(){
				// set the wait button image
				$('#layer-accessnumbersnotfound').hide();
				$('img#searchButton').attr("src", "../images/entertainerpages/layers/accessnumbers/search-button-wait.gif");
			},
		success: function(msg){
				var content = "";
				var dataList = msg.split(',');
				if ((dataList.length>1) && (dataList.length % 2 ==0)) {
					content = "<table cellspacing=\"0\" width=\"100%\" bgcolor=\"#0066CC\" class=\"accessnumbers\">";
					content += "<tr align=\"center\" height=\"25\" class=\"ratetableheader\"><td>Phone Number</td><td align=\"center\">State/Province</td></tr>";
					// Display max 8 numbers
					for(var i=0;i<=Math.min(dataList.length-1,15);i+=2)
					{
						content += "<tr style=\"background-color:#FFFFFF\"><td>" + dataList[i] + "</td><td>" + dataList[i+1] + "</td></tr>";
					}
					content += "</table>";
					$('#layer-accessnumbersfound').html(content);
				}
				else {
					$('#layer-accessnumbersfound').html("");
					$('#layer-accessnumbersnotfound').show();
				}

				// set the original button image
				$('img#searchButton').attr("src", "../images/entertainerpages/layers/accessnumbers/search-button.gif");
			},
		error: function(XMLHttpRequest, textStatus, errorThrown){
				$('#layer-accessnumbersfound').html("");
				$('#layer-accessnumbersnotfound').show();				
				//$('#layer-accessnumbersfound').html("<p class=\"errortext\">An error occured! Please, try again.</p>");
				// set the original button image				
				$('img#searchButton').attr("src", "../images/entertainerpages/layers/accessnumbers/search-button.gif");
			}
	});
}