var groups = new Array(
  '#edit-mail-wrapper,#edit-pass-wrapper,#edit-field-positions-0-nid-nid-wrapper',
  '.group-personal',
  '.group-personal2',
  '.group-personal3',
  '.group-personal4',
  '.group-qualifications, #edit-field-privacy-value-wrapper'
);
var stepindex = 0;

$(function() {
  if($('#user-register').length) init_aportal_form();
  $('#portal-next').live('click',function(){
    aportal_next_step();
    $(this).attr('href','#'+stepindex);
  });
  $('#portal-back').live('click',function(){
    aportal_back_step();
    return false;
  });
  $('#portal-submit').live('click',function(){
    aportal_submit();
    return false;
  });
});

function init_aportal_form(){
  $('fieldset, #edit-field-privacy-value-wrapper, #edit-submit', '#aportal-reg').hide();
  $('#aportal-reg').append('<div style="clear:both;"></div><div><a href="#" id="portal-submit">Submit</a><a href="#" id="portal-next">Next</a><a href="#" id="portal-back">Back</a><div style="clear:both;"></div></div><div style="clear:both;"></div>');
  $('#portal-back, #portal-submit').hide();
  $('#edit-mail-wrapper').prepend('<h3>Account Login Details</h3>');
  if($('#position').length) $('#edit-field-positions-0-nid-nid').val($('#position').html()).attr('readonly',true);
  else{
    $('#edit-field-positions-0-nid-nid-wrapper').hide();
    groups[0] = '#edit-mail-wrapper,#edit-pass-wrapper';
  }
}

function aportal_submit(){
  if(aportal_validated()){
    $('#user-register').submit();
  }
}

function aportal_next_step(){
  if(aportal_validated()){
    $(groups[stepindex]).hide();
    stepindex++;
    $(groups[stepindex]).show();
    if(stepindex == 5){
      $('#portal-next').hide();
      $('#portal-submit').show();
    }
    if(stepindex > 0){
      $('#portal-back').show();
    }
    $('.content-wrapper .content', '#main-content').css('height','auto')
  }
}

function aportal_back_step(){
  $(groups[stepindex]).hide();
  stepindex--;
  $(groups[stepindex]).show();
  if(stepindex == 0) $('#portal-back').hide();
  if(stepindex < 5){
    $('#portal-next').show();
    $('#portal-submit').hide();
  }
  $('.content-wrapper .content', '#main-content').css('height','auto')
}

function aportal_validated(){
  var errcount;
  if(stepindex == 0){
    errcount = 0;
    if(!is_email($('#edit-mail').val())){
      $('#edit-mail').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-mail').removeClass('error');
    }
    if(!$('#edit-pass-pass1').val()){
      $('#edit-pass-pass1').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-pass-pass1').removeClass('error');
    }
    if($('#edit-pass-pass2').val() != $('#edit-pass-pass1').val()){
      $('#edit-pass-pass2').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-pass-pass2').removeClass('error');
    }
//    if(!$('#edit-field-positions-nid-nid').val()){
//      $('#edit-field-positions-nid-nid').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
//      errcount++;
//    }else{
//      $('#edit-field-positions-nid-nid').removeClass('error');
//    }
    if(errcount) return false;
  } else if(stepindex == 1){
    errcount = 0;
    if(!$('#edit-field-fname-0-value').val()){
      $('#edit-field-fname-0-value').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-fname-0-value').removeClass('error');
    }
    if(!$('#edit-field-surname-0-value').val()){
      $('#edit-field-surname-0-value').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-surname-0-value').removeClass('error');
    }
    if(errcount) return false;
  } else if(stepindex == 2){
    errcount = 0;
    if(!$('#edit-field-address1-0-value').val()){
      $('#edit-field-address1-0-value').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-address1-0-value').removeClass('error');
    }
    if(!$('#edit-field-city-0-value').val()){
      $('#edit-field-city-0-value').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-city-0-value').removeClass('error');
    }
    if(!$('#edit-field-pcode-0-value').val()){
      $('#edit-field-pcode-0-value').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-pcode-0-value').removeClass('error');
    }
    if(errcount) return false;
  } else if(stepindex == 4){
    errcount = 0;
    if($('#edit-field-ausresident-value').val() == 'No' && !$('#edit-field-ausresdetails-0-value').val()){
      $('#edit-field-ausresdetails-0-value').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-ausresdetails-0-value').removeClass('error');
    }
    if(errcount) return false;
  } else if(stepindex == 5){
    errcount = 0;
    if(!$('#edit-field-highestlevel-0-value').val()){
      $('#edit-field-highestlevel-0-value').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-highestlevel-0-value').removeClass('error');
    }
    if(!$('#edit-field-privacy-value').attr('checked')){
      $('#edit-field-privacy-value-wrapper').effect('shake', {times: 3, distance: 10}, 50).addClass('error');
      errcount++;
    }else{
      $('#edit-field-privacy-value-wrapper').removeClass('error');
    }
    if(errcount) return false;
  }
  return true;
}

function is_email(x){
  var atpos=x.indexOf("@");
  var dotpos=x.lastIndexOf(".");
  if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
    return false;
  }else{
    return true;
  }
}

function get_qstring(name){
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.href);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}
