// function needed to access server-side controls
function getElement(elementId)
{
  var i;
  for(i = 0; i < document.forms[0].elements.length; i++)
  {
    if (document.forms[0].elements[i].id.indexOf(elementId) > -1)
    {
      return document.forms[0].elements[i];
    }  
  }
}

function switchDaysOfWeekSelection()
{
  var equal = true;
  var setChecked;
  var status = getElement("DaysOfWeekCheckbox1").checked;
  var i;
  for (i = 2; i <= 7; i++)
  {
    if (getElement("DaysOfWeekCheckbox" + i).checked != status)
    {
      equal = false;
      break;
    }
  }
  setChecked = (!equal || status == false);
  for (i = 1; i <= 7; i++)
  {
    getElement("DaysOfWeekCheckbox" + i).checked = setChecked;
  }
}


function switchDaysOfMonthSelection()
{
  var equal = true;
  var setChecked;
  var status = getElement("DaysOfMonthCheckbox1").checked;
  var i;
  for (i = 2; i <= 31; i++)
  {
    if (getElement("DaysOfMonthCheckbox" + i).checked != status)
    {
      equal = false;
      break;
    }
  }
  setChecked = (!equal || status == false);
  for (i = 1; i <= 31; i++)
  {
    getElement("DaysOfMonthCheckbox" + i).checked = setChecked;
  }
}


function setNoRecurrency()
{
  setCheckboxesHabilitation("DaysOfWeekCheckbox", 7, false);
  setCheckboxesHabilitation("DaysOfMonthCheckbox", 31, false);
  $('#SwitchDaysOfWeekSelectionButton').disabled = true;     
  $('#SwitchDaysOfMonthSelectionButton').disabled = true;
//      getElement("SwitchDaysOfWeekSelectionButton").disabled = true;
//      getElement("SwitchDaysOfMonthSelectionButton").disabled = true;
}


function setWeeklyRecurrency()
{
  setCheckboxesHabilitation("DaysOfWeekCheckbox", 7, true);
  setCheckboxesHabilitation("DaysOfMonthCheckbox", 31, false);
  $('#SwitchDaysOfWeekSelectionButton').disabled = false;
  $('#SwitchDaysOfMonthSelectionButton').disabled = true;
//      getElement("SwitchDaysOfWeekSelectionButton").disabled = false;
//      getElement("SwitchDaysOfMonthSelectionButton").disabled = true;
}


function setMonthlyRecurrency()
{
  setCheckboxesHabilitation("DaysOfWeekCheckbox", 7, false);
  setCheckboxesHabilitation("DaysOfMonthCheckbox", 31, true);
  $('#SwitchDaysOfWeekSelectionButton').disabled = true;     
  $('#SwitchDaysOfMonthSelectionButton').disabled = false;      
//      getElement("SwitchDaysOfWeekSelectionButton").disabled = true;
//      getElement("SwitchDaysOfMonthSelectionButton").disabled = false;
}

function setYearlyRecurrency()
{
  setCheckboxesHabilitation("DaysOfWeekCheckbox", 7, false);
  setCheckboxesHabilitation("DaysOfMonthCheckbox", 31, false);
  $('#SwitchDaysOfWeekSelectionButton').disabled = true;     
  $('#SwitchDaysOfMonthSelectionButton').disabled = true;
}


function setCheckboxesHabilitation(checkboxesCommonName, amount, enabled)
{
  var i;
  for (i = 1; i <= amount; i++) 
  { 
    getElement(checkboxesCommonName + i).disabled = !enabled;
  }
}


function manageNewZoneInput(index)
{
  var selectedZoneValue = getElement("ZonesDropDownList" + index).value;
  var selectedMunicipalityValue = getElement("MunicipalitiesDropDownList" + index).value;  
  var newZonePanel = $('#NewZonePanel' + index);
  if (selectedMunicipalityValue != "" && selectedZoneValue == "")
  {
    newZonePanel.css('visibility', 'visible');
  }
  else
  {
    newZonePanel.css('visibility', 'hidden');
  }  
}


function initSubmitForm()
{
  manageNewZoneInput(1);
  manageNewZoneInput(2);

  if (getElement("WeeklyRecurrencyRadioButton").checked)
  {
    setWeeklyRecurrency();
  }
  else 
  {
    if (getElement("MonthlyRecurrencyRadioButton").checked)
    {
      setMonthlyRecurrency();
    }
    else
    {
      setNoRecurrency();
    }
  }
}


function setButtonHabilitation(source, buttonName)
{
  if (source.value == "")
  {
    getElement(buttonName).disabled = true;
  }
  else
  {
    getElement(buttonName).disabled = false;
  }
  return true;
}    

function initLoginForm()
{
	$('input').keypress(function(e) {
		if(e.which == 13) {
			eval($('a.submit').attr('href').substr(11));
		}
	});
}

function tooltips() {
	$('td.calendarEventDate').tooltip({
		track: true,
		delay: 0,
		showURL: false,
		fade: 250
	});
}

function renderCollapsibles() {
    var togglers = $('.toggler a');
    togglers.click(function(e) {      
        var collapsible, idx;
        idx = this.href.lastIndexOf('#');
        if(idx >= 0) {
            var collapsibleId = this.href.substr(idx);
            if(collapsibleId == "#next") {
                collapsible = $(this).parent('.toggler').next('.collapsible');            
            } else {
                collapsible = $(collapsibleId);
            }
            
            e.preventDefault();
            collapsible.slideToggle();
        }
    });
}

function handleExternalLinks() {
	$('.external:not(.r)').click(function(e) {
		e.preventDefault();
		window.open($(this).attr('href'));
	}).addClass('r');
}

function gallery() {
	$("a[rel^='prettyPhoto']").prettyPhoto();
}