//function run_report (report, time_filter, grouping, contact_id, url)

var previousDropDown;

function run_report (report, time_filter, grouping, start_date, end_date, contact_id, url, idToUpdate)
{
	if( idToUpdate )
	{
		timeChosen = $("timeFilter"+idToUpdate).options[$("timeFilter"+idToUpdate).selectedIndex].text;
		//alert(timeChosen+' ' +timeChosen.indexOf('User specified Date Range'))
		if( timeChosen.indexOf('User specified Date Range') == 0 )
		{
			timeChosen = start_date+' - '+end_date;
		}
		
		$("name"+idToUpdate).innerHTML = $("report_"+idToUpdate).options[$("report_"+idToUpdate).selectedIndex].text + ' (' + timeChosen + ')';
	}
	idToUpdate = "report_content"+idToUpdate;
	
	//alert(report+'----'+time_filter+'----'+grouping+'----'+start_date+'----'+end_date+'----'+contact_id+'----'+url+'----'+idToUpdate);
  new Ajax.Updater(idToUpdate, url,
  {asynchronous:true, evalScripts:true, method:'get',
  parameters: { report: report, contact_id: contact_id, time_filter: time_filter, grouping: grouping, start_date: start_date, end_date: end_date } });

}

function revealDropDown(dropDown){
  if( $(dropDown) )
  { //if the dropDown exists then we need to show it
    if($(previousDropDown) )
    { // if the previous dropDown exists then we need to hide it
      $(previousDropDown).removeClassName('secondSelectOn');
    }
    $(dropDown).addClassName('secondSelectOn');
    $('defaultSubmit').removeClassName('secondSelectOn');
    previousDropDown = dropDown;
  }
  else if( dropDown == 0 )
  {
    if($(previousDropDown) )
    { // if there is a previous dropDown then we need to hide it
      $(previousDropDown).removeClassName('secondSelectOn');
    }
    $('defaultSubmit').removeClassName('secondSelectOn');
  }
  else
  { // if dropDown does not exist then we need to show the default submit button
    if($(previousDropDown) )
    { // if there is a previous dropDown then we need to hide it
      $(previousDropDown).removeClassName('secondSelectOn');
    }
    $('defaultSubmit').addClassName('secondSelectOn');
  }
}

function closeLB()
{
  document.getElementById('lightbox').removeChild( document.getElementById('lbContent') );
  document.getElementById('overlay').style.display = 'none';
  document.getElementById('lightbox').style.display = 'none';

  return false;
}

function toggle_grouping(report, idNumber)
{
  if (report == 'contributionsSummary')
  {
    document.getElementById('grouping_dropdown'+idNumber).style.display = 'inline';
  }
  else
  {
    document.getElementById('grouping_dropdown'+idNumber).style.display = 'none';
  }

  document.getElementById("trigger_start_date"+idNumber).disabled = false;



  return true;
}

function toggle_dates(id, idNumber)
{
  if (id == '15')
  {
    document.getElementById('date_fields'+idNumber).style.display = 'inline';
  }
  else
  {
    document.getElementById('date_fields'+idNumber).style.display = 'none';
  }


  return true;
}

var idToClose;

function openModal( titleForWindow, urlToCall, setHeightTo, setWidthTo, buttons ){
  jQuery.noConflict();
  if( !buttons && buttons !== 0)
  {
    buttons = true;

  }else{
    buttons = false;
  }

  //if lightbox exists then remove it, because you can only have one instance with that id
  if( $(idToUseForModal) )
  {
    elementToClose = document.getElementById(idToUseForModal);
    if( elementToClose )
    {
    	elementParent = document.getElementById(idToUseForModal);
    	if( elementParent )
    	{
    		elementParent.parentNode.removeChild(elementToClose);
    	}
    }
  }
  if( $(idToUseForOverlay))
	  {
	  	elementToClose = document.getElementById(idToUseForOverlay);
	    if( elementToClose )
	    {
	    	elementParent = document.getElementById(idToUseForOverlay);
	    	if( elementParent )
	    	{
	    		elementParent.parentNode.removeChild(elementToClose);
	    	}
	    }
	  
	 
	  }
  win = new Window({className: "dialog",
                       title: titleForWindow,
                       width: setWidthTo,
                       height: setHeightTo,
                       url: urlToCall,
                       showEffectOptions: {duration:0},
                       destroyOnClose: true,
                       id: idToUseForModal,
                       closable: buttons,
                       minimizable: buttons,
                       maximizable: buttons
                       })
  $("footer").insert('<div class="overlay_dialog" id="'+idToUseForOverlay+'"></div>');
  idToClose = win.getId();
  win.showCenter();
  win.setZIndex(10000);
  win.setCloseCallback(closeModal);
  jQuery('#'+idToUseForOverlay).show('fast');
  closeThisOverlay = idToUseForOverlay;
  closeThisModal = idToUseForModal;
		return false;
}

var idToUseForModal = 'lightbox2';
var idToUseForOverlay = 'overlay_dialog';

function configureAlertModal(idToUse, idToUseOverlay, content, buttons)
{
	idToUseForModal = idToUse;
	idToUseForOverlay = idToUseOverlay;
	openAlertModal(content, buttons);
}

function openAlertModal(content, buttons, dimensions )
{
      jQuery.noConflict();
      buttonsD = 0;
      if( !buttonsD && buttonsD !== 0)
      {
         buttonsD = true;

      }else{
         buttonsD = false;
      }
      if( !dimensions )
      {
        dimensions = new Array( '400', '300');
      }
      
      
      if( $(idToUseForModal) )
      {
        elementToClose = document.getElementById(idToUseForModal);
        elementParent = document.getElementById(idToUseForModal).parentNode;
        elementParent.removeChild(elementToClose);
      }
      if( $(idToUseForOverlay))
	  {
	  	elementToClose = document.getElementById(idToUseForOverlay);
	    if( elementToClose )
	    {
	    	elementParent = document.getElementById(idToUseForOverlay);
	    	if( elementParent )
	    	{
	    		elementParent.parentNode.removeChild(elementToClose);
	    	}
	    }
	  
	 
	  }
      //answer = confirm("You have not finished adding the entity to the group. \n\nClick cancel to go back and add the entity to the group. \n\nClick ok to proceed without adding the entity to the group.")
      var win = new Window({
                             className: "dialog",
                             width: dimensions[0],
                             /*height:dimensions[1],*/
                             zIndex: 10000,
                             resizable: false,
                             title: "Alert",
                             draggable:true,
                             showEffectOptions: {duration:0},
                             destroyOnClose: true,
                             wiredDrag: true,
                             id: idToUseForModal,
                             closable: buttonsD,
                             minimizable: buttonsD,
                             maximizable: buttonsD
                          })
      //topHeader = '<div id="alertFrame"><div id="alertMainbody"><div id="alertContent">';
      topHeader = '<div class="contents">';
      topHeader += '<div id="basicAccordian">';
      topHeader += '  <h1>Alert</h1>';
      topHeader += '    <div id="divPrjCreateEntity" class="basicContainer">';
      topHeader += '      <div id="mbody_content" class="mbody_clear">';
      topHeader += '<div id="alertFrame"><div id="alertMainbody" ';
      topHeader += '><div id="alertContent">';
      //style="width: '+dimensions[0]+';"><div id="alertContent">';
      
      if( buttons['link1Image'].length )
      {
        buttonsArea = '<br /><a href="'+buttons['link1url']+'" onClick="'+buttons['link1onClick']+'"><img src="'+buttons['link1Image']+'" alt="'+buttons['link1Alt']+'" title="'+buttons['link1Alt']+'"/></a>&nbsp;&nbsp;';
        if( buttons['link2url'] )
        {
          buttonsArea = buttonsArea + '<a href="'+buttons['link2url']+'" onClick="'+buttons['link2onClick']+'"><img src="'+buttons['link2Image']+'" alt="'+buttons['link2Alt']+'" title="'+buttons['link2Alt']+'"/></a>';
        }
      }
      else //to get the new css3 buttons, you need to pass buttons['link1CssClass'] and buttons['link2CssClass']
      {
        buttonsArea = '<br /><a href="'+buttons['link1url']+'" onClick="'+buttons['link1onClick']+'" class="'+buttons['link1CssClass']+'">'+buttons['link1Alt']+'</a>';
        if( buttons['link2url'] )
        {
          buttonsArea = buttonsArea + ' <a href="'+buttons['link2url']+'" onClick="'+buttons['link2onClick']+'" class="'+buttons['link2CssClass']+'">'+buttons['link2Alt']+'</a>';
        }
      }
      //bottomFooter = '</div></div></div>';
      bottomFooter = '</div></div></div>';
      bottomFooter +=  '     </div>';
      bottomFooter +=  ' </div>';
      bottomFooter += '</div>';
      bottomFooter += ' </div>';

      divContent = topHeader+content+buttonsArea+bottomFooter;

      win.getContent().innerHTML= divContent;
      win.showCenter();
      insertIntoMe = document.body;
      insertIntoMe.insert('<div class="overlay_dialog" id="'+idToUseForOverlay+'"></div>');
      idToClose = win.getId();
      win.setCloseCallback(closeModal);
      jQuery('#'+idToUseForOverlay).show('fast');
      closeThisModal = idToUseForModal;
      closeThisOverlay = idToUseForOverlay;
}

function openWidgetModal(urlForAjax, buttons)
{
      jQuery.noConflict();
      buttonsD = 0;
      if( !buttonsD && buttonsD !== 0)
      {
         buttonsD = true;

      }else{
         buttonsD = false;
      }
      if( $(idToUseForModal) )
      {
        elementToClose = document.getElementById(idToUseForModal);
        elementParent = document.getElementById(idToUseForModal).parentNode;
        elementParent.removeChild(elementToClose);
      }
      //answer = confirm("You have not finished adding the entity to the group. \n\nClick cancel to go back and add the entity to the group. \n\nClick ok to proceed without adding the entity to the group.")
      win = new Window({className: "dialog",
          title: 'Edit',
          width: 630,
          height: 500,
          url: urlForAjax,
          showEffectOptions: {duration:0},
          destroyOnClose: true,
          id: idToUseForModal,
          closable: buttons,
          minimizable: buttons,
          maximizable: buttons
          })
			$("footer").insert('<div class="overlay_dialog" id="'+idToUseForOverlay+'"></div>');
			idToClose = win.getId();
			win.showCenter();
			win.setZIndex(10000);
			win.setCloseCallback(closeModal);
			jQuery('#'+idToUseForOverlay).show('fast');
			closeThisOverlay = idToUseForOverlay;
			closeThisModal = idToUseForModal;
      
      
      /*new Ajax.Request(urlForAjax, {
    	  onSuccess: function(response){
    	  
	    	//topHeader = '<div id="alertFrame"><div id="alertMainbody"><div id="alertContent">';
	          topHeader = '<div class="contents">';
	          topHeader += '<div id="basicAccordian">';
	          topHeader += '  <h1>Alert</h1>';
	          topHeader += '    <div id="divPrjCreateEntity" class="basicContainer">';
	          topHeader += '      <div id="mbody_content" class="mbody_clear">';
	          topHeader += '<div id="alertFrame"><div id="alertMainbody" style="width: 300px;"><div id="alertContent">';
	          content = response.responseText;
	          bottomFooter = '</div></div></div>';
	          bottomFooter +=  '     </div>';
	          bottomFooter +=  ' </div>';
	          bottomFooter += '</div>';
	          bottomFooter += ' </div>';
	
	          divContent = topHeader+content+bottomFooter;
	          win.getContent().innerHTML= divContent;
	          win.showCenter();
	          insertIntoMe = document.body;
	          insertIntoMe.insert('<div class="overlay_dialog" id="overlay_dialog"></div>');
	          idToClose = win.getId();
	          win.setCloseCallback(closeModal);
	          jQuery('#overlay_dialog').show('fast');
	          closeThisModal = idToUseForModal;
      	},
      	onFailure: function(response){
			alert( 'error' + response.responseText );
		}		
      })
      */
      
      
      
}

var closeThisModal = '';
var closeThisOverlay = '';
var defaultOverlayToClose = 'overlay_dialog';
var defaultModalToClose = 'lightbox2';

function closeModal()
{
	if( closeThisModal != '' )
	{
		idToClose = closeThisModal;
		closeThisModal = '';
	}
	else
	{
		idToClose = defaultModalToClose;
		closeThisModal = '';
	}
	if( closeThisOverlay != '' )
	{
		overlayIdToClose = closeThisOverlay;
		closeThisOverlay = '';
	}
	else
	{
		overlayIdToClose = defaultOverlayToClose;
		closeThisOverlay = '';
	}
	
	//look for overlay in document 
	overlay = $(overlayIdToClose);
	if( !overlay )
	{
		//look for overlay in parent of current foreground document
		overlay = parent.document.getElementById( overlayIdToClose );
	}
	
	//look for dialog in document 
	dialog = $(idToClose);
	if( !dialog )
	{
		//look for dialog in parent of current foreground document
		dialog = parent.document.getElementById( idToClose );
	}
	
	//if they exist then close them
	if( dialog )
		dialog.style.display = "none";
	if( overlay )
		overlay.style.display = "none";

   return false;
}


