ea3886a0-b94e-4b5d-aca0-7e8de6c20c1ce3d77a81-476f-4241-b85e-bdb3dc8ef0e3GPS-Force Capture[no description]FalseDooblo6360020513178000006360020560578347393155378903999970000TrueFalse4False0SurveyToGo.UserLogic.Creator.SurveyLogicTempl<?xml version="1.0" encoding="utf-16"?>
<UserLogicContents xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Items>
<HData>
<HTp>ehtQuestion</HTp>
<STp>estLast</STp>
<CTp>echtLast</CTp>
<QTp>eqhtValidationRule</QTp>
<Key>1</Key>
<Name>HandleQuestionValidate_1</Name>
<Behv>ecsbDefault</Behv>
<QDep />
<CDep />
</HData>
<HData>
<HTp>ehtQuestion</HTp>
<STp>estLast</STp>
<CTp>echtLast</CTp>
<QTp>eqhtStart</QTp>
<Key>2</Key>
<Name>QuestionStart_2</Name>
<Behv>ecsbDefault</Behv>
<QDep />
<CDep />
</HData>
<HData>
<HTp>ehtQuestion</HTp>
<STp>estLast</STp>
<CTp>echtLast</CTp>
<QTp>eqhtStart</QTp>
<Key>1</Key>
<Name>QuestionStart_1</Name>
<Behv>ecsbDefault</Behv>
<QDep />
<CDep />
</HData>
</Items>
<Source>
function StartSurvey()
{
/*_@_SS_START_@*/
/*_@_SS_END_@*/
}
/*_@_USERCODE_START_@*/
function dblToJSArray(inArray){
var retVal = new Array();
for(var i=0; i<inArray.length; i++){
retVal.push(inArray[i]);
}
return retVal;
}
function dblColorFromRGB(red, green, blue){
return (255<<24)+ (red<<16) + (green<<8) + blue;
}
function dblDistanceFromGPSFence (fenceLat, fenceLon)
{
var pi = Math.PI;
var fenceLatInRad=fenceLat* pi / 180;
var fenceLonInRad=fenceLon* pi / 180;
var targetLatInRad = GetGPSLocation().Latitude * pi / 180;
var targetLonInRad = GetGPSLocation().Longitude * pi / 180;
var dist = Math.acos(Math.sin(targetLatInRad) * Math.sin(fenceLatInRad) + Math.cos(targetLatInRad) * Math.cos(fenceLatInRad) * Math.cos(targetLonInRad - fenceLonInRad)) * 6371;
return dist;
}
function dblIsInGPSFence (fenceLat, fenceLon, distInKM)
{
var dist = dblDistanceFromGPSFence(fenceLat, fenceLon);
var retVal = false;
if(dist<distInKM){
retVal=true;}
else{
retVal=false;
}
return retVal;
}
function dblDistanceBetweenTwoLocations (firstLat, firstLon, secondLat, secondLon)
{
var pi = Math.PI;
var firstLatInRad=firstLat* pi / 180;
var firstLonInRad=firstLon* pi / 180;
var targetLatInRad = secondLat * pi / 180;
var targetLonInRad = secondLon * pi / 180;
var dist = Math.acos(Math.sin(targetLatInRad) * Math.sin(firstLatInRad) + Math.cos(targetLatInRad) * Math.cos(firstLatInRad) * Math.cos(targetLonInRad - firstLonInRad)) * 6371;
return dist;
}
function dblSumNumericGrid(inQ)
{
var retVal=0;
var numOfTopics=GetTopicCount(inQ);
var i;
for(i=1; i<=numOfTopics; i++)
{
if (IsTopicVisible(inQ,i)) {
retVal+=AnswerChoice(inQ,i);
}
}
return retVal;
}
function dblContainsOneOf(inQTarget,inAnswers)
{
var retVal = false;
var numOfAnswers = inAnswers.length;
var i;
for (i=0;i< numOfAnswers;i++) {
if (Contains(inQTarget,inAnswers[i])) {
retVal = true;
break;
}
}
return retVal;
}
//function dblContainsAll(inQTarget,inAnswers)
//{
// var retVal = true;
// var numOfAnswers = arguments.length-1;
// var i;
// for (i=0;i< numOfAnswers;i++) {
// retVal = retVal && Contains(inQTarget,arguments[i+1]);
// }
// return retVal;
//}
function dblContainsAllOf(inQTarget,inAnswers)
{
var retVal = true;
var numOfAnswers = inAnswers.length;
var i;
for (i=0;i< numOfAnswers;i++) {
retVal = retVal && Contains(inQTarget,inAnswers[i]);
}
return retVal;
}
function dblNumOfTopicsContains(inQ, inValueToCheck)
{
var retVal = 0;
var i=0;
for (i=1; i<=GetTopicCount(inQ);i++){
if (IsTopicVisible(inQ,i) && AnswerChoice(inQ,i) == inValueToCheck) {
retVal++;
}
}
return retVal;
}
function dblNumOfTopicsContainsChoice(inQ, inValueToCheck)
{
var retVal = 0;
var i=0;
for (i=1; i<=GetTopicCount(inQ);i++){
if (IsTopicVisible(inQ,i) && ContainsChoice(inQ,i,inValueToCheck)) {
retVal++;
}
}
return retVal;
}
function dblNumOfIterContains(inQ, inValueToCheck)
{
var retVal = 0;
var i=0;
for (i=1; i<IterationIndex;i++){
if (ContainsIter(inQ,inValueToCheck,i)) {
retVal++;
}
}
return retVal;
}
function dblSetSpecificTopic(inQ, inTopicIndex, inValue)
{
var curTopics = GetTopicCount(inQ);
var newAnswers=new Array();
var newArIdx=0;
var i;
for (i=0;i< curTopics;i++) {
var actualTopic = i+1;
if (actualTopic == inTopicIndex) {
newAnswers[i] = inValue;
}
else {
newAnswers[i] = AnswerChoice(inQ,actualTopic);
}
}
SetAnswer(inQ,newAnswers);
}
function dblSetSpecificTopicChoice(inQ, inTopicIndex, inValue)
{
var curTopics = GetTopicCount(inQ);
var newAnswers=new Array();
newAnswers.push(inValue);
var i;
var ansArr = GetAnswersChoice(inQ, inTopicIndex);
for (i=0;i < ansArr.length;i++)
{
newAnswers.push(ansArr[i]);
}
SetAnswerChoice(inQ, inTopicIndex, newAnswers);
}
function dblSetSpecificAnswer(inQ, inAnswerIdx, inChecked)
{
var curAnswers = GetAnswers(inQ);
var newAnswers=new Array();
var newArIdx=0;
var i;
for (i=0;i< curAnswers.length;i++) {
if (curAnswers[i] != inAnswerIdx) {
newAnswers[newArIdx] = curAnswers[i];
newArIdx++;
}
}
if (inChecked) {
newAnswers[newArIdx] = inAnswerIdx;
}
if (newAnswers.length > 0) {
SetAnswer(inQ,newAnswers);
}
else {
ClearAnswer(inQ);
}
}
function dblSetAnswersByAnswers(inQTarget,inQids)
{
var numOfQues = inQids.length;
var numOfAnswers = GetAnswerCount(inQids[0]);
var i;
for (i=1;i<= numOfAnswers;i++) {
var contained = false;
var j;
for (j=0; j<numOfQues;j++) {
contained = Contains(inQids[j],i);
if (contained) {
break;
}
}
if (contained) {
dblSetSpecificAnswer(inQTarget, i,true);
}
}
}
function dblSetAnswersByAnswersEx (inQTarget,inQids,inExcludeHiddenTargetAnswers)
{
var numOfQues = inQids.length;
var numOfAnswers = GetAnswerCount(inQids[0]);
var i;
// go over all answers and for each check if it exists in the source questions
for (i=1;i<= numOfAnswers;i++) {
var contained = false;
var j;
// go over all source questions and check if the answer is checked
for (j=0; j<numOfQues;j++) {
contained = Contains(inQids[j],i);
if (contained) {
break;
}
}
// in case it was contained check if need to add to target question
if (contained) {
var addAnswer = true;
if ((inExcludeHiddenTargetAnswers) && !IsAnswerVisible(inQTarget,i)) {
addAnswer = false;
}
if (addAnswer) {
dblSetSpecificAnswer(inQTarget, i,true);
}
}
}
}
function dblSumOfTopics (inQuesIdx)
{
var retVal = 0;
var i;
var numOfTopics = GetTopicCount(inQuesIdx);
for (i=0;i<numOfTopics;i++) {
var currTopic = i+1;
if (IsTopicVisible (inQuesIdx, currTopic)) {
var currValue = AnswerChoice(inQuesIdx, currTopic);
if (currValue != -99999) {
retVal += currValue;
}
}
}
return retVal;
}
function dblFormatNumberToCurrency(num) {
var retVal = "";
var num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
var sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
var cents = num%100;
num = Math.floor(num/100).toString();
var addZero = "";
if(cents<10) {
addZero = "0";
}
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
}
retVal = (((sign)?'':'-') + '$' + num + '.' +addZero+ cents)
return retVal;
}
function dblToFloat(inNumber)
{
var retVal = parseFloat(inNumber.toString().replace(",", "."));
return retVal;
}
function dblSetAnswerVisible(inQTarget,inValue,inReset,inAnswers)
{
var retVal = false;
var numOfAnswers = inAnswers.length;
var i;
if (inReset) {
SetAnswerVisible(inQTarget,true);
}
for (i=0;i< numOfAnswers;i++) {
SetAnswerVisible(inQTarget, inAnswers[i], inValue);
}
return retVal;
}
function dblContainsByText(inQIdx, inText)
{
var retVal = false;
var i=0;
for (i=0; i<GetAnswerCount(inQIdx); i++){
var idx = i+1;
var text = AnswerText(inQIdx,idx);
if (text == inText) {
if (Contains(inQIdx,idx)) {
retVal = true;
break;
}
}
}
return retVal;
}
function dblFilterAnswersByAnswersByText (inTargetQ, inShow,inSourceQ)
{
SetAnswerVisible(inTargetQ,!inShow);
var i =0;
for (i=0; i<GetAnswerCount(inTargetQ);i++){
var idx = i+1;
var text = AnswerText(inTargetQ,idx);
if (dblContainsByText(inSourceQ,text)) {
SetAnswerVisible(inTargetQ,idx,inShow);
}
}
return true;
}
function dblFilterTopicsByAnswersByText (inTargetQ, inShow, inSourceQ)
{
SetTopicVisible(inTargetQ,!inShow);
var i=0;
for (i=0; i<GetTopicCount(inTargetQ); i++){
var idx = i+1;
var text = GetTopicOriginalText(inTargetQ,idx);
if (dblContainsByText(inSourceQ,text)) {
SetTopicVisible(inTargetQ,idx,inShow);
}
}
return true;
}
function dblGetSubjectStoreRow(inStoreName,inIDColumnName,inID)
{
var retVal = null;
try {
var table = GetTableFromStore(inStoreName,"","@@"+inIDColumnName+"='"+inID+"'","");
if (table != null && table.RowCount >0) {
var row = table[0];
retVal = row;
}
}
catch(err)
{
retVal = null;
}
return retVal;
}
function dblIsRegEx (pattern,value) {
var pattern = new RegExp(pattern);
return pattern.test(value);
}
function dblDateToSQLDate(inDate)
{
var retVal = "";
retVal = inDate.Year+"-"+inDate.Month+"-"+inDate.Day;
return retVal;
}
function dblOrderArray(inOrderArray, inDataArray)
{
var retVal = CreateRandomArray(inOrderArray.length);
var i = 0;
for (i = 0; i < inOrderArray.length; i++) {
retVal[i] = inDataArray[inOrderArray[i]-1];
}
return retVal;
}
function dblRespondentID ()
{
var retVal = "".concat("D", SID, "-", DeviceIndex);
return retVal;
}
function OnGPSUpdated(inLocation)
{
if ((SubjectGPSLocation==null || !SubjectGPSLocation.IsValid) && inLocation!=null && inLocation.IsValid)
{
SubjectGPSLocation = inLocation;
}
}
function myLocationDataValid ()
{
var retVal = false;
retVal = SubjectGPSLocation.IsValid;
if (!retVal) {
SubjectGPSLocation = GetGPSLocation();
retVal = SubjectGPSLocation.IsValid;
if (!retVal) {
OpenGPS();
}
}
return retVal;
}
/*_@_USERCODE_END_@*/
//_@_AddHandler_@{ Begin Add Handlers
//_@_AddHandler_@} End Add Handlers
//_@_HandlerZone_@{
function QuestionStart_1()
{
SetTextFormat(CurrQues,myLocationDataValid());
}
function QuestionStart_2()
{
SetTextFormat(CurrQues,SubjectGPSLocation.Longitude,SubjectGPSLocation.Latitude);
}
function HandleQuestionValidate_1(ioValid)
{
/*_@_CC_@{1}_@_CC_@*/
ioValid.outMessage = "";
ioValid.outID = -1;
ioValid.retVal = true;
if (1 < 0) {{
}}
if (!myLocationDataValid()) {
ioValid.retVal = false;
ioValid.outMessage = "The GPS location was not recorded. You can't finish the survye like this, please step outside of the building and make sure you are under a clear sky and retry";
ioValid.outID = 1;
return;
}
}
//_@_HandlerZone_@}
function JSDBLInitAllScript()
{
}var eJumpQuestionResult = {ejqrNext:0, ejqrSubmit:1,ejqrCancel:2,ejqrFilter:3,ejqrNone:4,ejqrIndex:5,ejqrChapter:6};
var ePlatform = {None:0, Web:1, PC:2, PDA:4, MobileWeb:8, SmartPhone:16, Android:32, AllWindows:31, AllJSEnabled: 34, All:63};
var eAttachmentSource = {easDefault:0};
var eAskButtons = {OKCancel:0, YesNoCancel:1, YesNo:2};
var eAskResult = {None:0, OK:1, Yes:2, No:3, Cancel:4};
var eQuotaFilledResult = {Default:0,Filter:1,Cancel:2,Nothing:3};
var eExtraLabel = { MatrixLower:0, MatrixMiddle:1, MatrixUpper:2, MatrixIrrelevant:3, ScaleLower:4, ScaleMiddle:5, ScaleUpper:6, CountersTotal:7,CountersRemaining:8, NumericGridTotal:9, NumericGridRemaining:10 };
var eULQuestionType = {eqtYesNo: 0,
eqtAmerican: 1,
eqtNumeric: 2,
eqtFreeText: 3,
eqtMultiSelect: 4,
eqtRating: 5,
eqtScale: 6,
eqtMatrix: 7,
eqtMultiTopics: 8,
eqtNoQuestion: 9,
eqtDateTime: 10,
eqtCounters: 11,
eqtStopper: 12,
eqtMassiveMultiSelect: 13,
eqtExpression: 14,
eqtMultiText: 15,
eqtMultiNumeric: 16,
eqtMultimedia: 17,
eqtMultiTopicsSelect: 18,
eqtGPSQuestion: 19,
eqtListSource: 20,
eqtPositionTopicsOnImage: 21,
eqtNumOfTypes: 22};
var eRenderGridAlignment = {Top: 0,
Center: 1,
Bottom: 2};
var eInterviewExtraField = {AttemptsPerCompletedInterview: 0,
AdherenceToMethodology: 1};
</Source>
</UserLogicContents>FalseFalseFalse-101.32.0.0AAEAAAD/////AQAAAAAAAAAMAgAAAEdVc2VyTG9naWNDcmVhdG9yLCBWZXJzaW9uPTEuMC4xLjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAKVN1cnZleVRvR28uVXNlckxvZ2ljLkNyZWF0b3IuQXNzZW1ibHlEYXRhEAAAAAZtVGFibGUNbVN1cnZleUNvbnN0cw9tU3VydmV5U25pcHBldHMNbUNoYXB0ZXJUYWJsZQ1tTGFzdEJ1Y2tldElEEW1MYXN0TWV0YUJ1Y2tldElED21TdXJ2ZXlJbml0Q29kZRBtU3VydmV5QmxvY2tDb2RlEW1MYXN0TGlzdFNvdXJjZUlEE21MYXN0Q3VzdG9tQWN0aW9uSUQHbUZsYXZvcg5tVXNlR2xvYmFsQ29kZQttVXNlT3JnQ29kZQ5tU3RyaWN0SlNDaGVjaxdtTGFzdEF0dGFjaG1lbnRTb3VyY2VJRA5tU3VydmV5TmF2Q29kZQMDAwMAAAEBAAAEAAAAAAEeU3lzdGVtLkNvbGxlY3Rpb25zLkhhc2h0YWJsZVtdHFN5c3RlbS5Db2xsZWN0aW9ucy5IYXNodGFibGUeU3lzdGVtLkNvbGxlY3Rpb25zLkhhc2h0YWJsZVtdHlN5c3RlbS5Db2xsZWN0aW9ucy5IYXNodGFibGVbXQgICAgkU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5lRmxhdm9yAgAAAAEBAQgCAAAACQMAAAAJBAAAAAkFAAAACQYAAAABAAAAAgAAAAYHAAAAAAYIAAAA/wNmdW5jdGlvbiBPbkdQU1VwZGF0ZWQoaW5Mb2NhdGlvbikNCnsNCiAgICBpZiAoKFN1YmplY3RHUFNMb2NhdGlvbj09bnVsbCB8fCAhU3ViamVjdEdQU0xvY2F0aW9uLklzVmFsaWQpICYmIGluTG9jYXRpb24hPW51bGwgJiYgaW5Mb2NhdGlvbi5Jc1ZhbGlkKQ0KICAgIHsNCiAgICAgICAgU3ViamVjdEdQU0xvY2F0aW9uID0gaW5Mb2NhdGlvbjsNCiAgICB9DQp9DQpmdW5jdGlvbiBteUxvY2F0aW9uRGF0YVZhbGlkICgpDQp7DQogICAgdmFyIHJldFZhbCA9IGZhbHNlOw0KICAgIHJldFZhbCA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yLlF1ZXN0aW9uVmFsaWRhdGVJbmZvBQAAABlRdWVzdGlvbkluZm8rbVF1ZXN0aW9uSWR4FlF1ZXN0aW9uSW5mbyttSGFzRXJyb3IiUXVlc3Rpb25JbmZvK21RdWVzdGlvbkRlcGVuZGVuY2llcyFRdWVzdGlvbkluZm8rbUNoYXB0ZXJEZXBlbmRlbmNpZXMMdmFsaWRhdGVJbmZvAAADAwQIARxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0HFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QpU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5WYWxpZGF0ZUluZm8CAAAAAgAAAAEAAAAACUkAAAAJSgAAAAlLAAAABUcAAAArU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5RdWVzdGlvbkFjdGlvbgUAAAAZUXVlc3Rpb25JbmZvK21RdWVzdGlvbklkeBZRdWVzdGlvbkluZm8rbUhhc0Vycm9yIlF1ZXN0aW9uSW5mbyttUXVlc3Rpb25EZXBlbmRlbmNpZXMhUXVlc3Rpb25JbmZvK21DaGFwdGVyRGVwZW5kZW5jaWVzBkFjdGlvbgAAAwMBCAEcU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdBxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AgAAAAIAAAAACUwAAAAJTQAAAAZOAAAAUVNldFRleHRGb3JtYXQoQ3VyclF1ZXMsU3ViamVjdEdQU0xvY2F0aW9uLkxvbmdpdHVkZSxTdWJqZWN0R1BTTG9jYXRpb24uTGF0aXR1ZGUpOwFIAAAARwAAAAEAAAAACU8AAAAJUAAAAAZRAAAALlNldFRleHRGb3JtYXQoQ3VyclF1ZXMsbXlMb2NhdGlvbkRhdGFWYWxpZCgpKTsESQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24FAAAICAlSAAAAAAAAAAAAAAABSgAAAEkAAAAJUgAAAAAAAAAAAAAABUsAAAApU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5WYWxpZGF0ZUluZm8CAAAACmNvbmRpdGlvbnMGbmV4dElEBAA9U3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5WYWxpZGF0ZUluZm8rVmFsaWRhdGVDb25kaXRpb25bXQIAAAAIAgAAAAlTAAAAAgAAAAFMAAAASQAAAAlUAAAAAAAAAAAAAAABTQAAAEkAAAAJVAAAAAAAAAAAAAAAAU8AAABJAAAACVIAAAAAAAAAAAAAAAFQAAAASQAAAAlSAAAAAAAAAAAAAAAQUgAAAAAAAAAHUwAAAAABAAAAAQAAAAQ7U3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5WYWxpZGF0ZUluZm8rVmFsaWRhdGVDb25kaXRpb24CAAAACVYAAAAQVAAAAAAAAAAFVgAAADtTdXJ2ZXlUb0dvLlVzZXJMb2dpYy5DcmVhdG9yLlZhbGlkYXRlSW5mbytWYWxpZGF0ZUNvbmRpdGlvbgMAAAAJY29uZGl0aW9uA21zZwJJRAQBACZTdXJ2ZXlUb0dvLlVzZXJMb2dpYy5DcmVhdG9yLkNvbmRpdGlvbgIAAAAIAgAAAAlXAAAABlgAAACfAVRoZSBHUFMgbG9jYXRpb24gd2FzIG5vdCByZWNvcmRlZC4gWW91IGNhbid0IGZpbmlzaCB0aGUgc3VydnllIGxpa2UgdGhpcywgcGxlYXNlIHN0ZXAgb3V0c2lkZSBvZiB0aGUgYnVpbGRpbmcgYW5kIG1ha2Ugc3VyZSB5b3UgYXJlIHVuZGVyIGEgY2xlYXIgc2t5IGFuZCByZXRyeQEAAAAFVwAAACZTdXJ2ZXlUb0dvLlVzZXJMb2dpYy5DcmVhdG9yLkNvbmRpdGlvbgEAAAAFbVRleHQBAgAAAAZZAAAAFiFteUxvY2F0aW9uRGF0YVZhbGlkKCkL-1112726297721-11-110-1-165536-1-1-10-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