function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

$().ready(function(){
  MM_preloadImages('/images/contest_enter_btn_highlight.png', '/images/contest_enroll_class_btn_highlight.png');

  $('#learnMoreModal').jqm(
  {
    modal: true,
    onShow:function()
    {
      $('embed').hide();
      $('#learnMoreModal').fadeIn();
      //$('#donateModal .ajax-loader').show();
      $.ajax({
        url: "/admin/about/learnMore",
        type: "get",
        cache: false,
        success:function(data)
        {
          $('#learnMoreModal').html(data);
          //$('#donateModal .ajax-loader').hide();
        }
      });
    },
    onHide:function()
    {
      $('embed').show();
      $('#learnMoreModal').fadeOut();
      $('.jqmOverlay').hide();
    }
  });

  $('form select.school-name').bind('change', reloadSchoolClasses);
  $('form select.countries').bind('change', reloadRegions);
});

function reloadRegions()
{
  var loader = $('#'+this.id+'_loader');
  var form = $('#'+this.id).parents('form').get(0);
  var sublist = $(form).find('.regions:first');

  // empty the combo box
  $(sublist).empty();

  // add empty option
  $("<option />").val('').text('loading...').appendTo($(sublist));

  loader.show();

  var url = "/contest/regions?country_id="+$(this).val();

  $.getJSON(url, function(data){

    // empty the combo box
    $(sublist).empty();

    // add empty option
    $("<option />").appendTo($(sublist));

    // add the rest of the other options
    for (var i=0; i < data.length; i++) {
      $("<option />").val(data[i][0]).text(data[i][1]).appendTo($(sublist));
    }

    loader.hide();
  });

  return false;
}

function reloadSchoolClasses()
{
  var loader = $('#'+this.id+'_loader');
  var form = $('#'+this.id).parents('form').get(0);
  var sublist = $(form).find('.school-class-id:first');

  // empty the combo box
  $(sublist).empty();

  // add empty option
  $("<option />").val('').text('loading...').appendTo($(sublist));

  loader.show();

  var url = "/contest/schoolClasses?school_name="+$(this).val();

  $.getJSON(url, function(data){

    // empty the combo box
    $(sublist).empty();

    // add empty option
    $("<option />").appendTo($(sublist));

    // add the rest of the other options
    for (var i=0; i < data.length; i++) {
      $("<option />").val(data[i][0]).text(data[i][1]).appendTo($(sublist));
    }

    loader.hide();
  });

  return false;
}

function checkboxSwitcher(chk, selector)
{
  if (chk.checked)
  {
    $(selector).attr('checked', true);
  }
  else
  {
    $(selector).attr('checked', '');
  }
}

function checkAll(field)
{
  for (i = 0; i < field.length; i++)
	field[i].checked = true ;
}

function uncheckAll(field)
{
  for (i = 0; i < field.length; i++)
	field[i].checked = false ;
}

/**
 * Submit form remotely via ajax call.
 * @param form (the form element object)
 * @param updateID (the element ID to update)
 */
function b_submit_remotely(form, updateID)
{
  $('#'+updateID).find('.ajax-loader:first').show();

  jQuery.ajax({
    type: 'POST',
    url: form.action,
    processData: false,
    data: $(form).serialize(),
    cache: false,
    success: function(html){
      $('#'+updateID).html(html);
    }
  });

  return false;
}

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str) {

  var at="@"
  var dot="."
  var lat=str.indexOf(at)
  var lstr=str.length
  var ldot=str.indexOf(dot)
  if (str.indexOf(at)==-1){
    //alert("Invalid E-mail ID")
    return false
  }

  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
    //alert("Invalid E-mail ID")
    return false
  }

  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
    //alert("Invalid E-mail ID")
    return false
  }

  if (str.indexOf(at,(lat+1))!=-1){
    //alert("Invalid E-mail ID")
    return false
  }

  if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
    //alert("Invalid E-mail ID")
    return false
  }

  if (str.indexOf(dot,(lat+2))==-1){
    //alert("Invalid E-mail ID")
    return false
  }

  if (str.indexOf(" ")!=-1){
    //alert("Invalid E-mail ID")
    return false
  }

  return true
}
