/*--------------------------------------------------------------------------*/
/*	Lightbox	
*	This is a script for creating modal dialog windows (like the ones your operating
*	system uses)
*	
*/

var Lightbox = {
	/* hideAll - closes all open lightbox windows */
	hideAll: function(){
		lboxes = document.getElementsByClassName('lightbox')
		lboxes.each(function(box){
				Element.hide(box)
			}
		)
		if ($('overlay')){
			Element.remove('overlay');
			}
	}
}
Lightbox.base = Class.create();
Lightbox.base.prototype = {

	initialize: function(element, comment, options){
		//start by hiding all lightboxes
		Lightbox.hideAll();
		
		if (comment != undefined) {
			this.comment = comment;
		} else {
			this.comment = '';
		}
		this.element = $(element);
		this.options = Object.extend({
			lightboxClassName : 'lightbox',
			closeOnOverlayClick : false,
			externalControl : false
		}, options || {} )

		//create the overlay
		new Insertion.Before(this.element, "<div id='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 = '<div id="close" class="fb_close"><a href="#">Close</a></div>'//'<img id="close" alt="Close" title="Close this window" />'

		//insert the closer image into the div
		//new Insertion.Top(this.element, closer);
		
		Event.observe($('close'), 'click', this.hideBox.bindAsEventListener(this) );
		
		if (this.options.closeOnOverlayClick){
			Event.observe($('overlay'), 'click', this.hideBox.bindAsEventListener(this) );
		}
		if (this.options.externalControl){
			Event.observe($(this.options.externalControl), 'click', this.hideBox.bindAsEventListener(this) );
		}
				
		this.showBox();	
	},
	
	showBox : function(){
		
		var pageTracker = _gat._getTracker("UA-1068805-1");
		pageTracker._trackPageview('/RequestForm');

		
	   document.getElementById("success_msg").style.display = 'none';
		
		//show the overlay
	   Element.show('overlay');
	   Element.show('error_msg')
	   document.getElementById('error_msg').innerHTML = '';
	   document.getElementById('req_type').value = this.comment;
	 //  document.getElementById('fname').focus();
	  // alert(document.getElementById('fname'));
	   for (var i = 1; i < 6; i++) {
		   document.getElementById('menu' + i).style.color = '#7f7f7f';
		   if(document.getElementById('submenu' + i)) {
		    document.getElementById('submenu' + i).style.display = 'none';
		   }
	   }
	   
		//center the lightbox
	   this.center();
	   
	   	//show the lightbox
	   Element.show(this.element);
	   document.getElementById("first_name").focus();
	   

	   return false;
	},
	
	hideBox : function(evt){	
		Element.removeClassName(this.element, this.options.lightboxClassName);
		Element.hide(this.element);
		Element.hide('error_msg');
		for (var i = 1; i < 6; i++) {
		   document.getElementById('menu' + i).style.color = '#fff';
		   if(document.getElementById('submenu' + i)) {
			document.getElementById('submenu' + i).style.display = 'block';
		   }
	   }
	   document.getElementById("first_name").value = '';;
  	   document.getElementById("last_name").value = '';
	   document.getElementById("email").value = '';
       document.getElementById("phone").value = '';
       document.getElementById("company").value = '';
	   document.getElementById("country").value = '';
	   document.getElementById("description").value = '';
		//remove the overlay element from the DOM completely
		Element.remove('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;
			if (!window.XMLHttpRequest) {//IE6- stuff;
				document.getElementById('overlay').style.width = my_width + 'px';
				document.getElementById('overlay').style.height = my_height + 'px';
			}
		/*}
		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 scrolledPos = document.documentElement.scrollTop;
		var setX = ( my_width  - elementDimensions.width ) / 2;
		var setY = 140 + scrolledPos;//( my_height - elementDimensions.height ) / 2;
		//+ scrollY;
		
		setX = ( setX < 0 ) ? 0 : setX;
		setY = ( setY < 0 ) ? 0 : setY;
		
		//this.element.style.left = setX + 30 + "px";
		this.element.style.left = setX + "px";
		this.element.style.top  = setY + "px";
		//this.element.style.top  = setY - 100 + "px";
		
	}

	
}

