//  Description         : Club Administration
//  
//  Made by             : The WWW enterprise
//                        Bothastraat 12a
//                        4818 BE  BREDA
//                        The Netherlands
//  
//  Homepage            : www.i-database.nl
//  
//  Contact             : Dirk Teeuwen
//  
//  Telephone           : +31-76-5310566
//  E-mail              : d.b.j.teeuwen@bigfoot.com
//  
//  Copyright WARNING   : These pages are copyright protected.
//                        Unauthorised use without written permission is prohibited.
function OpenTransaction(transaction,target) {
  window.open(transaction,target)
}

function OnFormSubmit( form ) {
  for (var i = 0; i < form.elements.length; i++) {
    if (form.elements[i].type == "submit") {
      form.elements[i].disabled = true
      form.elements[i].readonly = true
    }
  }
  form.submit()
}

function OnButtonClick(form, tmode, pmode, target, transnext, tmodenext, pmodenext, wherenext,nexttype) {
  form["system[tmode]"].value=tmode
  form["system[pmode]"].value=pmode
  form["system[transnext]"].value=transnext
  form["system[tmodenext]"].value=tmodenext
  form["system[pmodenext]"].value=pmodenext
  form["system[wherenext]"].value=wherenext
  form["system[nexttype]"].value=nexttype
  if ( target != ' ' ) {
    form.target=target
  }
}

function SetField(form, field, newvalue) {
  form[field].value=newvalue
}

function format_value(datatype,fieldvalue,mask,form) {
  var error = 0, character = '', string = '', datestring = '', datatypeid = '', casecode = ''
  if (fieldvalue == ''){
    return fieldvalue
  }
  else {
  datatypeid = datatype.substring(0,1)
  switch (datatypeid) {
    case ("B"):
      return fieldvalue
      break;
    case ("C"):
      casecode = datatype.substring(1,2)
      switch (casecode) {
        case ("U"):
          string = fieldvalue.toUpperCase()
          break;
        case ("L"):
          string = fieldvalue.toLowerCase()
          break;
        default:
          string = fieldvalue
      }
      return string
      break;
    case ("D"):
      var dateview = datatype.substring(1,2)
      var dm1 = '', dm2 = '', year = ''
      var typeindex = 1
      var charindex = 0
      for (var index = 0; index < fieldvalue.length ; index++) {
        character = fieldvalue.charAt(index)
        if (character >= '0' && character <= '9') {
          switch (typeindex) {
            case (1):
              dm1 = dm1 + character
              charindex++
              if (charindex == 2) {
                charindex = 0
                typeindex++
              }
              break
            case (2):
              dm2 = dm2 + character
              charindex++
              if (charindex == 2) {
                charindex = 0
                typeindex++
              }
              break
            case (3):
              year = year + character
              charindex++
              break
          }
        }
        else {
          if (charindex != 0) {
            charindex = 0
            typeindex++
          }
        }
      }
      if (dm1.length == 0 || dm2.length == 0 || year.length <= 1 || year.length == 3 || year.length >= 5) {
        error = 1
      }
      else {     
        if (dm1.length == 1) {
          dm1 = '0' + dm1
        }
        if (dm2.length == 1) {
          dm2 = '0' + dm2
        }
        if (year.length == 2) {
          if (year >= 80) {
            year = '19' + year
          }
          else {
            year = '20' + year
          }
        }
        switch (dateview) {
          case ("1"):
            var strdate = dm1 + "-" + dm2 + "-" + year
            break;
          case ("2"):
            var strdate = dm1 + "." + dm2 + "." + year
            break;
          case ("6"):
            var strdate = dm1 + "-" + dm2 + "-" + year
            break;
          case ("7"):
            var strdate = dm1 + "." + dm2 + "." + year
            break;
        }
      }
      if ( error == 0 ) {
        return strdate
      }
      else {
        return 'Error'
      }
      break;
    case ("F"):
      var decimals = datatype.substring(1,2)
      var thousands = datatype.substring(2,3)
      var type = datatype.substring(3,4)
      var decpointer = form["system[smartdecpnt]"].value
      var decimalpointer, thousandpointer, length
      switch (decpointer) {
        case ("1"):
          fieldvalue = replace(fieldvalue,",",".")
          break
        default:
          switch (type){
            case ("1"):
              fieldvalue = replace(fieldvalue,".","")
              fieldvalue = replace(fieldvalue,",",".")
              break
            case ("2"):
              fieldvalue = replace(fieldvalue,",","")
              break
          }
      }
      switch (type){
        case ("1"):
          thousandpointer = "."
          decimalpointer = ","
          break
        case ("2"):
          thousandpointer = ","
          decimalpointer = "."
          break
      }
      power = Math.pow(10,decimals)
      fieldvalue = Math.round(fieldvalue * power) / power
      fieldvalue = replace(fieldvalue.toString(),".","D")
      if(fieldvalue.indexOf("D") == -1){
        fieldvalue += "D"
      }
      numdec = (fieldvalue.length - 1) - fieldvalue.indexOf("D")
      for(var i = 0; i < (decimals - numdec); i++){
        fieldvalue += "0"
      }
      if (thousands == "Y") {
        var decpos = fieldvalue.indexOf("D")
        var j = 0
        for (var i = decpos - 1; i > 0; i--){
          if(fieldvalue.substring(0 , i) != "-"){
            j++
            if(j == Math.floor(j / 3) * 3){
              length = fieldvalue.length - 1
              fieldvalue = fieldvalue.substring( 0 , i) + thousandpointer + fieldvalue.substring( i, 100)
            }
          }
        }
      }
      if(decimals > 0){
        fieldvalue = replace(fieldvalue,"D",decimalpointer)
      } else {
        fieldvalue = replace(fieldvalue,"D","")
      }
      return fieldvalue
      break;
    case ("N"):
      var thousands = datatype.substring(1,2)
      var type = datatype.substring(2,3)
      var thousandpointer, length
      switch (type){
        case ("1"):
          thousandpointer = "."
          break
        case ("2"):
          thousandpointer = ","
          break
      }
      fieldvalue = Math.round(fieldvalue)
      if (thousands == "Y") {
        var decpos = fieldvalue.indexOf("D")
        var j = 0
        for (var i = decpos - 1; i > 0; i--){
          if(fieldvalue.substring(0 , i) != "-"){
            j++
            if(j == Math.floor(j / 3) * 3){
              length = fieldvalue.length - 1
              fieldvalue = fieldvalue.substring( 0 , i) + thousandpointer + fieldvalue.substring( i, 100)
            }
          }
        }
      }
      return fieldvalue
      break;
    case ("S"):
      return fieldvalue
      break;
    case ("T"):
      var timeview = datatype.substring(1,2)
      var hh = '', mm = '', ss = ''
      var typeindex = 1
      var charindex = 0
      for (var index = 0; index < fieldvalue.length ; index++) {
        character = fieldvalue.charAt(index)
        if (character >= '0' && character <= '9') {
          switch (typeindex) {
            case (1):
              hh = hh + character
              charindex++
              if (charindex == 2) {
                charindex = 0
                typeindex++
              }
              break
            case (2):
              mm = mm + character
              charindex++
              if (charindex == 2) {
                charindex = 0
                typeindex++
              }
              break
            case (3):
              ss = ss + character
              charindex++
              break
          }
        }
        else {
          if (charindex != 0) {
            charindex = 0
            typeindex++
          }
        }
      }
      if (hh.length == 0 || mm.length == 0 || ss.length > 2) {
        error = 1
      }
      else {     
        if (hh.length == 1) {
          hh = '0' + hh
        }
        if (mm.length == 1) {
          mm = '0' + mm
        }
        if (ss.length == 0) {
          ss = '00'
        }
        if (ss.length == 1) {
          ss = '0' + ss
        }
        switch (timeview) {
          case ("1"):
            var strtime = hh + ":" + mm + ":" + ss
            break;
          case ("2"):
            var strtime = hh + "." + mm
            break;
          case ("6"):
            var strtime = hh + ":" + mm + ":" + ss
            break;
          case ("7"):
            var strtime = hh + "." + mm
            break;
        }
      }
      if ( error == 0 ) {
        return strtime
      }
      else {
        return 'Error'
      }
      break;
    default:
      return fieldvalue
  }
  }
}

function markchanged(mainform,formname,index) {
  fieldname = formname + "[" + index + "][s_changed]"
  mainform[fieldname].value = 1
}

function replace(value,searchstring,replacestring) {
  var newvalue = "", letter
  var length = value.length - 1
  for (var i = 0; i <= length; i++){
    letter = value.substring(i,i + 1)
    if (letter == searchstring) {
      newvalue += replacestring
    } else {
      newvalue += letter
    }
  }
  return newvalue
}
