dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #15057
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5285: Add yes-no button for agg-query builder.
------------------------------------------------------------
revno: 5285
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2011-12-05 12:00:07 +0700
message:
Add yes-no button for agg-query builder.
modified:
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js
dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/commons.js
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addCaseAggregation.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateCaseAggregation.vm
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js 2011-10-27 05:51:06 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js 2011-12-05 05:00:07 +0000
@@ -42,7 +42,7 @@
{
var container = jQuery(this_).parent().parent().attr('id');
var attributeId = jQuery('#' + container+ ' [id=searchingAttributeId]').val();
- var element = $('#' + container+ ' [id=searchText]');
+ var element = jQuery('#' + container+ ' [id=searchText]');
var valueType = jQuery('#' + container+ ' [id=searchingAttributeId] option:selected').attr('valueType');
if( attributeId == '0' )
@@ -94,7 +94,7 @@
hideById( 'listPatientDiv' );
var searchTextFields = jQuery('[name=searchText]');
var flag = true;
- $( searchTextFields ).each( function( i, item )
+ jQuery( searchTextFields ).each( function( i, item )
{
if( jQuery( item ).val() == '' )
{
@@ -106,7 +106,7 @@
if(!flag) return;
contentDiv = 'listPatientDiv';
- $( "#loaderDiv" ).show();
+ jQuery( "#loaderDiv" ).show();
$.ajax({
url: 'searchRegistrationPatient.action',
type:"POST",
@@ -115,7 +115,7 @@
statusSearching = 1;
setInnerHTML( 'listPatientDiv', html );
showById('listPatientDiv');
- $( "#loaderDiv" ).hide();
+ jQuery( "#loaderDiv" ).hide();
}
});
}
@@ -125,14 +125,14 @@
hideById( 'listPatientDiv' );
contentDiv = 'listPatientDiv';
- $( "#loaderDiv" ).show();
- $('#listPatientDiv').load("searchRegistrationPatient.action",
+ jQuery( "#loaderDiv" ).show();
+ jQuery('#listPatientDiv').load("searchRegistrationPatient.action",
{
sortPatientAttributeId: getFieldValue('sortPatientAttributeId')
}
, function(){
showById('listPatientDiv');
- $( "#loaderDiv" ).hide();
+ jQuery( "#loaderDiv" ).hide();
});
}
@@ -152,8 +152,8 @@
function addValidationCompleted( data )
{
- var type = $(data).find('message').attr('type');
- var message = $(data).find('message').text();
+ var type = jQuery(data).find('message').attr('type');
+ var message = jQuery(data).find('message').text();
if ( type == 'success' )
{
@@ -192,8 +192,8 @@
function updateValidationCompleted( messageElement )
{
- var type = $(messageElement).find('message').attr('type');
- var message = $(messageElement).find('message').text();
+ var type = jQuery(messageElement).find('message').attr('type');
+ var message = jQuery(messageElement).find('message').text();
if ( type == 'success' )
{
@@ -247,8 +247,8 @@
function checkDuplicateCompleted( messageElement, divname )
{
checkedDuplicate = true;
- var type = $(messageElement).find('message').attr('type');
- var message = $(messageElement).find('message').text();
+ var type = jQuery(messageElement).find('message').attr('type');
+ var message = jQuery(messageElement).find('message').text();
if( type == 'success')
{
@@ -270,48 +270,48 @@
*/
function showListPatientDuplicate( rootElement, validate )
{
- var message = $(rootElement).find('message').text();
- var patients = $(rootElement).find('patient');
+ var message = jQuery(rootElement).find('message').text();
+ var patients = jQuery(rootElement).find('patient');
var sPatient = "";
- $( patients ).each( function( i, patient )
+ jQuery( patients ).each( function( i, patient )
{
sPatient += "<hr style='margin:5px 0px;'><table>";
- sPatient += "<tr><td class='bold'>" + i18n_patient_system_id + "</td><td>" + $(patient).find('systemIdentifier').text() + "</td></tr>" ;
- sPatient += "<tr><td class='bold'>" + i18n_patient_full_name + "</td><td>" + $(patient).find('fullName').text() + "</td></tr>" ;
- sPatient += "<tr><td class='bold'>" + i18n_patient_gender + "</td><td>" + $(patient).find('gender').text() + "</td></tr>" ;
- sPatient += "<tr><td class='bold'>" + i18n_patient_date_of_birth + "</td><td>" + $(patient).find('dateOfBirth').text() + "</td></tr>" ;
- sPatient += "<tr><td class='bold'>" + i18n_patient_age + "</td><td>" + $(patient).find('age').text() + "</td></tr>" ;
- sPatient += "<tr><td class='bold'>" + i18n_patient_blood_group + "</td><td>" + $(patient).find('bloodGroup').text() + "</td></tr>";
+ sPatient += "<tr><td class='bold'>" + i18n_patient_system_id + "</td><td>" + jQuery(patient).find('systemIdentifier').text() + "</td></tr>" ;
+ sPatient += "<tr><td class='bold'>" + i18n_patient_full_name + "</td><td>" + jQuery(patient).find('fullName').text() + "</td></tr>" ;
+ sPatient += "<tr><td class='bold'>" + i18n_patient_gender + "</td><td>" + jQuery(patient).find('gender').text() + "</td></tr>" ;
+ sPatient += "<tr><td class='bold'>" + i18n_patient_date_of_birth + "</td><td>" + jQuery(patient).find('dateOfBirth').text() + "</td></tr>" ;
+ sPatient += "<tr><td class='bold'>" + i18n_patient_age + "</td><td>" + jQuery(patient).find('age').text() + "</td></tr>" ;
+ sPatient += "<tr><td class='bold'>" + i18n_patient_blood_group + "</td><td>" + jQuery(patient).find('bloodGroup').text() + "</td></tr>";
- var identifiers = $(patient).find('identifier');
+ var identifiers = jQuery(patient).find('identifier');
if( identifiers.length > 0 )
{
sPatient += "<tr><td colspan='2' class='bold'>" + i18n_patient_identifiers + "</td></tr>";
- $( identifiers ).each( function( i, identifier )
+ jQuery( identifiers ).each( function( i, identifier )
{
sPatient +="<tr class='identifierRow'>"
- +"<td class='bold'>" + $(identifier).find('name').text() + "</td>"
- +"<td>" + $(identifier).find('value').text() + "</td> "
+ +"<td class='bold'>" + jQuery(identifier).find('name').text() + "</td>"
+ +"<td>" + jQuery(identifier).find('value').text() + "</td> "
+"</tr>";
});
}
- var attributes = $(patient).find('attribute');
+ var attributes = jQuery(patient).find('attribute');
if( attributes.length > 0 )
{
sPatient += "<tr><td colspan='2' class='bold'>" + i18n_patient_attributes + "</td></tr>";
- $( attributes ).each( function( i, attribute )
+ jQuery( attributes ).each( function( i, attribute )
{
sPatient +="<tr class='attributeRow'>"
- +"<td class='bold'>" + $(attribute).find('name').text() + "</td>"
- +"<td>" + $(attribute).find('value').text() + "</td> "
+ +"<td class='bold'>" + jQuery(attribute).find('name').text() + "</td>"
+ +"<td>" + jQuery(attribute).find('value').text() + "</td> "
+"</tr>";
});
}
- sPatient += "<tr><td colspan='2'><input type='button' id='"+ $(patient).find('id').first().text() + "' value='" + i18n_edit_this_patient + "' onclick='showUpdatePatientForm(this.id)'/></td></tr>";
+ sPatient += "<tr><td colspan='2'><input type='button' id='"+ jQuery(patient).find('id').first().text() + "' value='" + i18n_edit_this_patient + "' onclick='showUpdatePatientForm(this.id)'/></td></tr>";
sPatient += "</table>";
});
@@ -323,8 +323,8 @@
}
result += "<br>" + sPatient;
- $('#resultSearchDiv' ).html( result );
- $('#resultSearchDiv' ).dialog({
+ jQuery('#resultSearchDiv' ).html( result );
+ jQuery('#resultSearchDiv' ).dialog({
title: i18n_duplicated_patient_list,
maximize: true,
closable: true,
@@ -343,8 +343,8 @@
{
if( jQuery(this_).is(":checked"))
{
- $('#representativeDiv').dialog('destroy').remove();
- $('<div id="representativeDiv">' ).load( 'showAddRepresentative.action' ).dialog({
+ jQuery('#representativeDiv').dialog('destroy').remove();
+ jQuery('<div id="representativeDiv">' ).load( 'showAddRepresentative.action' ).dialog({
title: i18n_child_representative,
maximize: true,
closable: true,
@@ -585,7 +585,7 @@
setFieldValue( 'dateOfEnrollmentDescription', json.dateOfEnrollmentDescription );
setFieldValue( 'dateOfIncidentDescription', json.dateOfIncidentDescription );
showById( 'unenrollmentFormDiv' );
- $( "#loaderDiv" ).hide();
+ jQuery( "#loaderDiv" ).hide();
});
}
@@ -826,7 +826,7 @@
contend += '<input type="button" value="-" onclick="removeAttributeOption(' + "'" + rowId + "'" + ');"></td>';
contend = '<tr id="' + rowId + '">' + contend + '</tr>';
- $('#advancedSearchTB > tbody:last').append( contend );
+ jQuery('#advancedSearchTB > tbody:last').append( contend );
}
function removeAttributeOption( rowId )
@@ -873,7 +873,7 @@
function showRepresentativeInfo( patientId)
{
- $('#representativeInfo' ).dialog({
+ jQuery('#representativeInfo' ).dialog({
title: i18n_representative_info,
maximize: true,
closable: true,
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/commons.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/commons.js 2011-12-05 04:43:51 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/commons.js 2011-12-05 05:00:07 +0000
@@ -1,1500 +1,166 @@
-// -----------------------------------------------------------------------------
-// Global variables
-// -----------------------------------------------------------------------------
-
-var headerMessageTimeout = -1;
-var _loading_bar_html = "<img src='../images/ajax-loader-bar.gif'>";
-var _loading_circle_html = "<img src='../images/ajax-loader-circle.gif'>";
-
-/**
- * Go back using the document.referrer.
- *
- * @param defaultUrl if there is not document.referrer, use this url
- */
-function referrerBack( defaultUrl ) {
- if(document.referrer !== undefined && document.referrer != "") {
- if(document.referrer.indexOf("login.action") == -1) {
- location.href = document.referrer;
- return;
- }
- }
-
- location.href = defaultUrl;
-}
-
-/**
- * Redirects to the translate GUI.
- *
- * @param className the name of the object class.
- * @param objectId the identifier of the object.
- */
-function translate( className, objectId )
-{
- var url = "../dhis-web-commons/i18n.action?className=" + className + "&objectId=" + objectId + "&returnUrl=" + htmlEncode( window.location.href );
-
- window.location.href = url;
-}
-
-/**
- * Joins the names of the given array of objects and returns it as a single string.
- */
-function joinNameableObjects( objects )
-{
- var string = "";
- var size = objects.length;
-
- for ( var i in objects )
- {
- string += objects[i].name;
-
- if ( i < ( size - 1 ) )
- {
- string += ", ";
- }
- }
-
- return string;
-}
-
-/**
- * Gets help content for the given id. Opens the right bar and puts the content
- * inside. Reads data from an underlying docbook file.
- *
- * @param id the content id, refers to the section id in the docbook file.
- */
-function getHelpContent( id )
-{
- $.get(
- '../dhis-web-commons-about/getHelpContent.action',
- { "id": id },
- function( data )
- {
- $( "div#rightBar" ).fadeIn();
- $( "div#rightBarContents" ).html( data );
- } );
-}
-
-/**
- * Hides the help content.
- */
-function hideHelpContent()
-{
- $( "div#rightBar" ).fadeOut();
-}
-
-/**
- * Filters values in a html table with tbody id "list".
- *
- * @param filter the filter.
- */
-function filterValues( filter, columnIndex )
-{
- if( columnIndex==undefined ) columnIndex = 1;
-
- var list = document.getElementById( 'list' );
-
- var rows = list.getElementsByTagName( 'tr' );
-
- for ( var i = 0; i < rows.length; ++i )
- {
- var cell = rows[i].getElementsByTagName( 'td' )[columnIndex - 1];
-
- var value = cell.firstChild.nodeValue;
-
- if ( value.toLowerCase().indexOf( filter.toLowerCase() ) != -1 )
- {
- rows[i].style.display = 'table-row';
- }
- else
- {
- rows[i].style.display = 'none';
- }
- }
-}
-
-/**
- * Returns the value of the selected option in the list with the given
- * identifier.
- *
- * @param listId the list identifier.
- */
-function getListValue( listId )
-{
- var list = document.getElementById( listId );
- var value = list.options[ list.selectedIndex ].value;
-
- return value;
-}
-
-/**
- * Hides the document element with the given identifier.
- *
- * @param id the element identifier.
- */
-function hideById( id )
-{
- jQuery("#" + id).hide();
-}
-
-/**
- * Shows the document element with the given identifier.
- *
- * @param id the element identifier.
- */
-function showById( id )
-{
- jQuery("#" + id).show();
-}
-
-/**
- * Returns true if the element with the given identifier has text, false if not.
- *
- * @param inputId the identifier of the input element.
- */
-function hasText( inputId )
-{
- return trim( getFieldValue( inputId ) ) != "";
-}
-
-function trim( string )
-{
- return jQuery.trim( string );
-}
-
-/**
- * Returns true if the element with the given identifier is checked, false if
- * not or if it does not exist.
- *
- * @param checkboxId the identifier of the checkbox element.
- */
-function isChecked( checkboxId )
-{
- return jQuery( "#" + checkboxId ).length && jQuery( "#" + checkboxId ).is( ":checked" );
-}
-
-/**
- * Checks the checkbox with the given jQuery Selector String if the checkbox
- * exists.
- */
-function checkALL( jQuerySelectorString )
-{
- jQuery.each( jQuery( jQuerySelectorString ), function(i, item ){
- item.checked = true;
- });
-}
-
-function toggleChecked( checked, name )
-{
- if( checked ) checkALL( "input[type=checkbox][name=" + name + "]" );
- else unCheckALL( "input[type=checkbox][name=" + name + "]" );
-}
-/**
- * Checks the checkbox with the given identifier if the checkbox exists.
- */
-function check( checkBoxId )
-{
- jQuery( "#" + checkBoxId ).attr("checked", true );
-}
-
-/**
- * Unchecks the checkbox with the given identifier if the checkbox exists.
- */
-function uncheck( checkBoxId )
-{
- jQuery( "#" + checkBoxId ).attr("checked", false );
-}
-
-/**
- * unChecks the checkbox with the given jQuery Selector String if the checkbox
- * exists.
- */
-function unCheckALL( jQuerySelectorString )
-{
- jQuery.each( jQuery( jQuerySelectorString ), function(i, item ){
- item.checked = false;
- });
-}
-
-/**
- * Enables the element with the given identifier if the element exists.
- */
-function enable( elementId )
-{
- jQuery( "#" + elementId ).removeAttr( "disabled" );
-}
-
-function enableGroup( selectorJQueryString )
-{
- jQuery.each( jQuery( selectorJQueryString ), function( i, item ){
- item.disabled = false;
- });
-}
-
-/**
- * Disables the element with the given identifier if the element exists.
- */
-function disable( elementId )
-{
- jQuery( "#" + elementId ).attr("disabled", true );
-}
-
-function disableGroup( selectorJQueryString )
-{
- jQuery.each( jQuery( selectorJQueryString ), function( i, item ){
- item.disabled = true;
- });
-}
-
-/**
- * Enables the element with the given identifier if the element exists in parent
- * window of frame.
- */
-function enableParent( elementId )
-{
- var element = parent.document.getElementById( elementId );
-
- if ( element )
- {
- element.disabled = false;
- }
-}
-
-/**
- * Disables the element with the given identifier if the element exists in
- * parent window of frame.
- */
-function disableParent( elementId )
-{
- var element = parent.document.getElementById( elementId );
-
- if ( element )
- {
- element.disabled = true;
- }
-}
-
-/**
- * Returns true if the element with the given identifier has selected elements
- * associated with it, false if not.
- *
- * @param listId the identifier of the list element.
- */
-function hasElements( listId )
-{
- return jQuery( "#" + listId ).children().length > 0;
-}
-
-/**
- * Returns true if the given value not equals null or "null" string, false if not.
- *
- * @param value the given value.
- */
-function isNotNull( value )
-{
- return ( value != null && trim(value) != "null" );
-}
-
-/**
- * Returns true if the element with the given identifier exists, false if not.
- *
- * @param elementId the identifier of the element.
- */
-function isNotEmpty( elementId )
-{
- return jQuery("#" + elementId).length == 1;
-}
-
-/**
- * HTML encodes the given string.
- *
- * @param str the input string.
- * @return the HTML encoded string.
- */
-function htmlEncode( str )
-{
- str = str.replace( /\%/g, "%25" ); // This line must come first so the %
- // doesn't get overwritten later
- str = str.replace( /\ /g, "%20" );
- str = str.replace( /\!/g, "%21" );
- str = str.replace( /\"/g, "%22" );
- str = str.replace( /\#/g, "%23" );
- str = str.replace( /\$/g, "%24" );
- str = str.replace( /\&/g, "%26" );
- str = str.replace( /\'/g, "%27" );
- str = str.replace( /\(/g, "%28" );
- str = str.replace( /\)/g, "%29" );
- str = str.replace( /\*/g, "%2a" );
- str = str.replace( /\+/g, "%2b" );
- str = str.replace( /\,/g, "%2c" );
- str = str.replace( /\-/g, "%2d" );
- str = str.replace( /\./g, "%2e" );
- str = str.replace( /\//g, "%2f" );
- str = str.replace( /\:/g, "%3a" );
- str = str.replace( /\;/g, "%3b" );
- str = str.replace( /\</g, "%3c" );
- str = str.replace( /\=/g, "%3d" );
- str = str.replace( /\>/g, "%3e" );
- str = str.replace( /\?/g, "%3f" );
- str = str.replace( /\@/g, "%40" );
-
- return str;
-}
-
-/**
- * Gets the value for the element with the given name from the DOM object.
- *
- * @param parentElement the DOM object.
- * @param childElementName the name of the element.
- */
-function getElementValue( parentElement, childElementName )
-{
- var textNode = parentElement.getElementsByTagName( childElementName )[0].firstChild;
-
- return textNode ? textNode.nodeValue : null;
-}
-
-/**
- * Gets the attribute value from the given DOM element.
- *
- * @param parentElement the DOM object.
- * @param attributeName the name of the attribute.
- */
-function getElementAttribute( parentElement, childElementName, childAttributeName )
-{
- var textNode = parentElement.getElementsByTagName( childElementName )[0];
-
- return textNode ? textNode.getAttribute( childAttributeName ) : null;
-}
-
-/**
- * Gets the value from the given DOM element.
- *
- * @param rootElement the DOM object.
- */
-function getRootElementValue( rootElement )
-{
- var textNode = rootElement.firstChild;
-
- return textNode ? textNode.nodeValue : null;
-}
-
-/**
- * Gets the value of the attribute with the given name from the given DOM
- * element.
- *
- * @param rootElement the DOM object.
- * @param attributeName the name of the attribute.
- */
-function getRootElementAttribute( rootElement, attributeName )
-{
- return rootElement.getAttribute( attributeName );
-}
-
-/**
- * Sets a value on the given element.
- *
- * @param fieldId the identifier of the element.
- * @param value the value to set.
- */
-function setInnerHTML( fieldId, value )
-{
- jQuery("#" + fieldId).html( value );
-}
-
-/**
- * Gets a value from the given element and HTML encodes it.
- *
- * @param fieldId the identifier of the element.
- * @return the HTML encoded value of the element with the given identifier.
- */
-function getInnerHTML( fieldId )
-{
- return jQuery("#" + fieldId).html();
-}
-
-/**
- * Sets a value on the given element.
- *
- * @param fieldId the identifier of the element.
- * @param value the value to set.
- */
-function setFieldValue( fieldId, value )
-{
- jQuery("#" + fieldId).val( value );
-}
-
-/**
- * Gets a value from the given element and HTML encodes it.
- *
- * @param fieldId the identifier of the element.
- * @return the HTML encoded value of the element with the given identifier.
- */
-function getFieldValue( fieldId )
-{
- if ( getTypeById( fieldId, 'multiple' ) )
- {
- return jQuery("#" + fieldId).val()[0];
- }
-
- return jQuery("#" + fieldId).val();
-}
-
-/**
- * Gets a value from the given element and HTML encodes it.
- *
- * @param fieldId the identifier of the element.
- * @return the type of the element with the given identifier.
- */
-function getTypeById( fieldId, attribute )
-{
- return jQuery("#" + fieldId).attr( attribute );
-}
-
-/**
- * get value of input radio with name
- *
- * @param radioName name of input radio
- */
-function getRadioValue( radioName )
-{
- result = null;
- jQuery.each( jQuery( "input[type=radio][name=" + radioName + "]") , function( i, item )
- {
- if ( item.checked )
- {
- result = item.value;
- }
- });
-
- return result;
-}
-
-/**
- * set value for input radio with name
- *
- * @param radioName name of input radio
- */
-function setRadioValue( radioName, value )
-{
- jQuery.each( jQuery( "input[type=radio][name=" + radioName + "]") , function( i, item )
- {
- if ( item.value == value )
- {
- item.checked = true;
- }
- });
-}
-
-// -----------------------------------------------------------------------------
-// Message, warning, info, headerMessage
-// -----------------------------------------------------------------------------
-
-/**
- * Shows the message span and sets the message as text.
- *
- * @param message the message.
- */
-function setMessage( message )
-{
- if ( message && message != '' )
- {
- byId( 'message' ).innerHTML = message;
- byId( 'message' ).style.display = 'block';
- }
-}
-
-/**
- * Shows the message span and sets the message as text together with a wait
- * animation.
- *
- * @param message the message.
- */
-function setWaitMessage( message )
-{
- setMessage( message + " " + _loading_bar_html );
-}
-
-/**
- * Makes the "message" span invisible.
- */
-function hideMessage()
-{
- byId( 'message' ).style.display = 'none';
-}
-
-/**
- * Slides down the header message div and sets the message as text.
- *
- * @param message the message.
- */
-function setHeaderMessage( message )
-{
- window.clearTimeout( headerMessageTimeout );
-
- $( 'div#headerMessage' ).html( message );
-
- if ( isHeaderMessageHidden() )
- {
- $( 'div#headerMessage' ).slideDown( 'fast' );
- }
-}
-
-/**
- * Slides down the header message div and sets the message as text together with
- * a wait animation.
- *
- * @param message the message.
- */
-function setHeaderWaitMessage( message )
-{
- window.clearTimeout( headerMessageTimeout );
-
- $( 'div#headerMessage' ).html( message + " " + _loading_bar_html );
-
- if ( isHeaderMessageHidden() )
- {
- $( 'div#headerMessage' ).slideDown( 'fast' );
- }
-}
-
-/**
- * Sets the header message and hides it after 3 seconds.
- */
-function setHeaderDelayMessage( message )
-{
- setHeaderMessage( message );
-
- window.clearTimeout( headerMessageTimeout );
-
- headerMessageTimeout = window.setTimeout( "hideHeaderMessage();", 8000 );
-}
-
-/**
- * Sets the header wait message and hides it after 3 seconds.
- */
-function setHeaderWaitDelayMessage( message )
-{
- setHeaderWaitMessage( message );
-
- window.clearTimeout( headerMessageTimeout );
-
- headerMessageTimeout = window.setTimeout( "hideHeaderMessage();", 8000 );
-}
-
-/**
- * Hides the header message div.
- */
-function hideHeaderMessage()
-{
- $( 'div#headerMessage' ).slideUp( 'fast' );
-}
-
-/**
- * Indicates whether the header message is visible.
- */
-function isHeaderMessageVisible()
-{
- return $( 'div#headerMessage' ).is(":visible");
-}
-
-/**
- * Indicates whether the header message is not visible.
- */
-function isHeaderMessageHidden()
-{
- return !isHeaderMessageVisible();
-}
-
-/**
- * Slides down the info message div and sets the message as text.
- *
- * @param message the message.
- */
-function setInfo( message )
-{
- $( '#info' ).html( message );
- $( '#info' ).slideDown( 'fast' );
-}
-
-/**
- * Hides the info div.
- */
-function hideInfo()
-{
- $( '#info' ).slideUp( 'fast' );
-}
-
-/**
- * Makes the "detailsArea" span visible.
- */
+function dobTypeOnChange( container ){
+
+ var type = jQuery('#' + container + ' [id=dobType]').val();
+
+ if(type == 'V' || type == 'D'){
+ jQuery('#' + container + ' [id=age]').rules("remove","required");
+ jQuery('#' + container + ' [id=birthDate]').rules("add",{required:true});
+
+ showById(container + ' [id=birthdaySpan]');
+ hideById(container + ' [id=ageSpan]');
+ }else if(type == 'A'){
+ jQuery('#' + container + ' [id=birthDate]').rules("remove","required");
+ jQuery('#' + container + ' [id=age]').rules("add",{required:true});
+
+ hideById(container + ' [id=birthdaySpan]');
+ showById(container + ' [id=ageSpan]');
+ }else {
+ hideById(container + ' [id=birthdaySpan]');
+ hideById(container + ' [id=ageSpan]');
+ jQuery('#' + container + ' [id=age]').rules("remove","required");
+ jQuery('#' + container + ' [id=birthDate]').rules("remove","required");
+ }
+}
+
+// ----------------------------------------------------------------------------
+// Search patients by name
+// ----------------------------------------------------------------------------
+
+function getPatientsByName( divname )
+{
+ var fullName = jQuery('#' + divname + ' [id=fullName]').val().replace(/^\s+|\s+$/g,"");
+ if( fullName.length > 0)
+ {
+ contentDiv = 'resultSearchDiv';
+ $('#resultSearchDiv' ).load("getPatientsByName.action",
+ {
+ fullName: fullName
+ }).dialog({
+ title: i18n_search_result,
+ maximize: true,
+ closable: true,
+ modal:true,
+ overlay:{ background:'#000000', opacity: 0.8},
+ width: 800,
+ height: 400
+ });
+ }
+ else
+ {
+ alert( i18n_no_patients_found );
+ }
+}
+
+// ----------------------------------------------------------------------------
+// Show patients
+// ----------------------------------------------------------------------------
+
+function isDeathOnChange()
+{
+ var isDeath = byId('isDead').checked;
+ if(isDeath)
+ {
+ showById('deathDateTR');
+ }
+ else
+ {
+ hideById('deathDateTR');
+ }
+}
+
+// ----------------------------------------------------------------
+// Get Params form Div
+// ----------------------------------------------------------------
+
+function getParamsForDiv( patientDiv)
+{
+ var params = '';
+ jQuery("#" + patientDiv + " :input").each(function()
+ {
+ var elementId = $(this).attr('id');
+
+ if( $(this).attr('type') == 'checkbox' )
+ {
+ var checked = jQuery(this).attr('checked') ? true : false;
+ params += elementId + "=" + checked + "&";
+ }
+ else if( $(this).attr('type') != 'button' )
+ {
+ params += elementId + "="+ jQuery(this).val() + "&";
+ }
+ });
+
+ return params;
+}
+
+// -----------------------------------------------------------------------------
+// View patient details
+// -----------------------------------------------------------------------------
+
+function showPatientDetails( patientId )
+{
+ $('#detailsArea').load("getPatientDetails.action",
+ {
+ id:patientId
+ }
+ , function( ){
+ showDetails();
+ });
+}
+
+// -----------------------------------------------------------------------------
+// Show Details
+// -----------------------------------------------------------------------------
+
function showDetails()
{
- $( '#detailsArea' )
- .css( "height", "80%" )
- .css( "overflow", "scroll" )
- .resizable()
- .show( "fast" );
-}
-
-/**
- * Makes the "detailsArea" span invisible.
- */
-function hideDetails()
-{
- $( '#detailsArea' ).hide( "fast" );
-}
-
-/**
- * Makes the "warningArea" span visible.
- */
-function showWarning()
-{
- $( '#warningArea' ).show( "fast" );
-}
-
-/**
- * Makes the "warningArea" span invisible.
- */
-function hideWarning()
-{
- $( '#warningArea' ).hide( "fast" );
-}
-
-/**
- * Convenience method for getting a document element.
- *
- * @param id id of the element to get.
- */
-function byId( elementId )
-{
- return document.getElementById( elementId );
-}
-
-/**
- * Toggles visibility for an element.
- *
- * @param id the identifier of the element.
- * @param display boolean indicator.
- */
-function toggleByIdAndFlag( id, display )
-{
- var node = byId( id );
-
- if ( !node )
- {
- return;
- }
-
- node.style.display = ( display ? 'block' : 'none' );
-}
-
-/**
- * Toggles visibility for an element.
- *
- * @param id the identifier of the element.
- */
-function toggleById( id )
-{
- var node = byId( id );
-
- if ( !node )
- {
- return;
- }
-
- var display = node.style.display;
-
- node.style.display = ( display == 'none' || display == '' ? 'block' : 'none' );
-}
-
-/**
- * Returns a query string with all element values in the select list and the
- * specified param.
- */
-function getParamString( elementId, param )
-{
- var result = "";
- var list = jQuery( "#" + elementId ).children();
-
- list.each( function( i, item ){
- result += param + "=" + item.value;
- result += (i < list.length-1) ? "&" : "";
- });
-
- return result;
-}
-
-/**
- * @deprecated Use addOptionById
- */
-function addOptionToList( list, optionValue, optionText )
-{
- var option = document.createElement( "option" );
- option.value = optionValue;
- option.text = optionText;
- list.add( option, null );
-}
-
-/**
- * Returns a query string on the form <paramName>=<listValue> based on the
- * options in the list with the given identifier.
- *
- * @param listId the list identifier.
- * @param paramName the name of the query param.
- * @return a query string.
- */
-function getQueryStringFromList( listId, paramName )
-{
- var list = document.getElementById( listId );
-
- var params = "";
-
- for ( var i = 0; i < list.options.length; i++ )
- {
- list.options[i].selected = "selected";
- params += paramName + "=" + list.options[i].value + "&";
- }
-
- return params;
-}
-
-/**
- * Shows loader div and hides content div.
- */
-function showLoader()
-{
- $( "div#loaderDiv" ).show();
- $( "div#contentDiv" ).hide();
-}
-
-/**
- * Hides loader div and shows content div.
- */
-function hideLoader()
-{
- $( "div#loaderDiv" ).hide();
- $( "div#contentDiv" ).show();
-}
-
-/**
- * Deletes and removes an item from a table. The table row to be removed must
- * have an identifier on the form "tr[itemId]".
- *
- * @param itemId the item identifier.
- * @param itemName the item name.
- * @param message the confirmation message.
- * @param action the server action url for deleting the item.
- */
-function removeItem( itemId, itemName, confirmation, action, success )
-{
- var result = window.confirm( confirmation + "\n\n" + itemName );
-
- if ( result )
- {
- $.postJSON(
- action,
- {
- "id": itemId
- },
- function( json )
- {
- if ( json.response == "success" )
- {
- jQuery( "tr#tr" + itemId ).remove();
-
- jQuery( "table.listTable tbody tr" ).removeClass( "listRow listAlternateRow" );
- jQuery( "table.listTable tbody tr:odd" ).addClass( "listAlternateRow" );
- jQuery( "table.listTable tbody tr:even" ).addClass( "listRow" );
- jQuery( "table.listTable tbody" ).trigger("update");
-
- if ( success && typeof( success) == "function" )
- {
- success.call();
- }
-
- showSuccessMessage( i18n_delete_success );
- }
- else if ( json.response == "error" )
- {
- showWarningMessage( json.message );
- }
- }
- );
- }
-}
-
-/**
- * Create jQuery datepicker for input text with id * *
- *
- * @param id the id of input field which you want enter date *
- */
-function datePicker( id )
-{
- $("#" + id).datepicker(
- {
- dateFormat: dateFormat,
- changeMonth: true,
- changeYear: true,
- monthNamesShort: monthNames,
- dayNamesMin: dayNamesMin,
- showOn: 'both',
- buttonImage: '../images/calendar.png',
- buttonImageOnly: true,
- constrainInput: true,
- yearRange: '-100:+100'
- });
- s = jQuery("#" + id );
- if( s.val()=='' ) s.val( getCurrentDate() );
-}
-
-function datePicker( id, today )
-{
- $("#" + id).datepicker(
- {
- dateFormat: dateFormat,
- changeMonth: true,
- changeYear: true,
- monthNamesShort: monthNames,
- dayNamesMin: dayNamesMin,
- showOn: 'both',
- buttonImage: '../images/calendar.png',
- buttonImageOnly: true,
- constrainInput: true,
- yearRange: '-100:+100'
- });
-
- if( today == undefined ) today = false;
-
- if( today ){
- s = jQuery("#" + id );
- if( s.val()=='' ) s.val( getCurrentDate() );
- }
-}
-
-function datePickerjQuery( jQueryString )
-{
- jQuery( jQueryString ).datepicker(
- {
- dateFormat: dateFormat,
- changeMonth: true,
- changeYear: true,
- monthNamesShort: monthNames,
- dayNamesMin: dayNamesMin,
- showOn: 'both',
- buttonImage: '../images/calendar.png',
- buttonImageOnly: true,
- constrainInput: true,
- yearRange: '-100:+100'
- });
-}
-
-/**
- * Create jQuery datepicker for input text with id * *
- *
- * @param id the id of input field which you want enter date *
- */
-function datePickerValid( id, today )
-{
- jQuery("#" + id).datepicker(
- {
- dateFormat: dateFormat,
- changeMonth: true,
- changeYear: true,
- monthNamesShort: monthNames,
- dayNamesMin: dayNamesMin,
- showOn: 'both',
- buttonImage: '../images/calendar.png',
- buttonImageOnly: true,
- maxDate: '+0d +0w',
- constrainInput: true,
- yearRange: '-100:+100'
- });
-
- if ( today == undefined )
- {
- today = false;
- }
-
- if( today )
- {
- s = jQuery("#" + id );
- if( s.val()=='' ) s.val( getCurrentDate() );
- }
-}
-
-/**
- * Create jQuery datepicker for start date and end ate text with id * *
- *
- * @param startdate the id of input field which you want enter start date *
- * @param enddate the id of input field which you want enter end date *
- */
-function datePickerInRange ( startdate, enddate, setCurrentStartDate, setCurrentEndDate )
-{
- if( setCurrentStartDate == undefined ) setCurrentStartDate = true;
- if( setCurrentEndDate == undefined ) setCurrentEndDate = true;
-
- s = jQuery("#" + startdate );
- e = jQuery("#" + enddate );
- if( setCurrentStartDate && s.val()=='') s.val( getCurrentDate() );
- if( setCurrentEndDate && e.val()=='' ) e.val( getCurrentDate() );
-
- var dates = $('#'+startdate+', #' + enddate).datepicker(
- {
- dateFormat: dateFormat,
- defaultDate: "+1w",
- changeMonth: true,
- changeYear: true,
- numberOfMonths: 1,
- monthNamesShort: monthNames,
- dayNamesMin: dayNamesMin,
- showAnim: '',
- showOn: 'both',
- buttonImage: '../images/calendar.png',
- buttonImageOnly: true,
- constrainInput: true,
- yearRange: '-100:+100',
- onSelect: function(selectedDate)
- {
- var option = this.id == startdate ? "minDate" : "maxDate";
- var instance = $(this).data("datepicker");
- var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
- dates.not(this).datepicker("option", option, date);
- }
- });
-
- $("#ui-datepicker-div").hide();
-}
-
-function getCurrentDate()
-{
- return jQuery.datepicker.formatDate( dateFormat , new Date() ) ;
-}
-
-/**
- * Create input table id become sortable table * *
- *
- * @param tableId the id of table you want to sort * *
- */
-
-function tableSorter( tableId, sortList )
-{
- if(sortList==undefined) sortList = [[0,0]];
-
- jQuery("#" + tableId ).tablesorter();
-
- if($("#" + tableId ).find("tbody").children().size() > 0 )
- {
- jQuery("#" + tableId ).trigger("sorton",[sortList]);
- }
-}
-
-function setSelectionRange( input, selectionStart, selectionEnd )
-{
- if ( input.setSelectionRange )
- {
- input.focus();
- input.setSelectionRange( selectionStart, selectionEnd );
- }
- else if ( input.createTextRange )
- {
- var range = input.createTextRange();
- range.collapse( true );
- range.moveEnd( 'character', selectionEnd );
- range.moveStart( 'character', selectionStart );
- range.select();
- }
-}
-
-function setCaretToPos ( input, pos )
-{
- setSelectionRange( input, pos, pos );
-}
-
-function insertTextCommon( inputAreaName, inputText )
-{
- var inputArea = document.getElementById( inputAreaName );
-
- // IE support
- if ( document.selection )
- {
- inputArea.focus();
- sel = document.selection.createRange();
- sel.text = inputText;
- inputArea.focus();
- }
- // MOZILLA/NETSCAPE support
- else if ( inputArea.selectionStart || inputArea.selectionStart == '0' )
- {
- var startPos = inputArea.selectionStart;
- var endPos = inputArea.selectionEnd;
-
- var existingText = inputArea.value;
- var textBefore = existingText.substring( 0, startPos );
- var textAfter = existingText.substring( endPos, existingText.length );
-
- inputArea.value = textBefore + inputText + textAfter;
- }
- else
- {
- inputArea.value += inputText;
- inputArea.focus();
- }
-
- setCaretToPos( inputArea, inputArea.value.length );
-}
-
-// -----------------------------------------------------------------------------
-// Form validation
-// -----------------------------------------------------------------------------
-
-/**
- * Create validator for fileds in form *
- *
- * this should replace validation() at some point, but theres just to much code
- * depending on the old version for now.
- *
- * See http://bassistance.de/jquery-plugins/jquery-plugin-validation/ for more
- * information about jquery.validate.
- *
- * @param formId form to validate
- * @param submitHandler the submitHandler to use
- * @param kwargs A dictionary of optional arguments, currently supported are:
- * beforeValidateHandler rules
- */
-function validation2(formId, submitHandler, kwargs)
-{
- var beforeValidateHandler = kwargs["beforeValidateHandler"];
- var rules = kwargs["rules"];
-
- var validator = jQuery("#" + formId ).validate({
- meta:"validate",
- errorElement:"span",
- beforeValidateHandler: beforeValidateHandler,
- submitHandler: submitHandler,
- rules: rules
- });
-
- $("#" + formId + " input").each(function(n) {
- try {
- $(this).attr("maxlength", rules[this.id].rangelength[1]);
- } catch(e) {}
- });
-
- var nameField = jQuery('#' + formId + ' :input')[0];
-
- if ( nameField )
- {
- nameField.focus();
- }
-
- return validator;
-}
-
-/**
- * @param form Get validation rules for this form
- *
- * @return Validation rules for a given form
- */
-function getValidationRules(form) {
- if( form !== undefined ) {
- return validationRules[form];
- }
-
- return validationRules;
-}
-
-function validation( formId, submitHandler, beforeValidateHandler )
-{
- var nameField = jQuery('#' + formId + ' :input')[0];
-
- var validator = jQuery("#" + formId ).validate({
- meta:"validate"
- ,errorElement:"span"
- ,beforeValidateHandler:beforeValidateHandler
- ,submitHandler: submitHandler
- });
-
- if ( nameField )
- {
- nameField.focus();
- }
-
- return validator;
-}
-
-/**
- * Add validation rule remote for input field
- *
- * @param inputId is id for input field
- * @param url is ajax request url
- * @param params is array of param will send to server by ajax request
- */
-function checkValueIsExist( inputId, url, params )
-{
- jQuery("#" + inputId).rules("add",{
- remote: {
- url:url,
- type:'post',
- data:params
- }
- });
-}
-
-function remoteValidateById( inputId, url, params )
-{
- jQuery("#" + inputId).rules("add",{
- remote: {
- url:url,
- type:'post',
- data:params
- }
- });
-}
-
-function remoteValidate( input , url, params )
-{
- jQuery( input ).rules("add",{
- remote: {
- url:url,
- type:'post',
- data:params
- }
- });
-}
-
-/**
- * Add any validator Rules for input
- *
- * @param inputId is id for input field
- * @param rules is array of rule
- * @note: input field must have name same with id
- */
-function addValidatorRulesById( inputId, rules )
-{
- addValidatorRules( jQuery("#" + inputId), rules );
-}
-
-function addValidatorRules( input, rules )
-{
- jQuery(input).rules( "add", rules );
-}
-
-/**
- * Remove validator Rules for input
- *
- * @param inputId is id for input field
- * @param rules is array of rule you want to remove
- * @note: input field must have name same with id
- */
-function removeValidatorRulesById( inputId, rules )
-{
- removeValidatorRules( jQuery("#" + inputId), rules );
-}
-
-function removeValidatorRules( input, rules )
-{
- jQuery(input).rules( "remove", rules );
-}
-
-function listValidator( validatorId, selectedListId )
-{
- memberValidator = jQuery( "#" + validatorId );
- memberValidator.attr( 'multiple', 'multiple');
- memberValidator.attr( 'name', validatorId );
- memberValidator.children().remove();
-
- jQuery.each( jQuery( "#" + selectedListId ).children(), function(i, item){
- item.selected = 'selected';
- memberValidator.append( '<option value="' + item.value + '" selected="selected">' + item.value + '</option>');
- });
-}
-
-// -----------------------------------------------------------------------------
-// Message
-// -----------------------------------------------------------------------------
-
-/**
- * Show message at the top-right of screen, this message will hide automatic
- * after 3 second if you don't set time
- *
- * @param message is message
- * @param time is time the message will hide after showed. Default is 3 second,
- * set time is 0 if you don't want to hide this message
- */
-function showErrorMessage( message, time )
-{
- jQuery.growlUI( i18n_error, message, 'error', time );
-}
-
-/**
- * Show message at the top-right of screen, this message will hide automatic
- * after 3 second if you don't set time
- *
- * @param message is message
- * @param time is time the message will hide after showed. Default is 3 second,
- * set time is 0 if you don't want to hide this message
- */
-function showSuccessMessage( message, time )
-{
- jQuery.growlUI( i18n_success, message, 'success', time );
-}
-
-/**
- * Show message at the top-right of screen, this message will hide automatic
- * after 3 second if you don't set time
- *
- * @param message is message
- * @param time is time the message will hide after showed. Default is 3 second,
- * set time is 0 if you don't want to hide this message
- */
-function showWarningMessage( message, time )
-{
- jQuery.growlUI( i18n_warning, message, 'warning', time );
-}
-
-function markInvalid( elementId, message )
-{
- var element = jQuery("#" + elementId );
- html = '<span htmlfor="' + element.attr('name') + '" generated="true" style="font-style: italic; color: red;" class="error">' + message + '</span>';
- element.next().remove();
- jQuery( html ).insertAfter( element );
-}
-
-function markValid( elementId )
-{
- var element = jQuery("#" + elementId );
- html = '<span htmlfor="' + element.attr('name') + '" generated="true" style="font-style: italic; color: red;" class="error valid"></span>';
- element.next().remove();
- jQuery( html ).insertAfter( element );
-}
-
-function isValid( elementId )
-{
- var next = jQuery("#" + elementId ).next( 'span[class~=valid]' );
-
- return next.length > 0 ;
-}
-
-// -----------------------------------------------------------------------------
-// GUI operations
-// -----------------------------------------------------------------------------
-
-/**
- * Clock screen by mask *
- */
-function lockScreen()
-{
- jQuery.blockUI({ message: i18n_waiting , css: {
- border: 'none',
- padding: '15px',
- backgroundColor: '#000',
- '-webkit-border-radius': '10px',
- '-moz-border-radius': '10px',
- opacity: .5,
- color: '#fff'
- } });
-}
-/**
- * unClock screen *
- */
-function unLockScreen()
-{
- jQuery.unblockUI();
-}
-
-function showPopupWindow( html, width, height)
-{
- var width_ = document.documentElement.clientWidth;
- var height_ = document.documentElement.clientHeight;
-
- var top = ((height_ / 2) - (height/2)) + 'px';
- var left = ((width_ / 2) - (width/2)) + 'px';
-
- jQuery.blockUI({ message: html, css: {cursor:'default', width: width + 'px', height: height + 'px', top: top , left: left} });
-}
-
-function showPopupWindowById( id, width, height )
-{
- var width_ = document.documentElement.clientWidth;
- var height_ = document.documentElement.clientHeight;
-
- var top = ((height_ / 2) - (height/2)) + 'px';
- var left = ((width_ / 2) - (width/2)) + 'px';
-
- container = jQuery("#" + id);
- container.css('width', width + 'px');
- container.css('height', height + 'px');
- container.css('top', top );
- container.css('left', left );
- container.css('z-index', 1000000 );
- container.css('position', 'fixed' );
- container.css('background-color', '#FFFFFF' );
- container.css('overflow', 'auto' );
- container.css('border', 'medium solid silver');
- container.show( jQuery.blockUI({message:null}));
-
-}
-
-function hidePopupWindow( id )
-{
- hideById( id );
- unLockScreen();
-}
-
-/**
- * Removes the opacity div from the document. function deleteDivEffect()
- */
-function deleteDivEffect()
-{
- var divEffect = document.getElementById( 'divEffect' );
-
- if( divEffect!=null )
- {
- document.body.removeChild(divEffect);
- }
-}
-
-/**
- * Used to export PDF file by the given type and the filter params in page
- */
-function exportPdfByType( type, params )
-{
- if ( jQuery( "table.listTable tbody tr" ).length == 0 )
- {
- showWarningMessage( i18n_no_item_to_export );
- return;
- }
-
- var form = byId( 'filterKeyForm' );
- form.action = 'exportToPdf.action?' + params;
- form.submit();
- form.action = type + '.action';
-}
-
-/**
- * Displays the div with the first argument id, and hides the divs with ids in
- * the second array argument, except the id given in the first argument.
- */
-function displayDiv( divId, divIds ) {
- $( "#" + divId ).show();
- for ( i in divIds ) {
- if ( divIds[i] != divId ) {
- $( "#" + divIds[i] ).hide();
- }
- }
-}
-
-function relativePeriodsChecked()
-{
- if ( isChecked( "reportingMonth" ) ||
- isChecked( "reportingBimonth" ) ||
- isChecked( "reportingQuarter" ) ||
- isChecked( "monthsThisYear" ) ||
- isChecked( "quartersThisYear" ) ||
- isChecked( "thisYear" ) ||
- isChecked( "monthsLastYear" ) ||
- isChecked( "quartersLastYear" ) ||
- isChecked( "lastYear" ) ||
- isChecked( "last5Years" ) ||
- isChecked( "last12Months" ) ||
- isChecked( "last4Quarters" ) )
- {
- return true;
- }
-
- return false;
-}
-
-// -----------------------------------------------------------------------------
-// Math methods
-// -----------------------------------------------------------------------------
-
-/**
- * Allow Zero likes 0 and 0.0x In which, x is Multiple leading zero.
- */
-function isValidZeroNumber( value )
-{
- var regex = /^0(?:\.0*)?$/;
- return regex.test( value );
-}
-
-/**
- * Allow only integers or a single Zero. No thousands seperators
- */
-function isInt(value)
-{
- var regex = /^(0|-?[1-9]\d*)$/;
- return regex.test( value );
-}
-
-/**
- * Allow only positive integers, not Zero and no thousands seperators
- */
-function isPositiveInt( value )
-{
- var regex = /^[1-9]\d*$/;
- return regex.test( value );
-}
-
-/**
- * Allow only negative integers, not Zero and no thousands seperators
- */
-function isNegativeInt( value )
-{
- var regex = /^-[1-9]\d*$/;
- return regex.test( value );
-}
-
-/**
- * Allow any real number,optionally with a sign, no thousands seperators and a
- * single decimal point.
- */
-function isRealNumber( value )
-{
- var regex = /^-?(0|[1-9]\d*)(\.\d+)?$/;
- return regex.test( value );
-}
-
-// Recommended in using this method
-// which same as name one from Ext
-function isNumber( value )
-{
- var regex = /^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;
- return regex.test( value );
-}
-
-function isPositiveNumber( value )
-{
- return isNumber( value ) && parseFloat( value ) > 0;
-}
-
-function isNegativeNumber( value )
-{
- return isNumber( value ) && parseFloat( value ) < 0;
-}
-
-function isZeroNumber( value )
-{
- return isNumber( value ) && parseFloat( value ) == 0;
-}
-
-function getRandomNumber()
-{
- return Math.floor( 1000000 * Math.random() );
-}
-
-/**
- * Rounds the given number to the given number of decimals.
- */
-function roundTo( number, decimals )
-{
- if ( number == null || isNaN( number ) || decimals == null || isNaN( decimals ) )
- {
- return number;
- }
-
- var factor = Math.pow( 10, decimals );
-
- return ( Math.round( number * factor ) / factor );
+ var detailArea = $("#detailsArea");
+ var top = (f_clientHeight() / 2) - 200;
+ if ( top < 0 ) top = 0;
+ var left = screen.width - detailArea.width() - 100;
+ detailArea.css({"left":left+"px","top":top+"px"});
+ detailArea.show('fast');
+
+}
+
+/**
+ * Get document width, hieght, scroll positions
+ * Work with all browsers
+ * @return
+ */
+
+function f_clientWidth() {
+ return f_filterResults (
+ window.innerWidth ? window.innerWidth : 0,
+ document.documentElement ? document.documentElement.clientWidth : 0,
+ document.body ? document.body.clientWidth : 0
+ );
+}
+function f_clientHeight() {
+ return f_filterResults (
+ window.innerHeight ? window.innerHeight : 0,
+ document.documentElement ? document.documentElement.clientHeight : 0,
+ document.body ? document.body.clientHeight : 0
+ );
+}
+function f_scrollLeft() {
+ return f_filterResults (
+ window.pageXOffset ? window.pageXOffset : 0,
+ document.documentElement ? document.documentElement.scrollLeft : 0,
+ document.body ? document.body.scrollLeft : 0
+ );
+}
+function f_scrollTop() {
+ return f_filterResults (
+ window.pageYOffset ? window.pageYOffset : 0,
+ document.documentElement ? document.documentElement.scrollTop : 0,
+ document.body ? document.body.scrollTop : 0
+ );
+}
+function f_filterResults(n_win, n_docel, n_body) {
+ var n_result = n_win ? n_win : 0;
+ if (n_docel && (!n_result || (n_result > n_docel)))
+ n_result = n_docel;
+ return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addCaseAggregation.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addCaseAggregation.vm 2011-11-02 07:04:50 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addCaseAggregation.vm 2011-12-05 05:00:07 +0000
@@ -181,6 +181,8 @@
<img src="../images/left_parent.png" alt="$i18n.getString( 'left_parent' )" onclick='insertOperator( "(" );' style="cursor:pointer;"/>
<img src="../images/right_parent.png" alt="$i18n.getString( 'right_parent' )" onclick='insertOperator( ")" );' style="cursor:pointer;"/>
+ <img src="images/yes.png" alt="$i18n.getString( 'yes' )" onclick='insertOperator( "true" );' style="cursor:pointer;"/>
+ <img src="images/no.png" alt="$i18n.getString( 'no' )" onclick='insertOperator( "false" );' style="cursor:pointer;"/>
<img src="../images/is_null.png" alt="$i18n.getString( 'is_null' )" onclick='insertOperator( "is null" );' style="cursor:pointer;"/>
<img src="../images/not_null.png" alt="$i18n.getString( 'not_null' )" onclick='insertOperator( "is not null" );' style="cursor:pointer;"/>
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateCaseAggregation.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateCaseAggregation.vm 2011-11-02 07:04:50 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateCaseAggregation.vm 2011-12-05 05:00:07 +0000
@@ -176,6 +176,8 @@
<img src="../images/left_parent.png" alt="$i18n.getString( 'left_parent' )" onclick='insertOperator( "(" );' style="cursor:pointer;"/>
<img src="../images/right_parent.png" alt="$i18n.getString( 'right_parent' )" onclick='insertOperator( ")" );' style="cursor:pointer;"/>
+ <img src="images/yes.png" alt="$i18n.getString( 'yes' )" onclick='insertOperator( "true" );' style="cursor:pointer;"/>
+ <img src="images/no.png" alt="$i18n.getString( 'no' )" onclick='insertOperator( "false" );' style="cursor:pointer;"/>
<img src="../images/is_null.png" alt="$i18n.getString( 'is_null' )" onclick='insertOperator( "is null" );' style="cursor:pointer;">
<img src="../images/not_null.png" alt="$i18n.getString( 'not_null' )" onclick='insertOperator( "is not null" );' style="cursor:pointer;">