var userlink_timer = undefined;
function start_userlink_timer() {
  if(typeof userlink_timer != 'undefined') { clearTimeout(userlink_timer); };
  userlink_timer = setTimeout('check_userlink()', 800);
  //var userlink = document.getElementById('userlink').value.toLowerCase();
  //document.getElementById('userlink').innerHTML='<div style="float:left;">http://slapnotes.com/</div><div style="float:left;font-weight:bold;">'+username+'</div>';
}

function check_userlink() {
  var userlink = document.getElementById('userlink').value;
  if(userlink.length > 10) {
    document.getElementById('mypagehelper').innerHTML = '<img src="/img/loader.gif"> We\'re checking the URL...';
    ajax_post('ajax_check_userlink.php', '&userlink='+escape(userlink), 'check_userlink_done');  
  }
}

function check_userlink_done(request) {
  eval('var response = ' + request.responseText);
  if(response.success == 0) {
    document.getElementById('mypagehelper').innerHTML = '<div style="float:left;color:#c00;">Warning! We couldn\'t fetch the page!</div>';
  } else {
    if(response.response_code == 200) {
      document.getElementById('mypagehelper').innerHTML = '<div style="float:left;color:#0c0;">Page checked successfully!</div>';
    } else {
      document.getElementById('mypagehelper').innerHTML = '<div style="float:left;color:#c00;">Warning! Page returned an error code: ' + response.response_code + '</div>';
    }
  }
}

var usernick_timer = undefined;
function start_usernick_timer() {
  if(typeof usernick_timer != 'undefined') { clearTimeout(usernick_timer); };
  var usernick = document.getElementById('usernick').value.toLowerCase();
  if(usernick.length > 0) {
    usernick_timer = setTimeout('check_usernick()', 800);
    document.getElementById('userurl').innerHTML='<div style="float:left;">http://slapnotes.com/</div><div style="float:left;font-weight:bold;">'+usernick+'</div>';
  }
}

function check_usernick() {
  usernick_timer = undefined;
  var usernickhelp = document.getElementById('usernickhelp');
  usernickhelp.innerHTML = '<img src="/img/loader.gif"> checking usernick';
  var usernick = document.getElementById('usernick').value.toLowerCase();
  if(usernick.match(/^[a-z0-9_-]+$/)) {
    ajax_post('ajax_check_usernick.php', '&usernick='+usernick, 'check_usernick_done');  
  } else {
    usernickhelp.innerHTML = '<div style="color:#c00;font-weight:bold;">You can ONLY use letters, numbers, \'-\', and \'_\'</div>';
    document.getElementById('userurl').innerHTML='<div style="float:left;">http://slapnotes.com/</div><div style="color:#c00;float:left;font-weight:bold;">'+usernick+'</div>';
  }
}

function check_usernick_done(request) {
  //You can use letters, numbers, '-' and '_'
  eval('var response = ' + request.responseText);
  if(response.success) {
    var usernickhelp = document.getElementById('usernickhelp');

    if(response.is_me) {
      usernickhelp.innerHTML = '<div style="color:#0c0;font-weight:bold;">That\'s you! :-)</div>';
      document.getElementById('userurl').innerHTML='<div style="float:left;">http://slapnotes.com/</div><div style="color:#0c0;float:left;font-weight:bold;">'+response.usernick+'</div>';
    } else if(response.available == 1) {
      usernickhelp.innerHTML = '<div style="color:#0c0;font-weight:bold;">The username is available</div>';
      document.getElementById('userurl').innerHTML='<div style="float:left;">http://slapnotes.com/</div><div style="color:#0c0;float:left;font-weight:bold;">'+response.usernick+'</div>';

    } else if(response.available == 0) {
      usernickhelp.innerHTML = '<div style="color:#c00;font-weight:bold;">The username is taken... sorry!</div>';
      document.getElementById('userurl').innerHTML='<div style="float:left;">http://slapnotes.com/</div><div style="color:#0c0;float:left;font-weight:bold;">'+response.usernick+'</div>';

    }

  } else {
    usernickhelp.innerHTML = '<div style="color:#c00;font-weight:bold;">Hmmm... Please try another usernick...</div>';
  }
}

function check_password(password_elm) {
  var submitbutton = document.getElementById('submitbutton');
  if(password_elm.value.length > 5) {
    submitbutton.disabled = undefined;
    submitbutton.value = 'save settings';
  } else {
    submitbutton.disabled = 'disabled';
    submitbutton.value = 'password needed';
  }
}

function guess_location() {
  ajax_get('ajax_guess_location.php', 'guess_location_done');
  document.getElementById('userlocation').value = '';
}

function guess_location_done(request) {
  eval('var response = ' + request.responseText);
  if(response.success) {
    document.getElementById('userlocation').value = response.location_guess;
  }
}

function check_password1(elm) {
  var helper_elm = document.getElementById('password1helper');

  if(elm.value.length == 0) {
    helper_elm.innerHTML = '';

  } else if(elm.value.length < 6) {
    helper_elm.innerHTML = 'Too short';

  } else {
    var types_count = 0;
    
    if(elm.value.length < 8) {
      if(elm.value.match(/[a-z]/i)) types_count++;
      if(elm.value.match(/[0-9]/i)) types_count++;
      if(elm.value.match(/[^a-z0-9]/i)) types_count++;

    } else {
      if(elm.value.match(/[a-z]/)) types_count++;
      if(elm.value.match(/[A-Z]/)) types_count++;
      if(elm.value.match(/[0-9]/i)) types_count++;
      if(elm.value.match(/[^a-z0-9]/i)) types_count++;

    }

    if(types_count > 2) helper_elm.innerHTML = 'Strong';
    else if(types_count == 2) helper_elm.innerHTML = 'Good';
    else helper_elm.innerHTML = 'Weak';
  }
  pwd2 = document.getElementById('password2');
  check_password2(pwd2);
}

function check_password2(elm) {
  var p1 = document.getElementById('password1').value;
  var p2 = elm.value;  
  var helper_elm = document.getElementById('password2helper');
  
  if(p1 == '' && p2 == ''){
    helper_elm.innerHTML = '';
  }
  else{
    if(p1 != p2) {
      helper_elm.innerHTML = '<div style="float:left;color:#c00;">Passwords doesn\'t match</div>';
    } else {
      helper_elm.innerHTML = '<div style="float:left;color:#00c000;">Password match</div>';
    }
  }
  
}

function check_username(elm) {
  var username = document.getElementById('username').value;
  ajax_get('ajax_check_stopwords.php?username='+username, 'check_username_done');
}

function check_username_done(request){
  eval('var response = ' + request.responseText);
  if(response.success == '1') {
    document.getElementById('usernamehelper').innerHTML = '';
  }
  else if(response.error == '1'){
    document.getElementById('usernamehelper').innerHTML = '<div style="float:left;color:#c00;">This name is not allowed.</div>';
  }
}

function check_email(elm){
  var filter = /^.+@[a-z0-9]+[a-z0-9\-\.]+\.[a-z]{2,8}$/i;
  if(filter.test(elm.value) == false){
    document.getElementById('emailhelper').innerHTML = '<div style="float:left;color:#c00;">Wrong email format</div>';
  }
  else{
    document.getElementById('emailhelper').innerHTML = '';

  } 
}

