2016-11-09 11:10:51 +08:00
function validateForm ( form ) {
2017-05-19 01:50:56 +08:00
var errors = new Array ( ) ;
2016-11-09 11:10:51 +08:00
2017-05-19 01:50:56 +08:00
// If "Can Move" is enabled, then the end user must also select at least one of the other check boxes (excluding Can Move Diagonally)
if ( form . elements [ 'newControl[CanMove]' ] . checked ) {
2020-01-04 04:58:57 +08:00
if ( ! (
2020-09-04 22:02:43 +08:00
form . elements [ 'newControl[CanMoveCon]' ] . checked ||
form . elements [ 'newControl[CanMoveRel]' ] . checked ||
form . elements [ 'newControl[CanMoveAbs]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanMoveMap]' ] . checked
) ) {
errors [ errors . length ] = 'In addition to "Can Move", you also must select at least one of: "Can Move Mapped", "Can Move Absolute", "Can Move Relative", or "Can Move Continuous"' ;
2017-05-19 01:50:56 +08:00
}
} else {
2016-11-09 11:10:51 +08:00
// Now lets check for the opposite condition. If any of the boxes below Can Move are checked, but Can Move is not checked then signal an error
2020-09-04 22:02:43 +08:00
if ( form . elements [ 'newControl[CanMoveCon]' ] . checked ||
form . elements [ 'newControl[CanMoveRel]' ] . checked ||
form . elements [ 'newControl[CanMoveAbs]' ] . checked ||
form . elements [ 'newControl[CanMoveMap]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanMoveDiag]' ] . checked
) {
errors [ errors . length ] = '"Can Move" must also be selected if any one of the movement types are selected.' ;
}
}
// If "Can Zoom" is enabled, then the end user must also select at least one of the other check boxes
if ( form . elements [ 'newControl[CanZoom]' ] . checked ) {
if ( ! (
2020-09-04 22:02:43 +08:00
form . elements [ 'newControl[CanZoomCon]' ] . checked ||
form . elements [ 'newControl[CanZoomRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanZoomAbs]' ] . checked
) ) {
errors [ errors . length ] = 'In addition to "Can Zoom", you also must select at least one of: "Can Zoom Absolute", "Can Zoom Relative", or "Can Zoom Continuous"' ;
}
} else {
// Now lets check for the opposite condition. If any of the boxes below Can Zoom are checked, but Can Zoom is not checked then signal an error
2020-09-04 22:02:43 +08:00
if ( form . elements [ 'newControl[CanZoomCon]' ] . checked ||
form . elements [ 'newControl[CanZoomRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanZoomAbs]' ] . checked
) {
errors [ errors . length ] = '"Can Move" must also be selected if any one of the zoom types are selected.' ;
}
}
// If "Can Zoom" is enabled, then the end user must also select at least one of the other check boxes
if ( form . elements [ 'newControl[CanFocus]' ] . checked ) {
if ( ! (
2020-09-04 22:02:43 +08:00
form . elements [ 'newControl[CanFocusCon]' ] . checked ||
form . elements [ 'newControl[CanFocusRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanFocusAbs]' ] . checked
) ) {
errors [ errors . length ] = 'In addition to "Can Focus", you also must select at least one of: "Can Focus Absolute", "Can Focus Relative", or "Can Focus Continuous"' ;
}
} else {
// Now lets check for the opposite condition. If any of the boxes below Can Zoom are checked, but Can Zoom is not checked then signal an error
2020-09-04 22:02:43 +08:00
if ( form . elements [ 'newControl[CanFocusCon]' ] . checked ||
form . elements [ 'newControl[CanFocusRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanFocusAbs]' ] . checked
) {
errors [ errors . length ] = '"Can Focus" must also be selected if any one of the focus types are selected.' ;
}
}
// If "Can White" is enabled, then the end user must also select at least one of the other check boxes
if ( form . elements [ 'newControl[CanWhite]' ] . checked ) {
if ( ! (
2020-09-04 22:02:43 +08:00
form . elements [ 'newControl[CanWhiteCon]' ] . checked ||
form . elements [ 'newControl[CanWhiteRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanWhiteAbs]' ] . checked
) ) {
errors [ errors . length ] = 'In addition to "Can White Balance", you also must select at least one of: "Can White Bal Absolute", "Can White Bal Relative", or "Can White Bal Continuous"' ;
}
} else {
// Now lets check for the opposite condition. If any of the boxes below Can Zoom are checked, but Can Zoom is not checked then signal an error
2020-09-04 22:02:43 +08:00
if ( form . elements [ 'newControl[CanWhiteCon]' ] . checked ||
form . elements [ 'newControl[CanWhiteRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanWhiteAbs]' ] . checked
) {
errors [ errors . length ] = '"Can White Balance" must also be selected if any one of the white balance types are selected.' ;
}
}
// If "Can Iris" is enabled, then the end user must also select at least one of the other check boxes
if ( form . elements [ 'newControl[CanIris]' ] . checked ) {
if ( ! (
2020-09-04 22:02:43 +08:00
form . elements [ 'newControl[CanIrisCon]' ] . checked ||
form . elements [ 'newControl[CanIrisRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanIrisAbs]' ] . checked
) ) {
errors [ errors . length ] = 'In addition to "Can Iris", you also must select at least one of: "Can Iris Absolute", "Can Iris Relative", or "Can Iris Continuous"' ;
}
} else {
// Now lets check for the opposite condition. If any of the boxes below Can Zoom are checked, but Can Zoom is not checked then signal an error
2020-09-04 22:02:43 +08:00
if ( form . elements [ 'newControl[CanIrisCon]' ] . checked ||
form . elements [ 'newControl[CanIrisRel]' ] . checked ||
2020-01-04 04:58:57 +08:00
form . elements [ 'newControl[CanIrisAbs]' ] . checked
) {
errors [ errors . length ] = '"Can Iris" must also be selected if any one of the iris types are selected.' ;
2016-11-09 11:10:51 +08:00
}
2017-05-19 01:50:56 +08:00
}
2016-11-09 11:10:51 +08:00
2017-05-19 01:50:56 +08:00
if ( errors . length ) {
2020-01-04 04:58:57 +08:00
alert ( errors . join ( "\n" ) ) ;
return false ;
2017-05-19 01:50:56 +08:00
}
2020-01-04 04:58:57 +08:00
return true ;
2016-11-09 11:10:51 +08:00
}
2020-09-26 05:05:16 +08:00
function initPage ( ) {
// Manage the BACK button
document . getElementById ( "backBtn" ) . addEventListener ( "click" , function onBackClick ( evt ) {
evt . preventDefault ( ) ;
window . history . back ( ) ;
} ) ;
// Disable the back button if there is nothing to go back to
$j ( '#backBtn' ) . prop ( 'disabled' , ! document . referrer . length ) ;
// Manage the REFRESH Button
document . getElementById ( "refreshBtn" ) . addEventListener ( "click" , function onRefreshClick ( evt ) {
evt . preventDefault ( ) ;
window . location . reload ( true ) ;
} ) ;
2020-09-27 05:39:31 +08:00
// Manage the CANCEL Button
document . getElementById ( "cancelBtn" ) . addEventListener ( "click" , function onCancelClick ( evt ) {
evt . preventDefault ( ) ;
window . location . assign ( '?view=controlcaps' ) ;
} ) ;
2020-09-26 05:05:16 +08:00
}
$j ( document ) . ready ( function ( ) {
initPage ( ) ;
} ) ;