// disable back button
//history.forward();

// fix a big in flash player 9
function nullFlashLoopFunction() { 
	__flash_savedUnloadHandler = null; 
}
window.onbeforeunload = nullFlashLoopFunction;

// browser detection
var firefox = navigator.userAgent.indexOf("Firefox") != -1
var explorer = navigator.userAgent.indexOf("MSIE") != -1
var explorer7 = navigator.userAgent.indexOf("MSIE 7.0") != -1
var netscape = navigator.userAgent.indexOf("Netscape") != -1
var safari = navigator.userAgent.indexOf("Safari") != -1
var opera = navigator.userAgent.indexOf("Opera") != -1
var camino = navigator.userAgent.indexOf("Camino") != -1
var macintosh = navigator.platform.indexOf("Mac") != -1

// return browser's is
function whoAreYou() {
	if (firefox) { alert('firefox'); }
	if (explorer && !explorer7) { alert('explorer6'); }
	if (explorer7) { alert('explorer7'); }
	if (opera) { alert('opera'); }
	if (netscape) { alert('netscape'); }
	if (safari) { alert('safari'); }
	if (camino) { alert('camino'); }
	/*
		if (macintosh) { alert('macintosh'); }
		else { alert('pc'); }
	*/
}

// open a popup centered in user's screen
function popCenter(page, name, width, height, scroll) {
	 var winLeft = (screen.width - width) / 2;
	 var winTop = (screen.height - height) / 2;
	 winprops = 'width=' + width + ',height=' + height + ',left=' + winLeft + ',top=' + winTop + ',scrollbars=' + scroll + ',';
	 win = window.open(page, name, winprops);
	 win.focus();
}

// rollover for .gif images (3 states: of, on, in)
function changeGifImage(which) { 
	try {
		myImgSrc = document.getElementById(which);
		buttonStatus = myImgSrc.src.substring(myImgSrc.src.length -6, myImgSrc.src.length -4);
		if (buttonStatus == 'of') myImgSrc.src = myImgSrc.src.substring(myImgSrc.src.length -6,0) + 'on.gif';
		else if (buttonStatus == 'in') myImgSrc.src = myImgSrc.src.substring(myImgSrc.src.length -6,0) + 'in.gif';
		else myImgSrc.src = myImgSrc.src.substring(myImgSrc.src.length -6,0) + 'of.gif';
	}
	catch(err){}
}

// rollover for .jpg images (3 states: of, on, in)
function changeJpgImage(which) { 
	try {
		myImgSrc = document.getElementById(which);
		buttonStatus = myImgSrc.src.substring(myImgSrc.src.length -6, myImgSrc.src.length -4);
		if (buttonStatus == 'of') myImgSrc.src = myImgSrc.src.substring(myImgSrc.src.length -6,0) + 'on.jpg';
		else if (buttonStatus == 'in') myImgSrc.src = myImgSrc.src.substring(myImgSrc.src.length -6,0) + 'in.jpg';
		else myImgSrc.src = myImgSrc.src.substring(myImgSrc.src.length -6,0) + 'of.jpg';
	}
	catch(err){}
}

// show & hide a layer
function layerVisibility(layerId) {
	if (document.getElementById([layerId]).style.display == "none") {
		document.getElementById([layerId]).style.display = "block";
	}
	else { document.getElementById([layerId]).style.display = "none"; }
}

// show a layer
function showLayer(layerId) {
	document.getElementById([layerId]).style.display = "block";
}

// hide a layer
function hideLayer(layerId) {
	document.getElementById([layerId]).style.display = "none";
}

// change an iframe's src
function changeFrame(frameId, url) {
	var oIframe = document.getElementById([frameId]);
	oIframe.src = url;
}

// load empty.aspx in a specific frame
function emptyFrame(frameId) {
	var oIframe = document.getElementById([frameId]);
	oIframe.src = "/empty.aspx";
}

// embed a flash file
function insertFlash(name, width, height, flashvars) {
	document.write('<object width="' + width + '" height="' + height + '" id="' + name + '" align="top" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">\n');
	document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
	document.write('<param name="movie" value="/resources/flash/' + name + '.swf" />\n');
	document.write('<param name="menu" value="false" />\n');
	document.write('<param name="flashvars" value="' + flashvars + '">\n');
	document.write('<param name="quality" value="high" />\n');
	document.write('<param name="scale" value="noscale" />\n');
	document.write('<param name="align" value="t" />\n');
	document.write('<param name="wmode" value="transparent" />\n');
	document.write('<param name="bgcolor" value="#FFFFFF" />\n');
	document.write('<embed width="' + width + '" height="' + height + '" name="' + name + '" src="/resources/flash/' + name + '.swf" flashvars="' + flashvars + '" menu="false" align="top" quality="high" scale="noscale" salign="t" wmode="transparent" bgcolor="#FFFFFF" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>\n');
}

// print the page
function printMe() { window.print(); }

// go to position (x,y) inside the page
function goTo(x, y) { self.scrollTo(x, y) }

// set max character on a textarea
function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) { field.value = field.value.substring(0, maxlimit); }
	else { countfield.value = maxlimit - field.value.length; }
}

// empty textbox value on first click
function changeValueOnFirstFocus(oTxt) { 
	if(oTxt.defaultValue == oTxt.value) { oTxt.value = ''; } 
}

// empty textbox when value differs from default
function changeValueOnDiff(validator) { 
	var o = $(validator.id + '_hidden');
	var n = validator;
	if (n.value == o.value) {n.value = '';}
}

// new effects
Effect.BlindDownFromLeft = function(element) {
  element = $(element);
  element.makeClipping();
  return new Effect.Scale(element, 0,
    Object.extend({ scaleContent: false, 
      scaleY: false,                     
      restoreAfterFinish: true,
      afterFinishInternal: function(effect) {
        effect.element.hide().undoClipping();
      } 
    }, arguments[1] || {})
  );
}
Effect.BlindDownFromRight = function(element) {
  element = $(element);
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({
    scaleContent: false,
    scaleY: false,
    scaleFrom: 0,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makeClipping();
      effect.element.setStyle({width: '0px'});
      effect.element.show();
    },
    afterFinishInternal: function(effect) {
      effect.element.undoClipping();
    }
  }, arguments[1] || {}));
}

// get an object's position
var objLeft = 0;
var objTop = 0;
var objWidth = 0;
var objHeight = 0;
function getPosition(obj){
	obj = document.getElementById(obj);
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	objLeft = curleft;
	objTop = curtop;
}

// detect mouse move & call the moveLayer function
Event.observe(document, "mousemove", showPosition);

function showPosition(e) {
    moveLayer(Event.pointerX(e), Event.pointerY(e));
}

// move the layer depending on the section
function moveLayer(leftPos, topPos) {
	if ($("contentFactsheet")) {
		getPosition('contentFactsheet');
		newLeft = leftPos - objLeft - 18;
		newTop = topPos - objTop - 83;
		Element.setStyle('tooltips_factsheet', {left: newLeft + 'px', top: newTop + 'px'} );
	}
	if ($("contentProgram")) {
		getPosition('contentProgram');
		newLeft = leftPos - 150 ;
		newTop = topPos - objHeight - 10;
		Element.setStyle('popValerie', {left: newLeft + 'px', top: newTop + 'px'} );
	}
	if ($("contentFactsheetDetail")) {
		getPosition('contentFactsheetDetail');
		newLeft = leftPos - 150 ;
		newTop = topPos - objHeight - 10;
		Element.setStyle('popValerie', {left: newLeft + 'px', top: newTop + 'px'} );
	}
	if ($("contentPointer")) {
		getPosition('contentPointer');
		newLeft = leftPos - objLeft - 45;
		newTop = topPos - objTop - 215;
		Element.setStyle('tooltips_pointer', {left: newLeft + 'px', top: newTop + 'px'} );
	}
}

// resize, show & hide valerie popup
function showValerie(event, valerieId) {
	if (event.type == "mouseover" && !Element.visible('popValerie')) {
		var contentWidth = Element.getStyle(valerieId, 'width');
		var contentHeight = Element.getStyle(valerieId, 'height');
		objWidth = eval(contentWidth.substring(0, contentWidth.length -2)) + 12;
		objHeight = eval(contentHeight.substring(0, contentHeight.length -2)) + 20;
		var textWidth = objWidth - 140;
		Element.setStyle('popTop',{width: contentWidth});
		Element.setStyle('popBottom',{width: contentWidth});
		Element.setStyle('popLeft',{height: contentHeight});
		Element.setStyle('popRight',{height: contentHeight});
		Element.setStyle('text_' + valerieId,{width: textWidth + 'px'});
		showLayer('popValerie');
		showLayer('ctl00_uc_valerie_label_popup_' + valerieId);
		//showLayer('ctl00_ContentPlaceHolder1_uc_valerie_label_popup_' + valerieId);
	}
	else if (event.type == "mouseout") {
	    hideLayer('ctl00_uc_valerie_label_popup_' + valerieId);
		//hideLayer('ctl00_uc_valerie_label_popup_' + valerieId);
		hideLayer('popValerie');
	}
}

// show & hide tooltip in factsheet landing page
function switchTooltip(event, tipId) {
	if (event.type == "mouseover" && !Element.visible('tooltips_factsheet')) {
		showLayer('ctl00_ContentPlaceHolder1_label_tooltipSection' + tipId);
		showLayer('tooltips_factsheet');
	}
	else if (event.type == "mouseout") {
		hideLayer('tooltips_factsheet');
		hideLayer('ctl00_ContentPlaceHolder1_label_tooltipSection' + tipId);
	}
}

// get the popupId, set the scroll & assign the mousewheel & arrowkeys event
function showPopup(popupId) {
	
	if (popupId == 'terms') {
		if (document.getElementById('submitStatus').value == '1') {
			document.getElementById('ctl00_ContentPlaceHolder1_imageButton_Submit').style.display = 'none';
			document.getElementById('ctl00_ContentPlaceHolder1_label_program_termsAccepted').style.display = 'block';
		}
	}
	
	/*if (popupId == 'exclu') {
		$('scrollbar_exclu').hide();
	}*/
	
	Effect.Appear('pop_' + popupId,{duration:0.5});

	setTimeout("initScrollLayers('" + popupId + "');",800);
}

function initScrollLayers(popupId) {
	var sectionScroll = new dw_scrollObj('page_' + popupId, 'scroll_' + popupId, null);
	sectionScroll.setUpScrollbar('dragBar_' + popupId, 'track_' + popupId, 'v', 0, 0);
	
	if (window.addEventListener) 
		window.addEventListener('DOMMouseScroll', function(event) { wheel(event, popupId) }, false);
		window.onmousewheel = document.onmousewheel = function(event) { wheel(event, popupId) };
	
	if(document.addEventListener) {
		document.addEventListener("keydown", function(event) { detectEvent(event, popupId) }, true);
		document.addEventListener("keyup", function(event) { stopScrollNow(popupId) }, true);
	}
	else {
		document.attachEvent("onkeydown", function(event) { detectEvent(event, popupId) });
		document.attachEvent("onkeyup", function(event) { stopScrollNow(popupId) });
	}
}

function wheel(event, popupId) {
	var delta = 0;
	if (!event) { event = window.event; }
	if (event.wheelDelta) {
		delta = event.wheelDelta/120;
		if (window.opera) { delta = -delta; }
	} 
	else if (event.detail) { delta = -event.detail/3; }
	if (delta) { handle(delta, popupId); }
	if (event.preventDefault) {	event.preventDefault(); }
	event.returnValue = false;
}

function handle(delta, popupId) {
	if (Element.getHeight('scroll_' + popupId) != 0) {
		if (delta > 0) { 
			origin = 'mouseWheel1';
			dw_scrollObj.initScroll('page_' + popupId, 'up', 2400, popupId);
		}
		if (delta < 0) { 
			origin = 'mouseWheel1';
			dw_scrollObj.initScroll('page_' + popupId, 'down', 2400, popupId);
		}
	}
}

function detectEvent(e, popupId) {
	var evt = e || window.event;
	if (evt.keyCode == '38') { 
		dw_scrollObj.initScroll('page_' + popupId, 'up', null, popupId);
	}
	else if (evt.keyCode == '40') { 
		dw_scrollObj.initScroll('page_' + popupId, 'down', null, popupId);
	}
}

function stopScrollNow(popupId) {
	dw_scrollObj.stopScroll('page_' + popupId);
}

function MasterBodyLoad() {
	var NowDate = new Date();
	var offset = NowDate.getTimezoneOffset();
	document.getElementById('ctl00_timezoneoffset').value = offset.toString();
}

function Convert24hTo12h(hour24) {
	var result = null;
	switch (hour24) {
		case '13': result = '01'; break;
		case '14': result = '02'; break;
		case '15': result = '03'; break;
		case '16': result = '04'; break;
		case '17': result = '05'; break;
		case '18': result = '06'; break;
		case '19': result = '07'; break;
		case '20': result = '08'; break;
		case '21': result = '09'; break;
		case '22': result = '10'; break;
		case '23': result = '11'; break;
		case '24': result = '12'; break;
		default: result = hour24;
	}
	return result;
}

function GetAMorPM(hour24) {
	var result = 'am';
	if (hour24 >= 12) {result = 'pm'; }
	return result;
}


function openMsg(which, quel) {
    
    if(document.getElementById(which).style.display == 'none') {
        Effect.Appear(which, {duration:0.5});
        //h = h + '800' + 'px'
       // alert(document.getElementById(which).getHeight());
        //document.getElementById('both_content').style.height = $('both_content').getHeight() + 200 + 'px';
        document.getElementById(quel).src = '/resources/images/common/bt_close.gif'
    }else{
        Effect.Fade(which, {duration:0.5});
        //document.getElementById('both_content').style.height = $('both_content').getHeight() - 200 + 'px';
        document.getElementById(quel).src = '/resources/images/common/bt_open.gif'
    }
}


// Scroller

var itemCounts = 10;
var itemPos = 1;
var origin = 0;
var maxPosition = 154;

function initScrollLeft () {
    document.getElementById('ctl00_ContentPlaceHolder1_image_bt_featuredArrowPrev').style.display = "none";
    itemPos = 1;
}

function goLeft() {

    itemPos--;
	Effect.MoveBy('scroll_content',0,maxPosition, {duration: 0.4});
    if ((Element.getStyle('scroll_content','left') == '0px') || (itemPos==1))
    {
		document.getElementById('ctl00_ContentPlaceHolder1_image_bt_featuredArrowPrev').style.display = "none";
	}
	else
	{   
	    document.getElementById('ctl00_ContentPlaceHolder1_image_bt_featuredArrowNext').style.display = "block";
	}
}

function goRight() {	
	
	itemPos++;
	Effect.MoveBy('scroll_content',0,-maxPosition, {duration: 0.4});
	document.getElementById('ctl00_ContentPlaceHolder1_image_bt_featuredArrowPrev').style.display = "block";
	if ((Element.getStyle('scroll_content','left') == '-770px') || (itemPos==7)) {
		document.getElementById('ctl00_ContentPlaceHolder1_image_bt_featuredArrowNext').style.display = "none";
	}
}