﻿/*
*   HTML 5 addons for jQuery
*/

$.fn.placeholder = function() {
  return $(this)
    .focus(function(){
      if ($(this).val() === $(this).attr('placeholder'))
        $(this).val('');
    })
    .blur(function(){
      if ($(this).val() === '')
        $(this).val($(this).attr('placeholder'));
    }).blur();
};

$.fn.forcenumber = function() {
  return $(this).unbind().keyup(function(e) {
    var val = $(this).val();
    var num = parseFloat(val);
    var min = parseFloat($(this).attr('min'));
    var max = parseFloat($(this).attr('max'));

    if ( ! val.match(/^(\d|-)?(\d|,)*\.?\d*$/) )
      return $(this).val(val.match(/((\d|-)?(\d|,)*\.?\d*)/)[0])

    if (min && num < min)
      return $(this).val(min)

    if (max && num > max)
      return $(this).val(max)

  });
};

// TODO CHECK ME
$.fn.forceemail = function() {
  return $(this).unbind().blur(function(e) {
    var val = $(this).val();
    val = val.replace(/^\s+|\s+$/, '');
    
    if (!(new RegExp("^[a-zA-Z0-9-._]{1,63}@[a-zA-Z0-9-._]{2,63}[.][a-z]{2,5}$", "g").test(val))) {
        $(this).css('background', 'Yellow');
    } else {
        $(this).css('background', 'White');
    }
  });
};

