function checkField(s_id, s_type, i_not_null) {
  var b_return = 1;
  if ( i_not_null == 1 ) {
    if ( document.getElementById(s_id).value.length == 0 ) 
      b_return = -1;
  }

  if ( b_return == 1 ) {
    switch ( s_type ) {
      case 'email':
 	    b_return = checkIfEmail(s_id); 
        break;
      case 'float':
        b_return = checkIfNumber(s_id);
        break;
      case 'integer':
        b_return = checkIfInteger(s_id);
        break;
      case 'zipcode':
      	b_return = checkIfZipcode(s_id);
      	break;
      case 'date':
      break;
      /*case 'checkbox':
      	if ( document.getElementById(s_id).checked ) { 
      		document.getElementById(s_id).value='1';
      	} else {
      		document.getElementById(s_id).value='0';
      	}
      	break;            */
    }
  }
    
  if ( b_return == -1 )
    document.getElementById('field_not_null_'+s_id).style.display = "block";
  else
    document.getElementById('field_not_null_'+s_id).style.display = "none";
  return b_return;
}

function checkIfEmail(s_id) {
  var s_emai = document.getElementById(s_id).value;
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
 	    
  if ( filter.test(s_emai) )
    return 1;
 
  return -1;
}

function checkIfInteger(s_id) {
  document.getElementById(s_id).value = document.getElementById(s_id).value.replace( ',', '.' );
  var i_integer = document.getElementById(s_id).value;
  if( Number(i_integer) && (i_integer.toString().indexOf('.') == -1) )
    return 1;
  
  return -1;
}

function checkIfNumber(s_id) {
  document.getElementById(s_id).value = document.getElementById(s_id).value.replace( ',', '.' );
  if( Number(document.getElementById(s_id).value) )
    return 1;
  
  return -1;
}

// Check for correct zip code
function checkIfZipcode(s_id) {
     reZip = new RegExp(/(^\d{2}-\d{3}$)/);

     if (!reZip.test(document.getElementById(s_id).value)) {
     	return -1;
     }
 
	return 1;
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function askIfDelete( s_message ) {
	return confirm( s_message );
}

function compareDate( s_Data1, s_Data2, s_Seperator, i_YearPosition, i_MonthPosition, i_DayPosition ) {
	if( typeof( i_YearPosition )=='undefined' || i_YearPosition===null ) {
		i_YearPosition = 0;
	}
	if( typeof( i_MonthPosition )=='undefined' || i_MonthPosition===null ) {
		i_MonthPosition = 1;
	}
	if( typeof( i_DayPosition )=='undefined' || i_DayPosition===null ) {
		i_DayPosition = 2;
	}	
	
	var a_Data1 = s_Data1.split( s_Seperator );
	var a_Data2 = s_Data2.split( s_Seperator );
	var d1 = new Date( a_Data1[i_YearPosition], a_Data1[i_MonthPosition], a_Data1[i_DayPosition] );
	var d2 = new Date( a_Data2[i_YearPosition], a_Data2[i_MonthPosition], a_Data2[i_DayPosition] );
	var result = null;

	if( d1.getTime() == d2.getTime() ) {
		result = 0
	} else if( d1.getTime() > d2.getTime() ) {
		result = -1;
	} else {
		result = 1;
	} 
	return result;
}
