<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.catglobe.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cg+loc</id>
	<title>Catglobe Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.catglobe.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cg+loc"/>
	<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/Special:Contributions/Cg_loc"/>
	<updated>2026-04-11T04:07:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Talk:QuestionnaireAnswerSheet_reset&amp;diff=24261</id>
		<title>Talk:QuestionnaireAnswerSheet reset</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Talk:QuestionnaireAnswerSheet_reset&amp;diff=24261"/>
		<updated>2012-03-27T09:51:31Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: moved Talk:QuestionnaireAnswerSheet reset to QAS reset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[QAS reset]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=QAS_reset&amp;diff=24260</id>
		<title>QAS reset</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=QAS_reset&amp;diff=24260"/>
		<updated>2012-03-27T09:51:31Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: moved Talk:QuestionnaireAnswerSheet reset to QAS reset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;﻿﻿{{HelpFiles}} &lt;br /&gt;
&lt;br /&gt;
==== QAS_reset  ====&lt;br /&gt;
&lt;br /&gt;
This function is to reset a Questionnaire Answer Sheet &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset() &lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(number QASID) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arguments&#039;&#039;&#039;&lt;br /&gt;
QASID is a numeric (non-decimal) expression. It is the Questionnaire Answer Sheet ID of current Questionnaire. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return type&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
empty &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(); &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(28415738); &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Availability&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Version 5.6 __NOTOC__ &lt;br /&gt;
&lt;br /&gt;
[[Category:Questionnaire_Functions]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=QuestionnaireAnswerSheet_reset&amp;diff=24259</id>
		<title>QuestionnaireAnswerSheet reset</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=QuestionnaireAnswerSheet_reset&amp;diff=24259"/>
		<updated>2012-03-27T09:49:35Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;﻿﻿{{HelpFiles}} &lt;br /&gt;
&lt;br /&gt;
==== QAS_reset  ====&lt;br /&gt;
&lt;br /&gt;
This function is to reset a Questionnaire Answer Sheet &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntax&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset() &lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(number QASID) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arguments&#039;&#039;&#039; QASID is a numeric (non-decimal) expression. It is the Questionnaire Answer Sheet ID of current Questionnaire. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return type&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
empty &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(); &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(28415738); &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Availability&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Version 5.6 __NOTOC__ &lt;br /&gt;
&lt;br /&gt;
[[Category:Questionnaire_Functions]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=QAS_reset&amp;diff=24258</id>
		<title>QAS reset</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=QAS_reset&amp;diff=24258"/>
		<updated>2012-03-27T09:33:40Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;﻿﻿{{HelpFiles}} &lt;br /&gt;
&lt;br /&gt;
==== QAS_reset  ====&lt;br /&gt;
&lt;br /&gt;
This function is to reset a Questionnaire Answer Sheet &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset() &lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(number QASID) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arguments&#039;&#039;&#039;&lt;br /&gt;
QASID is a numeric (non-decimal) expression. It is the Questionnaire Answer Sheet ID of current Questionnaire. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return type&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
empty &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(); &lt;br /&gt;
&lt;br /&gt;
QuestionnaireAnswerSheet_reset(28415738); &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Availability&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Version 5.6 __NOTOC__ &lt;br /&gt;
&lt;br /&gt;
[[Category:Questionnaire_Functions]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Show_language_selector_page&amp;diff=24039</id>
		<title>Show language selector page</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Show_language_selector_page&amp;diff=24039"/>
		<updated>2012-02-14T08:22:50Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
In order to let the respondents choose a language to view the questionnaire&amp;lt;br/&amp;gt;&lt;br /&gt;
As a questionnaire creator&amp;lt;br/&amp;gt;&lt;br /&gt;
I want to show a language selection page as below&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Language_selector.png]]&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
*Add a page question to show the flags, hide Next and Back button&lt;br /&gt;
*In order to use store the selected language for future reference, we need to create a single question D_CurrentLanguage with languages as options&lt;br /&gt;
*In order to change the language, we need to make a post request to server with parameters:&lt;br /&gt;
**dir = changelanguage&lt;br /&gt;
**languageselector = the selected language&#039;s ISO code&lt;br /&gt;
*In order to go Next after setting the language, we need to submit the form again with &amp;quot;next&amp;quot; as parameter &amp;quot;dir&amp;quot;&#039;s value&lt;br /&gt;
*Questionnaire on cg.catglobe.com site: Javascript demo 04 (172339)&lt;br /&gt;
===HTML Code===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;img style=&amp;quot;border: 0&amp;quot; height=&amp;quot;50&amp;quot; width=&amp;quot;50&amp;quot; src=&amp;quot;../../Images/GetImage.aspx?rid=9e152350-ae1e-47c7-bf0d-0a6f07df3679&amp;quot; onclick=&amp;quot;Question.onLanguageSelect(1);&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            Welcome, please choose your language (United Kingdom)&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;img style=&amp;quot;border: 0&amp;quot; height=&amp;quot;50&amp;quot; width=&amp;quot;50&amp;quot; src=&amp;quot;../../Images/GetImage.aspx?rid=06ac1811-1aa5-4b19-9186-b46153d91106&amp;quot; onclick=&amp;quot;Question.onLanguageSelect(2);&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            Welcome, please choose your language (United States)&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;img style=&amp;quot;border: 0&amp;quot; height=&amp;quot;50&amp;quot; width=&amp;quot;50&amp;quot; src=&amp;quot;../../Images/GetImage.aspx?rid=a3dd8263-817b-4f11-bd87-defb13b7cf68&amp;quot; onclick=&amp;quot;Question.onLanguageSelect(3);&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            Bienvenue - Choisissez votre pays (France)&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;img style=&amp;quot;border: 0&amp;quot; height=&amp;quot;50&amp;quot; width=&amp;quot;50&amp;quot; src=&amp;quot;../../Images/GetImage.aspx?rid=e9e6fa0f-af1b-401b-89a1-5d5a9535e13c&amp;quot; onclick=&amp;quot;Question.onLanguageSelect(4);&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            Welcome, please choose your language (Deutschland)&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;img style=&amp;quot;border: 0&amp;quot; height=&amp;quot;50&amp;quot; width=&amp;quot;50&amp;quot; src=&amp;quot;../../Images/GetImage.aspx?rid=4057e800-0de6-43a1-b737-dbe0642cd414&amp;quot; onclick=&amp;quot;Question.onLanguageSelect(5);&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            Welcome, please choose your language (Nederland)&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Javascript===&lt;br /&gt;
&amp;lt;source lang=javascript&amp;gt;&lt;br /&gt;
quest.myOnInit = function()&lt;br /&gt;
{&lt;br /&gt;
   $(&#039;img&#039;).css(&amp;quot;cursor&amp;quot;,&amp;quot;pointer&amp;quot;);&lt;br /&gt;
   $(&#039;&amp;lt;input type=&amp;quot;hidden&amp;quot;&amp;gt;&#039;)&lt;br /&gt;
   .attr(&#039;id&#039;, &#039;languageSelector&#039;)&lt;br /&gt;
   .attr(&#039;name&#039;, &#039;languageselector&#039;)&lt;br /&gt;
   .appendTo($(&#039;#page_question_text&#039;));   &lt;br /&gt;
   $(&#039;#page_question_text&#039;).append($(&amp;quot;&amp;lt;input type=&#039;hidden&#039;&amp;gt;&amp;quot;).attr(&#039;name&#039;,&#039;QUESTION.D_CurrentLanguage&#039;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Question =&lt;br /&gt;
{&lt;br /&gt;
   &lt;br /&gt;
   onLanguageSelect: function(option)&lt;br /&gt;
   {&lt;br /&gt;
      $(&amp;quot;input[name=&#039;QUESTION.D_CurrentLanguage&#039;]&amp;quot;).val(option);&lt;br /&gt;
      var isoCode;&lt;br /&gt;
      switch(option)&lt;br /&gt;
      {&lt;br /&gt;
         case 1:&lt;br /&gt;
            isoCode = &amp;quot;en-UK&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
         case 2:&lt;br /&gt;
            isoCode = &amp;quot;en-US&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
         case 3:&lt;br /&gt;
            isoCode = &amp;quot;fr-FR&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
         case 4:&lt;br /&gt;
            isoCode = &amp;quot;de-DE&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
         case 5:&lt;br /&gt;
            isoCode = &amp;quot;nl-NL&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
         default:&lt;br /&gt;
            break;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $(&#039;#languageSelector&#039;).val(isoCode);&lt;br /&gt;
   &lt;br /&gt;
      var myurl =  $(&amp;quot;form&amp;quot;).attr(&amp;quot;action&amp;quot;);&lt;br /&gt;
      var mydata = &amp;quot;dir=changelanguage&amp;amp;languageselector=&amp;quot;+isoCode;&lt;br /&gt;
      $.ajax({&lt;br /&gt;
         type: &amp;quot;POST&amp;quot;,&lt;br /&gt;
         url: myurl,&lt;br /&gt;
         data: mydata,&lt;br /&gt;
         success: function(msg)&lt;br /&gt;
         {&lt;br /&gt;
            document.query.dir.value = &amp;quot;next&amp;quot;;&lt;br /&gt;
            document.query.submit();&lt;br /&gt;
         },&lt;br /&gt;
         error:function(msg)&lt;br /&gt;
         {&lt;br /&gt;
         }&lt;br /&gt;
      });  &lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Code sample==&lt;br /&gt;
&lt;br /&gt;
Open the qnaire &amp;quot;Js demo - some js samples&amp;quot; (Resource Id: 159684). View the setup of the Question &amp;quot;LanguageSelector&amp;quot;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Upload_images_in_questionnaire&amp;diff=23915</id>
		<title>Upload images in questionnaire</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Upload_images_in_questionnaire&amp;diff=23915"/>
		<updated>2012-02-07T03:22:25Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
We have a client who wants respondents to be able to upload images in a questionnaire&lt;br /&gt;
&lt;br /&gt;
= Solution =&lt;br /&gt;
&lt;br /&gt;
When the recipient open the answersheet to answer, we will create the new folder whose name is recipient&#039;s name under the questionnaire then store the images that the he uploads in the image tab of this new created folder.&lt;br /&gt;
[[File:Question.jpg]]&lt;br /&gt;
&lt;br /&gt;
= How to do it  =&lt;br /&gt;
&lt;br /&gt;
== Requirement  ==&lt;br /&gt;
&lt;br /&gt;
*The user template of the recipients must have the navigation access to open the Image tab of the Folder and upload the images in this image tab.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Preparation ==&lt;br /&gt;
&lt;br /&gt;
* In the group list, create the group containing the recipients and grant the needed navigation accesses to this group &lt;br /&gt;
&lt;br /&gt;
* In the folder list, create the folder containing all the recipients&#039;s folder.&lt;br /&gt;
&lt;br /&gt;
* Check the folder template resource id that the folder will use. &lt;br /&gt;
&lt;br /&gt;
== Step 2: Create the new folder for the recipient ==&lt;br /&gt;
&lt;br /&gt;
(You can see the script in the workflow whose resource id is 45408 in cg.catglobe.com)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
array para = Workflow_getParameters();&lt;br /&gt;
number userId = para[0];&lt;br /&gt;
&lt;br /&gt;
number ImageFolderResourceId = 45406;&lt;br /&gt;
number FolderTemplateResourceId = 2071;&lt;br /&gt;
&lt;br /&gt;
array newFolder ;&lt;br /&gt;
number userResourceId = User_getResourceIdFromUserId(userId);&lt;br /&gt;
array userinfo = User_getUserByResourceId(userResourceId);&lt;br /&gt;
&lt;br /&gt;
string ExistedFolderName = getNameFromResourceUniqueId(ImageFolderResourceId) + &amp;quot;\\&amp;quot;+ userinfo[USER_NAME];&lt;br /&gt;
array ExistedFolder = Folder_getFolderByName(ExistedFolderName);&lt;br /&gt;
&lt;br /&gt;
if (ExistedFolder == empty) &lt;br /&gt;
{&lt;br /&gt;
newFolder = Folder_new(userinfo[USER_NAME],FolderTemplateResourceId ,ImageFolderResourceId); &lt;br /&gt;
Folder_save(newFolder);&lt;br /&gt;
}&lt;br /&gt;
else &lt;br /&gt;
{&lt;br /&gt;
newFolder = ExistedFolder ;&lt;br /&gt;
}&lt;br /&gt;
array permissions = {{userId , &amp;quot;FullControl&amp;quot;}};&lt;br /&gt;
updateUserPermission(newFolder[FOLDER_RESOURCE_ID], permissions);&lt;br /&gt;
string guid = getResourceGuid(newFolder[FOLDER_RESOURCE_ID]);&lt;br /&gt;
return getResourceIdFromGuid(guid);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3: Set up the questionnaire ==&lt;br /&gt;
&lt;br /&gt;
(You can see the questionnaire whose resource id is 45405 in cg.catglobe.com)&lt;br /&gt;
&lt;br /&gt;
=== Step 3.1 : Create the dummy question for storing the folder id ===&lt;br /&gt;
&lt;br /&gt;
We will call the workflow in step 2 to get the new created folder id of recipient&lt;br /&gt;
&lt;br /&gt;
=== Step 3.2 : Add the following script to the questionnaire ===&lt;br /&gt;
&lt;br /&gt;
Paste this code below into Javascript tab of the questionnaire &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*---------------------------------------------------------------------------------------------------------------&lt;br /&gt;
	Server info&lt;br /&gt;
---------------------------------------------------------------------------------------------------------------*/&lt;br /&gt;
var ServerInfo =&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;rootPath&amp;quot; : window.location.protocol+&amp;quot;//&amp;quot;+window.location.host&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*---------------------------------------------------------------------------------------------------------------&lt;br /&gt;
	ResourceType enumeration&lt;br /&gt;
---------------------------------------------------------------------------------------------------------------*/&lt;br /&gt;
var ResourceType =&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;Folder&amp;quot;:&amp;quot;Folder&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// IFrame&lt;br /&gt;
//&lt;br /&gt;
function IFrame(parentElement)  &lt;br /&gt;
{  &lt;br /&gt;
   // Create the iframe which will be returned  &lt;br /&gt;
   var iframe = document.createElement(&amp;quot;iframe&amp;quot;);  &lt;br /&gt;
  &lt;br /&gt;
   // If no parent element is specified then use body as the parent element  &lt;br /&gt;
   if(parentElement == null)  &lt;br /&gt;
      parentElement = document.body;  &lt;br /&gt;
  &lt;br /&gt;
   // This is necessary in order to initialize the document inside the iframe  &lt;br /&gt;
   parentElement.appendChild(iframe);  &lt;br /&gt;
&lt;br /&gt;
   // Get the document object of the IFrame&lt;br /&gt;
   iframe.getDocument = function()&lt;br /&gt;
   {&lt;br /&gt;
      // Depending on browser platform get the iframe&#039;s document, this is only  &lt;br /&gt;
      // available if the iframe has already been appended to an element which  &lt;br /&gt;
      // has been added to the document  &lt;br /&gt;
&lt;br /&gt;
      var doc;&lt;br /&gt;
&lt;br /&gt;
      if(this.contentDocument)  &lt;br /&gt;
         // Firefox, Opera  &lt;br /&gt;
         doc = this.contentDocument;  &lt;br /&gt;
      else if(this.contentWindow)  &lt;br /&gt;
         // Internet Explorer  &lt;br /&gt;
         doc = this.contentWindow.document;  &lt;br /&gt;
      else if(this.document)  &lt;br /&gt;
         // Others?  &lt;br /&gt;
         doc = this.document;&lt;br /&gt;
&lt;br /&gt;
      // If we did not succeed in finding the document then throw an exception  &lt;br /&gt;
      if(doc == null)  &lt;br /&gt;
         throw &amp;quot;Document not found, append the parent element to the DOM before creating the IFrame&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      return doc;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Set iframe source&lt;br /&gt;
   iframe.setSource = function(src)&lt;br /&gt;
   {&lt;br /&gt;
      // Set the source&lt;br /&gt;
      this.src = src;&lt;br /&gt;
&lt;br /&gt;
      // Initialize the iframe&#039;s document&lt;br /&gt;
      this.doc = this.getDocument();&lt;br /&gt;
 &lt;br /&gt;
      // Open and close the iframe&#039;s document, this will allow us to manipulate&lt;br /&gt;
      // the iframe&#039;s contents by script&lt;br /&gt;
      iframe.doc.open();  &lt;br /&gt;
      iframe.doc.close();  &lt;br /&gt;
   }&lt;br /&gt;
  // Set iframe source&lt;br /&gt;
   iframe.setWidth = function(width)&lt;br /&gt;
   {&lt;br /&gt;
      // Set the width&lt;br /&gt;
      this.width = width;&lt;br /&gt;
   }	&lt;br /&gt;
  // Set iframe source&lt;br /&gt;
   iframe.setHeight = function(height)&lt;br /&gt;
   {&lt;br /&gt;
      // Set the height&lt;br /&gt;
      this.height = height;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Initiate the iframe&#039;s document property&lt;br /&gt;
   iframe.doc = iframe.getDocument();&lt;br /&gt;
  &lt;br /&gt;
   // Open and close the iframe&#039;s document, this will allow us to manipulate&lt;br /&gt;
   // the iframe&#039;s contents by script&lt;br /&gt;
   iframe.doc.open();  &lt;br /&gt;
   iframe.doc.close();  &lt;br /&gt;
  &lt;br /&gt;
   // Return the iframe, now with an extra property iframe.doc containing the  &lt;br /&gt;
   // iframe&#039;s document  &lt;br /&gt;
   return iframe;  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*---------------------------------------------------------------------------------------------------------------&lt;br /&gt;
	AttachmentList question control&lt;br /&gt;
---------------------------------------------------------------------------------------------------------------*/&lt;br /&gt;
function ImageList(elementContainer, width,height)&lt;br /&gt;
{&lt;br /&gt;
   this._elementContainer = elementContainer;&lt;br /&gt;
this._iframe = new IFrame(this._elementContainer);&lt;br /&gt;
$(this._iframe)&lt;br /&gt;
.attr(&amp;quot;id&amp;quot;, &amp;quot;ImageListIFrame&amp;quot;)&lt;br /&gt;
.bind(&amp;quot;load&amp;quot;,&lt;br /&gt;
	function()&lt;br /&gt;
	{&lt;br /&gt;
		if(this.src == &#039;&#039;)&lt;br /&gt;
			return;&lt;br /&gt;
$(&#039;#ImageListIFrame&#039;).contents().find(&#039;#Imagesxtoolbar_Item_1&#039;).hide();&lt;br /&gt;
$(&#039;#ImageListIFrame&#039;).contents().find(&#039;#Imagesxtoolbar_Item_2&#039;).hide();&lt;br /&gt;
$(&#039;#ImageListIFrame&#039;).contents().find(&#039;#Imagesxtoolbar_Item_3&#039;).hide();&lt;br /&gt;
	});&lt;br /&gt;
if (width != null)&lt;br /&gt;
   this._iframe.setWidth(width);&lt;br /&gt;
if (height != null)&lt;br /&gt;
   this._iframe.setHeight(height);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ImageList.path = &amp;quot;{rootPath}/Common/Resources/View/ContainerPage.aspx?tabtype=Images&amp;amp;type={type}&amp;amp;id={id}&amp;amp;isportal=false&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ImageList.prototype =&lt;br /&gt;
{&lt;br /&gt;
   createImageListUrl: function(type, id)&lt;br /&gt;
   {&lt;br /&gt;
      return ImageList.path&lt;br /&gt;
         .replace(&amp;quot;{rootPath}&amp;quot;, ServerInfo.rootPath)&lt;br /&gt;
         .replace(&amp;quot;{type}&amp;quot;, type)&lt;br /&gt;
         .replace(&amp;quot;{id}&amp;quot;, id);&lt;br /&gt;
   },&lt;br /&gt;
   &lt;br /&gt;
   setFolderId: function(FolderId)&lt;br /&gt;
   {&lt;br /&gt;
      $(this._iframe)&lt;br /&gt;
         .attr(&amp;quot;src&amp;quot;, this.createImageListUrl(ResourceType.Folder, FolderId));&lt;br /&gt;
   },&lt;br /&gt;
&lt;br /&gt;
   getImages: function()&lt;br /&gt;
   {&lt;br /&gt;
      var Name = 1;&lt;br /&gt;
      var nameList = new Array();&lt;br /&gt;
&lt;br /&gt;
      with(this._iframe.contentWindow)&lt;br /&gt;
      {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         var grid = getCGExecuter().getGridUtilities().getGrid(__gridClientId);&lt;br /&gt;
&lt;br /&gt;
         for (var rowIndex = 0; rowIndex &amp;lt;grid.Rows.length; rowIndex ++)&lt;br /&gt;
         {&lt;br /&gt;
            nameList.push(grid.Rows.rows[rowIndex].getCell(Name).getValue());&lt;br /&gt;
&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      return nameList;&lt;br /&gt;
   },&lt;br /&gt;
   getGUIDs: function()&lt;br /&gt;
   {&lt;br /&gt;
      var Name = 2;&lt;br /&gt;
      var nameList = new Array();&lt;br /&gt;
      &lt;br /&gt;
      with(this._iframe.contentWindow)&lt;br /&gt;
      {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         var grid = getCGExecuter().getGridUtilities().getGrid(__gridClientId);&lt;br /&gt;
         var guidtext;&lt;br /&gt;
         for (var rowIndex = 0; rowIndex &amp;lt;grid.Rows.length; rowIndex ++)&lt;br /&gt;
         {&lt;br /&gt;
           guid = grid.Rows.rows[rowIndex].getCell(Name).getValue();&lt;br /&gt;
            nameList.push(jQuery.trim(guid.split(&#039;&amp;lt;a&#039;)[0]));&lt;br /&gt;
&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      return nameList;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*---------------------------------------------------------------------------------------------------------------&lt;br /&gt;
	End JAVA_SCRIPT of QUESTIONNAIRE&lt;br /&gt;
---------------------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3.3 : Create the question for showing the upload form  ===&lt;br /&gt;
&lt;br /&gt;
Paste this code below into Javascript tab of that question &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*-------------------------------------------------------------------------&lt;br /&gt;
	Set initial information for the uploading image&lt;br /&gt;
-------------------------------------------------------------------------*/&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
	quest.ImageList = new ImageList($(&amp;quot;#attachmentContainer&amp;quot;).get(0), &amp;quot;800px&amp;quot;,&amp;quot;400px&amp;quot; );&lt;br /&gt;
	quest.ImageList.setFolderId(&#039;{{D_Current_Folder_Id}}&#039;);&lt;br /&gt;
        $(&amp;quot;#attachmentContainer&amp;quot;).append($(&amp;quot;&amp;lt;input name=&#039;QUESTION.D_Image_Guid&#039; type=&#039;hidden&#039;&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*-------------------------------------------------------------------------&lt;br /&gt;
	- Validate the question. Automaticaly called.&lt;br /&gt;
	- You must upload at least 1 image&lt;br /&gt;
-------------------------------------------------------------------------*/&lt;br /&gt;
function questioncheck()&lt;br /&gt;
{&lt;br /&gt;
   // Subscription form valid variable&lt;br /&gt;
	var valid = true;&lt;br /&gt;
    ErrorMessages.getInstance().clearErrorMessages();&lt;br /&gt;
	var list = quest.ImageList.getImages();&lt;br /&gt;
	if (list.length &amp;lt; 1)&lt;br /&gt;
	{&lt;br /&gt;
		ErrorMessages.getInstance().showErrorMessage(&#039;You must upload at least 1 image.&#039;);&lt;br /&gt;
		valid = false;&lt;br /&gt;
	}&lt;br /&gt;
   // Return result of validation&lt;br /&gt;
    var getGuid = quest.ImageList.getGUIDs();&lt;br /&gt;
   $(&amp;quot;input[name$=&#039;QUESTION.D_Image_Guid&#039;]&amp;quot;).val(getGuid);&lt;br /&gt;
   return valid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*---------------------------------------------------------------------------------------------------------------&lt;br /&gt;
	End JAVA_SCRIPT of QUESTION Insert_Image&lt;br /&gt;
---------------------------------------------------------------------------------------------------------------*/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 75216&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Change_progress_bar_images_of_questionnaire&amp;diff=23911</id>
		<title>Change progress bar images of questionnaire</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Change_progress_bar_images_of_questionnaire&amp;diff=23911"/>
		<updated>2012-02-06T10:25:39Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Change progress bar images of questionnaire layout  ==&lt;br /&gt;
&lt;br /&gt;
We have 12 images used for progress bar in questionnaire layout. To change them, we will override the function quest.progress.getHTML(). &lt;br /&gt;
&lt;br /&gt;
@Note: The way I used below is only used in Questionnaire layout template because in &amp;quot;Questionnaire layout template&amp;quot; we can insert javascript inside HTML tab. &lt;br /&gt;
&lt;br /&gt;
Step 1: Upload 12 images in any folder, better if you store them in the Images tab of Questionnaire layout editor to handle easly in future. &lt;br /&gt;
&lt;br /&gt;
Step 2: Get their links and replace in the javascript below (in step 3). &lt;br /&gt;
&lt;br /&gt;
Step 3: Paste this code below (include open and close SCRIPT tag) into HTML tab of Questionnaire layout editor. &lt;br /&gt;
&lt;br /&gt;
Questionnaire on cg.catglobe.com site: &#039;&#039;&#039;Javascript demo 04&#039;&#039;&#039; (172339)&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SCRIPT type=text/javascript&amp;gt;&lt;br /&gt;
if (typeof quest != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
	//Replace your image links here&lt;br /&gt;
	quest.progress.images[0] = &amp;quot;/Images/GetImage.aspx?rid=5b9cb0ba-aec2-4dab-9e40-4f2c9b65f439&amp;quot;;&lt;br /&gt;
	quest.progress.images[1] = &amp;quot;/Images/GetImage.aspx?rid=b345753b-0421-4057-80b8-1a352381be39&amp;quot;;&lt;br /&gt;
	quest.progress.images[2] = &amp;quot;/Images/GetImage.aspx?rid=e53d9e52-0626-4e89-8585-6eda036b1404&amp;quot;;&lt;br /&gt;
	quest.progress.images[3] = &amp;quot;/Images/GetImage.aspx?rid=a5c7bc2f-295b-45c4-9b27-f4680fc09d26&amp;quot;;&lt;br /&gt;
	quest.progress.images[4] = &amp;quot;/Images/GetImage.aspx?rid=17e47887-4e55-45dc-b318-c6bd0649bab6&amp;quot;;&lt;br /&gt;
	quest.progress.images[5] = &amp;quot;/Images/GetImage.aspx?rid=17bcf8b5-ffd5-4242-ad35-86692c58024a&amp;quot;;&lt;br /&gt;
	quest.progress.images[6] = &amp;quot;/Images/GetImage.aspx?rid=3d6b6526-8731-4bc1-a40a-9dac1abe4f7f&amp;quot;;&lt;br /&gt;
	quest.progress.images[7] = &amp;quot;/Images/GetImage.aspx?rid=f8c61240-c39b-49b5-ab80-ade5e8a94ad0&amp;quot;;&lt;br /&gt;
	quest.progress.images[8] = &amp;quot;/Images/GetImage.aspx?rid=b52bf511-5bdc-4427-b750-bf4e757572a2&amp;quot;;&lt;br /&gt;
	quest.progress.images[9] = &amp;quot;/Images/GetImage.aspx?rid=575979f6-b780-45a6-adf4-cc1f564c8084&amp;quot;;&lt;br /&gt;
	quest.progress.images[10] = &amp;quot;/Images/GetImage.aspx?rid=2027ea23-b428-4a87-80ee-f180966beb8d&amp;quot;;&lt;br /&gt;
	quest.progress.images[11] = &amp;quot;/Images/GetImage.aspx?rid=5ce8fa51-e815-4007-a77e-c66e11f370e5&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	quest.progress.getHTML = function()&lt;br /&gt;
	{&lt;br /&gt;
		 var i, j;&lt;br /&gt;
		 var sres = &amp;quot;&amp;quot;;&lt;br /&gt;
		 if (this.images.length &amp;gt; 0) this.step = 100 / this.images.length;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;table border=&amp;quot;+this.bordersize+&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;table border=0 cellspacing=0 cellpadding=0&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 if (this.type == 0) {&lt;br /&gt;
			j = 0;&lt;br /&gt;
			for (i = 0; i &amp;lt; this.pct; i += this.step) {&lt;br /&gt;
			sres += &amp;quot;&amp;lt;td&amp;gt;&amp;lt;img src=\&amp;quot;&amp;quot; + this.images[j++]+ &amp;quot;\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
		 }&lt;br /&gt;
		 else {&lt;br /&gt;
			j = Math.floor(this.pct / this.step);&lt;br /&gt;
			if (j &amp;gt;= this.images.length &amp;amp;&amp;amp; j &amp;gt; 0) j = this.images.length - 1;&lt;br /&gt;
			sres += &amp;quot;&amp;lt;td&amp;gt;&amp;lt;img src=\&amp;quot;&amp;quot; + this.images[j]+&amp;quot;\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
		 }&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
		 return sres;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Change_progress_bar_images_of_questionnaire&amp;diff=23909</id>
		<title>Change progress bar images of questionnaire</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Change_progress_bar_images_of_questionnaire&amp;diff=23909"/>
		<updated>2012-02-06T10:24:55Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Change progress bar images of questionnaire layout  ==&lt;br /&gt;
&lt;br /&gt;
We have 12 images used for progress bar in questionnaire layout. To change them, we will override the function quest.progress.getHTML(). &lt;br /&gt;
&lt;br /&gt;
@Note: The way I used below is only used in Questionnaire layout template because in &amp;quot;Questionnaire layout template&amp;quot; we can insert javascript inside HTML tab. &lt;br /&gt;
&lt;br /&gt;
Step 1: Upload 12 images in any folder, better if you store them in the Images tab of Questionnaire layout editor to handle easly in future. &lt;br /&gt;
&lt;br /&gt;
Step 2: Get their links and replace in the javascript below (in step 3). &lt;br /&gt;
&lt;br /&gt;
Step 3: Paste this code below (include open and close SCRIPT tag) into HTML tab of Questionnaire layout editor. &lt;br /&gt;
&lt;br /&gt;
Questionnaire on cg.catglobe.com site: 172339 (Javascript demo 04)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SCRIPT type=text/javascript&amp;gt;&lt;br /&gt;
if (typeof quest != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
	//Replace your image links here&lt;br /&gt;
	quest.progress.images[0] = &amp;quot;/Images/GetImage.aspx?rid=5b9cb0ba-aec2-4dab-9e40-4f2c9b65f439&amp;quot;;&lt;br /&gt;
	quest.progress.images[1] = &amp;quot;/Images/GetImage.aspx?rid=b345753b-0421-4057-80b8-1a352381be39&amp;quot;;&lt;br /&gt;
	quest.progress.images[2] = &amp;quot;/Images/GetImage.aspx?rid=e53d9e52-0626-4e89-8585-6eda036b1404&amp;quot;;&lt;br /&gt;
	quest.progress.images[3] = &amp;quot;/Images/GetImage.aspx?rid=a5c7bc2f-295b-45c4-9b27-f4680fc09d26&amp;quot;;&lt;br /&gt;
	quest.progress.images[4] = &amp;quot;/Images/GetImage.aspx?rid=17e47887-4e55-45dc-b318-c6bd0649bab6&amp;quot;;&lt;br /&gt;
	quest.progress.images[5] = &amp;quot;/Images/GetImage.aspx?rid=17bcf8b5-ffd5-4242-ad35-86692c58024a&amp;quot;;&lt;br /&gt;
	quest.progress.images[6] = &amp;quot;/Images/GetImage.aspx?rid=3d6b6526-8731-4bc1-a40a-9dac1abe4f7f&amp;quot;;&lt;br /&gt;
	quest.progress.images[7] = &amp;quot;/Images/GetImage.aspx?rid=f8c61240-c39b-49b5-ab80-ade5e8a94ad0&amp;quot;;&lt;br /&gt;
	quest.progress.images[8] = &amp;quot;/Images/GetImage.aspx?rid=b52bf511-5bdc-4427-b750-bf4e757572a2&amp;quot;;&lt;br /&gt;
	quest.progress.images[9] = &amp;quot;/Images/GetImage.aspx?rid=575979f6-b780-45a6-adf4-cc1f564c8084&amp;quot;;&lt;br /&gt;
	quest.progress.images[10] = &amp;quot;/Images/GetImage.aspx?rid=2027ea23-b428-4a87-80ee-f180966beb8d&amp;quot;;&lt;br /&gt;
	quest.progress.images[11] = &amp;quot;/Images/GetImage.aspx?rid=5ce8fa51-e815-4007-a77e-c66e11f370e5&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	quest.progress.getHTML = function()&lt;br /&gt;
	{&lt;br /&gt;
		 var i, j;&lt;br /&gt;
		 var sres = &amp;quot;&amp;quot;;&lt;br /&gt;
		 if (this.images.length &amp;gt; 0) this.step = 100 / this.images.length;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;table border=&amp;quot;+this.bordersize+&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;table border=0 cellspacing=0 cellpadding=0&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 if (this.type == 0) {&lt;br /&gt;
			j = 0;&lt;br /&gt;
			for (i = 0; i &amp;lt; this.pct; i += this.step) {&lt;br /&gt;
			sres += &amp;quot;&amp;lt;td&amp;gt;&amp;lt;img src=\&amp;quot;&amp;quot; + this.images[j++]+ &amp;quot;\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
		 }&lt;br /&gt;
		 else {&lt;br /&gt;
			j = Math.floor(this.pct / this.step);&lt;br /&gt;
			if (j &amp;gt;= this.images.length &amp;amp;&amp;amp; j &amp;gt; 0) j = this.images.length - 1;&lt;br /&gt;
			sres += &amp;quot;&amp;lt;td&amp;gt;&amp;lt;img src=\&amp;quot;&amp;quot; + this.images[j]+&amp;quot;\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
		 }&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
		 return sres;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Change_progress_bar_images_of_questionnaire&amp;diff=23906</id>
		<title>Change progress bar images of questionnaire</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Change_progress_bar_images_of_questionnaire&amp;diff=23906"/>
		<updated>2012-02-06T10:23:28Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Change progress bar images of questionnaire layout ==&lt;br /&gt;
&lt;br /&gt;
We have 12 images used for progress bar in questionnaire layout.&lt;br /&gt;
To change them, we will override the function quest.progress.getHTML().&lt;br /&gt;
&lt;br /&gt;
@Note: The way I used below is only used in Questionnaire layout template because in &amp;quot;Questionnaire layout template&amp;quot; we can insert javascript inside HTML tab.&lt;br /&gt;
&lt;br /&gt;
Step 1: Upload 12 images in any folder, better if you store them in the Images tab of Questionnaire layout editor to handle easly in future.&lt;br /&gt;
&lt;br /&gt;
Step 2: Get their links and replace in the javascript below (in step 3).&lt;br /&gt;
&lt;br /&gt;
Step 3: Paste this code below (include open and close SCRIPT tag) into HTML tab of Questionnaire layout editor.&lt;br /&gt;
&lt;br /&gt;
You can check the example in CG site. Questionnaire: &amp;quot;Javascript demo 04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SCRIPT type=text/javascript&amp;gt;&lt;br /&gt;
if (typeof quest != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
	//Replace your image links here&lt;br /&gt;
	quest.progress.images[0] = &amp;quot;/Images/GetImage.aspx?rid=5b9cb0ba-aec2-4dab-9e40-4f2c9b65f439&amp;quot;;&lt;br /&gt;
	quest.progress.images[1] = &amp;quot;/Images/GetImage.aspx?rid=b345753b-0421-4057-80b8-1a352381be39&amp;quot;;&lt;br /&gt;
	quest.progress.images[2] = &amp;quot;/Images/GetImage.aspx?rid=e53d9e52-0626-4e89-8585-6eda036b1404&amp;quot;;&lt;br /&gt;
	quest.progress.images[3] = &amp;quot;/Images/GetImage.aspx?rid=a5c7bc2f-295b-45c4-9b27-f4680fc09d26&amp;quot;;&lt;br /&gt;
	quest.progress.images[4] = &amp;quot;/Images/GetImage.aspx?rid=17e47887-4e55-45dc-b318-c6bd0649bab6&amp;quot;;&lt;br /&gt;
	quest.progress.images[5] = &amp;quot;/Images/GetImage.aspx?rid=17bcf8b5-ffd5-4242-ad35-86692c58024a&amp;quot;;&lt;br /&gt;
	quest.progress.images[6] = &amp;quot;/Images/GetImage.aspx?rid=3d6b6526-8731-4bc1-a40a-9dac1abe4f7f&amp;quot;;&lt;br /&gt;
	quest.progress.images[7] = &amp;quot;/Images/GetImage.aspx?rid=f8c61240-c39b-49b5-ab80-ade5e8a94ad0&amp;quot;;&lt;br /&gt;
	quest.progress.images[8] = &amp;quot;/Images/GetImage.aspx?rid=b52bf511-5bdc-4427-b750-bf4e757572a2&amp;quot;;&lt;br /&gt;
	quest.progress.images[9] = &amp;quot;/Images/GetImage.aspx?rid=575979f6-b780-45a6-adf4-cc1f564c8084&amp;quot;;&lt;br /&gt;
	quest.progress.images[10] = &amp;quot;/Images/GetImage.aspx?rid=2027ea23-b428-4a87-80ee-f180966beb8d&amp;quot;;&lt;br /&gt;
	quest.progress.images[11] = &amp;quot;/Images/GetImage.aspx?rid=5ce8fa51-e815-4007-a77e-c66e11f370e5&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	quest.progress.getHTML = function()&lt;br /&gt;
	{&lt;br /&gt;
		 var i, j;&lt;br /&gt;
		 var sres = &amp;quot;&amp;quot;;&lt;br /&gt;
		 if (this.images.length &amp;gt; 0) this.step = 100 / this.images.length;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;table border=&amp;quot;+this.bordersize+&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;table border=0 cellspacing=0 cellpadding=0&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 if (this.type == 0) {&lt;br /&gt;
			j = 0;&lt;br /&gt;
			for (i = 0; i &amp;lt; this.pct; i += this.step) {&lt;br /&gt;
			sres += &amp;quot;&amp;lt;td&amp;gt;&amp;lt;img src=\&amp;quot;&amp;quot; + this.images[j++]+ &amp;quot;\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
		 }&lt;br /&gt;
		 else {&lt;br /&gt;
			j = Math.floor(this.pct / this.step);&lt;br /&gt;
			if (j &amp;gt;= this.images.length &amp;amp;&amp;amp; j &amp;gt; 0) j = this.images.length - 1;&lt;br /&gt;
			sres += &amp;quot;&amp;lt;td&amp;gt;&amp;lt;img src=\&amp;quot;&amp;quot; + this.images[j]+&amp;quot;\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
		 }&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
		 sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
		 return sres;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Validate_email_specified_as_an_open_text_of_a_single_question&amp;diff=23863</id>
		<title>Validate email specified as an open text of a single question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Validate_email_specified_as_an_open_text_of_a_single_question&amp;diff=23863"/>
		<updated>2012-02-06T07:02:21Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Challenge==&lt;br /&gt;
In order to secure my questionnaire&#039;s input&amp;lt;br/&amp;gt;&lt;br /&gt;
As a CGS writer &amp;lt;br/&amp;gt;&lt;br /&gt;
I want to validate an email specified as an open text of a single question&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Validate_email_-_semi_open_question.png]]&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
*Add the script below to the question&#039;s Javascript property&lt;br /&gt;
*Locate the input text box and use &amp;lt;i&amp;gt;validateEmail&amp;lt;/i&amp;gt; function to validate the email&lt;br /&gt;
==Script==&lt;br /&gt;
&amp;lt;source lang=javascript&amp;gt;&lt;br /&gt;
var qLabel = &amp;quot;Question1&amp;quot;;//question&#039;s label&lt;br /&gt;
var openAnswerValue = 1;//the value of answer option which has open text&lt;br /&gt;
var ErrorMessage_InvalidEmail = &amp;quot;Invalid email.&amp;quot;;//error message in your needed language&lt;br /&gt;
   &lt;br /&gt;
var normalQuestionCheck = questioncheck;&lt;br /&gt;
function extendedQuestionCheck()&lt;br /&gt;
{&lt;br /&gt;
    var valid = normalQuestionCheck();&lt;br /&gt;
    var email = $(&amp;quot;input[name=&#039;QUESTION.&amp;quot; + qLabel + &amp;quot;.Open.&amp;quot; + openAnswerValue +&amp;quot;&#039;]&amp;quot;).val();&lt;br /&gt;
     $(document).ready(function(){ &lt;br /&gt;
        $(&amp;quot;input:radio[name=&#039;QUESTION.&amp;quot; + qLabel+&amp;quot;&#039;]&amp;quot;).each(function(index) {&lt;br /&gt;
&lt;br /&gt;
           if($(this).val() == openAnswerValue &amp;amp;&amp;amp; email != &amp;quot;&amp;quot;){&lt;br /&gt;
               valid = validateEmail(email); &lt;br /&gt;
           }        &lt;br /&gt;
        });&lt;br /&gt;
    });  &lt;br /&gt;
    if (!valid)&lt;br /&gt;
    {&lt;br /&gt;
       ErrorMessages.getInstance().showErrorMessage(ErrorMessage_InvalidEmail);&lt;br /&gt;
       return false;&lt;br /&gt;
    }&lt;br /&gt;
    else  &lt;br /&gt;
      return true;&lt;br /&gt;
}&lt;br /&gt;
questioncheck = extendedQuestionCheck;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q15_Validate_email_specified_as_an_open_text)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Insert_a_TextGrid_question_into_a_SingleGrid_Question&amp;diff=23857</id>
		<title>Insert a TextGrid question into a SingleGrid Question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Insert_a_TextGrid_question_into_a_SingleGrid_Question&amp;diff=23857"/>
		<updated>2012-02-06T06:53:15Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
1. Insert a Text Grid question into a Single Grid &amp;lt;br/&amp;gt;&lt;br /&gt;
2. If radio button on Answer1 is click, text box on the same row is enabled accordingly&amp;lt;br/&amp;gt;&lt;br /&gt;
3. If a text box is enable and empty, user cannot go to the next question&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:QuestionnaireTips TextGridInToSingleGrid.png]]&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
Precondition: &amp;lt;br/&amp;gt;&lt;br /&gt;
1. We have a TextGrid dummy question: TEXTGRID1 &amp;lt;br/&amp;gt;&lt;br /&gt;
2. We have a Single Grid: SINGLEGRID &amp;lt;br/&amp;gt;&lt;br /&gt;
Solution: &amp;lt;br/&amp;gt;&lt;br /&gt;
1. Create an Object that contains TEXTGRID1 info &amp;lt;br/&amp;gt;&lt;br /&gt;
2. Insert this Object to SINGLEGRID &amp;lt;br/&amp;gt;&lt;br /&gt;
3. Save and Verify when user manipulates on our question &amp;lt;br/&amp;gt;&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function GridTextQuestion(argSingleQuestion, argSelectedValues, argtext)&lt;br /&gt;
{&lt;br /&gt;
  // initialize an object that contains TextGrid Question info&lt;br /&gt;
   this.label = &amp;quot;QUESTION.&amp;quot; + argSingleQuestion.label;&lt;br /&gt;
   this.text = argtext;&lt;br /&gt;
   this.numberOfSubQuestion = argSingleQuestion.questions.length;&lt;br /&gt;
   this.selectedValues = argSelectedValues;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.createTextGrid = function(argQuestion, argSelectedValues, argGridPos)&lt;br /&gt;
{&lt;br /&gt;
   // declare variables&lt;br /&gt;
   var arglabel = argQuestion.label;&lt;br /&gt;
   var argtext = argQuestion.text;&lt;br /&gt;
   var numberOfQuestions = this.questions.length;&lt;br /&gt;
   var numberOfAnswers = quest.questions[1].options.length;&lt;br /&gt;
&lt;br /&gt;
  // get the main table&lt;br /&gt;
   var mytable =  $(&amp;quot;table[class=&#039;grid_inner&#039;]&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 // set Header for GridText column&lt;br /&gt;
   var gridHeader = $(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;)&lt;br /&gt;
         .addClass(&amp;quot;grid_answeroption_text&amp;quot;)&lt;br /&gt;
         .attr(&amp;quot;id&amp;quot;,&amp;quot;grid_answeroption_text_&amp;quot; + numberOfAnswers + argGridPos)&lt;br /&gt;
         .css(&amp;quot;text-align&amp;quot;, &amp;quot;center&amp;quot;);&lt;br /&gt;
   gridHeader.append(&amp;quot;&amp;lt;nobr&amp;gt;&amp;lt;p&amp;gt;&amp;quot; + argtext + &amp;quot;&amp;lt;/p&amp;gt;&amp;lt;/nobr&amp;gt;&amp;quot;);&lt;br /&gt;
   mytable.find(&amp;quot;tr:first&amp;quot;).append(gridHeader);&lt;br /&gt;
&lt;br /&gt;
  // append to the main table&lt;br /&gt;
   var appendElement = mytable.find(&amp;quot;tr:first&amp;quot;).next();&lt;br /&gt;
&lt;br /&gt;
  // Create text boxes inside the main table&lt;br /&gt;
   var firstRadioButton;&lt;br /&gt;
   for (var i=0; i&amp;lt; numberOfQuestions ; i++)&lt;br /&gt;
   {&lt;br /&gt;
      var position =&amp;quot;even&amp;quot;;&lt;br /&gt;
      if (i%2!=0)&lt;br /&gt;
         position = &amp;quot;odd&amp;quot;;&lt;br /&gt;
          &lt;br /&gt;
      var gridText = $(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;)&lt;br /&gt;
         .addClass(&amp;quot;grid_subquestion_&amp;quot; + position)&lt;br /&gt;
         .width(&amp;quot;1px&amp;quot;)&lt;br /&gt;
         .css(&amp;quot;vertical-align&amp;quot;, &amp;quot;top&amp;quot;);&lt;br /&gt;
      &lt;br /&gt;
      var gridTextname = &amp;quot;QUESTION.TEXTGRID1.&amp;quot;  + i ;&lt;br /&gt;
      &lt;br /&gt;
      var gridInput = $(&amp;quot;&amp;lt;input type=&#039;text&#039;/&amp;gt;&amp;quot;)&lt;br /&gt;
            .attr(&amp;quot;name&amp;quot;, gridTextname)&lt;br /&gt;
            .attr(&amp;quot;value&amp;quot;, argSelectedValues[i]);&lt;br /&gt;
      &lt;br /&gt;
      // if the Radio button on the first column is checked  -&amp;gt; disable all the textbox on the first row&lt;br /&gt;
      // now firstRadioButton is a HTML element, if we wanna use val() function, we have to select object by $&lt;br /&gt;
     firstRadioButton = appendElement.find(&amp;quot;input[type=&#039;radio&#039;]&amp;quot;)[0];		&lt;br /&gt;
      if ($(firstRadioButton).is(&#039;:checked&#039;)==false)&lt;br /&gt;
      {&lt;br /&gt;
         gridInput.attr(&amp;quot;disabled&amp;quot;, &amp;quot;enabled&amp;quot;);&lt;br /&gt;
      }     &lt;br /&gt;
&lt;br /&gt;
      // append textbox to the cell&lt;br /&gt;
      gridText.append(gridInput);&lt;br /&gt;
&lt;br /&gt;
     // append cell to the main table&lt;br /&gt;
      appendElement.append(gridText);&lt;br /&gt;
      appendElement = appendElement.next();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   // Declare TextGrid Header name and values&lt;br /&gt;
   var textGridHeaderName = &amp;quot;TextGridHeader1&amp;quot;;	&lt;br /&gt;
   var numberOfQuestions = this.questions.length;&lt;br /&gt;
   var selectedValues = new Array(numberOfQuestions);&lt;br /&gt;
   selectedValues[0] = &amp;quot;{{TEXTGRID1[0].Value}}&amp;quot;;&lt;br /&gt;
   selectedValues[1] = &amp;quot;{{TEXTGRID1[1].Value}}&amp;quot;;&lt;br /&gt;
   selectedValues[2] = &amp;quot;{{TEXTGRID1[2].Value}}&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
   //create new GridTextQuestion object to contains GridText values&lt;br /&gt;
   var q= new GridTextQuestion(this, selectedValues, textGridHeaderName);&lt;br /&gt;
&lt;br /&gt;
  // render this Question&lt;br /&gt;
   this.createTextGrid(q, selectedValues, 1);&lt;br /&gt;
  &lt;br /&gt;
  // if the radio buttons on first column are checked, textboxes on the same row are enabled accordingly &lt;br /&gt;
  // Otherwise, textboxes are disabled&lt;br /&gt;
   $(&amp;quot;input:radio&amp;quot;).each(&lt;br /&gt;
  		function(i)&lt;br /&gt;
  		{&lt;br /&gt;
                        $(this).click(function (){&lt;br /&gt;
                           if ($(this).val()== &amp;quot;1&amp;quot;){&lt;br /&gt;
                              $(this).parent().parent().find(&amp;quot;input[type=&#039;text&#039;]&amp;quot;).removeAttr(&#039;disabled&#039;); &lt;br /&gt;
                              var thietkothetinduoc = $(this).attr(&amp;quot;disabled&amp;quot;);&lt;br /&gt;
                           }&lt;br /&gt;
                           else{&lt;br /&gt;
                              $(this).parent().parent().find(&amp;quot;input[type=&#039;text&#039;]&amp;quot;).attr(&amp;quot;disabled&amp;quot;, &amp;quot;enabled&amp;quot;);&lt;br /&gt;
                           }&lt;br /&gt;
                        });&lt;br /&gt;
  		}&lt;br /&gt;
  	);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
this.questioncheck = function(){&lt;br /&gt;
   // if there&#039;s a textbox which is enable and empty, user cannot go to the next question and a warning message will be displayed   &lt;br /&gt;
   ErrorMessages.getInstance().clearErrorMessages();&lt;br /&gt;
   var isValid = true; &lt;br /&gt;
   var textboxes = $(&amp;quot;input:text&amp;quot;);&lt;br /&gt;
   for (var i=0; i &amp;lt; textboxes.length ; i ++)&lt;br /&gt;
   {&lt;br /&gt;
      if (($(textboxes[i]).val()==&amp;quot;&amp;quot;) &amp;amp;&amp;amp; ($(textboxes[i]).is(&amp;quot;:disabled&amp;quot;) == false))&lt;br /&gt;
      {&lt;br /&gt;
         isValid = false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   if (!isValid)&lt;br /&gt;
      ErrorMessages.getInstance().showErrorMessage(&amp;quot;YOU NEED TO FILL ALL ANSWER BEFORE GOING NEXT&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
   return isValid;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q14_Insert_a_TextGrid_question_into_a_SingleGrid &amp;amp;&amp;amp; D_Q14_Insert_a_TextGrid_question_into_a_SingleGrid)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Reverse_single_grid_between_sub_questions_and_answer_options&amp;diff=23853</id>
		<title>Reverse single grid between sub questions and answer options</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Reverse_single_grid_between_sub_questions_and_answer_options&amp;diff=23853"/>
		<updated>2012-02-06T06:37:24Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge ==&lt;br /&gt;
&lt;br /&gt;
Client would like to show Sub-Questions and Answer Options inversly on Single-Grid.&lt;br /&gt;
Therefore, we have to reverse the columns and rows on Single-grid. By the way, we have to change the radio buttons accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We have the original Single Grid like this:&lt;br /&gt;
&lt;br /&gt;
[[Image: Original_SingleGrid_1.jpg]]&lt;br /&gt;
&lt;br /&gt;
After reversing, we have a Single Grid like this:&lt;br /&gt;
&lt;br /&gt;
[[Image: After_SingleGrid_4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Solution  ==&lt;br /&gt;
&lt;br /&gt;
1. Reverse Sub-Questions&#039; names and Answer Options&#039; names. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Rearrange the radio buttons accordingly.&lt;br /&gt;
&lt;br /&gt;
== Code  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
var normaloptClick = optclick;&lt;br /&gt;
this.optclick = function(slbl, lidx, blnk)&lt;br /&gt;
{&lt;br /&gt;
   return normaloptClick(slbl, lidx, blnk);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   var i,j; &lt;br /&gt;
   // declare variables&lt;br /&gt;
   var mytable =  $(&amp;quot;table[class=&#039;grid_inner&#039;]&amp;quot;);&lt;br /&gt;
   var numberOfQuestions = this.questions.length;&lt;br /&gt;
   var numberOfAnswers = quest.questions[0].options.length;&lt;br /&gt;
   // get all radio buttons in the Grid&lt;br /&gt;
   var radioButtonsEven = $(&amp;quot;td[class=&#039;grid_subquestion_even&#039;]&amp;quot;);&lt;br /&gt;
   var radioButtonsOdd = $(&amp;quot;td[class=&#039;grid_subquestion_odd&#039;]&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// ~~~~~~`swap column to row and inversely~~~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
// swap radio buttons&lt;br /&gt;
   var newTable = $(&amp;quot;&amp;lt;table&amp;gt;&amp;quot;);&lt;br /&gt;
   var ao;&lt;br /&gt;
   var sq; &lt;br /&gt;
   var aoName; &lt;br /&gt;
   var sqName;    &lt;br /&gt;
   var firstRow = $(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;);&lt;br /&gt;
   var posAo;&lt;br /&gt;
   var posSq;&lt;br /&gt;
   firstRow.append($(&amp;quot;.grid_empty_cell&amp;quot;));&lt;br /&gt;
   for(i=0;i&amp;lt;numberOfQuestions;i++)&lt;br /&gt;
   {&lt;br /&gt;
      posAo = i + 1;&lt;br /&gt;
      sqName = &amp;quot;td[id=&#039;grid_subquestion_text_&amp;quot; + posAo +&amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
      sq =$(sqName);&lt;br /&gt;
      firstRow.append(sq);&lt;br /&gt;
   }&lt;br /&gt;
   newTable.append(firstRow);&lt;br /&gt;
      &lt;br /&gt;
   var newTr;&lt;br /&gt;
   for(i=0;i&amp;lt;numberOfAnswers;i++)&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      posSq = i + 1;&lt;br /&gt;
      aoName = &amp;quot;td[id=&#039;grid_answeroption_text_&amp;quot; + posSq +&amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
      ao =$(aoName);&lt;br /&gt;
      newTr = $(&#039;&amp;lt;tr&amp;gt;&#039;);&lt;br /&gt;
      newTr.append(ao);&lt;br /&gt;
      for(j=0;j&amp;lt;numberOfQuestions;j++)&lt;br /&gt;
      {&lt;br /&gt;
         if (j%2==0)&lt;br /&gt;
         {&lt;br /&gt;
            newTr.append(radioButtonsEven[Math.round(j/2)*numberOfAnswers+i]);&lt;br /&gt;
         }&lt;br /&gt;
         else&lt;br /&gt;
            newTr.append(radioButtonsOdd[(Math.round(j/2)-1)*numberOfAnswers+i]);&lt;br /&gt;
      }&lt;br /&gt;
      newTable.append(newTr);&lt;br /&gt;
      &lt;br /&gt;
   }&lt;br /&gt;
   newTable.append($(&amp;quot;input[value=&#039;&#039;]&amp;quot;));&lt;br /&gt;
   mytable.empty();&lt;br /&gt;
   mytable.append(newTable.children()[0]);    &lt;br /&gt;
   var ua = navigator.userAgent.toLowerCase(); &lt;br /&gt;
   if ( ua.indexOf( &amp;quot;firefox&amp;quot; ) == -1 &amp;amp;&amp;amp; ua.indexOf( &amp;quot;safari&amp;quot; ) == -1) &lt;br /&gt;
   { &lt;br /&gt;
   $(&amp;quot;#query&amp;quot;).append(&amp;quot;&amp;lt;INPUT id=&#039;dir&#039; type=hidden name=&#039;dir&#039;&amp;gt;&amp;quot;);  &lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q13_Reverse_single_grid_between_sub_questions_and_)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Reverse_single_grid_between_sub_questions_and_answer_options&amp;diff=23852</id>
		<title>Reverse single grid between sub questions and answer options</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Reverse_single_grid_between_sub_questions_and_answer_options&amp;diff=23852"/>
		<updated>2012-02-06T06:36:14Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge ==&lt;br /&gt;
&lt;br /&gt;
Client would like to show Sub-Questions and Answer Options inversly on Single-Grid.&lt;br /&gt;
Therefore, we have to reverse the columns and rows on Single-grid. By the way, we have to change the radio buttons accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We have the original Single Grid like this:&lt;br /&gt;
&lt;br /&gt;
[[Image: Original_SingleGrid_1.jpg]]&lt;br /&gt;
&lt;br /&gt;
After reversing, we have a Single Grid like this:&lt;br /&gt;
&lt;br /&gt;
[[Image: After_SingleGrid_4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Solution  ==&lt;br /&gt;
&lt;br /&gt;
1. Reverse Sub-Questions&#039; names and Answer Options&#039; names. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Rearrange the radio buttons accordingly.&lt;br /&gt;
&lt;br /&gt;
== Code  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
var normaloptClick = optclick;&lt;br /&gt;
this.optclick = function(slbl, lidx, blnk)&lt;br /&gt;
{&lt;br /&gt;
   return normaloptClick(slbl, lidx, blnk);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   var i,j; &lt;br /&gt;
   // declare variables&lt;br /&gt;
   var mytable =  $(&amp;quot;table[class=&#039;grid_inner&#039;]&amp;quot;);&lt;br /&gt;
   var numberOfQuestions = this.questions.length;&lt;br /&gt;
   var numberOfAnswers = quest.questions[0].options.length;&lt;br /&gt;
   // get all radio buttons in the Grid&lt;br /&gt;
   var radioButtonsEven = $(&amp;quot;td[class=&#039;grid_subquestion_even&#039;]&amp;quot;);&lt;br /&gt;
   var radioButtonsOdd = $(&amp;quot;td[class=&#039;grid_subquestion_odd&#039;]&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// ~~~~~~`swap column to row and inversely~~~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
// swap radio buttons&lt;br /&gt;
   var newTable = $(&amp;quot;&amp;lt;table&amp;gt;&amp;quot;);&lt;br /&gt;
   var ao;&lt;br /&gt;
   var sq; &lt;br /&gt;
   var aoName; &lt;br /&gt;
   var sqName;    &lt;br /&gt;
   var firstRow = $(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;);&lt;br /&gt;
   var posAo;&lt;br /&gt;
   var posSq;&lt;br /&gt;
   firstRow.append($(&amp;quot;.grid_empty_cell&amp;quot;));&lt;br /&gt;
   for(i=0;i&amp;lt;numberOfQuestions;i++)&lt;br /&gt;
   {&lt;br /&gt;
      posAo = i + 1;&lt;br /&gt;
      sqName = &amp;quot;td[id=&#039;grid_subquestion_text_&amp;quot; + posAo +&amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
      sq =$(sqName);&lt;br /&gt;
      firstRow.append(sq);&lt;br /&gt;
   }&lt;br /&gt;
   newTable.append(firstRow);&lt;br /&gt;
      &lt;br /&gt;
   var newTr;&lt;br /&gt;
   for(i=0;i&amp;lt;numberOfAnswers;i++)&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      posSq = i + 1;&lt;br /&gt;
      aoName = &amp;quot;td[id=&#039;grid_answeroption_text_&amp;quot; + posSq +&amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
      ao =$(aoName);&lt;br /&gt;
      newTr = $(&#039;&amp;lt;tr&amp;gt;&#039;);&lt;br /&gt;
      newTr.append(ao);&lt;br /&gt;
      for(j=0;j&amp;lt;numberOfQuestions;j++)&lt;br /&gt;
      {&lt;br /&gt;
         if (j%2==0)&lt;br /&gt;
         {&lt;br /&gt;
            newTr.append(radioButtonsEven[Math.round(j/2)*numberOfAnswers+i]);&lt;br /&gt;
         }&lt;br /&gt;
         else&lt;br /&gt;
            newTr.append(radioButtonsOdd[(Math.round(j/2)-1)*numberOfAnswers+i]);&lt;br /&gt;
      }&lt;br /&gt;
      newTable.append(newTr);&lt;br /&gt;
      &lt;br /&gt;
   }&lt;br /&gt;
   newTable.append($(&amp;quot;input[value=&#039;&#039;]&amp;quot;));&lt;br /&gt;
   mytable.empty();&lt;br /&gt;
   mytable.append(newTable.children()[0]);    &lt;br /&gt;
   var ua = navigator.userAgent.toLowerCase(); &lt;br /&gt;
    if ( ua.indexOf( &amp;quot;firefox&amp;quot; ) == -1 &amp;amp;&amp;amp; ua.indexOf( &amp;quot;safari&amp;quot; ) == -1) { &lt;br /&gt;
     $(&amp;quot;#query&amp;quot;).append(&amp;quot;&amp;lt;INPUT id=&#039;dir&#039; type=hidden name=&#039;dir&#039;&amp;gt;&amp;quot;);  &lt;br /&gt;
      }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q13_Reverse_single_grid_between_sub_questions_and_)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Reverse_single_grid_between_sub_questions_and_answer_options&amp;diff=23845</id>
		<title>Reverse single grid between sub questions and answer options</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Reverse_single_grid_between_sub_questions_and_answer_options&amp;diff=23845"/>
		<updated>2012-02-06T05:08:25Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge ==&lt;br /&gt;
&lt;br /&gt;
Client would like to show Sub-Questions and Answer Options inversly on Single-Grid.&lt;br /&gt;
Therefore, we have to reverse the columns and rows on Single-grid. By the way, we have to change the radio buttons accordingly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We have the original Single Grid like this:&lt;br /&gt;
&lt;br /&gt;
[[Image: Original_SingleGrid_1.jpg]]&lt;br /&gt;
&lt;br /&gt;
After reversing, we have a Single Grid like this:&lt;br /&gt;
&lt;br /&gt;
[[Image: After_SingleGrid_4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Solution  ==&lt;br /&gt;
&lt;br /&gt;
1. Reverse Sub-Questions&#039; names and Answer Options&#039; names. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Rearrange the radio buttons accordingly.&lt;br /&gt;
&lt;br /&gt;
== Code  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
var normaloptClick = optclick;&lt;br /&gt;
this.optclick = function(slbl, lidx, blnk)&lt;br /&gt;
{&lt;br /&gt;
   return normaloptClick(slbl, lidx, blnk);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   var i,j; &lt;br /&gt;
   // declare variables&lt;br /&gt;
   var mytable =  $(&amp;quot;table[class=&#039;grid_inner&#039;]&amp;quot;);&lt;br /&gt;
   var numberOfQuestions = this.questions.length;&lt;br /&gt;
   var numberOfAnswers = quest.questions[0].options.length;&lt;br /&gt;
   // get all radio buttons in the Grid&lt;br /&gt;
   var radioButtonsEven = $(&amp;quot;td[class=&#039;grid_subquestion_even&#039;]&amp;quot;);&lt;br /&gt;
   var radioButtonsOdd = $(&amp;quot;td[class=&#039;grid_subquestion_odd&#039;]&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// ~~~~~~`swap column to row and inversely~~~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
// swap radio buttons&lt;br /&gt;
   var newTable = $(&amp;quot;&amp;lt;table&amp;gt;&amp;quot;);&lt;br /&gt;
   var ao;&lt;br /&gt;
   var sq; &lt;br /&gt;
   var aoName; &lt;br /&gt;
   var sqName;    &lt;br /&gt;
   var firstRow = $(&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;);&lt;br /&gt;
   var posAo;&lt;br /&gt;
   var posSq;&lt;br /&gt;
   firstRow.append($(&amp;quot;.grid_empty_cell&amp;quot;));&lt;br /&gt;
   for(i=0;i&amp;lt;numberOfQuestions;i++)&lt;br /&gt;
   {&lt;br /&gt;
      posAo = i + 1;&lt;br /&gt;
      sqName = &amp;quot;td[id=&#039;grid_subquestion_text_&amp;quot; + posAo +&amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
      sq =$(sqName);&lt;br /&gt;
      firstRow.append(sq);&lt;br /&gt;
   }&lt;br /&gt;
   newTable.append(firstRow);&lt;br /&gt;
      &lt;br /&gt;
   var newTr;&lt;br /&gt;
   for(i=0;i&amp;lt;numberOfAnswers;i++)&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      posSq = i + 1;&lt;br /&gt;
      aoName = &amp;quot;td[id=&#039;grid_answeroption_text_&amp;quot; + posSq +&amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
      ao =$(aoName);&lt;br /&gt;
      newTr = $(&#039;&amp;lt;tr&amp;gt;&#039;);&lt;br /&gt;
      newTr.append(ao);&lt;br /&gt;
      for(j=0;j&amp;lt;numberOfQuestions;j++)&lt;br /&gt;
      {&lt;br /&gt;
         if (j%2==0)&lt;br /&gt;
         {&lt;br /&gt;
            newTr.append(radioButtonsEven[Math.round(j/2)*numberOfAnswers+i]);&lt;br /&gt;
         }&lt;br /&gt;
         else&lt;br /&gt;
            newTr.append(radioButtonsOdd[(Math.round(j/2)-1)*numberOfAnswers+i]);&lt;br /&gt;
      }&lt;br /&gt;
      newTable.append(newTr);&lt;br /&gt;
      &lt;br /&gt;
   }&lt;br /&gt;
   newTable.append($(&amp;quot;input[value=&#039;&#039;]&amp;quot;));&lt;br /&gt;
   mytable.empty();&lt;br /&gt;
   mytable.append(newTable.children()[0]);    &lt;br /&gt;
   var ua = navigator.userAgent.toLowerCase(); &lt;br /&gt;
    if ( ua.indexOf( &amp;quot;firefox&amp;quot; ) == -1 &amp;amp;&amp;amp; ua.indexOf( &amp;quot;safari&amp;quot; ) == -1) { &lt;br /&gt;
     $(&amp;quot;#query&amp;quot;).append(&amp;quot;&amp;lt;INPUT id=&#039;dir&#039; type=hidden name=&#039;dir&#039;&amp;gt;&amp;quot;);  &lt;br /&gt;
      }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Convert_closed_question_TextBox_into_TextArea&amp;diff=23844</id>
		<title>Convert closed question TextBox into TextArea</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Convert_closed_question_TextBox_into_TextArea&amp;diff=23844"/>
		<updated>2012-02-06T04:06:56Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
In Single question or Multi Question, a textbox might not enough for respondent to give a long answer.&amp;lt;br&amp;gt; As a questionnaire creator &amp;lt;br&amp;gt; I want to convert a textbox into a textarea. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;&#039;Example:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
= [[Image:BeforeConvert.PNG]]&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;=&amp;amp;gt;&#039;&#039;&#039; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; [[Image:AfterConvert.PNG]] =&lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a Single question or Multi Question&lt;br /&gt;
*Give a option allow open answer&lt;br /&gt;
*Add the below script to that question&lt;br /&gt;
== Code ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
    $.each($(&amp;quot;input[type=&#039;text&#039;]&amp;quot;), function()&lt;br /&gt;
    {&lt;br /&gt;
        var inputName = this.name;&lt;br /&gt;
        var inputValue = this.value;&lt;br /&gt;
        var answerOptionValue = inputName.slice(inputName.lastIndexOf(&amp;quot;.&amp;quot;) + 1);&lt;br /&gt;
&lt;br /&gt;
        if ($(&amp;quot;input[value=&#039;&amp;quot; + answerOptionValue + &amp;quot;&#039;]&amp;quot;).attr(&amp;quot;checked&amp;quot;))&lt;br /&gt;
            $(this).replaceWith(&amp;quot;&amp;lt;textarea rows=&#039;8&#039; cols=&#039;55&#039; name=&#039;&amp;quot; + inputName + &amp;quot;&#039;&amp;gt;&amp;quot; + inputValue + &amp;quot;&amp;lt;/textarea&amp;gt;&amp;quot;);&lt;br /&gt;
        else&lt;br /&gt;
            $(this).replaceWith(&amp;quot;&amp;lt;textarea rows=&#039;8&#039; cols=&#039;55&#039; disabled = &#039;disabled&#039;  name=&#039;&amp;quot; + inputName + &amp;quot;&#039;&amp;gt;&amp;quot; + inputValue + &amp;quot;&amp;lt;/textarea&amp;gt;&amp;quot;);&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q12_Convert_closed_question_TextBox_into_TextArea)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Script_for_making_a_text_grid_numerical_summing_to_a_specific_value&amp;diff=23843</id>
		<title>Script for making a text grid numerical summing to a specific value</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Script_for_making_a_text_grid_numerical_summing_to_a_specific_value&amp;diff=23843"/>
		<updated>2012-02-06T03:49:08Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge ==&lt;br /&gt;
In order to validate the inputs of a text grid question&amp;lt;br/&amp;gt;&lt;br /&gt;
As a questionnaire creator &amp;lt;br/&amp;gt;&lt;br /&gt;
I want to check if the sum of all values equals to a specific value&lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a text-grid question, accept the numberical for sub question&lt;br /&gt;
*Add the below script to that question&lt;br /&gt;
== Code ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
var expectedTotal = 100;&lt;br /&gt;
function specialQuestionCheck()&lt;br /&gt;
{&lt;br /&gt;
   var msg = &amp;quot;&amp;quot;;&lt;br /&gt;
   var val = 0;&lt;br /&gt;
   for(i = 0; i &amp;lt; quest.questions.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      var tmpVal = document[&amp;quot;query&amp;quot;][quest.questions[i].label].value;&lt;br /&gt;
      if(tmpVal == &amp;quot;&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
         // NOPI&lt;br /&gt;
      }&lt;br /&gt;
      else if(isNaN(tmpVal))&lt;br /&gt;
      {&lt;br /&gt;
         msg += &amp;quot;- Angiv venligst et  tal\n&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      else if (tmpVal&amp;lt;0 || tmpVal&amp;gt;100)&lt;br /&gt;
      {&lt;br /&gt;
         msg += &amp;quot;Værdier skal være fra 0 til 100&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
	  else&lt;br /&gt;
	  {&lt;br /&gt;
		val += parseFloat(tmpVal);&lt;br /&gt;
	  }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   if(msg == &amp;quot;&amp;quot;)&lt;br /&gt;
   {&lt;br /&gt;
      if(val == expectedTotal)&lt;br /&gt;
      {&lt;br /&gt;
         return true;&lt;br /&gt;
      }&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
         alert(&amp;quot;Værdierne skal summe til &amp;quot;+ expectedTotal +&amp;quot; - nuværende sum: &amp;quot; + val);&lt;br /&gt;
         return false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
      alert(&amp;quot;Følgende fejl opstod:\n&amp;quot;+msg);&lt;br /&gt;
      return false;&lt;br /&gt;
   }&lt;br /&gt;
   return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var defaultQuestionCheck = questioncheck;&lt;br /&gt;
&lt;br /&gt;
function newGoNext()&lt;br /&gt;
{&lt;br /&gt;
   document[&amp;quot;query&amp;quot;][&amp;quot;dir&amp;quot;].value = &amp;quot;next&amp;quot;;&lt;br /&gt;
   if(defaultQuestionCheck())&lt;br /&gt;
      return specialQuestionCheck();&lt;br /&gt;
   else&lt;br /&gt;
      return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.next = newGoNext;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q11_Script_for_making_a_text_grid_numerical_summin)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Make_whole_cell_clickable_in_single_and_multi_grids&amp;diff=23842</id>
		<title>Make whole cell clickable in single and multi grids</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Make_whole_cell_clickable_in_single_and_multi_grids&amp;diff=23842"/>
		<updated>2012-02-06T03:16:20Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge == &lt;br /&gt;
Normally, the grid question require a click on the checkbox or radiobutton. Now, we want it to register the answer when the user click on the cell for the answer option.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Clickable_cell.gif ]]&lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a grid question&lt;br /&gt;
*Add the below script to that question&lt;br /&gt;
&lt;br /&gt;
== Code == &lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   $(&amp;quot;.grid_subquestion_odd,.grid_subquestion_even&amp;quot;).click(&lt;br /&gt;
            function(evt)&lt;br /&gt;
            {&lt;br /&gt;
               if(evt.target.nodeName == &amp;quot;INPUT&amp;quot;)&lt;br /&gt;
                  return true;&lt;br /&gt;
               $(this).children(&amp;quot;input&amp;quot;).click();&lt;br /&gt;
               return false;&lt;br /&gt;
            });&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q10_Make_whole_cell_clickable_in_single_and_multi_)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Require_only_one_check_for_grid_question&amp;diff=23841</id>
		<title>Require only one check for grid question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Require_only_one_check_for_grid_question&amp;diff=23841"/>
		<updated>2012-02-06T03:08:03Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge == &lt;br /&gt;
Normally, the grid question require one answer for each sub question to navigate to next question. Now, we want it require only one check for the whole grid.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:OneCheckRequired.png ]]&lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a grid question&lt;br /&gt;
*Add the below script to that question&lt;br /&gt;
&lt;br /&gt;
== Code == &lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
var normalQuestionCheck = questioncheck;&lt;br /&gt;
&lt;br /&gt;
function extendedQuestionCheck()&lt;br /&gt;
{&lt;br /&gt;
   ErrorMessages.getInstance().clearErrorMessages();//clear old error message&lt;br /&gt;
   var valid = false;&lt;br /&gt;
   var q_name = &amp;quot;QUESTION.&amp;quot; + &amp;quot;GridQuestionLabel&amp;quot;;//question&#039;s name = &amp;quot;QUESTION.&amp;quot; + question label&lt;br /&gt;
   var n = $(&amp;quot;.grid_inner&amp;quot;)[0].rows.length - 1;//number of sub questions&lt;br /&gt;
&lt;br /&gt;
   //check if each answer option for each sub question is checked&lt;br /&gt;
   for(var i=0;i&amp;lt;n;i++)&lt;br /&gt;
	{&lt;br /&gt;
		$(&amp;quot;input:checkbox[name=&#039;&amp;quot;+q_name+&amp;quot;.&amp;quot;+i+&amp;quot;&#039;]&amp;quot;).each(&lt;br /&gt;
			function()&lt;br /&gt;
			{&lt;br /&gt;
				if($(this).attr(&amp;quot;checked&amp;quot;))&lt;br /&gt;
					valid = true;				&lt;br /&gt;
			}&lt;br /&gt;
		);&lt;br /&gt;
		if(valid)&lt;br /&gt;
		break;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
   if(!valid) showError(quest.requiredtext);&lt;br /&gt;
   return valid;&lt;br /&gt;
         &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showError(e)&lt;br /&gt;
{&lt;br /&gt;
   ErrorMessages.getInstance().showErrorMessage(e);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
questioncheck = extendedQuestionCheck;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q9_Require_only_one_check_for_grid_question)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Change_non-multi_option_in_Multi_question_to_Radio_button&amp;diff=23840</id>
		<title>Change non-multi option in Multi question to Radio button</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Change_non-multi_option_in_Multi_question_to_Radio_button&amp;diff=23840"/>
		<updated>2012-02-06T02:49:58Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
Normally, all options in Multi question are displayed as check boxes. This task is to change options which are non-multi selections to radio buttons instead of check boxes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Radio_button_in_multi_question_1.png]]&amp;lt;br&amp;gt; &lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a multi question&lt;br /&gt;
*Set up &amp;quot;no multi&amp;quot; for some answer options&lt;br /&gt;
*Add the below script to that question&lt;br /&gt;
== Code  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function checkboxClick(radioPos,radioCheck)&lt;br /&gt;
{&lt;br /&gt;
   var i,j;&lt;br /&gt;
   $(&amp;quot;input[type=&#039;radio&#039;]&amp;quot;).each(&lt;br /&gt;
      function(j){&lt;br /&gt;
         if(this.checked)&lt;br /&gt;
         {&lt;br /&gt;
            this.checked = false;&lt;br /&gt;
            quest.options[radioPos[j]].checked = false;&lt;br /&gt;
            &lt;br /&gt;
         }&lt;br /&gt;
   });&lt;br /&gt;
   &lt;br /&gt;
   for(i=0;i&amp;lt;radioCheck.length;i++)&lt;br /&gt;
      radioCheck[i]=false;&lt;br /&gt;
   return radioCheck;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function radioClick(pos, radioPos, radioCheck)&lt;br /&gt;
{&lt;br /&gt;
      var i,j;&lt;br /&gt;
      $(&amp;quot;input[type=&#039;checkbox&#039;]&amp;quot;).each(&lt;br /&gt;
         function(i){&lt;br /&gt;
            if(this.checked)&lt;br /&gt;
            {&lt;br /&gt;
               this.checked = false;&lt;br /&gt;
               quest.options[i].checked = false;&lt;br /&gt;
            }&lt;br /&gt;
      });&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
      $(&amp;quot;input[type=&#039;radio&#039;]&amp;quot;).each(function(j){&lt;br /&gt;
         if(pos!=j)&lt;br /&gt;
         {&lt;br /&gt;
            this.checked = false;&lt;br /&gt;
            quest.options[radioPos[j]].checked = false;&lt;br /&gt;
            radioCheck[j] = false;&lt;br /&gt;
   &lt;br /&gt;
         }&lt;br /&gt;
         else&lt;br /&gt;
         {  &lt;br /&gt;
            if(!radioCheck[pos])&lt;br /&gt;
            {&lt;br /&gt;
               $(this).attr(&amp;quot;checked&amp;quot;,true);&lt;br /&gt;
               quest.options[radioPos[pos]].checked = true;&lt;br /&gt;
               radioCheck[pos] = true;&lt;br /&gt;
               $(&amp;quot;input[type=&#039;checkbox&#039;]&amp;quot;)[radioPos[pos]].checked = true;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
               $(this).attr(&amp;quot;checked&amp;quot;,false);&lt;br /&gt;
               quest.options[radioPos[pos]].checked = false;&lt;br /&gt;
               radioCheck[pos] = false;&lt;br /&gt;
               $(&amp;quot;input[type=&#039;checkbox&#039;]&amp;quot;)[radioPos[pos]].checked = false;&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      });&lt;br /&gt;
      return radioCheck;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function position(arr, element)&lt;br /&gt;
{&lt;br /&gt;
   var i;&lt;br /&gt;
   for(i=0;i&amp;lt;arr.length;i++)&lt;br /&gt;
      if(arr[i]==element)   &lt;br /&gt;
         return i;&lt;br /&gt;
   return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   var i;&lt;br /&gt;
   var j;&lt;br /&gt;
   var radioFlag = false;&lt;br /&gt;
   var x= quest.options.length;&lt;br /&gt;
   var radioPos = new Array();&lt;br /&gt;
   var radioCheck = new Array();&lt;br /&gt;
   // change input to &lt;br /&gt;
   $(&amp;quot;input[type=&#039;checkbox&#039;]&amp;quot;).each(&lt;br /&gt;
      function(i)&lt;br /&gt;
      {&lt;br /&gt;
         if(quest.options[i].single==true)&lt;br /&gt;
         {&lt;br /&gt;
            radioPos.push(i);&lt;br /&gt;
            var radio = $(&amp;quot;&amp;lt;input type=&#039;radio&#039;&amp;gt;&amp;quot;).attr(&amp;quot;name&amp;quot;,&amp;quot;radioPos&amp;quot; + i);&lt;br /&gt;
            $(this).parent().append(radio);&lt;br /&gt;
            if(quest.options[i].checked)&lt;br /&gt;
            {      &lt;br /&gt;
               $(radio).attr(&amp;quot;checked&amp;quot;,true);   &lt;br /&gt;
               radioCheck.push(true);&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
               radioCheck.push(false);&lt;br /&gt;
            $(this).hide();&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   &lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;input[type=&#039;checkbox&#039;]&amp;quot;).each(&lt;br /&gt;
      function(i)&lt;br /&gt;
      {&lt;br /&gt;
         $(this).click(function(){&lt;br /&gt;
            radioCheck = checkboxClick(radioPos,radioCheck);&lt;br /&gt;
         });&lt;br /&gt;
      }&lt;br /&gt;
   &lt;br /&gt;
   );&lt;br /&gt;
   &lt;br /&gt;
   $(&amp;quot;input[type=&#039;radio&#039;]&amp;quot;).each(&lt;br /&gt;
      function(i)&lt;br /&gt;
      {&lt;br /&gt;
         $(this).click(function(){&lt;br /&gt;
           radioCheck = radioClick(i,radioPos,radioCheck);&lt;br /&gt;
         }&lt;br /&gt;
         );&lt;br /&gt;
      }&lt;br /&gt;
      );&lt;br /&gt;
      &lt;br /&gt;
   $(&amp;quot;.option_link&amp;quot;).each(&lt;br /&gt;
      function(i)&lt;br /&gt;
      {&lt;br /&gt;
         $(this).click(function(){&lt;br /&gt;
            // click on hyperlink of Radio&lt;br /&gt;
            if(position(radioPos,i)&amp;gt;=0)&lt;br /&gt;
            {&lt;br /&gt;
               $(&amp;quot;input[type=&#039;radio&#039;]&amp;quot;).each(&lt;br /&gt;
               function(j){&lt;br /&gt;
                  if(position(radioPos,i)!=j)&lt;br /&gt;
                  {&lt;br /&gt;
                     this.checked = false;&lt;br /&gt;
                     //radioFlag = false&lt;br /&gt;
                  }&lt;br /&gt;
                  else&lt;br /&gt;
                  {&lt;br /&gt;
                     if(!this.checked)&lt;br /&gt;
                     {&lt;br /&gt;
                        this.checked = true;&lt;br /&gt;
                        //radioFlag = true;&lt;br /&gt;
                     }&lt;br /&gt;
                     else&lt;br /&gt;
                     {&lt;br /&gt;
                        this.checked = false;&lt;br /&gt;
                        //radioFlag = false;&lt;br /&gt;
                     }  &lt;br /&gt;
                  }&lt;br /&gt;
                  radioCheck[j] = this.checked;&lt;br /&gt;
               });&lt;br /&gt;
     &lt;br /&gt;
            }&lt;br /&gt;
            // click on hyperlink of Textbox&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                $(&amp;quot;input[type=&#039;radio&#039;]&amp;quot;).each(&lt;br /&gt;
                  function(j)&lt;br /&gt;
                  {&lt;br /&gt;
                     this.checked = false;&lt;br /&gt;
                     radioCheck[j] = this.checked;&lt;br /&gt;
                     //radioFlag = false;&lt;br /&gt;
                  });&lt;br /&gt;
            }&lt;br /&gt;
         });&lt;br /&gt;
      }&lt;br /&gt;
   );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q8_Change_non_multi_option_in_Multi_question_to_Ra)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=AutoSum_numerical_text_grid&amp;diff=23839</id>
		<title>AutoSum numerical text grid</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=AutoSum_numerical_text_grid&amp;diff=23839"/>
		<updated>2012-02-06T02:21:44Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
We need to sum numbers in a &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AutoSum.png]]&lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a text grid question&lt;br /&gt;
*Add the below script to that question&lt;br /&gt;
== Code ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
var even = &amp;quot;even&amp;quot;;&lt;br /&gt;
var AddTotalRowToGrid = true;&lt;br /&gt;
var UpdateSelfDefinedElement = false;&lt;br /&gt;
&lt;br /&gt;
function recalc() &lt;br /&gt;
{&lt;br /&gt;
   var tmpval;&lt;br /&gt;
   var tmpnumber = 0;&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;input:text&amp;quot;).each(&lt;br /&gt;
      function(i)&lt;br /&gt;
      {&lt;br /&gt;
         if ($(this).attr(&amp;quot;name&amp;quot;).indexOf(&amp;quot;QUESTION.&amp;quot;) == 0)&lt;br /&gt;
         {&lt;br /&gt;
            tmpval = $(this).val();&lt;br /&gt;
            if(tmpval != &amp;quot;&amp;quot; &amp;amp;&amp;amp; !isNaN(tmpval)) {&lt;br /&gt;
               //DEBUGGING ALERT FOR GETTING THE ACTUAL VALUE&lt;br /&gt;
               //alert(&amp;quot;|&amp;quot; + parseInt(tmpval) + &amp;quot;|&amp;quot;);&lt;br /&gt;
               tmpnumber += parseInt(tmpval);&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   );&lt;br /&gt;
   if(UpdateSelfDefinedElement)&lt;br /&gt;
      $(&amp;quot;#AUTOSUMSELFDEFINED&amp;quot;).text(&amp;quot;Sum Equals: &amp;quot; + tmpnumber);&lt;br /&gt;
   if(AddTotalRowToGrid)&lt;br /&gt;
      $(&amp;quot;#AUTOSUM&amp;quot;).text(&amp;quot;Sum Equals: &amp;quot; + tmpnumber);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   $(&amp;quot;input:text&amp;quot;).each(&lt;br /&gt;
&lt;br /&gt;
      function(i)&lt;br /&gt;
      {&lt;br /&gt;
         if ($(this).attr(&amp;quot;name&amp;quot;).indexOf(&amp;quot;QUESTION.&amp;quot;) == 0)&lt;br /&gt;
         {&lt;br /&gt;
            $(this).keyup(function(){recalc()});&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   if(AddTotalRowToGrid) &lt;br /&gt;
   {&lt;br /&gt;
      $(&amp;quot;.grid_inner&amp;quot;).append(&amp;quot;&amp;lt;tr rowheight=\&amp;quot;12pt\&amp;quot;&amp;gt;&amp;lt;td colspan=2 class=\&amp;quot;grid_subquestion_text grid_subquestion_&amp;quot; + even + &amp;quot;\&amp;quot; style=\&amp;quot;height: 20px;\&amp;quot;&amp;gt;&amp;lt;p id=\&amp;quot;AUTOSUM\&amp;quot;&amp;gt;Undefined&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   recalc();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q7_AutoSum_numerical_text_grid)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Show_open_textbox_in_a_grid_question&amp;diff=23838</id>
		<title>Show open textbox in a grid question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Show_open_textbox_in_a_grid_question&amp;diff=23838"/>
		<updated>2012-02-03T10:07:34Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
In order to let the respondent specify an open text for Other option&amp;lt;br&amp;gt; As a questionnaire creator&amp;lt;br&amp;gt; I want to show a textbox next to &amp;quot;Other&amp;quot; text in a grid question&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Image:Openinsingrid.png]]&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
&lt;br /&gt;
*Assuming that I have a single grid question labeled Q1, and I need to show the open text box in 3rd sub question (0-index)&lt;br /&gt;
&lt;br /&gt;
*Make the &amp;quot;Other&amp;quot; sub question NOT required&lt;br /&gt;
&lt;br /&gt;
*Create a dummy text question labeled Q1_Other&lt;br /&gt;
&lt;br /&gt;
== Code  ==&lt;br /&gt;
Add a piece of javascript to Q1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=javascript&amp;gt;&lt;br /&gt;
var errorMessage = &amp;quot;Please specify the open text&amp;quot;;&lt;br /&gt;
var subQuestionIndex = 3;//0-based&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   $(&amp;quot;#grid_subquestion_text_&amp;quot;+ (subQuestionIndex+1)).append($(&amp;quot;&amp;lt;input name=&#039;QUESTION.Q1_Other&#039;&amp;gt;&amp;quot;).val(&amp;quot;{{Q1_Other}}&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var oldCheck = questioncheck;&lt;br /&gt;
questioncheck = function()&lt;br /&gt;
{&lt;br /&gt;
   if (!oldCheck())&lt;br /&gt;
   return false;&lt;br /&gt;
   &lt;br /&gt;
   if ($(&amp;quot;input:radio[name=&#039;QUESTION.Q1.&amp;quot;+ subQuestionIndex + &amp;quot;&#039;][checked=true]&amp;quot;).length != 0)&lt;br /&gt;
   {&lt;br /&gt;
      if ($(&amp;quot;input[name=&#039;QUESTION.Q1_Other&#039;]&amp;quot;).val() == &amp;quot;&amp;quot;)&lt;br /&gt;
      {      &lt;br /&gt;
         ErrorMessages.getInstance().showErrorMessage(errorMessage);&lt;br /&gt;
         return false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a CGScript to Q1_Other to remove double quotes&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
if (Q1_Other == empty)&lt;br /&gt;
return;&lt;br /&gt;
Q1_Other = stringReplace(Q1_Other, &amp;quot;\&amp;quot;&amp;quot;, &amp;quot;&#039;&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source  ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q6_Show_open_textbox_in_a_grid_question &amp;amp; D_Q6_Show_open_textbox_in_a_grid_question_Other)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Show_open_textbox_in_a_grid_question&amp;diff=23837</id>
		<title>Show open textbox in a grid question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Show_open_textbox_in_a_grid_question&amp;diff=23837"/>
		<updated>2012-02-03T10:06:46Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* Challenge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
In order to let the respondent specify an open text for Other option&amp;lt;br&amp;gt; As a questionnaire creator&amp;lt;br&amp;gt; I want to show a textbox next to &amp;quot;Other&amp;quot; text in a grid question&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Image:Openinsingrid.png]]&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
&lt;br /&gt;
Assuming that I have a single grid question labeled Q1, and I need to show the open text box in 3rd sub question (0-index)&lt;br /&gt;
&lt;br /&gt;
Make the &amp;quot;Other&amp;quot; sub question NOT required&lt;br /&gt;
&lt;br /&gt;
Create a dummy text question labeled Q1_Other&lt;br /&gt;
== Code  ==&lt;br /&gt;
Add a piece of javascript to Q1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=javascript&amp;gt;&lt;br /&gt;
var errorMessage = &amp;quot;Please specify the open text&amp;quot;;&lt;br /&gt;
var subQuestionIndex = 3;//0-based&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   $(&amp;quot;#grid_subquestion_text_&amp;quot;+ (subQuestionIndex+1)).append($(&amp;quot;&amp;lt;input name=&#039;QUESTION.Q1_Other&#039;&amp;gt;&amp;quot;).val(&amp;quot;{{Q1_Other}}&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var oldCheck = questioncheck;&lt;br /&gt;
questioncheck = function()&lt;br /&gt;
{&lt;br /&gt;
   if (!oldCheck())&lt;br /&gt;
   return false;&lt;br /&gt;
   &lt;br /&gt;
   if ($(&amp;quot;input:radio[name=&#039;QUESTION.Q1.&amp;quot;+ subQuestionIndex + &amp;quot;&#039;][checked=true]&amp;quot;).length != 0)&lt;br /&gt;
   {&lt;br /&gt;
      if ($(&amp;quot;input[name=&#039;QUESTION.Q1_Other&#039;]&amp;quot;).val() == &amp;quot;&amp;quot;)&lt;br /&gt;
      {      &lt;br /&gt;
         ErrorMessages.getInstance().showErrorMessage(errorMessage);&lt;br /&gt;
         return false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a CGScript to Q1_Other to remove double quotes&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
if (Q1_Other == empty)&lt;br /&gt;
return;&lt;br /&gt;
Q1_Other = stringReplace(Q1_Other, &amp;quot;\&amp;quot;&amp;quot;, &amp;quot;&#039;&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source  ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q6_Show_open_textbox_in_a_grid_question &amp;amp; D_Q6_Show_open_textbox_in_a_grid_question_Other)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:Openinsingrid.png&amp;diff=23836</id>
		<title>File:Openinsingrid.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:Openinsingrid.png&amp;diff=23836"/>
		<updated>2012-02-03T10:06:20Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Show_open_textbox_in_a_grid_question&amp;diff=23835</id>
		<title>Show open textbox in a grid question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Show_open_textbox_in_a_grid_question&amp;diff=23835"/>
		<updated>2012-02-03T10:05:28Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
In order to let the respondent specify an open text for Other option&amp;lt;br&amp;gt; As a questionnaire creator&amp;lt;br&amp;gt; I want to show a textbox next to &amp;quot;Other&amp;quot; text in a grid question&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &#039;&#039;&#039;Example&#039;&#039;&#039;&amp;lt;br&amp;gt; [[Image:Show open text.png]] &lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
&lt;br /&gt;
Assuming that I have a single grid question labeled Q1, and I need to show the open text box in 3rd sub question (0-index)&lt;br /&gt;
&lt;br /&gt;
Make the &amp;quot;Other&amp;quot; sub question NOT required&lt;br /&gt;
&lt;br /&gt;
Create a dummy text question labeled Q1_Other&lt;br /&gt;
== Code  ==&lt;br /&gt;
Add a piece of javascript to Q1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=javascript&amp;gt;&lt;br /&gt;
var errorMessage = &amp;quot;Please specify the open text&amp;quot;;&lt;br /&gt;
var subQuestionIndex = 3;//0-based&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   $(&amp;quot;#grid_subquestion_text_&amp;quot;+ (subQuestionIndex+1)).append($(&amp;quot;&amp;lt;input name=&#039;QUESTION.Q1_Other&#039;&amp;gt;&amp;quot;).val(&amp;quot;{{Q1_Other}}&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var oldCheck = questioncheck;&lt;br /&gt;
questioncheck = function()&lt;br /&gt;
{&lt;br /&gt;
   if (!oldCheck())&lt;br /&gt;
   return false;&lt;br /&gt;
   &lt;br /&gt;
   if ($(&amp;quot;input:radio[name=&#039;QUESTION.Q1.&amp;quot;+ subQuestionIndex + &amp;quot;&#039;][checked=true]&amp;quot;).length != 0)&lt;br /&gt;
   {&lt;br /&gt;
      if ($(&amp;quot;input[name=&#039;QUESTION.Q1_Other&#039;]&amp;quot;).val() == &amp;quot;&amp;quot;)&lt;br /&gt;
      {      &lt;br /&gt;
         ErrorMessages.getInstance().showErrorMessage(errorMessage);&lt;br /&gt;
         return false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add a CGScript to Q1_Other to remove double quotes&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
if (Q1_Other == empty)&lt;br /&gt;
return;&lt;br /&gt;
Q1_Other = stringReplace(Q1_Other, &amp;quot;\&amp;quot;&amp;quot;, &amp;quot;&#039;&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source  ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q6_Show_open_textbox_in_a_grid_question &amp;amp; D_Q6_Show_open_textbox_in_a_grid_question_Other)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Add_CKEditor_to_an_Open_question&amp;diff=23833</id>
		<title>Add CKEditor to an Open question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Add_CKEditor_to_an_Open_question&amp;diff=23833"/>
		<updated>2012-02-03T09:27:54Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* Challenge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
Sometimes need to put in formatted text into Catglobe as answer to a question. To do this, we will use CKEditor on an Open question&lt;br /&gt;
[[Image:CKEditor.png]]&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a Open question&lt;br /&gt;
*Get textarea&#039;s name on that question and replace in the script below&lt;br /&gt;
&lt;br /&gt;
*Paste this code below into Javascript tab of that question&lt;br /&gt;
&lt;br /&gt;
== Code  ==&lt;br /&gt;
&amp;lt;source lang = javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   //Location of script&lt;br /&gt;
   var ServerInfo = { &amp;quot;rootPath&amp;quot;: window.location.protocol + &amp;quot;//&amp;quot; + window.location.host };&lt;br /&gt;
   var CKEditorScript = {&lt;br /&gt;
   &#039;ckeditor&#039;: ServerInfo.rootPath + &#039;/script/ckeditor/ckeditor.js&#039;,&lt;br /&gt;
   &#039;jquery&#039;: ServerInfo.rootPath + &#039;/script/ckeditor/adapters/jquery.js&#039;&lt;br /&gt;
   }&lt;br /&gt;
   window.CKEDITOR_BASEPATH = ServerInfo.rootPath + &#039;/script/ckeditor/&#039;;&lt;br /&gt;
	&lt;br /&gt;
   //Load scripts for CKEditor and apply it CKEditor to TextArea&lt;br /&gt;
   $.getScript(CKEditorScript.ckeditor, function()&lt;br /&gt;
   {&lt;br /&gt;
      $.getScript(CKEditorScript.jquery, function()&lt;br /&gt;
      {&lt;br /&gt;
         var config = &lt;br /&gt;
         {&lt;br /&gt;
            lang: __cguiculture,&lt;br /&gt;
            customConfig: &#039;&#039;,&lt;br /&gt;
            contentsCss: &#039;&#039;,&lt;br /&gt;
            width: &#039;800px&#039;,&lt;br /&gt;
            autoUpdateElement: true&lt;br /&gt;
         };&lt;br /&gt;
         var ta = $(&amp;quot;textarea[name=QUESTION.Open]&amp;quot;);&lt;br /&gt;
         ta.ckeditor(config);&lt;br /&gt;
      })&lt;br /&gt;
   });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var questioncheck = function()&lt;br /&gt;
{&lt;br /&gt;
   try&lt;br /&gt;
   {	&lt;br /&gt;
	//If there are checkboxs, if they are checked then no error&lt;br /&gt;
		var b = false;&lt;br /&gt;
		$(&#039;input:checkbox&#039;).each( function() {&lt;br /&gt;
			if (this.checked)&lt;br /&gt;
			{&lt;br /&gt;
				b = true;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		if (b) return true;&lt;br /&gt;
	&lt;br /&gt;
	//If there is no checkbox checked and textarea is empty then show error&lt;br /&gt;
		ErrorMessages.getInstance().clearErrorMessages();&lt;br /&gt;
		&lt;br /&gt;
		var tav = $(&amp;quot;textarea[name=QUESTION.Open]&amp;quot;).val();&lt;br /&gt;
		if (tav == &amp;quot;&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			ErrorMessages.getInstance().showErrorMessage(quest.requiredtext);&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
   }&lt;br /&gt;
   catch(e)&lt;br /&gt;
   {&lt;br /&gt;
      // Inform about the reason for the exception&lt;br /&gt;
      alert(e.message);&lt;br /&gt;
      // And return false&lt;br /&gt;
      return false;&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source  ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q5_Add_CKEditor_to_an_Open_question)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:CKEditor.png&amp;diff=23832</id>
		<title>File:CKEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:CKEditor.png&amp;diff=23832"/>
		<updated>2012-02-03T09:26:46Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Add_CKEditor_to_an_Open_question&amp;diff=23830</id>
		<title>Add CKEditor to an Open question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Add_CKEditor_to_an_Open_question&amp;diff=23830"/>
		<updated>2012-02-03T09:24:31Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* == Solution == */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
Sometimes need to put in formatted text into Catglobe as answer to a question. To do this, we will use CKEditor on an Open question&lt;br /&gt;
== Solution ==&lt;br /&gt;
*Create a Open question&lt;br /&gt;
*Get textarea&#039;s name on that question and replace in the script below&lt;br /&gt;
&lt;br /&gt;
*Paste this code below into Javascript tab of that question&lt;br /&gt;
&lt;br /&gt;
== Code  ==&lt;br /&gt;
&amp;lt;source lang = javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   //Location of script&lt;br /&gt;
   var ServerInfo = { &amp;quot;rootPath&amp;quot;: window.location.protocol + &amp;quot;//&amp;quot; + window.location.host };&lt;br /&gt;
   var CKEditorScript = {&lt;br /&gt;
   &#039;ckeditor&#039;: ServerInfo.rootPath + &#039;/script/ckeditor/ckeditor.js&#039;,&lt;br /&gt;
   &#039;jquery&#039;: ServerInfo.rootPath + &#039;/script/ckeditor/adapters/jquery.js&#039;&lt;br /&gt;
   }&lt;br /&gt;
   window.CKEDITOR_BASEPATH = ServerInfo.rootPath + &#039;/script/ckeditor/&#039;;&lt;br /&gt;
	&lt;br /&gt;
   //Load scripts for CKEditor and apply it CKEditor to TextArea&lt;br /&gt;
   $.getScript(CKEditorScript.ckeditor, function()&lt;br /&gt;
   {&lt;br /&gt;
      $.getScript(CKEditorScript.jquery, function()&lt;br /&gt;
      {&lt;br /&gt;
         var config = &lt;br /&gt;
         {&lt;br /&gt;
            lang: __cguiculture,&lt;br /&gt;
            customConfig: &#039;&#039;,&lt;br /&gt;
            contentsCss: &#039;&#039;,&lt;br /&gt;
            width: &#039;800px&#039;,&lt;br /&gt;
            autoUpdateElement: true&lt;br /&gt;
         };&lt;br /&gt;
         var ta = $(&amp;quot;textarea[name=QUESTION.Open]&amp;quot;);&lt;br /&gt;
         ta.ckeditor(config);&lt;br /&gt;
      })&lt;br /&gt;
   });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var questioncheck = function()&lt;br /&gt;
{&lt;br /&gt;
   try&lt;br /&gt;
   {	&lt;br /&gt;
	//If there are checkboxs, if they are checked then no error&lt;br /&gt;
		var b = false;&lt;br /&gt;
		$(&#039;input:checkbox&#039;).each( function() {&lt;br /&gt;
			if (this.checked)&lt;br /&gt;
			{&lt;br /&gt;
				b = true;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		if (b) return true;&lt;br /&gt;
	&lt;br /&gt;
	//If there is no checkbox checked and textarea is empty then show error&lt;br /&gt;
		ErrorMessages.getInstance().clearErrorMessages();&lt;br /&gt;
		&lt;br /&gt;
		var tav = $(&amp;quot;textarea[name=QUESTION.Open]&amp;quot;).val();&lt;br /&gt;
		if (tav == &amp;quot;&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			ErrorMessages.getInstance().showErrorMessage(quest.requiredtext);&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
   }&lt;br /&gt;
   catch(e)&lt;br /&gt;
   {&lt;br /&gt;
      // Inform about the reason for the exception&lt;br /&gt;
      alert(e.message);&lt;br /&gt;
      // And return false&lt;br /&gt;
      return false;&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source  ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q5_Add_CKEditor_to_an_Open_question)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Add_CKEditor_to_an_Open_question&amp;diff=23829</id>
		<title>Add CKEditor to an Open question</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Add_CKEditor_to_an_Open_question&amp;diff=23829"/>
		<updated>2012-02-03T09:23:50Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* Add CKEditor to an OPEN question */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
Sometimes need to put in formatted text into Catglobe as answer to a question. To do this, we will use CKEditor on an Open question&lt;br /&gt;
== == Solution == ==&lt;br /&gt;
*Create a Open question&lt;br /&gt;
*Get textarea&#039;s name on that question and replace in the script below&lt;br /&gt;
&lt;br /&gt;
*Paste this code below into Javascript tab of that question&lt;br /&gt;
== Code  ==&lt;br /&gt;
&amp;lt;source lang = javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
   //Location of script&lt;br /&gt;
   var ServerInfo = { &amp;quot;rootPath&amp;quot;: window.location.protocol + &amp;quot;//&amp;quot; + window.location.host };&lt;br /&gt;
   var CKEditorScript = {&lt;br /&gt;
   &#039;ckeditor&#039;: ServerInfo.rootPath + &#039;/script/ckeditor/ckeditor.js&#039;,&lt;br /&gt;
   &#039;jquery&#039;: ServerInfo.rootPath + &#039;/script/ckeditor/adapters/jquery.js&#039;&lt;br /&gt;
   }&lt;br /&gt;
   window.CKEDITOR_BASEPATH = ServerInfo.rootPath + &#039;/script/ckeditor/&#039;;&lt;br /&gt;
	&lt;br /&gt;
   //Load scripts for CKEditor and apply it CKEditor to TextArea&lt;br /&gt;
   $.getScript(CKEditorScript.ckeditor, function()&lt;br /&gt;
   {&lt;br /&gt;
      $.getScript(CKEditorScript.jquery, function()&lt;br /&gt;
      {&lt;br /&gt;
         var config = &lt;br /&gt;
         {&lt;br /&gt;
            lang: __cguiculture,&lt;br /&gt;
            customConfig: &#039;&#039;,&lt;br /&gt;
            contentsCss: &#039;&#039;,&lt;br /&gt;
            width: &#039;800px&#039;,&lt;br /&gt;
            autoUpdateElement: true&lt;br /&gt;
         };&lt;br /&gt;
         var ta = $(&amp;quot;textarea[name=QUESTION.Open]&amp;quot;);&lt;br /&gt;
         ta.ckeditor(config);&lt;br /&gt;
      })&lt;br /&gt;
   });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var questioncheck = function()&lt;br /&gt;
{&lt;br /&gt;
   try&lt;br /&gt;
   {	&lt;br /&gt;
	//If there are checkboxs, if they are checked then no error&lt;br /&gt;
		var b = false;&lt;br /&gt;
		$(&#039;input:checkbox&#039;).each( function() {&lt;br /&gt;
			if (this.checked)&lt;br /&gt;
			{&lt;br /&gt;
				b = true;&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
		if (b) return true;&lt;br /&gt;
	&lt;br /&gt;
	//If there is no checkbox checked and textarea is empty then show error&lt;br /&gt;
		ErrorMessages.getInstance().clearErrorMessages();&lt;br /&gt;
		&lt;br /&gt;
		var tav = $(&amp;quot;textarea[name=QUESTION.Open]&amp;quot;).val();&lt;br /&gt;
		if (tav == &amp;quot;&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			ErrorMessages.getInstance().showErrorMessage(quest.requiredtext);&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
   }&lt;br /&gt;
   catch(e)&lt;br /&gt;
   {&lt;br /&gt;
      // Inform about the reason for the exception&lt;br /&gt;
      alert(e.message);&lt;br /&gt;
      // And return false&lt;br /&gt;
      return false;&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source  ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q5_Add_CKEditor_to_an_Open_question)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Drag_and_drop_answer_option_values&amp;diff=23826</id>
		<title>Drag and drop answer option values</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Drag_and_drop_answer_option_values&amp;diff=23826"/>
		<updated>2012-02-03T08:32:55Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge  ==&lt;br /&gt;
&lt;br /&gt;
In order to be more flexible in displaying questions&lt;br /&gt;
&lt;br /&gt;
As a questionnaire creator &lt;br /&gt;
&lt;br /&gt;
I want to drag and drop elements in a pre-defined lists to use as question&#039;s answers &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
I want to drag products in left list to textboxes in right list, and have the ability of changing my choices by clicking a Remove link &lt;br /&gt;
&lt;br /&gt;
[[Image:QuestionTips DragNDrop 1.jpg]] &lt;br /&gt;
&lt;br /&gt;
[[Image:QuestionTips DragNDrop 2.jpg]] &lt;br /&gt;
&lt;br /&gt;
[[Image:QuestionTips DragNDrop 3.jpg]]&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
&lt;br /&gt;
*Create a text grid question&lt;br /&gt;
*Add a column containing the products to the left of the sub question text column, make the text draggable&lt;br /&gt;
*Make an extra space column between product column and sub question text column&lt;br /&gt;
*Add a column containing Remove links to the right of the sub question text column&lt;br /&gt;
*Make textboxes droppable&lt;br /&gt;
*Hide the product in the left grid when it is dropped in the text box, the previous product in the textbox will be shown again in the left list&lt;br /&gt;
*Clicking Remove will clear the textbox in the same row and show the corresponding product in the left list&lt;br /&gt;
&lt;br /&gt;
== Code  ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
	this.initializeLeftList();&lt;br /&gt;
	&lt;br /&gt;
	//add Remove link after text boxes&lt;br /&gt;
	$(&amp;quot;input:text&amp;quot;).each(&lt;br /&gt;
		function(i)&lt;br /&gt;
		{&lt;br /&gt;
			$(this).parent().after(&lt;br /&gt;
				$(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;)&lt;br /&gt;
					.append($(&amp;quot;&amp;lt;a href=\&amp;quot;javascript:quest.clearAnswer(&amp;quot;+i+&amp;quot;);\&amp;quot;&amp;gt;Remove&amp;lt;/a&amp;gt;&amp;quot;))&lt;br /&gt;
					.addClass(&amp;quot;grid_subquestion_text grid_subquestion_odd&amp;quot;)&lt;br /&gt;
			);&lt;br /&gt;
		}&lt;br /&gt;
	);&lt;br /&gt;
	&lt;br /&gt;
	//configure the drag move&lt;br /&gt;
	$(&amp;quot;.draggable_text&amp;quot;).draggable&lt;br /&gt;
	(&lt;br /&gt;
		{&lt;br /&gt;
			mouse: &amp;quot;pointer&amp;quot;,&lt;br /&gt;
			helper: &#039;clone&#039;&lt;br /&gt;
		}&lt;br /&gt;
	);&lt;br /&gt;
	&lt;br /&gt;
	//make the textboxes droppable and not editable	&lt;br /&gt;
	$(&amp;quot;input:text&amp;quot;).each(&lt;br /&gt;
		function(i)&lt;br /&gt;
		{&lt;br /&gt;
			$(this).addClass(&amp;quot;droppable_cell&amp;quot;);&lt;br /&gt;
			$(this)[0].contentEditable = false;&lt;br /&gt;
			$(this).width(&amp;quot;300px&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	);&lt;br /&gt;
&lt;br /&gt;
	//drop function&lt;br /&gt;
	$(&amp;quot;.droppable_cell&amp;quot;).droppable&lt;br /&gt;
	(&lt;br /&gt;
		{&lt;br /&gt;
			accept: &amp;quot;.draggable_text&amp;quot;,&lt;br /&gt;
			activeClass: &#039;droppable-active&#039;,&lt;br /&gt;
			hoverClass: &#039;droppable-hover&#039;,&lt;br /&gt;
			drop: function(ev, ui) &lt;br /&gt;
			{		&lt;br /&gt;
				var currentValue = $(this).val();&lt;br /&gt;
				var newValue = ui.draggable.text();&lt;br /&gt;
				if (currentValue != &amp;quot;&amp;quot; &amp;amp;&amp;amp; currentValue != newValue)&lt;br /&gt;
				{&lt;br /&gt;
					quest.showProduct(currentValue);	&lt;br /&gt;
				}&lt;br /&gt;
				$(this).val(ui.draggable.text());	&lt;br /&gt;
				ui.draggable._hide(&amp;quot;fast&amp;quot;);				&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	);	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.initializeLeftList = function()&lt;br /&gt;
{&lt;br /&gt;
	var n = this.questions.length;&lt;br /&gt;
	var answers = this.getAnswers();&lt;br /&gt;
	&lt;br /&gt;
	var products = new Array();&lt;br /&gt;
	products[0] = &amp;quot;{{Brands[0]}}&amp;quot;;&lt;br /&gt;
	products[1] = &amp;quot;{{Brands[1]}}&amp;quot;;&lt;br /&gt;
	products[2] = &amp;quot;{{Brands[2]}}&amp;quot;;&lt;br /&gt;
	products[3] = &amp;quot;{{Brands[3]}}&amp;quot;;&lt;br /&gt;
	products[4] = &amp;quot;{{Brands[4]}}&amp;quot;;	&lt;br /&gt;
	&lt;br /&gt;
	//add a product cell before the sub question text cell&lt;br /&gt;
	&lt;br /&gt;
	for(var i=0; i&amp;lt;n; i++)&lt;br /&gt;
	{		&lt;br /&gt;
		var v = products[i];&lt;br /&gt;
		$(&amp;quot;#grid_subquestion_text_&amp;quot; + (i+1))&lt;br /&gt;
			.before(&lt;br /&gt;
					$(&amp;quot;&amp;lt;td&amp;gt;&amp;quot;).append(&lt;br /&gt;
						$(&amp;quot;&amp;lt;div&amp;gt;&amp;quot;)					&lt;br /&gt;
							.append(&lt;br /&gt;
								$(&amp;quot;&amp;lt;p&amp;gt;&amp;quot;).text(v)&lt;br /&gt;
									.addClass(&amp;quot;draggable_text&amp;quot;)&lt;br /&gt;
									.css(&amp;quot;mouse&amp;quot;, &amp;quot;pointer&amp;quot;)&lt;br /&gt;
							)						&lt;br /&gt;
					)&lt;br /&gt;
					.width(&amp;quot;200px&amp;quot;)&lt;br /&gt;
			)			&lt;br /&gt;
			.width(&amp;quot;10px&amp;quot;);				&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$(&amp;quot;#grid_subquestion_text_1&amp;quot;)&lt;br /&gt;
	.before(&lt;br /&gt;
		$(&amp;quot;&amp;lt;td rowspan=\&amp;quot;&amp;quot;+(n + 1)+&amp;quot;\&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;quot;)&lt;br /&gt;
			.addClass(&amp;quot;grid_space_cell&amp;quot;)&lt;br /&gt;
			.width(&amp;quot;200px&amp;quot;)&lt;br /&gt;
	);&lt;br /&gt;
	&lt;br /&gt;
	$(&amp;quot;.draggable_text&amp;quot;).each(&lt;br /&gt;
		function(i)&lt;br /&gt;
		{&lt;br /&gt;
			if (answers.exists($(this).text()))&lt;br /&gt;
				$(this)._hide(&amp;quot;fast&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	);	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//get list of answered value&lt;br /&gt;
quest.getAnswers = function()&lt;br /&gt;
{&lt;br /&gt;
	var a = new Array();&lt;br /&gt;
	a[0] = &amp;quot;{{Q7[0]}}&amp;quot;;&lt;br /&gt;
	a[1] = &amp;quot;{{Q7[1]}}&amp;quot;;&lt;br /&gt;
	a[2] = &amp;quot;{{Q7[2]}}&amp;quot;;&lt;br /&gt;
	a[3] = &amp;quot;{{Q7[3]}}&amp;quot;;&lt;br /&gt;
	a[4] = &amp;quot;{{Q7[4]}}&amp;quot;;	&lt;br /&gt;
	return a;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//check if a value exists in an array&lt;br /&gt;
Array.prototype.exists = function(value)&lt;br /&gt;
{&lt;br /&gt;
	for(var i=0; i&amp;lt;this.length; i++)&lt;br /&gt;
	{&lt;br /&gt;
		if (this[i] == value)&lt;br /&gt;
			return true;&lt;br /&gt;
	}&lt;br /&gt;
	return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//show a product in the left list&lt;br /&gt;
quest.showProduct = function(value)&lt;br /&gt;
{&lt;br /&gt;
	$(&amp;quot;.draggable_text&amp;quot;).each(&lt;br /&gt;
		function(i)&lt;br /&gt;
		{&lt;br /&gt;
			if ($(this).text() == value)&lt;br /&gt;
				$(this).show();&lt;br /&gt;
		}&lt;br /&gt;
	);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//remove a product from the right list and put back in the left list&lt;br /&gt;
quest.clearAnswer = function(index)&lt;br /&gt;
{&lt;br /&gt;
	var input = $(&amp;quot;input:text&amp;quot;)[index];&lt;br /&gt;
	var value = input.value;&lt;br /&gt;
	if (value != &amp;quot;&amp;quot;)&lt;br /&gt;
	{&lt;br /&gt;
		this.showProduct(value);&lt;br /&gt;
		input.value = &amp;quot;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source  ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q4_Drag_and_drop_answer_option_values)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Showing_Answer_Option_in_tab&amp;diff=23817</id>
		<title>Showing Answer Option in tab</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Showing_Answer_Option_in_tab&amp;diff=23817"/>
		<updated>2012-02-03T07:06:53Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: /* Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Showing answer option in tab == &lt;br /&gt;
We have a single question which has a lot of answer options. We want to show answer options in Alphabetical tab  &lt;br /&gt;
&lt;br /&gt;
[[Image:Tab20120116.png]]&lt;br /&gt;
&lt;br /&gt;
== Solution == &lt;br /&gt;
Using Java Script property of question.&lt;br /&gt;
&lt;br /&gt;
There are 2 type of alphabetical tabs.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;No tab is selected as default&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;An extra tab showing all answer options which is selected as default&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Code 1: No tab is selected by default == &lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/// Maximum number of column in tab.&lt;br /&gt;
var columnPerRow = 3;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//answer option list to display outside of the tabs&lt;br /&gt;
var excludeAOs = [998,999];&lt;br /&gt;
&lt;br /&gt;
Array.prototype.contains = function(item)&lt;br /&gt;
{&lt;br /&gt;
   var i;&lt;br /&gt;
   for(i=0; i&amp;lt;this.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      if (this[i] == item)&lt;br /&gt;
         return true;&lt;br /&gt;
   }&lt;br /&gt;
   return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 //Overrider Array to find an item easier&lt;br /&gt;
Array.prototype.indexOf = function(character)&lt;br /&gt;
{&lt;br /&gt;
   for (var i = 0; i &amp;lt; this.length; i++)&lt;br /&gt;
      if (this[i] == character)&lt;br /&gt;
         return i;&lt;br /&gt;
   return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.getHTML = function()&lt;br /&gt;
{&lt;br /&gt;
   if (this.type != 1 &amp;amp;&amp;amp; this.type != 2)&lt;br /&gt;
      return;&lt;br /&gt;
&lt;br /&gt;
   //This code used to set data to question.options&lt;br /&gt;
   ans = this.answer.split(&amp;quot;_|_&amp;quot;);&lt;br /&gt;
   for (i = 0; i &amp;lt; ans.length; i++) &lt;br /&gt;
   {&lt;br /&gt;
      ans[i] = ans[i].split(&amp;quot;_:_&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   for (i = 0; i &amp;lt; ans[0].length; i++) &lt;br /&gt;
   {&lt;br /&gt;
      if (ans[0][i].length &amp;gt; 0) &lt;br /&gt;
      {&lt;br /&gt;
         for (j = 0; j &amp;lt; this.options.length; j++) &lt;br /&gt;
         {&lt;br /&gt;
            if (this.options[j].value == ans[0][i]) &lt;br /&gt;
            {&lt;br /&gt;
               this.options[j].checked = true;&lt;br /&gt;
               if (ans.length &amp;gt; 1 &amp;amp;&amp;amp; typeof this.options[j].open != &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; typeof ans[1][i] != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
               this.options[j].open = ans[1][i];&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   var optionType = this.type == 1 ? 1 : 3;&lt;br /&gt;
&lt;br /&gt;
   var sres = &amp;quot;&amp;quot;;&lt;br /&gt;
   sres += &amp;quot;&amp;lt;table border=&amp;quot; + this.bordersize + &amp;quot; class=\&amp;quot;question_outer\&amp;quot; cellpadding=\&amp;quot;0\&amp;quot; cellspacing=\&amp;quot;0\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
   if (this.countdown &amp;gt; 0 &amp;amp;&amp;amp; this.showcountdowndisplay) &lt;br /&gt;
   {&lt;br /&gt;
      sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;div id=\&amp;quot;countdowndisplay\&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td id=\&amp;quot;question_text\&amp;quot;&amp;gt;&amp;quot; + this.text + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
   sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=\&amp;quot;center\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
&lt;br /&gt;
   //Generate list of tabs&lt;br /&gt;
   var tabList = new Array();&lt;br /&gt;
   tabList.push(&amp;quot; #&amp;quot;);&lt;br /&gt;
   for (var i = 0; i &amp;lt; this.options.length; i++) {&lt;br /&gt;
     if (tabList.indexOf(this.options[i].text.trim().substr(0, 1).toUpperCase()) == -1)&lt;br /&gt;
         tabList.push(this.options[i].text.trim().substr(0, 1).toUpperCase());&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   //Sort Alphabetical&lt;br /&gt;
   tabList.sort();&lt;br /&gt;
&lt;br /&gt;
   sres += &amp;quot;&amp;lt;div id=&#039;example_tab&#039; class=&#039;ui-tabs ui-widget ui-widget-content ui-corner-all&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
   //Generate tab header UI&lt;br /&gt;
   sres += &amp;quot;&amp;lt;ul class=&#039;ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
   for (var i = 0; i &amp;lt; tabList.length; i++) {&lt;br /&gt;
     var tabHeaderContent = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;
     sres += &amp;quot;&amp;lt;li class=&#039;ui-state-default ui-corner-top&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
     sres += &amp;quot;&amp;lt;a href=&#039;#tab_&amp;quot; + i + &amp;quot;&#039;&amp;gt;&amp;lt;span&amp;gt;&amp;quot; + tabList[i] + &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   sres += &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   sres += &amp;quot;&amp;lt;div id=&#039;tab_&amp;quot; + 0 + &amp;quot;&#039; class=&#039;ui-tabs-panel ui-widget-content ui-corner-bottom&#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   var answerOptionNotToIncluded = new Array();&lt;br /&gt;
&lt;br /&gt;
   for (var i = 1; i &amp;lt; tabList.length; i++) {&lt;br /&gt;
     var tabContent = &amp;quot;&amp;quot;;&lt;br /&gt;
     tabContent += &amp;quot;&amp;lt;div id=&#039;tab_&amp;quot; + i + &amp;quot;&#039; class=&#039;ui-tabs-panel ui-widget-content ui-corner-bottom&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
     //generate content for tab&lt;br /&gt;
     tabContent += &amp;quot;&amp;lt;table&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
     var indexOfItemInTab = 1;&lt;br /&gt;
     var currentRow = 1;&lt;br /&gt;
     for (var j = 0; j &amp;lt; this.options.length; j++) {&lt;br /&gt;
         if (this.options[j].text.trim().substr(0, 1).toUpperCase() != tabList[i])&lt;br /&gt;
             continue;&lt;br /&gt;
&lt;br /&gt;
         if (excludeAOs.contains(this.options[j].value)) {&lt;br /&gt;
             answerOptionNotToIncluded.push(this.options[j]);&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         tabContent += this.options[j].getHTML(optionType);&lt;br /&gt;
         indexOfItemInTab++;&lt;br /&gt;
         if (indexOfItemInTab &amp;gt; columnPerRow * currentRow) {&lt;br /&gt;
             tabContent += &amp;quot;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
             currentRow++;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     if (this.options.lenght == 0)&lt;br /&gt;
         tabContent = &amp;quot;&amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
     tabContent += &amp;quot;&amp;lt;/tr&amp;gt;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
     if ($(tabContent).find(&amp;quot;input&amp;quot;).length &amp;lt;= 0)&lt;br /&gt;
         __emptyTabSearchString = &amp;quot;a[href*=&#039;tab_&amp;quot; + i + &amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
     else&lt;br /&gt;
         sres += tabContent;&lt;br /&gt;
   }&lt;br /&gt;
   if (answerOptionNotToIncluded.length &amp;gt; 0)&lt;br /&gt;
   {&lt;br /&gt;
      sres += &amp;quot;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;table id=&#039;extra_options&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
      for(var i=0; i&amp;lt;answerOptionNotToIncluded.length; i++)&lt;br /&gt;
      {&lt;br /&gt;
        sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;quot; + answerOptionNotToIncluded[i].getHTML(optionType) + &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
     sres += &amp;quot;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   return sres;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var normaloptClick = optclick;&lt;br /&gt;
this.optclick = function(slbl, lidx, blnk)&lt;br /&gt;
{&lt;br /&gt;
   var currentAOValue = quest.options[lidx].value;&lt;br /&gt;
   var inputType = quest.type == 1 ? &amp;quot;radio&amp;quot; : &amp;quot;checkbox&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   var openInput, currentAOInput;      &lt;br /&gt;
   &lt;br /&gt;
   currentAOInput = $(&amp;quot;input[type=&#039;&amp;quot; + inputType + &amp;quot;&#039;][value=&#039;&amp;quot; + currentAOValue + &amp;quot;&#039;]&amp;quot;)[0];&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
   if (excludeAOs.contains(currentAOValue))&lt;br /&gt;
      return normaloptClick(slbl, lidx, blnk);&lt;br /&gt;
&lt;br /&gt;
   //If user click on the link instead of the radiobutton/checkbox then check/uncheck the radio/checkbox&lt;br /&gt;
   if (blnk &amp;amp;&amp;amp; currentAOInput.type == &amp;quot;checkbox&amp;quot;)&lt;br /&gt;
      currentAOInput.checked = !currentAOInput.checked;&lt;br /&gt;
   else if (blnk)&lt;br /&gt;
      currentAOInput.checked = true;&lt;br /&gt;
&lt;br /&gt;
   openInput = document[&amp;quot;query&amp;quot;][slbl + &amp;quot;.Open.&amp;quot; + currentAOValue];&lt;br /&gt;
   if ((typeof openInput) != &amp;quot;undefined&amp;quot;) &lt;br /&gt;
   {&lt;br /&gt;
      if (currentAOInput.checked) &lt;br /&gt;
      {&lt;br /&gt;
         openInput.disabled = false;&lt;br /&gt;
         openInput.focus();&lt;br /&gt;
      } &lt;br /&gt;
      else &lt;br /&gt;
      {&lt;br /&gt;
         openInput.value = &amp;quot;&amp;quot;;&lt;br /&gt;
         openInput.disabled = true;&lt;br /&gt;
      }&lt;br /&gt;
   }      &lt;br /&gt;
   var o;&lt;br /&gt;
   for(var i=0; i&amp;lt;quest.options.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      o = quest.options[i];&lt;br /&gt;
      if (o.single &amp;amp;&amp;amp; currentAOValue != o.value)&lt;br /&gt;
      {&lt;br /&gt;
         $(&amp;quot;input[type=&#039;&amp;quot; + inputType + &amp;quot;&#039;][value=&#039;&amp;quot; + o.value + &amp;quot;&#039;]&amp;quot;).attr(&amp;quot;checked&amp;quot;, false);         &lt;br /&gt;
      }&lt;br /&gt;
   }   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
  if (typeof(__emptyTabSearchString) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        $(__emptyTabSearchString).parent().remove();&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;#example_tab&amp;quot;).tabs();&lt;br /&gt;
   $(&amp;quot;a[href=&#039;#tab_0&#039;]&amp;quot;).parent().css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // set Next invisible onload&lt;br /&gt;
   //setVisibility(false);&lt;br /&gt;
   $(&amp;quot;#extra_options&amp;quot;).hide();&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code 2: Extra tab showing all answer options ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/// Maximum number of column in tab.&lt;br /&gt;
var columnPerRow = 3;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//answer option list to display outside of the tabs&lt;br /&gt;
var excludeAOs = [998,999];&lt;br /&gt;
&lt;br /&gt;
Array.prototype.contains = function(item)&lt;br /&gt;
{&lt;br /&gt;
   var i;&lt;br /&gt;
   for(i=0; i&amp;lt;this.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      if (this[i] == item)&lt;br /&gt;
         return true;&lt;br /&gt;
   }&lt;br /&gt;
   return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 //Overrider Array to find an item easier&lt;br /&gt;
Array.prototype.indexOf = function(character)&lt;br /&gt;
{&lt;br /&gt;
   for (var i = 0; i &amp;lt; this.length; i++)&lt;br /&gt;
      if (this[i] == character)&lt;br /&gt;
         return i;&lt;br /&gt;
   return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.getHTML = function()&lt;br /&gt;
{&lt;br /&gt;
   if (this.type != 1 &amp;amp;&amp;amp; this.type != 2)&lt;br /&gt;
      return;&lt;br /&gt;
&lt;br /&gt;
   //This code used to set data to question.options&lt;br /&gt;
   ans = this.answer.split(&amp;quot;_|_&amp;quot;);&lt;br /&gt;
   for (i = 0; i &amp;lt; ans.length; i++) &lt;br /&gt;
   {&lt;br /&gt;
      ans[i] = ans[i].split(&amp;quot;_:_&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   for (i = 0; i &amp;lt; ans[0].length; i++) &lt;br /&gt;
   {&lt;br /&gt;
      if (ans[0][i].length &amp;gt; 0) &lt;br /&gt;
      {&lt;br /&gt;
         for (j = 0; j &amp;lt; this.options.length; j++) &lt;br /&gt;
         {&lt;br /&gt;
            if (this.options[j].value == ans[0][i]) &lt;br /&gt;
            {&lt;br /&gt;
               this.options[j].checked = true;&lt;br /&gt;
               if (ans.length &amp;gt; 1 &amp;amp;&amp;amp; typeof this.options[j].open != &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; typeof ans[1][i] != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
               this.options[j].open = ans[1][i];&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   var optionType = this.type == 1 ? 1 : 3;&lt;br /&gt;
&lt;br /&gt;
   var sres = &amp;quot;&amp;quot;;&lt;br /&gt;
   sres += &amp;quot;&amp;lt;table border=&amp;quot; + this.bordersize + &amp;quot; class=\&amp;quot;question_outer\&amp;quot; cellpadding=\&amp;quot;0\&amp;quot; cellspacing=\&amp;quot;0\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
   if (this.countdown &amp;gt; 0 &amp;amp;&amp;amp; this.showcountdowndisplay) &lt;br /&gt;
   {&lt;br /&gt;
      sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;div id=\&amp;quot;countdowndisplay\&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td id=\&amp;quot;question_text\&amp;quot;&amp;gt;&amp;quot; + this.text + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
   sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align=\&amp;quot;center\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
&lt;br /&gt;
   //Generate list of tabs&lt;br /&gt;
   var tabList = new Array();&lt;br /&gt;
  tabList.push(&amp;quot; All&amp;quot;);&lt;br /&gt;
   for (var i = 0; i &amp;lt; this.options.length; i++) {&lt;br /&gt;
     if (tabList.indexOf(this.options[i].text.trim().substr(0, 1).toUpperCase()) == -1)&lt;br /&gt;
         tabList.push(this.options[i].text.trim().substr(0, 1).toUpperCase());&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   //Sort Alphabetical&lt;br /&gt;
   tabList.sort();&lt;br /&gt;
&lt;br /&gt;
   sres += &amp;quot;&amp;lt;div id=&#039;example_tab&#039; class=&#039;ui-tabs ui-widget ui-widget-content ui-corner-all&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
   //Generate tab header UI&lt;br /&gt;
   sres += &amp;quot;&amp;lt;ul class=&#039;ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
   for (var i = 0; i &amp;lt; tabList.length; i++) {&lt;br /&gt;
     var tabHeaderContent = document.createElement(&amp;quot;li&amp;quot;);&lt;br /&gt;
     sres += &amp;quot;&amp;lt;li class=&#039;ui-state-default ui-corner-top&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
     sres += &amp;quot;&amp;lt;a href=&#039;#tab_&amp;quot; + i + &amp;quot;&#039;&amp;gt;&amp;lt;span&amp;gt;&amp;quot; + tabList[i] + &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   sres += &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   var answerOptionNotToIncluded = new Array();&lt;br /&gt;
&lt;br /&gt;
   for (var i = 0; i &amp;lt; tabList.length; i++) {&lt;br /&gt;
     var tabContent = &amp;quot;&amp;quot;;&lt;br /&gt;
     if(i==0)tabContent += &amp;quot;&amp;lt;div id=&#039;tab_&amp;quot; + i + &amp;quot;&#039; class=&#039;ui-tabs-panel ui-widget-content ui-corner-bottom&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
     else tabContent += &amp;quot;&amp;lt;div id=&#039;tab_&amp;quot; + i + &amp;quot;&#039; class=&#039;ui-tabs-panel ui-tabs-hide&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
	 &lt;br /&gt;
     //generate content for tab&lt;br /&gt;
     tabContent += &amp;quot;&amp;lt;table&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
     var indexOfItemInTab = 1;&lt;br /&gt;
     var currentRow = 1;&lt;br /&gt;
     for (var j = 0; j &amp;lt; this.options.length; j++) {&lt;br /&gt;
         if (i != 0 &amp;amp;&amp;amp; this.options[j].text.trim().substr(0, 1).toUpperCase() != tabList[i])&lt;br /&gt;
             continue;&lt;br /&gt;
		var optionInput = this.options[j].getHTML(optionType);&lt;br /&gt;
		if (i == 0) {&lt;br /&gt;
                while (optionInput.indexOf(this.label) != -1) {&lt;br /&gt;
                    optionInput = optionInput.replace(this.label, &amp;quot;TabAllAnswer&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
				}&lt;br /&gt;
         if (i!=0 &amp;amp;&amp;amp; excludeAOs.contains(this.options[j].value)) {&lt;br /&gt;
             answerOptionNotToIncluded.push(this.options[j]);&lt;br /&gt;
             continue;&lt;br /&gt;
			 &lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         tabContent += this.options[j].getHTML(optionType);&lt;br /&gt;
         indexOfItemInTab++;&lt;br /&gt;
         if (indexOfItemInTab &amp;gt; columnPerRow * currentRow) {&lt;br /&gt;
             tabContent += &amp;quot;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
             currentRow++;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     if (this.options.lenght == 0)&lt;br /&gt;
         tabContent = &amp;quot;&amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;quot;;&lt;br /&gt;
     tabContent += &amp;quot;&amp;lt;/tr&amp;gt;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
     if ($(tabContent).find(&amp;quot;input&amp;quot;).length &amp;lt;= 0)&lt;br /&gt;
         __emptyTabSearchString = &amp;quot;a[href*=&#039;tab_&amp;quot; + i + &amp;quot;&#039;]&amp;quot;;&lt;br /&gt;
     else&lt;br /&gt;
         sres += tabContent;&lt;br /&gt;
   }&lt;br /&gt;
   if (answerOptionNotToIncluded.length &amp;gt; 0)&lt;br /&gt;
   {&lt;br /&gt;
      sres += &amp;quot;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;table id=&#039;extra_options&#039;&amp;gt;&amp;quot;;&lt;br /&gt;
      for(var i=0; i&amp;lt;answerOptionNotToIncluded.length; i++)&lt;br /&gt;
      {&lt;br /&gt;
        sres += &amp;quot;&amp;lt;tr&amp;gt;&amp;quot; + answerOptionNotToIncluded[i].getHTML(optionType) + &amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      sres += &amp;quot;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
     sres += &amp;quot;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   return sres;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var normaloptClick = optclick;&lt;br /&gt;
this.optclick = function(slbl, lidx, blnk)&lt;br /&gt;
{&lt;br /&gt;
   var currentAOValue = quest.options[lidx].value;&lt;br /&gt;
   var inputType = quest.type == 1 ? &amp;quot;radio&amp;quot; : &amp;quot;checkbox&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   var openInput, currentAOInput;      &lt;br /&gt;
   &lt;br /&gt;
   currentAOInput = $(&amp;quot;input[type=&#039;&amp;quot; + inputType + &amp;quot;&#039;][value=&#039;&amp;quot; + currentAOValue + &amp;quot;&#039;]&amp;quot;)[0];&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
   if (excludeAOs.contains(currentAOValue))&lt;br /&gt;
      return normaloptClick(slbl, lidx, blnk);&lt;br /&gt;
&lt;br /&gt;
   //If user click on the link instead of the radiobutton/checkbox then check/uncheck the radio/checkbox&lt;br /&gt;
   if (blnk &amp;amp;&amp;amp; currentAOInput.type == &amp;quot;checkbox&amp;quot;)&lt;br /&gt;
      currentAOInput.checked = !currentAOInput.checked;&lt;br /&gt;
   else if (blnk)&lt;br /&gt;
      currentAOInput.checked = true;&lt;br /&gt;
&lt;br /&gt;
   openInput = document[&amp;quot;query&amp;quot;][slbl + &amp;quot;.Open.&amp;quot; + currentAOValue];&lt;br /&gt;
   if ((typeof openInput) != &amp;quot;undefined&amp;quot;) &lt;br /&gt;
   {&lt;br /&gt;
      if (currentAOInput.checked) &lt;br /&gt;
      {&lt;br /&gt;
         openInput.disabled = false;&lt;br /&gt;
         openInput.focus();&lt;br /&gt;
      } &lt;br /&gt;
      else &lt;br /&gt;
      {&lt;br /&gt;
         openInput.value = &amp;quot;&amp;quot;;&lt;br /&gt;
         openInput.disabled = true;&lt;br /&gt;
      }&lt;br /&gt;
   }      &lt;br /&gt;
   var o;&lt;br /&gt;
   for(var i=0; i&amp;lt;quest.options.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      o = quest.options[i];&lt;br /&gt;
      if (o.single &amp;amp;&amp;amp; currentAOValue != o.value)&lt;br /&gt;
      {&lt;br /&gt;
         $(&amp;quot;input[type=&#039;&amp;quot; + inputType + &amp;quot;&#039;][value=&#039;&amp;quot; + o.value + &amp;quot;&#039;]&amp;quot;).attr(&amp;quot;checked&amp;quot;, false);         &lt;br /&gt;
      }&lt;br /&gt;
   }   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
quest.onInit = function()&lt;br /&gt;
{&lt;br /&gt;
  if (typeof(__emptyTabSearchString) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        $(__emptyTabSearchString).parent().remove();&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;#example_tab&amp;quot;).tabs();&lt;br /&gt;
   //$(&amp;quot;a[href=&#039;#tab_0&#039;]&amp;quot;).parent().css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   // set Next invisible onload&lt;br /&gt;
   //setVisibility(false);&lt;br /&gt;
   $(&amp;quot;#extra_options&amp;quot;).hide();&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source ==&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Questions: Q_1_No_tab_is_selected_by_default &amp;amp; Q_2_Extra_tab_showing_all_answer_options)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Both_horizontal_and_vertical_single_grid&amp;diff=23816</id>
		<title>Both horizontal and vertical single grid</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Both_horizontal_and_vertical_single_grid&amp;diff=23816"/>
		<updated>2012-02-03T07:05:52Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Challenge&amp;amp;nbsp;: == &lt;br /&gt;
&lt;br /&gt;
There are a single grid question . Respondents should prioritize statements (sub questions) .&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;br&amp;gt;Example&amp;amp;nbsp;: == &lt;br /&gt;
&lt;br /&gt;
I have a list of trade-mark and want the user to prioritize those list&amp;amp;nbsp;: &lt;br /&gt;
&lt;br /&gt;
Dell &lt;br /&gt;
&lt;br /&gt;
Apple &lt;br /&gt;
&lt;br /&gt;
IBM &lt;br /&gt;
&lt;br /&gt;
FPT Elead &lt;br /&gt;
&lt;br /&gt;
[[Image:Example 1.JPG]]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;br&amp;gt;Solution&amp;amp;nbsp;: ==&lt;br /&gt;
&lt;br /&gt;
Use single grid question (statements as subquestion and ranks as answer option ) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Code == &lt;br /&gt;
&lt;br /&gt;
The script makes a single grid question function as a single grid both horizontally and vertically. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
option.prototype.getHTML = function(ltype)&lt;br /&gt;
{&lt;br /&gt;
   var stmp = &amp;quot;&amp;quot;;&lt;br /&gt;
   if (this.visible)&lt;br /&gt;
   {&lt;br /&gt;
      switch (ltype)&lt;br /&gt;
      {&lt;br /&gt;
         case 2:&lt;br /&gt;
            stmp += &amp;quot;&amp;lt;input type=\&amp;quot;radio\&amp;quot; &amp;quot;;&lt;br /&gt;
            stmp += &amp;quot;name=\&amp;quot;&amp;quot; + this.label + &amp;quot;\&amp;quot; &amp;quot;;&lt;br /&gt;
            stmp += &amp;quot;value=\&amp;quot;&amp;quot; + this.value + &amp;quot;\&amp;quot; &amp;quot;;&lt;br /&gt;
            if (this.checked)&lt;br /&gt;
               stmp += &amp;quot;checked &amp;quot;;&lt;br /&gt;
            if (this.disabled)&lt;br /&gt;
               stmp += &amp;quot;disabled &amp;quot;;&lt;br /&gt;
            stmp += &amp;quot;onclick=\&amp;quot;myoptclick(&#039;&amp;quot; + this.label + &amp;quot;&#039;,&amp;quot; + this.index + &amp;quot;,false);\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
            return &amp;quot;&amp;lt;td valign=\&amp;quot;center\&amp;quot; align=\&amp;quot;&amp;quot; + this.align + &amp;quot;\&amp;quot;&amp;gt;&amp;quot; + stmp + &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;; ;&lt;br /&gt;
            break;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
quest.next = nextTest;&lt;br /&gt;
function nextTest()&lt;br /&gt;
{&lt;br /&gt;
   // initialise check array&lt;br /&gt;
   var arrIndexUsed = new Array();&lt;br /&gt;
   for (i = 0; i &amp;lt; quest.questions[0].options.length; i++)&lt;br /&gt;
      arrIndexUsed[i] = false;&lt;br /&gt;
   // loop through options and check for double used options&lt;br /&gt;
   for (i = 0; i &amp;lt; quest.questions.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      for (j = 0; j &amp;lt; quest.questions[i].options.length; j++)&lt;br /&gt;
      {&lt;br /&gt;
         if (quest.questions[i].options[j].checked)&lt;br /&gt;
            arrIndexUsed[j] = true;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   // loop through possible answer options and check that all are used&lt;br /&gt;
   for (i = 0; i &amp;lt; arrIndexUsed.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      if (!arrIndexUsed[i])&lt;br /&gt;
      {&lt;br /&gt;
         alert(&#039;All options must used&#039;);&lt;br /&gt;
         return false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   buttonsStatus(true);&lt;br /&gt;
   document[&amp;quot;query&amp;quot;][&amp;quot;dir&amp;quot;].value = &amp;quot;next&amp;quot;;&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
function myoptclick(slbl, lidx, blnk)&lt;br /&gt;
{&lt;br /&gt;
   optclick(slbl, lidx, blnk);&lt;br /&gt;
   for (i = 0; i &amp;lt; quest.questions.length; i++)&lt;br /&gt;
   {&lt;br /&gt;
      if (quest.questions[i].label != slbl)&lt;br /&gt;
      {&lt;br /&gt;
         quest.questions[i].options[lidx].checked = false;&lt;br /&gt;
         o1 = document[&amp;quot;query&amp;quot;][quest.questions[i].label];&lt;br /&gt;
         cb = o1;&lt;br /&gt;
         cb[lidx].checked = false;&lt;br /&gt;
      }&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
         for (j = 0; j &amp;lt; quest.questions[i].options.length; j++)&lt;br /&gt;
            quest.questions[i].options[j].checked = false;&lt;br /&gt;
         quest.questions[i].options[lidx].checked = true;&lt;br /&gt;
         o1 = document[&amp;quot;query&amp;quot;][quest.questions[i].label];&lt;br /&gt;
         cb = o1;&lt;br /&gt;
         cb[lidx].checked = true;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Source == &lt;br /&gt;
&lt;br /&gt;
Questionnaire Resource Id on cg.catglobe.com site: 164079 (Question: Q3_Both_horizontal_and_vertical_single_grid)&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23450</id>
		<title>Coloplast - Stoma Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23450"/>
		<updated>2012-01-11T09:50:09Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Stoma panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Stoma Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SignUpPage.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-FirstInformation.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SecondInformation.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:FullPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** OC - Stoma - Quick sign up panel (Resource Id: 92675)&lt;br /&gt;
** OC - Stoma - Full panel (Resource Id: 92651)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** OC - Stoma - All panel members (Resource Id: 96996)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** OC - Stoma - Remove all users from sending groups (Everyday) (Resource Id: 97765)&lt;br /&gt;
** OC - Stoma - Add users to sending groups (Everyday) (Resource Id: 97764)&lt;br /&gt;
** OC - Stoma - Send bulkmail (Everyday)(Resource Id: 97781)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:OCRemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** OC - Stoma - Remove panel member (Resource Id: 96998)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** OC - Stoma - All panel members (Resource Id: 96998)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Stoma - Panel Administration (Resource Id: 97000)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:OCReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** OC - Stoma - DCS - Progress status (Resource Id: 92683) for Progress Status Charts&lt;br /&gt;
** OC - Stoma - Full panel - DCS - 20110616 (Resource Id: 131371) for Cross Report and Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** OC - Stoma - Full panel - Cross Report (Resource Id: 140389)&lt;br /&gt;
** OC - Stoma - Progress status with country (Resource Id: 92829)&lt;br /&gt;
* Chart:&lt;br /&gt;
** OC - Stoma - Chart - Progress status (Resource Id: 92684)&lt;br /&gt;
** OC - Stoma - Cross diagram - 20110616 (Resource Id: 131624)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** OC - Stoma - Full panel - tabulation - cross report - 20110616 (Resource Id: 131557)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Stoma - Portal - Progress status (Resource Id: 92685)&lt;br /&gt;
** Stoma - Reports(Resource Id: 92832)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23426</id>
		<title>Coloplast - Stoma Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23426"/>
		<updated>2012-01-10T09:24:41Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Stoma panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Stoma Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SignUpPage.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-FirstInformation.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SecondInformation.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:FullPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** OC - Stoma - Quick sign up panel (Resource Id: 92675)&lt;br /&gt;
** OC - Stoma - Full panel (Resource Id: 92651)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** OC - Stoma - All panel members (Resource Id: 96996)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** OC - Stoma - Remove all users from sending groups (Everyday) (Resource Id: 97765)&lt;br /&gt;
** OC - Stoma - Add users to sending groups (Everyday) (Resource Id: 97764)&lt;br /&gt;
** OC - Stoma - Send bulkmail (Everyday)(Resource Id: 97781)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:OCRemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** OC - Stoma - Remove panel member (Resource Id: 96998)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** OC - Stoma - All panel members (Resource Id: 96998)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Stoma - Panel Administration (Resource Id: 97000)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:OCReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** CC - 9695col - DCS - Progress status (Resource Id: 91895) for Progress Status Charts&lt;br /&gt;
** CC - 9695col - DCS - Make report (Resource Id: 92142) for Cross Report&lt;br /&gt;
** CC - 9695col - DCS - Continence Panel - 20110616 (Resource Id: 131154) for Cross Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** CC - 9695col - Report (Resource Id: 92156)&lt;br /&gt;
* Chart:&lt;br /&gt;
** CC - Continence - Chart - Progress status (Resource Id: 91896)&lt;br /&gt;
** CC - Continence - Progress status with country (Resource Id: 139874)&lt;br /&gt;
** CC - Continence - Cross diagram - 20110616 (Resource Id: 131741)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** CC - 9695col - Make report (Resource Id: 92143)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Portal - Progress status (Resource Id: 91897)&lt;br /&gt;
** Continence - Reports(Resource Id: 92802)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23420</id>
		<title>Coloplast - Stoma Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23420"/>
		<updated>2012-01-10T07:54:58Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Stoma panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Stoma Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SignUpPage.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-FirstInformation.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SecondInformation.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:FullPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** OC - Stoma - Quick sign up panel (Resource Id: 92675)&lt;br /&gt;
** OC - Stoma - Full panel (Resource Id: 92651)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** OC - Stoma - All panel members (Resource Id: 96996)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** OC - Stoma - Remove all users from sending groups (Everyday) (Resource Id: 97765)&lt;br /&gt;
** OC - Stoma - Add users to sending groups (Everyday) (Resource Id: 97764)&lt;br /&gt;
** OC - Stoma - Send bulkmail (Everyday)(Resource Id: 97781)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:OCRemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** CC - Continence - Remove panel member (Resource Id: 106534)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Panel Administration (Resource Id: 106537)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:OCReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** CC - 9695col - DCS - Progress status (Resource Id: 91895) for Progress Status Charts&lt;br /&gt;
** CC - 9695col - DCS - Make report (Resource Id: 92142) for Cross Report&lt;br /&gt;
** CC - 9695col - DCS - Continence Panel - 20110616 (Resource Id: 131154) for Cross Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** CC - 9695col - Report (Resource Id: 92156)&lt;br /&gt;
* Chart:&lt;br /&gt;
** CC - Continence - Chart - Progress status (Resource Id: 91896)&lt;br /&gt;
** CC - Continence - Progress status with country (Resource Id: 139874)&lt;br /&gt;
** CC - Continence - Cross diagram - 20110616 (Resource Id: 131741)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** CC - 9695col - Make report (Resource Id: 92143)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Portal - Progress status (Resource Id: 91897)&lt;br /&gt;
** Continence - Reports(Resource Id: 92802)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23410</id>
		<title>Coloplast - Stoma Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23410"/>
		<updated>2012-01-09T09:35:01Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Stoma panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Stoma Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SignUpPage.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-FirstInformation.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SecondInformation.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:FullPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** CC - Continence - Quick Panel (Resource Id: 91476)&lt;br /&gt;
** CC - Continence - Full Panel (Resource Id: 86580)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** CC - Continence - Remove all users from sending groups (Everyday) (Resource Id: 97698)&lt;br /&gt;
** CC - Continence - Add users to sending groups (Everyday) (Resource Id: 97697)&lt;br /&gt;
** CC - Continence - Send bulkmail (Everyday)(Resource Id: 97725)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:OCRemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** CC - Continence - Remove panel member (Resource Id: 106534)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Panel Administration (Resource Id: 106537)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:OCReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** CC - 9695col - DCS - Progress status (Resource Id: 91895) for Progress Status Charts&lt;br /&gt;
** CC - 9695col - DCS - Make report (Resource Id: 92142) for Cross Report&lt;br /&gt;
** CC - 9695col - DCS - Continence Panel - 20110616 (Resource Id: 131154) for Cross Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** CC - 9695col - Report (Resource Id: 92156)&lt;br /&gt;
* Chart:&lt;br /&gt;
** CC - Continence - Chart - Progress status (Resource Id: 91896)&lt;br /&gt;
** CC - Continence - Progress status with country (Resource Id: 139874)&lt;br /&gt;
** CC - Continence - Cross diagram - 20110616 (Resource Id: 131741)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** CC - 9695col - Make report (Resource Id: 92143)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Portal - Progress status (Resource Id: 91897)&lt;br /&gt;
** Continence - Reports(Resource Id: 92802)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:OCReportPortal.png&amp;diff=23409</id>
		<title>File:OCReportPortal.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:OCReportPortal.png&amp;diff=23409"/>
		<updated>2012-01-09T09:34:47Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:OCRemoveMemberPortal.png&amp;diff=23408</id>
		<title>File:OCRemoveMemberPortal.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:OCRemoveMemberPortal.png&amp;diff=23408"/>
		<updated>2012-01-09T09:33:48Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:ReportPortal.png&amp;diff=23407</id>
		<title>File:ReportPortal.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:ReportPortal.png&amp;diff=23407"/>
		<updated>2012-01-09T09:33:23Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: uploaded a new version of &amp;amp;quot;File:ReportPortal.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:RemoveMemberPortal.png&amp;diff=23406</id>
		<title>File:RemoveMemberPortal.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:RemoveMemberPortal.png&amp;diff=23406"/>
		<updated>2012-01-09T09:32:33Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: uploaded a new version of &amp;amp;quot;File:RemoveMemberPortal.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23405</id>
		<title>Coloplast - Stoma Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23405"/>
		<updated>2012-01-09T09:23:56Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Stoma panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Stoma Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SignUpPage.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-FirstInformation.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SecondInformation.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:FullPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** CC - Continence - Quick Panel (Resource Id: 91476)&lt;br /&gt;
** CC - Continence - Full Panel (Resource Id: 86580)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** CC - Continence - Remove all users from sending groups (Everyday) (Resource Id: 97698)&lt;br /&gt;
** CC - Continence - Add users to sending groups (Everyday) (Resource Id: 97697)&lt;br /&gt;
** CC - Continence - Send bulkmail (Everyday)(Resource Id: 97725)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:OC_RemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** CC - Continence - Remove panel member (Resource Id: 106534)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Panel Administration (Resource Id: 106537)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:OC_ReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** CC - 9695col - DCS - Progress status (Resource Id: 91895) for Progress Status Charts&lt;br /&gt;
** CC - 9695col - DCS - Make report (Resource Id: 92142) for Cross Report&lt;br /&gt;
** CC - 9695col - DCS - Continence Panel - 20110616 (Resource Id: 131154) for Cross Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** CC - 9695col - Report (Resource Id: 92156)&lt;br /&gt;
* Chart:&lt;br /&gt;
** CC - Continence - Chart - Progress status (Resource Id: 91896)&lt;br /&gt;
** CC - Continence - Progress status with country (Resource Id: 139874)&lt;br /&gt;
** CC - Continence - Cross diagram - 20110616 (Resource Id: 131741)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** CC - 9695col - Make report (Resource Id: 92143)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Portal - Progress status (Resource Id: 91897)&lt;br /&gt;
** Continence - Reports(Resource Id: 92802)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23404</id>
		<title>Coloplast - Stoma Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23404"/>
		<updated>2012-01-09T09:20:21Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Stoma panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Stoma Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SignUpPage.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-FirstInformation.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SecondInformation.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:FullPanel-EndScreen.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** CC - Continence - Quick Panel (Resource Id: 91476)&lt;br /&gt;
** CC - Continence - Full Panel (Resource Id: 86580)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** CC - Continence - Remove all users from sending groups (Everyday) (Resource Id: 97698)&lt;br /&gt;
** CC - Continence - Add users to sending groups (Everyday) (Resource Id: 97697)&lt;br /&gt;
** CC - Continence - Send bulkmail (Everyday)(Resource Id: 97725)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:RemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** CC - Continence - Remove panel member (Resource Id: 106534)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Panel Administration (Resource Id: 106537)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:ReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** CC - 9695col - DCS - Progress status (Resource Id: 91895) for Progress Status Charts&lt;br /&gt;
** CC - 9695col - DCS - Make report (Resource Id: 92142) for Cross Report&lt;br /&gt;
** CC - 9695col - DCS - Continence Panel - 20110616 (Resource Id: 131154) for Cross Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** CC - 9695col - Report (Resource Id: 92156)&lt;br /&gt;
* Chart:&lt;br /&gt;
** CC - Continence - Chart - Progress status (Resource Id: 91896)&lt;br /&gt;
** CC - Continence - Progress status with country (Resource Id: 139874)&lt;br /&gt;
** CC - Continence - Cross diagram - 20110616 (Resource Id: 131741)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** CC - 9695col - Make report (Resource Id: 92143)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Portal - Progress status (Resource Id: 91897)&lt;br /&gt;
** Continence - Reports(Resource Id: 92802)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23403</id>
		<title>Coloplast - Stoma Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Stoma_Panel&amp;diff=23403"/>
		<updated>2012-01-09T09:18:18Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: Created page with &amp;quot;== Summary == This is about the Stoma panel on Coloplast #User register through Quick sign-up survey or directly through Full sign-up survey #If user register via Quick sign-up s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Stoma panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Stoma Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=566f64e7-869a-41cf-883d-067fa0f9feea&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SignUpPage.png.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-FirstInformation.png.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-SecondInformation.png.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:QuickPanel-EndScreen.png.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=086aafc8-97b5-4f52-b34b-83ab41dd0d55&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:FullPanel-EndScreen.png.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** CC - Continence - Quick Panel (Resource Id: 91476)&lt;br /&gt;
** CC - Continence - Full Panel (Resource Id: 86580)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** CC - Continence - Remove all users from sending groups (Everyday) (Resource Id: 97698)&lt;br /&gt;
** CC - Continence - Add users to sending groups (Everyday) (Resource Id: 97697)&lt;br /&gt;
** CC - Continence - Send bulkmail (Everyday)(Resource Id: 97725)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:RemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** CC - Continence - Remove panel member (Resource Id: 106534)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Panel Administration (Resource Id: 106537)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:ReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** CC - 9695col - DCS - Progress status (Resource Id: 91895) for Progress Status Charts&lt;br /&gt;
** CC - 9695col - DCS - Make report (Resource Id: 92142) for Cross Report&lt;br /&gt;
** CC - 9695col - DCS - Continence Panel - 20110616 (Resource Id: 131154) for Cross Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** CC - 9695col - Report (Resource Id: 92156)&lt;br /&gt;
* Chart:&lt;br /&gt;
** CC - Continence - Chart - Progress status (Resource Id: 91896)&lt;br /&gt;
** CC - Continence - Progress status with country (Resource Id: 139874)&lt;br /&gt;
** CC - Continence - Cross diagram - 20110616 (Resource Id: 131741)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** CC - 9695col - Make report (Resource Id: 92143)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Portal - Progress status (Resource Id: 91897)&lt;br /&gt;
** Continence - Reports(Resource Id: 92802)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:ReportPortal.png&amp;diff=23402</id>
		<title>File:ReportPortal.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:ReportPortal.png&amp;diff=23402"/>
		<updated>2012-01-09T09:18:07Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: uploaded a new version of &amp;amp;quot;File:ReportPortal.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:RemoveMemberPortal.png&amp;diff=23401</id>
		<title>File:RemoveMemberPortal.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:RemoveMemberPortal.png&amp;diff=23401"/>
		<updated>2012-01-09T09:17:40Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: uploaded a new version of &amp;amp;quot;File:RemoveMemberPortal.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:QuickPanel-EndScreen.png&amp;diff=23400</id>
		<title>File:QuickPanel-EndScreen.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:QuickPanel-EndScreen.png&amp;diff=23400"/>
		<updated>2012-01-09T09:15:57Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:FullPanel-EndScreen.png&amp;diff=23399</id>
		<title>File:FullPanel-EndScreen.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:FullPanel-EndScreen.png&amp;diff=23399"/>
		<updated>2012-01-09T09:12:19Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:QuickPanel-SignUpPage.png&amp;diff=23398</id>
		<title>File:QuickPanel-SignUpPage.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:QuickPanel-SignUpPage.png&amp;diff=23398"/>
		<updated>2012-01-09T09:09:52Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:QuickPanel-SecondInformation.png&amp;diff=23397</id>
		<title>File:QuickPanel-SecondInformation.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:QuickPanel-SecondInformation.png&amp;diff=23397"/>
		<updated>2012-01-09T08:58:55Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=File:QuickPanel-FirstInformation.png&amp;diff=23396</id>
		<title>File:QuickPanel-FirstInformation.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=File:QuickPanel-FirstInformation.png&amp;diff=23396"/>
		<updated>2012-01-09T08:58:01Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
	<entry>
		<id>https://wiki.catglobe.com/index.php?title=Coloplast_-_Continence_Panel&amp;diff=23395</id>
		<title>Coloplast - Continence Panel</title>
		<link rel="alternate" type="text/html" href="https://wiki.catglobe.com/index.php?title=Coloplast_-_Continence_Panel&amp;diff=23395"/>
		<updated>2012-01-09T05:41:43Z</updated>

		<summary type="html">&lt;p&gt;Cg loc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This is about the Continence panel on Coloplast&lt;br /&gt;
#User register through Quick sign-up survey or directly through Full sign-up survey&lt;br /&gt;
#If user register via Quick sign-up survey, they will get a mail to sign up on Full survey after 1 day&lt;br /&gt;
#User who has access to manage the panel can remove any panel member by his/her email&lt;br /&gt;
#Some reports show how many panel members there are.&lt;br /&gt;
&lt;br /&gt;
== Become a Continence Panel Member ==&lt;br /&gt;
=== Sign-up Process ===&lt;br /&gt;
&lt;br /&gt;
[[File:CC-Flow.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Quick sign up survey ===&lt;br /&gt;
- Use these links to start the quick sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=e72bc02e-f5ea-4526-b830-d501b3d46111&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=e72bc02e-f5ea-4526-b830-d501b3d46111&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=e72bc02e-f5ea-4526-b830-d501b3d46111&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=e72bc02e-f5ea-4526-b830-d501b3d46111&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=e72bc02e-f5ea-4526-b830-d501b3d46111&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=e72bc02e-f5ea-4526-b830-d501b3d46111&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=e72bc02e-f5ea-4526-b830-d501b3d46111&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- If using the language choose link, user will be sent to choosing languages page, then they can select their language&lt;br /&gt;
&lt;br /&gt;
[[File:LanguageChoose.png]]&lt;br /&gt;
&lt;br /&gt;
- User must accept the term &amp;amp; conditions to be a panel member. If rejecting, they will be sent to end page, and will not become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:Quick_panel_-_Sign_up_page.png]]&lt;br /&gt;
&lt;br /&gt;
- Fill out information to become a panel member&lt;br /&gt;
&lt;br /&gt;
[[File:Quick_panel_-_First_information.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Quick_panel_-_Second_information.png]]&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s age is &amp;lt; 18, then they will be sent to page informing that they must be &amp;gt;= 18 to become a panel member&lt;br /&gt;
&lt;br /&gt;
- If the user&#039;s email already be registered for this panel, then they will be sent to page informing that this email was registered already&lt;br /&gt;
&lt;br /&gt;
- If registering successfully, the users will receive a mail to the full sign up survey when they finish the quick sign up&lt;br /&gt;
&lt;br /&gt;
[[File:Quick_panel_-_End.png]]&lt;br /&gt;
&lt;br /&gt;
=== Join the Full sign up survey ===&lt;br /&gt;
&lt;br /&gt;
- Use these links to start the full sign up&lt;br /&gt;
* England:     http://coloplast.catglobe.com/Login.aspx?r=2fe0cf24-7003-49a6-bf85-e21934bfd2e7&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-GB&lt;br /&gt;
* USA:         http://coloplast.catglobe.com/Login.aspx?r=2fe0cf24-7003-49a6-bf85-e21934bfd2e7&amp;amp;n=2&amp;amp;b=1&amp;amp;l=en-US&lt;br /&gt;
* France:      http://coloplast.catglobe.com/Login.aspx?r=2fe0cf24-7003-49a6-bf85-e21934bfd2e7&amp;amp;n=2&amp;amp;b=1&amp;amp;l=fr-FR&lt;br /&gt;
* Germany:     http://coloplast.catglobe.com/Login.aspx?r=2fe0cf24-7003-49a6-bf85-e21934bfd2e7&amp;amp;n=2&amp;amp;b=1&amp;amp;l=de-DE&lt;br /&gt;
* Italy:       http://coloplast.catglobe.com/Login.aspx?r=2fe0cf24-7003-49a6-bf85-e21934bfd2e7&amp;amp;n=2&amp;amp;b=1&amp;amp;l=it-IT&lt;br /&gt;
* Netherlands: http://coloplast.catglobe.com/Login.aspx?r=2fe0cf24-7003-49a6-bf85-e21934bfd2e7&amp;amp;n=2&amp;amp;b=1&amp;amp;l=nl-NL&lt;br /&gt;
&lt;br /&gt;
* Language Choose: http://coloplast.catglobe.com/Login.aspx?r=2fe0cf24-7003-49a6-bf85-e21934bfd2e7&amp;amp;n=2&amp;amp;b=1&amp;amp;ls=true&lt;br /&gt;
&lt;br /&gt;
- Or users automatically get the mail with link to full panel after signing up on quick panel (after 1 day)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by the direct links, then they will be asked the same as Quick panel before answering Full panel questions (they of course will be send to end page if rejecting, &amp;lt; 18 or already had a email registered in this panel)&lt;br /&gt;
&lt;br /&gt;
- If users start the Full sign up by getting mail form quick sign up, then they will be sent to Full panel questions&lt;br /&gt;
&lt;br /&gt;
- When finish successfully, they will get 100 points&lt;br /&gt;
&lt;br /&gt;
[[File:Full_panel_-_End.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for registering&lt;br /&gt;
** CC - Continence - Quick Panel (Resource Id: 91476)&lt;br /&gt;
** CC - Continence - Full Panel (Resource Id: 86580)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Workflow: for sending mails automatically to users after signing up on quick panel&lt;br /&gt;
** CC - Continence - Remove all users from sending groups (Everyday) (Resource Id: 97698)&lt;br /&gt;
** CC - Continence - Add users to sending groups (Everyday) (Resource Id: 97697)&lt;br /&gt;
** CC - Continence - Send bulkmail (Everyday)(Resource Id: 97725)&lt;br /&gt;
&lt;br /&gt;
== Remove a Continence Panel Member ==&lt;br /&gt;
=== Process ===&lt;br /&gt;
- Only consultant who has right can use this function&lt;br /&gt;
&lt;br /&gt;
[[File:RemoveMemberPortal.png]]&lt;br /&gt;
&lt;br /&gt;
- Just input email of the member who should be removed from this panel.&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
* Questionnaires : for removing&lt;br /&gt;
** CC - Continence - Remove panel member (Resource Id: 106534)&lt;br /&gt;
* Group: for storing panel members&lt;br /&gt;
** CC - Continence - All panel members (Resource Id: 97004)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Panel Administration (Resource Id: 106537)&lt;br /&gt;
&lt;br /&gt;
== Report ==&lt;br /&gt;
- We have a couple of reports that are used for this panel, only consultant who as right can use this &lt;br /&gt;
&lt;br /&gt;
[[File:ReportPortal.png]]&lt;br /&gt;
&lt;br /&gt;
=== Relative resources ===&lt;br /&gt;
&lt;br /&gt;
* DCS: for making diagram and report&lt;br /&gt;
** CC - 9695col - DCS - Progress status (Resource Id: 91895) for Progress Status Charts&lt;br /&gt;
** CC - 9695col - DCS - Make report (Resource Id: 92142) for Cross Report&lt;br /&gt;
** CC - 9695col - DCS - Continence Panel - 20110616 (Resource Id: 131154) for Cross Chart&lt;br /&gt;
* Report:&lt;br /&gt;
** CC - 9695col - Report (Resource Id: 92156)&lt;br /&gt;
* Chart:&lt;br /&gt;
** CC - Continence - Chart - Progress status (Resource Id: 91896)&lt;br /&gt;
** CC - Continence - Progress status with country (Resource Id: 139874)&lt;br /&gt;
** CC - Continence - Cross diagram - 20110616 (Resource Id: 131741)&lt;br /&gt;
* Tabulation script: for making report&lt;br /&gt;
** CC - 9695col - Make report (Resource Id: 92143)&lt;br /&gt;
* Portal: for quick link&lt;br /&gt;
** Continence - Portal - Progress status (Resource Id: 91897)&lt;br /&gt;
** Continence - Reports(Resource Id: 92802)&lt;br /&gt;
&lt;br /&gt;
 [[category:Production guidelines]]&lt;/div&gt;</summary>
		<author><name>Cg loc</name></author>
	</entry>
</feed>