/*--------------------------------------------------------------------------*/
/*	Lightbox	
*	This is a script for creating modal dialog windows (like the ones your operating
*	system uses)
*	
*/

var LB = {
	/* hideAll - closes all open lightbox windows */
	hideAll: function(){
		lboxes = document.getElementsByClassName('lbox')
		lboxes.each(function(box){
				Element.hide(box)
			}
		)
		if ($('LB_overlay')){
			Element.remove('LB_overlay');
			}
	}
}
LB.base = Class.create();
LB.base.prototype = {

	initialize: function(element, options){
		//start by hiding all lightboxes
		LB.hideAll();
		
		this.element = $(element);
		this.options = Object.extend({
			lightboxClassName : 'LB_lightbox',
			closeOnOverlayClick : true,
			externalControl : false
		}, options || {} )

		//create the overlay
		new Insertion.Before(this.element, "<div id='LB_overlay' style='display:none;'></div>");
		
Element.addClassName(this.element, this.options.lightboxClassName)
	
		//also add a default lbox class to the lightbox div so we can find and close all lightboxes if we need to
		Element.addClassName(this.element, 'lbox')
		
		//Tip: make sure the path to the close.gif image below is correct for your setup
		closer = '<img id="LB_close" src="/images/close.gif" alt="Close" title="Close this window" />'

		//insert the closer image into the div
		
		new Insertion.Top(this.element, closer);
		
		Event.observe($('LB_close'), 'click', this.hideBox.bindAsEventListener(this) );
		
		if (this.options.closeOnOverlayClick){
			Event.observe($('LB_overlay'), 'click', this.hideBox.bindAsEventListener(this) );
		}
		if (this.options.externalControl){
			Event.observe($(this.options.externalControl), 'click', this.hideBox.bindAsEventListener(this) );
		}
				
		this.showBox();	
	},
	
	showBox : function(){
		//show the overlay
	   Element.show('LB_overlay');

		//center the lightbox
	   this.center();
	   
	   	//show the lightbox
	   Element.show(this.element);
	   if ($("flashcontent"))
	   {
		    Element.show("flashcontent");
	   }
	   return false;
	},
	
	hideBox : function(evt){	
		Element.removeClassName(this.element, this.options.lightboxClassName)
		Element.hide(this.element);
		//remove the overlay element from the DOM completely
		Element.remove('LB_overlay');
		return false;
	},
		
	center : function(){
		var my_width  = 0;
		var my_height = 0;
		
		if ( typeof( window.innerWidth ) == 'number' ){
			my_width  = window.innerWidth;
			my_height = window.innerHeight;
		}else if ( document.documentElement && 
				 ( document.documentElement.clientWidth ||
				   document.documentElement.clientHeight ) ){
			my_width  = document.documentElement.clientWidth;
			my_height = document.documentElement.clientHeight;
		}
		else if ( document.body && 
				( document.body.clientWidth || document.body.clientHeight ) ){
			my_width  = document.body.clientWidth;
			my_height = document.body.clientHeight;
		}
		
		this.element.style.position = 'absolute';
		this.element.style.zIndex   = 99;
		
		var scrollY = 0;
		
		if ( document.documentElement && document.documentElement.scrollTop ){
			scrollY = document.documentElement.scrollTop;
		}else if ( document.body && document.body.scrollTop ){
			scrollY = document.body.scrollTop;
		}else if ( window.pageYOffset ){
			scrollY = window.pageYOffset;
		}else if ( window.scrollY ){
			scrollY = window.scrollY;
		}
		
		var elementDimensions = Element.getDimensions(this.element);
		
		var setX = ( my_width  - elementDimensions.width  ) / 2;
		var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;
		
		setX = ( setX < 0 ) ? 0 : setX;
		setY = ( setY < 0 ) ? 0 : setY;
		
		this.element.style.left = setX + "px";
		this.element.style.top  = setY + "px";
		
	}
	
	
}


function showVideo(flvUrl){

	//alert("showit");
	swfUrl = "/flash/viewer_embed.swf";
	id='videoPlayer'; 
	w='325';
	h='280';
	detectVersion='8';
	bgColor='#000000';
	new LB.base("vidDiv");
	
	var so = new FlashObject(swfUrl, id, w, h, detectVersion, bgColor); // (swfUrl, id, w, h, detectVersion, bgColor)
	so.addParam("wmode", "opaque");
	so.addParam("menu", "false");
	so.addVariable("streamName", flvUrl);
	
	//streamName = "../flv/shieldsCommercial.flv";
	so.write("flashcontent");
	//alert("showit");
	
	
	

}

function loadContents(divID, contentURL){
	//alert('loadContents')
	var requestOptions = {
			method : 'post',
			parameters : "file=" + contentURL +
			"&divID=" + divID,
			onComplete: displayContents
		  };
		   new Ajax.Request('includes/helpContents.php', requestOptions);
	
}

function displayContents(originalRequest){
		alert (originalRequest.responseText);
		eval("var response = ("+originalRequest.responseText+")");
		$('alertContent').update(response.content);
		//display('alertContent', response.content);
		new LB.base(response.divID, { externalControl : 'btn_Cancel' });
		$('btn_OK').focus();
}
//var myHelp;
function showHelpBox(divID, contentURL){
	//$('confBtn_OK').value = okBtnTxt;
	//$('confBtn_OK').onclick = okBtnAction;
	//$('confBtn_Cancel').value = cancelBtnTxt;
	//loadContents(divID, contentURL, callbackFunc);
	//alert_yesDelete();
	$('helpContent').update('getting help...');
	new LB.base(divID, { externalControl : 'helpBtn_OK' });
	$('helpBtn_OK').focus();
	
	var requestOptions = {
			method : 'post',
			parameters : "file=" + contentURL +
			"&divID=" + divID,
			onComplete: displayHelpContent
		  };
	
	new Ajax.Request('includes/helpContents.php', requestOptions);
	
}

function displayHelpContent(originalRequest){
		//alert (originalRequest.responseText);
		eval("var response = ("+originalRequest.responseText+")");
		$('helpContent').update(response.content);
		new LB.base(response.divID, { externalControl : 'helpBtn_OK' });
		//(response.divID, { externalControl : 'helpBtn_OK' });
		//showHideLayer('process_content','hide');
		//new LB.base(response.divID, { externalControl : 'helpBtn_OK' });
		//new LB.base('confirmBox');
		//new LB.base(response.divID);
		
}


function showConfirmBox(divID, contentURL, okBtnTxt, cancelBtnTxt, okBtnAction){
	$('confBtn_OK').value = okBtnTxt;
	$('confBtn_OK').onclick = okBtnAction;
	$('confBtn_Cancel').value = cancelBtnTxt;
	//loadContents(divID, contentURL, callbackFunc);
	//alert_yesDelete();
	var requestOptions = {
			method : 'post',
			parameters : "file=" + contentURL +
			"&divID=" + divID,
			onComplete: displayConfirmContent
		  };
	
	new Ajax.Request('includes/helpContents.php', requestOptions);
	
}



function displayConfirmContent(originalRequest){
		//alert (originalRequest.responseText);
		eval("var response = ("+originalRequest.responseText+")");
		display('confirmContent', response.content);
		showHideLayer('process_content','hide');
		new LB.base(response.divID, { externalControl : 'confBtn_Cancel' });
		//new LB.base('confirmBox');
		//new LB.base(response.divID);
		$('confBtn_OK').focus();
}
function displayAlertContent(originalRequest){
		//alert (originalRequest.responseText);
		eval("var response = ("+originalRequest.responseText+")");
		display('alertContent', response.content);
		new LB.base(response.divID, { externalControl : 'alertBtn_OK' });
		$('alertBtn_OK').focus();
}
