// Fix background image flickering in IE
try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) { }

function IsThisBrowserIE6() {
    return ((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined))
}

var isIE6 = IsThisBrowserIE6();


var spotlightHeight = 0;
var scrollRatio = 1;

var SpotlightScroll = {
	init: function() {
		spotlightHeight = $('#spotlightTextInner').height();
		var scrollPane = spotlightHeight - 140;
		scrollRatio = scrollPane/111;
//		alert('spotlightHeight = ' + spotlightHeight + ' px \n scroll ratio = ' + scrollRatio);
	},
	updateSpotlightScroll: function() {	
		var scrollPos = $('#scrollhandle').position();
		var scrollPanePos = $('#spotlightTextOuter_sidebar').position();
//		var scrollHandleTop = scrollPos.top - 208.5;
		var scrollHandleTop = scrollPos.top - scrollPanePos.top;
		var scrollto = scrollHandleTop * scrollRatio;
		$("#spotlightTextOuter_sidebar").scrollTop(scrollto);
//		$('#debugging').text(" scrollHandleTop = " + scrollHandleTop + " scrollRatio = " + scrollRatio + " scrollto = " + scrollto);
	}
};

$(document).ready(SpotlightScroll.init);

$(function() {
//	var spotlightHeight = $('#spotlightTextInner').height();
//	var scrollRatio = spotlightHeight/111;
//	alert('spotlightHeight = ' + spotlightHeight + ' px \n scroll ratio = ' + scrollRatio);


	$("#scrollhandle").draggable({
		start: function() {
			//counts[0]++;
			//updateCounterStatus($start_counter,counts[0]);
		},
		drag: function() {
			// counts[1]++;
			SpotlightScroll.updateSpotlightScroll();
		},
		stop: function() {
			//counts[2]++;
			//updateCounterStatus($stop_counter,counts[2]);
		},
		containment: 'parent'
	});
});

/*
function updateSpotlightScroll() {	
	var scrollPos = $('#scrollhandle').position();
	var scrollHandleTop = scrollPos.top - 521;
	var scrollto = scrollHandleTop * scrollRatio;
	$('#spotlightTextOuter_sidebar').animate({scrollTop: '+=' + scrollto + 'px'});
	//$('#topic_slider').animate({scrollTop: '+=' + scrollto + 'px'}, 500);
	$('#debugging').text(" scrollHandleTop = " + scrollHandleTop + " scrollRatio = " + scrollRatio + " scrollto = " + scrollto);
	//$('span.count',$event_counter).text(new_count);
}
*/

var QuickLinksSubpage = {
	init: function() {

   $('#qk_events_button').click( function() {
	$('.qk_pane').hide();
    $('#qk_events_pane').toggle();
	pageTracker._trackPageview('/subpage-quicklinks/Events pane');
   });
   $('#qk_events_openlink').click( function() {
    $('.qk_pane').hide();
	$('#qk_events_pane').toggle();
   });
   $('#qk_events_closelink').click( function() {
    $('#qk_events_pane').toggle();
   });
   
    $('#qk_partners_button').click( function() {
    $('.qk_pane').hide();
	$('#qk_partners_pane').toggle();
	pageTracker._trackPageview('/subpage-quicklinks/Partners pane');
   });
   $('#qk_partners_openlink').click( function() {
    $('.qk_pane').hide();
	$('#qk_partners_pane').toggle();
   });
   $('#qk_partners_closelink').click( function() {
    $('#qk_partners_pane').toggle();
   });
   
   $('#qk_whitepapers_button').click( function() {
    $('.qk_pane').hide();
	$('#qk_whitepapers_pane').toggle();
	pageTracker._trackPageview('/subpage-quicklinks/White papers pane');
   });
   $('#qk_whitepapers_openlink').click( function() {
    $('.qk_pane').hide();
	$('#qk_whitepapers_pane').toggle();
   });
   $('#qk_whitepapers_closelink').click( function() {
    $('#qk_whitepapers_pane').toggle();
   });

   $('#qk_blogs_button').click( function() {
    $('.qk_pane').hide();
	$('#qk_blogs_pane').toggle();
	pageTracker._trackPageview('/subpage-quicklinks/Blogs pane');
   });
   $('#qk_blogs_openlink').click( function() {
    $('.qk_pane').hide();
	$('#qk_blogs_pane').toggle();
   });
   $('#qk_blogs_closelink').click( function() {
    $('#qk_blogs_pane').toggle();
   });

   $('#qk_demos_button').click( function() {
    $('.qk_pane').hide();
	$('#qk_demos_pane').toggle();
	pageTracker._trackPageview('/subpage-quicklinks/Demos pane');
   });
   $('#qk_demos_openlink').click( function() {
    $('.qk_pane').hide();
	$('#qk_demos_pane').toggle();
   });
   $('#qk_demos_closelink').click( function() {
    $('#qk_demos_pane').toggle();
   });

   $('#qk_feeds_button').click( function() {
    $('.qk_pane').hide();
	$('#qk_feeds_pane').toggle();
	pageTracker._trackPageview('/subpage-quicklinks/Feeds pane');
   });
   $('#qk_feeds_openlink').click( function() {
    $('.qk_pane').hide();
	$('#qk_feeds_pane').toggle();
   });
   $('#qk_feeds_closelink').click( function() {
    $('#qk_feeds_pane').toggle();
   });

}
};

$(document).ready(QuickLinksSubpage.init);

function findPosX(obj) {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
 }
 
function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}

function setGradBkgd(){
	var myFooterDivTop = findPosY(document.getElementById('footer_sub'));
	var myBkgdDiv = document.getElementById('wrapper_grad_sub');
	
//	alert('footer top is ' + myFooterDivTop);
//	alert('wrapper_grad_sub height is ' + myBkgdDiv.offsetHeight);
	
	var newBkgdDivHeight = myFooterDivTop - 80; 
	
//	alert('new wrapper_grad_sub height is ' + newBkgdDivHeight);
	
	myBkgdDiv.style.height = newBkgdDivHeight + 'px';
}

// Convert on-tabbed display into tabbed display and activate tabs
$(document).ready(function() {
	var $tabs = $('div.tabs');
	var $tabnav = $tabs.find('ul.tabNav');
	if ($tabnav.length == 0) {
		$tabnav = $tabs.prepend('<ul class="tabNav selfClear"></li>').find('> ul');
		$tabs	.find('> div')
			.each( function(i) {
				var id = this.id;
				var $h2 = $(this).find('h2');
				var title = $h2.attr('title') || $h2.html();
				$tabnav.append('<li><a href="#' + id + '"><span>' + title + '</span></a></li>');
				// $h2.remove();
			});
			// Need delay for browsers to get their DOM in order
			setTimeout(function() { $tabs.tabs(); $tabs.bind('tabsshow', function(event, ui) { setGradBkgd(); }); }, 500);
	}
});

var $dialog;
var ModalDisplay = {
	init: function() {
		$('a.modal').click(ModalDisplay.click);
		$('.ui-widget-overlay').live('click', function(event) {
			if ($dialog) {
				$dialog.dialog('close');
			}
		});
	},
	click: function(event) {
		event.preventDefault();
		$div = $('#ModalContainer .modalContent');
		if ($div.length == 0 && !$dialog) {
			return;
		}
		if ($dialog) {
			$dialog.dialog('open');
		} else {
			$dialog = $div.dialog({
					draggable: false,
					modal: true,
					bgiframe: true,
					width: 660,
					closeText: 'Close',
					resizable: false
			}).dialog('open');
		}	
	}
};
$(document).ready(function() { ModalDisplay.init(); });

// returns the corresponding value for the key in querystring

function querystring(key) 
{
 var ary = location.search.substring(1).split("&");
 for ( var i=0; i<ary.length; i++ )
 {
 if ( ary[i].split("=")[0].toUpperCase() == key.toUpperCase() )
return ary[i].split("=")[1];
 }
 return("")
}

function popUp(url,params) { 
window.open(url,'newWindow',params); 
}

var ExternalLinks = {
	init: function() {
		$('a[rel="external"]').attr( "target", "_blank" );
	}
};

$(document).ready(ExternalLinks.init);
