function checkPassword(passwordFieldID,usernameFieldID,skipPasswordRepeat,passwordRepeatFieldID)
{
  var password = $('#'+passwordFieldID).val();
  
  if(passwordRepeatFieldID)
  {
    var passwordRepeat = $('#'+passwordRepeatFieldID).val();
  }
  else
  {
    var passwordRepeat = $('#'+passwordFieldID+'2').val();
  }
  
  if(usernameFieldID)
  {
    var username = $('#'+usernameFieldID).val();
  
    if(password == username)
    {
      return false;
    }
  }
  
  if(!skipPasswordRepeat)
  {
    if(password != passwordRepeat)
    {
      return false;
    }
  }
  
  if(password.length < 5)
  {
    return false;
  }
  
  var regularExpressions = new Array();
  regularExpressions.push(/[a-z]+/i);
  regularExpressions.push(/[\d]+/i);
  regularExpressions.push(/[\W_]+/i);
  for(var i = 0; i < regularExpressions.length; i++)
  {
    var regularExpression = regularExpressions[i];
    if(password.search(regularExpression) == -1)
    {
      return false;
    }
  }
  
  return true;
}

function switch_value(targetSelector,defaultValue,value)
{
  var currentValue = $(targetSelector).val();
  if(currentValue == value)
  {
    $(targetSelector).val(defaultValue);
  }
  else
  {
    $(targetSelector).val(value);
  }
}

function formCheckboxNotChecked(fieldidselector, emptyFieldValue)
{
    if(emptyFieldValue == null) emptyFieldValue = 0;
    //alert(emptyFieldValue);
    var fieldValue = $(fieldidselector).attr("checked");
    //alert('Checkit Out --> ' + fieldValue);
    
    var fieldValueNr = 0; 
    if(fieldValue) fieldValueNr = 1; 
    
    //alert('Checkit OutNR --> ' + fieldValueNr);
    if(fieldValueNr == emptyFieldValue){
        return true;
    }else{
        return false;
    }
}

function formFieldNotSelectedCorrectly(fieldidselector, emptyFieldValue)
{
	if(emptyFieldValue == null) emptyFieldValue = 0;
	var fieldValue = $(fieldidselector).val();
	if(fieldValue == emptyFieldValue){
		return true;
	}else{
		return false;
	}
}
function formTextFieldNotFilledOutCorrectly(fieldidselector, regExpValues)
{

	var regExpNotValuesIsEmpty = true;
	if(regExpValues == '') regExpNotValuesIsEmpty = false;
	if(regExpValues == null) regExpNotValuesIsEmpty = false;
	
	var fieldValue = $(fieldidselector).val();
	if(regExpNotValuesIsEmpty){
		Ergebnis = regExpValues.exec(fieldValue);
		if(Ergebnis != null){
			return false;
		}else{
			return true; 
		}
	}else{
		if(fieldValue == ''){
			return true;
		}else{
			return false;
		}
	}
}

function triggerFormErrorFrame(fieldidselector)
{
  $(fieldidselector).css("border","2px solid red");
}


function triggerFormErrorFrameBack(fieldidselector)
{
  $(fieldidselector).css("border","2.5px solid black");
}

function triggerTextError(fieldidselector, textcolor)
{
  $(fieldidselector).css("color",textcolor);
  $(fieldidselector).css("font-weight","bold");
}

function formFieldsNotAllFilledOut(objSelectField,objTextField,objCheckboxField){
  var formFieldsNotAllFilledCorrectly = false;
  // Check - Selectfields 
  if(objSelectField != null){
    for(var fieldSelector in objSelectField){
      if(formFieldNotSelectedCorrectly(fieldSelector,objSelectField[fieldSelector])){
        triggerFormErrorFrame(fieldSelector);
        formFieldsNotAllFilledCorrectly = true;
      }else{
        triggerFormErrorFrameBack(fieldSelector);
      }
    }
  }
  // Check - Checkboxfields 
  if(objCheckboxField != null){
    for(var fieldSelector2 in objCheckboxField){
      if(formCheckboxNotChecked(fieldSelector2, objCheckboxField[fieldSelector2])){
        triggerFormErrorFrame(fieldSelector2 + 'Frame');
        formFieldsNotAllFilledCorrectly = true;
      }else{
        triggerFormErrorFrameBack(fieldSelector2 + 'Frame');
      }
    }
  }
  // Check - Textfields
  if(objTextField != null){
    for (var textFieldSelector in objTextField){
      if(formTextFieldNotFilledOutCorrectly(textFieldSelector,objTextField[textFieldSelector])){
        triggerFormErrorFrame(textFieldSelector);
        formFieldsNotAllFilledCorrectly = true;
      }else{
        triggerFormErrorFrameBack(textFieldSelector);
      }
    }
  }
  return formFieldsNotAllFilledCorrectly;
}

function checkAllCheckBoxes(htmlObj, strCheckboxToSelectSelector){
  var status='';
  if($(htmlObj).attr("checked") == true){ 
      status='checked';
  }else{ 
      status='';
  }
  $(strCheckboxToSelectSelector).attr("checked", status); 
}

function getTableRowAlternationCSSClass(i)
{
  if(i % 2)
  {
    return "even"; 
  }
  else
  {
    return "odd";
  }
}

