@@ -0,0 +1,269 @@
/*
* jQuery MD5 Plugin 1.2.1
* https://github.com/blueimp/jQuery-MD5
*
* Copyright 2010, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://creativecommons.org/licenses/MIT/
*
* Based on
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
* Digest Algorithm, as defined in RFC 1321.
* Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for more info.
*/

/*jslint bitwise: true */
/*global unescape, jQuery */

(function ($) {
'use strict';

/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function safe_add(x, y) {
var lsw = (x & 0xFFFF) + (y & 0xFFFF),
msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}

/*
* Bitwise rotate a 32-bit number to the left.
*/
function bit_rol(num, cnt) {
return (num << cnt) | (num >>> (32 - cnt));
}

/*
* These functions implement the four basic operations the algorithm uses.
*/
function md5_cmn(q, a, b, x, s, t) {
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
}
function md5_ff(a, b, c, d, x, s, t) {
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function md5_gg(a, b, c, d, x, s, t) {
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function md5_hh(a, b, c, d, x, s, t) {
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
function md5_ii(a, b, c, d, x, s, t) {
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}

/*
* Calculate the MD5 of an array of little-endian words, and a bit length.
*/
function binl_md5(x, len) {
/* append padding */
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;

var i, olda, oldb, oldc, oldd,
a = 1732584193,
b = -271733879,
c = -1732584194,
d = 271733878;

for (i = 0; i < x.length; i += 16) {
olda = a;
oldb = b;
oldc = c;
oldd = d;

a = md5_ff(a, b, c, d, x[i], 7, -680876936);
d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);

a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
b = md5_gg(b, c, d, a, x[i], 20, -373897302);
a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);

a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
d = md5_hh(d, a, b, c, x[i], 11, -358537222);
c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);

a = md5_ii(a, b, c, d, x[i], 6, -198630844);
d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);

a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
}
return [a, b, c, d];
}

/*
* Convert an array of little-endian words to a string
*/
function binl2rstr(input) {
var i,
output = '';
for (i = 0; i < input.length * 32; i += 8) {
output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);
}
return output;
}

/*
* Convert a raw string to an array of little-endian words
* Characters >255 have their high-byte silently ignored.
*/
function rstr2binl(input) {
var i,
output = [];
output[(input.length >> 2) - 1] = undefined;
for (i = 0; i < output.length; i += 1) {
output[i] = 0;
}
for (i = 0; i < input.length * 8; i += 8) {
output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32);
}
return output;
}

/*
* Calculate the MD5 of a raw string
*/
function rstr_md5(s) {
return binl2rstr(binl_md5(rstr2binl(s), s.length * 8));
}

/*
* Calculate the HMAC-MD5, of a key and some data (raw strings)
*/
function rstr_hmac_md5(key, data) {
var i,
bkey = rstr2binl(key),
ipad = [],
opad = [],
hash;
ipad[15] = opad[15] = undefined;
if (bkey.length > 16) {
bkey = binl_md5(bkey, key.length * 8);
}
for (i = 0; i < 16; i += 1) {
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}
hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
return binl2rstr(binl_md5(opad.concat(hash), 512 + 128));
}

/*
* Convert a raw string to a hex string
*/
function rstr2hex(input) {
var hex_tab = '0123456789abcdef',
output = '',
x,
i;
for (i = 0; i < input.length; i += 1) {
x = input.charCodeAt(i);
output += hex_tab.charAt((x >>> 4) & 0x0F) +
hex_tab.charAt(x & 0x0F);
}
return output;
}

/*
* Encode a string as utf-8
*/
function str2rstr_utf8(input) {
return unescape(encodeURIComponent(input));
}

/*
* Take string arguments and return either raw or hex encoded strings
*/
function raw_md5(s) {
return rstr_md5(str2rstr_utf8(s));
}
function hex_md5(s) {
return rstr2hex(raw_md5(s));
}
function raw_hmac_md5(k, d) {
return rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d));
}
function hex_hmac_md5(k, d) {
return rstr2hex(raw_hmac_md5(k, d));
}

$.md5 = function (string, key, raw) {
if (!key) {
if (!raw) {
return hex_md5(string);
} else {
return raw_md5(string);
}
}
if (!raw) {
return hex_hmac_md5(key, string);
} else {
return raw_hmac_md5(key, string);
}
};

}(typeof jQuery === 'function' ? jQuery : this));
@@ -96,23 +96,25 @@ var NewUserTable = (function() {
}
});

$('#newUserForm').submit(function(){
$('#newUserForm').submit(function(data){
//todo more validation
var formData = $('#newUserForm').serialize();
if( $("#newUserForm input[name=password]").val() === $("#newUserForm input[name=passwordRetype]").val()) {
$.ajax({
type: "post",
url: "userManager/addUser",
data: formData,
success: function(result) {
DynamicTable.refresh();
hide();
},
error: function(result) {
alert("ERROR!!");//todo ui spec for form validation
}

});
Utils.encryptCredentials(data);
$("#newUserForm input[name=passwordRetype]").val("");
var formData = $('#newUserForm').serialize();
$.ajax({
type: "post",
url: "userManager/addUser",
data: formData,
success: function(result) {
DynamicTable.refresh();
hide();
},
error: function(result) {
alert("ERROR!!");//todo ui spec for form validation
}

});
} else {
alert("Password do not match");//todo ui spec for form validation
}
@@ -14,29 +14,31 @@ var QuestionUiElement = function( questionModel ){
var type = question.questionType.id;

switch( +type ){
case 1:
case QuestionType.DESCRIPTIVE:
createDescriptive();
break;
case 2:
case QuestionType.INTEGER:
createNumeric();
break;
case 3:
case QuestionType.DECIMAL:
createNumeric();
break;
case 4:
case QuestionType.DATE:
createDate();
break;
case 6:
case QuestionType.IMAGE:
createImage();
break;
case 10:
case QuestionType.TIME:
createTime();
break;
case QuestionType.EXCLUSIVE:
createSelect( true );
break;
case 11:
case QuestionType.CHOICE:
createSelect( false );
break;
default:

}
}

@@ -54,8 +56,6 @@ var QuestionUiElement = function( questionModel ){
function createNumeric(){
var elem = $(
'<div>'
+ '</div>'
+ '<div>'
+ '<span class="detailLabel defaultLabel">DEFAULT:</span><input class="numericDefault detailInputText" type="text" name="numericDefault" />'
+ '<input class="rangeCheckMin" type="checkbox" name="minRangeCheckBox" />'
+ '<span class="detailLabel">MIN.RANGE</span>'
@@ -77,29 +77,86 @@ var QuestionUiElement = function( questionModel ){
}

function onCheckBoxMinChange(){
var inputElem = $( '#' + question.uiId + ' input.rangeInputMin' );
if( $( '#' + question.uiId + ' input.rangeCheckMin' ).attr( 'checked' ) ){
$( '#' + question.uiId + ' input.rangeInputMin' ).removeAttr( 'disabled' );
inputElem.removeAttr( 'disabled' );
}else{
$( '#' + question.uiId + ' input.rangeInputMin' ).attr( 'disabled', 'disabled' );
inputElem.attr( 'disabled', 'disabled' );
}
}

function onCheckBoxMaxChange(){
var inputElem = $( '#' + question.uiId + ' input.rangeInputMax' );
if( $( '#' + question.uiId + ' input.rangeCheckMax' ).attr( 'checked' ) ){
$( '#' + question.uiId + ' input.rangeInputMax' ).removeAttr( 'disabled' );
inputElem.removeAttr( 'disabled' );
}else{
$( '#' + question.uiId + ' input.rangeInputMax' ).attr( 'disabled', 'disabled' );
inputElem.attr( 'disabled', 'disabled' );
}
}

function createDate(){
return $( '<span>Date element<span>' );
var elem = $(
'<div class="dateDefault">'
+ '<span class="detailLabel defaultLabel">DEFAULT:</span><input class="detailInputText dateInput" type="text" name="numericDefault" />'
+ '</div>'

+ '<div>'
+ '<input class="rangeCheckMin" type="checkbox" name="minRangeCheckBox" />'
+ '<span class="detailLabel">MIN.RANGE</span>'
+ '<input class="dateInput rangeInputMin detailInputText" type="text" name="minRange" />' // TODO localize
+ '<input class="rangeCheckMax" type="checkbox" name="maxRangeCheckBox" />'
+ '<span class="detailLabel">MAX.RANGE</span>'
+ '<input class="dateInput rangeInputMax detailInputText" type="text" name="maxRange" />' // TODO localize
+ '</div>'
);


$( '#' + question.uiId + ' div.questionDetails' ).append( elem );
$( '#' + question.uiId + ' .dateInput' ).datepicker({
showOn: "button",
buttonImage: "images/Calendar-icon.png",
buttonImageOnly: true
});


$( '#' + question.uiId + ' input.rangeCheckMin').change( function (){onCheckBoxMinChange();} );
$( '#' + question.uiId + ' input.rangeCheckMax').change( function (){onCheckBoxMaxChange();} );
onCheckBoxMinChange();
onCheckBoxMaxChange();
}

function createImage(){
return $( '<span>Image element<span>' );
}

function createTime(){
var elem = $(
'<div class="timeDefault">'
+ '<span class="detailLabel defaultLabel">DEFAULT:</span>'
+ '<input class="detailInputText timeInput" type="text" name="numericDefault" />'
+ '<input class="amPmRadio" type="radio" name="amPm" value="ampm" /><span class="amPmLabel">AM/PM</span>'
+ '<input class="amPmRadio" checked="checked" type="radio" name="amPm" value="24hrs" /><span class="amPmLabel">24 HRS</span>'
+ '</div>'
);

$( '#' + question.uiId + ' div.questionDetails' ).append( elem );
$( '#' + question.uiId + ' .timeInput' ).timeEntry({
spinnerImage: '',
show24Hours: true
});

$( '#' + question.uiId + ' .amPmRadio' ).click(function(){
var value = $("#" + question.uiId + " input[@name=amPm]:checked").attr('value');
if( value == 'ampm' ){
$('#' + question.uiId + ' .timeInput' ).timeEntry('change', {show24Hours: false});
}else{
$('#' + question.uiId + ' .timeInput' ).timeEntry('change', {show24Hours: true});
}
});

$( '#' + question.uiId + ' .timeInput' ).val( );
}

function createSelect( isExclusive ){

$( '#'+ question.uiId + ' div.additionalButtons' ).append(
@@ -140,10 +197,11 @@ var QuestionUiElement = function( questionModel ){
optionType = 'checkbox';
}

var labelId = optionId + 'label'
var labelId = optionId + 'label';

$( '#' + question.uiId + ' div.options' ).append(
'<div id="' + optionId + '" class="optionInput">'
+ '<input type="' + optionType + '" class="optionCheckBox" />'
+ '<input name="' + question.uiId + '" type="' + optionType + '" class="optionCheckBox" />'
+ '<span id="' + labelId + '" class="detailLabel optionLabel">' + option.label + '</span>'
+ '<div class="deleteOption"></div>'
+ '</div>'
@@ -152,7 +210,7 @@ var QuestionUiElement = function( questionModel ){
new EditedLabel( $( "#" + labelId ), function( newLabel ){
onOptionLabelChanged( optionId, newLabel );});

$( '#'+ optionId + ' span.deleteOption' ).click( optionId, function( optId ){deleteOption( optId.data );});
$( '#'+ optionId + ' .deleteOption' ).click( optionId, function( optId ){deleteOption( optId.data );});
}

function onAddOptionClicked( event ){
@@ -47,7 +47,7 @@ var SendSurvey = function() {
$.ajax(
{
type: "POST",
url: "surveyManager/sendsurveys/" + currentSurveyId ,
url: "sendsurveys/" + currentSurveyId ,
data: {users : selectedUsers},
success: function(msg){
alert( "Surveys available");
@@ -30,9 +30,12 @@ var SurveyList = function() {


$('#pageSelect').empty();
$('#pageSelect').append('<H2 id=sectionTitle>Survey List</H2><H3 id=userManagement>User Admin</H3>');
$('#userManagement').click(function() {UserManagement.showUserManagement()});

$('#pageSelect').append('<H2 id=sectionTitle>Survey List</H2>');
if(hasAdminPermission)
{
$('#pageSelect').append('<H3 id=userManagement>User Admin</H3>');
$('#userManagement').click(function() {UserManagement.showUserManagement()});
}
$('#uploadForm').submit( function () {uploadNewSurvey();} );
$('#buttonSendFile').click( function() {$('#uploadForm').submit( )});

@@ -177,7 +177,7 @@ function Question( question ){
this.label = "New question";
this.objectName = "question" + numRand;
this.questionType = new Object();
this.questionType.id = 1;
this.questionType.id = QuestionType.DESCRIPTIVE;
this.questionOptionCollection = [];
}
}
@@ -0,0 +1,10 @@
var Utils = function() {
return {
encryptCredentials: function(form) {encryptCredentials(form);}
};

function encryptCredentials(form) {
form.currentTarget.password.value = $.md5( form.currentTarget.username.value + ":NDG:" + form.currentTarget.password.value );
return true;
}
}();
@@ -0,0 +1,41 @@
<html>
<head>
<title>Login Page</title>
<script src="javascripts/libs/jquery-1.6.2.min.js"></script>
<script src="javascripts/libs/jquery.md5.js"></script>
<script type="text/javascript" src="javascripts/utils.js"></script>
</head>
<body>
#{form @Application.authorize(), id:'loginForm'}

<p>
#{field 'Login'}
<label>Login:</label>
<input type="text" name="username" />
#{/field}
</p>

<p>
#{field 'content'}
<label>Password</label>
<input type="password" name="password" />
#{/field}
</p>

<p>
<input type="submit" value="Login" />
</p>

#{/form}
#{if flash.error}

<script type="text/javascript"> alert("username and/or password is incorrect"); </script>
#{/if}
<script>

$(document).ready(function() {
$('#loginForm').submit($(this), function(data){Utils.encryptCredentials(data)});
});
</script>
</body>
</html>
@@ -76,6 +76,7 @@
line-height: 32px;
text-align: center;
text-transform: uppercase;
cursor: default;
}

.buttonMedium {
@@ -128,4 +129,4 @@

.fileinput-button-text {
padding: 0px !important;
}
}
@@ -2,33 +2,33 @@

@font-face {
font-family: "Nokia Pure Text";
src: url("../other/NokiaPureText/nokiapuretext-webfont.eot?"); /* IE9 */
src: url("../other/NokiaPureText/nokiapuretext-webfont.eot?v=2.2.5.11#iefix") format("eot"), /* IE6-IE8 */
url("../other/NokiaPureText/nokiapuretext-webfont.woff?v=2.2.5.11") format("woff"), /* Modern Browsers */
url("../other/NokiaPureText/nokiapuretext-webfont.ttf?v=2.2.5.11") format("truetype"), /* Safari, Android, iOS */
url("../other/NokiaPureText/nokiapuretext-webfont.svg?2.2.5.11#webfont4UxFerZxv=") format("svg"); /* Legacy iOS */
src: url("../other/NokiaPureText/nokiapuretext-webfont.eot"); /* IE9 */
src: url("../other/NokiaPureText/nokiapuretext-webfont.eot") format("eot"), /* IE6-IE8 */
url("../other/NokiaPureText/nokiapuretext-webfont.woff") format("woff"), /* Modern Browsers */
url("../other/NokiaPureText/nokiapuretext-webfont.ttf") format("truetype"), /* Safari, Android, iOS */
url("../other/NokiaPureText/nokiapuretext-webfont.svg") format("svg"); /* Legacy iOS */
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: "Nokia Pure Text Bold";
src: url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.eot?"); /* IE9 */
src: url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.eot?v=2.2.5.11#iefix") format("eot"), /* IE6-IE8 */
url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.woff?v=2.2.5.11") format("woff"), /* Modern Browsers */
url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.ttf?v=2.2.5.11") format("truetype"), /* Safari, Android, iOS */
url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.svg?2.2.5.11#NokiaPureTextBold") format("svg"); /* Legacy iOS */
src: url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.eot"); /* IE9 */
src: url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.eot") format("eot"), /* IE6-IE8 */
url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.woff") format("woff"), /* Modern Browsers */
url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.ttf") format("truetype"), /* Safari, Android, iOS */
url("../other/NokiaPureTextBold/nokiapuretextbold-webfont.svg") format("svg"); /* Legacy iOS */
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: "Nokia Pure Text Light";
src: url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.eot?"); /* IE9 */
src: url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.eot?v=2.2.5.11#iefix") format("eot"), /* IE6-IE8 */
url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.woff?v=2.2.5.11") format("woff"), /* Modern Browsers */
url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.ttf?v=2.2.5.11") format("truetype"); /* Safari, Android, iOS */
url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.svg?2.2.5.11#NokiaPureTextLight") format("svg"); /* Legacy iOS */
src: url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.eot"); /* IE9 */
src: url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.eot") format("eot"), /* IE6-IE8 */
url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.woff") format("woff"), /* Modern Browsers */
url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.ttf") format("truetype"); /* Safari, Android, iOS */
url("../other/NokiaPureTextLight/nokiapuretextlight-webfont.svg") format("svg"); /* Legacy iOS */
font-weight: normal;
font-style: normal;
}
@@ -13,7 +13,7 @@ div.questionDetails

.detailLabel
{
font-size: 12pt;
font-size: 12px;
color: #878787;
font-family: "Nokia Pure Text";
text-align: left;
@@ -24,12 +24,13 @@ div.questionDetails

.detailInputText
{
font-size: 12pt;
font-size: 12px;
margin-right: 20px;
width : 50px;
color: #acacac;
font-family: "Nokia Pure Text";
text-align: left;
border: 1px solid #acacac;
}

.descriptiveDefault.detailInputText
@@ -107,5 +108,37 @@ div.deleteOption:active {

.optionCheckBox
{
margin-right: 7px;
margin-right: 10px;
}

.dateInput, .timeInput
{
width: 100px;
margin-right: 5px;

}

.ui-datepicker-trigger
{
margin-right: 40px;
}

div.dateDefault
{
margin-bottom: 7px;
}

.typeSelect
{
font-size: 14px;
color: #acacac;
font-family: "Nokia Pure Text";
text-align: left;
border: 1px solid #acacac;
}

.amPmRadio
{
margin-left: 30px;
}

@@ -60,4 +60,4 @@
.sendSurvey-customCheckbox-checked img{
background: transparent url(../images/check1.png) no-repeat;
background-position: center;
}
}
@@ -178,4 +178,4 @@
font-size: 12px;
font-family: "Nokia Pure Text";
color: #3a77ca;
}
}
@@ -4,7 +4,10 @@

# Home page
GET / Application.index
GET /login Application.login
GET /logout Application.logout
GET /management Management.index
POST /authorize Application.authorize
GET /management/{id} Management.get
POST /management Management.save
POST /management/upload Management.upload