//addEvent(window, 'scroll', verticallyAlignAllModalWindows, false);
var modalWindowList = false;

function getModalWindowList(){
	if(!modalWindowList){
		modalWindowList = getElementsByClassName(byId('extraFooterContent'), 'div', 'modalWindowContainer');
	}	
		
	return modalWindowList;
			
};

function showModalWindow(id){
  	//hideAllModalWindows();
  	bringModalWindowToFront(id);
  	
	var div = byId(id+'Container');
	
	div.style.display = '';
	
	domCenterElmVertically(div);
	
	hideLivebookingsIframe();
	
	if(isClass(div, 'trueModal')){
	  var fn = function(){ pulsateModalWindow(id); };
	}
	else{
	  var fn = function(){ hideModalWindow(id); };
    }
    
    if(byId('modalWindowBGDiv')){
      	addEvent(byId('modalWindowBGDiv'), 'click', fn, false);
    }
    else{
		addModalBGDiv('modalWindowBGDiv', 'modalWindowBGDiv', fn);
	}
};

function verticallyAlignAllModalWindows(){
  	//var wins = getElementsByClassName(byId('extraFooterContent'), 'div', 'modalWindowContainer'); 
  	var wins = getModalWindowList();//getElementsByClassName2('modalWindowContainer', 'div', byId('extraFooterContent'));
  	
	for(var i=0; i<wins.length; i++){
	  	if(wins[i].style.display != 'none'){
			domCenterElmVertically(wins[i]);  
		}
	} 
};
function bringModalWindowToFront(id){
	//var wins = getElementsByClassName(byId('extraFooterContent'), 'div', 'modalWindowContainer'); 
	var wins = getModalWindowList();//getElementsByClassName2('modalWindowContainer', 'div', byId('extraFooterContent')); 
	
	for(var i=0; i<wins.length; i++){
	  if(wins[i].getAttribute('id') == id+'Container'){
	    wins[i].style.zIndex = '10000';
	  }
	  else{
	    wins[i].style.zIndex = '9999';
	  }
	}
};

function hideModalWindow(id){
	//var wins = getElementsByClassName(document.body, '*', 'modalWindowContainer'); 
	
	byId(id+'Container').style.display = 'none';
		
	if(!modalWindowsDisplayed()){
		removeModalWindowBGDiv();
		showLivebookingsIframe();
	}

	if(byId(id+'OnClose')){
		eval(byId(id+'OnClose').value+';');
	}
};

function modalWindowsDisplayed(){
	//var wins = getElementsByClassName(byId('extraFooterContent'), 'div', 'modalWindowContainer'); 
	var wins = getModalWindowList();//getElementsByClassName2('modalWindowContainer', 'div', byId('extraFooterContent'));
	
	for(var i=0; i<wins.length; i++){
	  if(wins[i].style.display != 'none'){
	    return true;
	  }
	}
	
	return false;
};

function modalWindowDisplayed(id){
	//var wins = getElementsByClassName(byId('extraFooterContent'), 'div', 'modalWindowContainer'); 
	var wins = getModalWindowList();//getElementsByClassName2('modalWindowContainer', 'div', byId('extraFooterContent'));
	
	for(var i=0; i<wins.length; i++){
		if(wins[i].getAttribute('id') == id+'Container' && wins[i].style.display != 'none'){
			return true;
	  	}
	}
	
	return false;
};

function hideAllModalWindows(){
	//var wins = getElementsByClassName(byId('extraFooterContent'), 'div', 'modalWindowContainer'); 
	var wins = getModalWindowList();//getElementsByClassName2('modalWindowContainer', 'div', byId('extraFooterContent'));
	
	for(var i=0; i<wins.length; i++){
	  //wins[i].style.display = 'none';
	  hideModalWindow(wins[i].getAttribute('id').replace('Container', ''));
	}
	//removeModalWindowBGDiv();
};
	
function removeModalWindowBGDiv(){
	if(byId('modalWindowBGDiv')){
	  var bg = byId('modalWindowBGDiv');
	  
	  domRemoveElm(bg);
	}
	  
};

function pulsateModalWindow(id){
  	var container = byId(id+'Container');//getElementsByClassName(byId(id+'Win'), "*", "handle")[0];
	
	//reset the class of the window container just in case we got interupted for some reason last time this
	//function was called
	container.className = container.className.replace('modalWindowContainerHighlight', 'modalWindowContainer');
	
	//set class of container to highlight class
	container.className = container.className.replace('modalWindowContainer', 'modalWindowContainerHighlight');
    
    setTimeout(
		function(){ 
	  		container.className = container.className.replace('modalWindowContainerHighlight', 'modalWindowContainer');
			setTimeout( 
				function(){ 
			  		container.className = container.className.replace('modalWindowContainer', 'modalWindowContainerHighlight');
				    setTimeout( 
						function(){ 
					  		container.className = container.className.replace('modalWindowContainerHighlight', 'modalWindowContainer');
						}, 100);
				}, 100);
		}, 100);

};

