

var overlaypreloadholder1 = null;
var overlaypreloadidval1 = 1;

$(document).ready(function() {

	initializeOverlayObject1(false);
	initializeOverlayObject1(true);

	var shadowelem = $("<div id='overlay-shadow' style='background:#000;filter: alpha(opacity=65); -moz-opacity: 0.65; opacity: 0.65;' class='closeall'>&nbsp;</div>");
	$(document.body).append(shadowelem);
	shadowelem.click(closeOverlays1);
	$("div[overlayContentId1],a[overlayContentId1]").each(function() {
		var thislink1 = $(this);
		var overlaycontent1 = $("#"+thislink1.attr("overlayContentId1"));
		overlaycontent1.hide();

		thislink1.click(function(){
			handleOverlayLinkClick1($(this));
			return false;
		});
	});

	$("div[overlayTarget1],a[overlayTarget1]").each(function() {										   
		var thislink1 = $(this);
		var targetstr1 = thislink1.attr("overlayTarget1");
		
		thislink1.click(function(){
			handleOverlayLinkClick1($(this));
			return false;
		});

		if (!overlaypreloadholder1)
			overlaypreloadholder1 = $("<div id='overlaypreloadholder1'></div>").appendTo("body");
		
		if (overlaypreloadholder1.children("[overlaypreloadtarget1='"+targetstr1+"']").length==0)
			overlaypreloadholder1.append("<div class='overlaypreloaddiv1' id='overlaypreloaddiv1"+(overlaypreloadidval1++)+"' overlaypreloadtarget1='"+targetstr1+"'></div>");
	});


	setTimeout(preloadAjaxContent1, 10);
});


function handleOverlayLinkClick1(link)
{
	var idstr1 = link.attr("overlayContentId1");
	var targetstr1 = link.attr("overlayTarget1");
	var overlaytitle1 = link.attr("overlayTitle1");
	if (idstr1 && idstr1.length>0){
		openElementOverlay1(idstr1, overlaytitle1);
	}
	else if (targetstr1 && targetstr1.length>0) {
		//openAjaxOverlay(targetstr1, overlaytitle1);
		openCountrySelectorOverlay(targetstr1, overlaytitle1);
	}
}

function preloadAjaxContent1()
{
	if (!overlaypreloadholder1)
		return;
		
	var nextpreload1 = overlaypreloadholder1.children(".overlaypreloaddiv1:empty:first");
	if (nextpreload1.length>0)
	{
		nextpreload1.eq(0).load(nextpreload1.attr('overlaypreloadtarget1'), null, overlayPreloadComplete1);
	}
}


function overlayPreloadComplete1()
{
	//
	// thisholder holds the preloaded content.  append it to the document body.
	//
	var thisholder1 = $(this).appendTo("body");
	
	//
	// now find all links that refer to this content.  change their attribute from ajax url to content id
	//
	var preloadtarget1 = thisholder1.attr('overlaypreloadtarget1');
	$("div[overlayTarget1='"+preloadtarget1+"'],a[overlayTarget1='"+preloadtarget1+"']").each(function() {
		var thislink1 = $(this);
		thislink1.removeAttr('overlayTarget1');
		thislink1.attr('overlayContentId1',thisholder1.attr('id'));
	});
	
	//
	// see if there are any more content to preload
	//
	preloadAjaxContent1();
}



function openElementOverlay1(idelement1, linktitle1)
{
	var overlaydialog1;
		
	var overlaycontentnode1 = $("#"+idelement1);
	if(browser) {
		if(browser.isIE6x) {
			$("select").hide();
		}
	}
	if (!isNaN(parseInt(overlaycontentnode1.css("width"))) && !overlaycontentnode1.attr("overlayContentWidth1"))
		overlaycontentnode1.attr("overlayContentWidth1", overlaycontentnode1.css("width")).css("width", "auto");
	
	if (overlaycontentnode1.attr("noscroll")!=undefined)
		overlaydialog1 = $('#overlaydialognoscroll1');
	else
		overlaydialog1 = $('#overlaydialog1');
	$('.overlay-contents1', overlaydialog1).empty().append(overlaycontentnode1);
	overlaycontentnode1.show();	// we show this because it is hidden
	overlaydialog1.attr("keepoverlaycontent", "1");
			
	// now open overlay
	openOverlay1(overlaydialog1, overlaycontentnode1, linktitle1);

}


function openCountrySelectorOverlay(strUrl, linktitle1)
{
	strUrl = strUrl.replace(" ", "%20");
	//
	// always use scrolling overlay dialog
	//
	var overlaydialog1 = $('#overlaydialog1');
	if(browser) {
		if(browser.isIE6x) {
			$("select").hide();
		}
	}
	$("#overlay-shadow").unbind("click");
	$('.overlay-contents1', overlaydialog1)
		.empty()
		.append("<div id='placeholderdiv1'>&nbsp;</div>")
		.load(strUrl, null, overlayContentLoadComplete1);

	//
	// we open overlay now, otherwise there might be a delay while the AJAX content loads.
	//				
	openOverlay1(overlaydialog1, null, linktitle1);

}


function overlayContentLoadComplete1(responseText, textStatus, XMLHttpRequest) {
	//
	// callback function that runs when the AJAX content is done loading
	//
	var overlaydialog1 = $(".overlay-dialog1:visible");
	$("#placeholderdiv1", overlaydialog1).remove();		// get rid of placeholder

	setOverlayWidth1(overlaydialog1);						// extract the width from the div
	setOverlayTitle1(overlaydialog1);						// extract title from content
	positionOverlay1(overlaydialog1);

		//
		// this runs if there is still content to load (images, etc) in the overlay
		// it makes sure that after all the images load, the scrollbar is set up correctly
		//	
	$(".overlay-contents1", overlaydialog1).load(function(){ positionOverlay1($(".overlay-dialog1:visible")); });
	setTimeout('positionOverlay1($(".overlay-dialog1:visible"));', 1000);
	
}

var overlayCloseButtonLabel1 = "Close";

function initializeOverlayObject1(bhasscroll)
{
	//
	// this sets up one of the two top-level overlay dialog holders.  This is a structure
	// that presents the nice rounded border, keeps the dialog on top of everything, and
	// allows content to be added.
	//
	var overlaydialog1;
	var contentelem1;
	if (bhasscroll)
	{
		overlaydialog1 = $("<div id='overlaydialog1' class='overlay-dialog1' noscroll='true'><div class='overlay-holder orange-bar'><div class='scroll-pane'><div class='overlay-contents1'></div></div></div></div>");
		contentelem1 = $(".scroll-pane", overlaydialog1);
	}
	else
	{
		overlaydialog1 = $("<div id='overlaydialognoscroll1' class='overlay-dialog1' noscroll='true'><div class='overlay-holder orange-bar'><div class='overlay-contents1'></div></div></div>");
		contentelem1 = $(".overlay-contents1", overlaydialog1);
	}


contentelem1.before("<div class='overlay-t'></div>"+
				"<div class='overlay-head-wrapper1'>"+
					"<div class='overlay-head-outer'><div class='overlay-closebutton'></div>"+
						"<div class='overlay-head-inner'></div></div>"+
					"<div class='overlay-printheader1'>"+
						"<div class='overlay-printbutton-holder1'>"+
						"</div>"+
					"</div>"+
				"</div>"
				);

	contentelem1.parent().after("<div class='overlay-b'><div></div></div>");

	$(".overlay-closelink:first", overlaydialog1).click(closeOverlays1);
	$(".overlay-print-button", overlaydialog1).click(function(){
	
	//$.jPrintArea($(".overlay-contents1", $(this).parents(".overlay-dialog1:first")));
	
	var title1 = $(this).parents(".overlay-dialog1:first").find('.overlay-contents1').find('.overlay-head').html();
		printPreview($(this).parents(".overlay-dialog1:first").find('.overlay-contents1'), title1);

	});


	overlaydialog1.appendTo("body");

	//
	// get the overlay default width from the css settings and store it in an attribute
	// (since when we need to size differently, we will need to reset later)
	//
	overlaydialog1.attr("overlayWidthDefault", overlaydialog1.css("width"));
}


var overlayOpenCallback1 = null;
var overlayCloseCallback1 = null;

function initializeOverlayCallbacks(openCallback, closeCallback)
{
	//
	// this is a dumb architecture, but necessary to integrate this new overlay architecture
	// into the pages that exist.   these callbacks are utilized when dialogs are opened or closed.
	//
	overlayOpenCallback1 = openCallback;
	overlayCloseCallback1 = closeCallback;
}

var overlayDifferenceOuterInnerWidth1 = 24;
var overlayDifferenceOuterInnerHeight1 = 24+17+20+24;  // header+printarea+margin+bottom

function setOverlayWidth1(overlaydialog1)
{
	var overlaycontents1 = $('.overlay-contents1', overlaydialog1);
	var overlaycontentnode1 = overlaycontents1.children(":first");
	if (overlaycontentnode1.attr("overlayContentWidth1"))
	{
		overlaydialog1.css("width", parseInt(overlaycontentnode1.attr("overlayContentWidth1"))+overlayDifferenceOuterInnerWidth1);		
	}
	overlaycontents1.width(overlaydialog1.width()-overlayDifferenceOuterInnerWidth1);

	if (overlaycontentnode1.attr('noheader')!=undefined)
	{
		$('.overlay-head-wrapper,.overlay-head-outer,.overlay-t,.overlay-b', overlaydialog1).hide();
	}
	else
	{
		$('.overlay-head-wrapper,.overlay-head-outer,.overlay-t,.overlay-b', overlaydialog1).show();
	}
	
	//
	// also check for noprint/noclose class here
	//
	if (overlaycontentnode1.attr('noclick')!=undefined) {
		$("#overlay-shadow").unbind("click");
	}
		
	if (overlaycontentnode1.attr('noclose')!=undefined) {
		$('.overlay-closebutton', overlaydialog1).hide();
	}
	if (overlaycontentnode1.attr('noprint')!=undefined)
	{
		$('.overlay-printheader1', overlaydialog1).hide();
//		$('.overlay-head-outer', overlaydialog1).css("margin-bottom", "20px");
	}
	else
	{
		$('.overlay-printheader1', overlaydialog1).show();
//		$('.overlay-head-outer', overlaydialog1).css("margin-bottom", "0px");
	}
}

function openOverlay1(overlaydialog1, overlaycontentnode1, linktitle1) {

	positionShadow1();
	$("#overlay-shadow").ready(function(){
$("#overlay-shadow").fadeIn(300); 
});

	setOverlayWidth1(overlaydialog1);
	overlaydialog1.fadeIn(400).css();
	//setOverlayTitle(overlaydialog1, linktitle1);

	positionOverlay1(overlaydialog1);
	$(window).bind("resize", overlayHandleResize1);

	if (overlayOpenCallback1)
		overlayOpenCallback1();

}


function positionOverlay1(overlaydialog1) {
	var wnd = $(window);

	var overlaycontents1 = $(".overlay-contents1", overlaydialog1);
	
	if (overlaydialog1.attr('noscroll')==undefined) {

		var targheight = 400; //Math.max(150, Math.round(wnd.height()*0.8));	
		var contentheight = 500; //overlaycontents1.height();

		//$(".jScrollPaneContainer", overlaydialog1).height(Math.min(400, 400)).width("auto");
		//$(".scroll-pane", overlaydialog1).jScrollPane({showArrows:true,scrollbarMargin:0});
	}
	var pLeft = Math.max((wnd.width() - overlaydialog1.width()) / 2 + wnd.scrollLeft());
	overlaydialog1.css({left: pLeft});
}


function setOverlayTitle1(overlaydialog1, linktitle1) {
	var overlayheadinner = $(".overlay-head-inner",overlaydialog1);
	if (linktitle1) {
		overlayheadinner.empty().append(linktitle1);
		return;
	}
	var overlaycontents1 = $(".overlay-contents1", overlaydialog1);
	var overlaycontentnode1 = overlaycontents1.children();
	if (overlaycontentnode1.attr("overlayTitle1")) {
		overlayheadinner.empty().append(overlaycontentnode1.attr("overlayTitle1"));
		return;
	}
	var header = $(".overlay-head", overlaycontents1);
	if (header.length>0) {
		overlayheadinner.empty().append(header.clone());
		return;
	}
}
function closeOverlays1() {
	var overlaydialog1;
	var opendialogs1 = $(".overlay-dialog1:visible");
	var overlaycontents1 = $('.overlay-contents1', overlaydialog1);
	var overlaycontentnode1 = overlaycontents1.children(":first");

	if (overlaycontentnode1.attr("noscroll")!=undefined)
		overlaydialog1 = $('#overlaydialognoscroll1');
	else
		overlaydialog1 = $('#overlaydialog');

	if (overlaycontentnode1.attr('removeDom') != undefined) {

		$(".overlay-contents1", opendialogs1).empty();
	}
	opendialogs1.hide();
	$(".overlay-contents1", opendialogs1.filter("[keepoverlaycontent]")).children().fadeOut(300).hide().appendTo("body");
	
	opendialogs1.removeAttr("keepoverlaycontent");

	opendialogs1.each(function() { 
		var thisobj = $(this);
		//alert("setting "+this.id+" width to "+thisobj.attr("overlayWidthDefault"));
		thisobj.css("width", parseInt(thisobj.attr("overlayWidthDefault")));
	});
	
	
	$(window).unbind("scroll", overlayHandleScroll1);
	$(window).unbind("resize", overlayHandleResize1);
	$("#overlay-shadow:visible").fadeOut(500);
	if(browser) {
		if(browser.isIE6x) {
			$("select").show();
		}
	}

	if (overlayCloseCallback1)
		overlayCloseCallback1();
		
}


function positionShadow1()
{
	var doc = $(document);
	$("#overlay-shadow").width(doc.width()).height(doc.height());
}


function overlayHandleScroll1()
{
	positionOverlay1($(".overlay-dialog1:visible"));
}
function overlayHandleResize1()
{
	positionOverlay1($(".overlay-dialog1:visible"));
	positionShadow1();
}

