home *** CD-ROM | disk | FTP | other *** search
- var randomiser=new Array();
- var progressStyle=1;
-
- function disablebuttons(){
- document.survey.bprev.disabled=true;
- document.survey.bnext.disabled=true;
- }
-
- var sep='|' //unescape("%09")
-
- function doSubmitHere(){
- document.survey.bnext.disabled=true;
- //document.survey.submit();
- arrj=parent.xanswers.ranswers.join(sep);
- parent.xanswers.document.answersform.subanswers.value=unescape(arrj);
- MM_showhide('submitting','','hide');
- setTimeout('time()',2000);
- MM_showhide('thanks','','show');
- parent.xanswers.document.answersform.submit();
- }
-
- function setprogress(inpage){
- /*
- xc=document.survey.c.value;
- var ret=setTimeout('showprogress(xc)',100);
- }
-
- function showprogress(inpage){
- */
- var ptext=MM_findObj('progresstext');
- var plabel=MM_findObj('progresslabel');
- var xpages=parent.xnav.document.navform.pages.value;
- pagestogo=xpages-inpage;
- switch (progressStyle){
- case 0: //none
- //document.progress.width=0;
- //document.progressx.width=0;
- //ptext.innerHTML='';
- //plabel.innerHTML=''
- break;
- case 1: //progress bar
- document.progress.width=12*(inpage);
- document.progressx.width=12*(pagestogo);
- switch(inpage){
- case 1:
- ptext.innerHTML=' Survey 0% complete';
- break;
- case xpages:
- ptext.innerHTML=' Survey 100% complete';
- break;
- default:
- ptext.innerHTML=' Survey '+Math.floor(100*inpage/xpages)+'% complete';
- }
- //plabel.innerHTML='PROGRESS '
- plabel.innerHTML=''
- break;
- case 2: //text
- //document.progress.width=0;
- //document.progressx.width=0;
- ptext.innerHTML='Page '+inpage+' of ' + xpages;
- plabel.innerHTML=''
- break;
- }
- }
-
- function XXcheckpageOK(){
- window.status='Survey system by Demgraphix';
- var checkOK=true;
- startfile=self.location.href.lastIndexOf('/');
- thispage=(self.location.href.slice(startfile+5,-5))*1
- thispagecondition=parent.xanswers.jspagearray[thispage+1];
- thisreferrer=parent.xanswers.document.answersform.referrer.value;
- if(thispagecondition!='-'){
- checkOK=false;
- thispcq=thispagecondition.split('=')[0]
- thispca=thispagecondition.split('=')[1]
- thispcansweroptionsarray=thispca.split(',');
- a=parent.xanswers.getanswer(thispcq);
- for(i=0;i<thispcansweroptionsarray.length;i++){
- if(parseInt(thispcansweroptionsarray[i])==parseInt(a)){checkOK=true}
- }
- }
- if (checkOK==true ){refill()}
- else {
- //go to referring page
- if(thisreferrer*1<thispage*1){newpage=thispage+1}else{newpage=thispage-1}
- document.location.href=self.location.href.replace('page'+thispage+'.html','page'+newpage+'.html');
- }
- }
-
- function MM_showhide() { //v3.0
- var i,p,v,obj,args=MM_showhide.arguments;
- for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
- if (obj.style) { obj=obj.style; v=(v=='show')?'':(v='hide')?'none':v; }
- obj.display=v; }
- }
-
- function xdoselect(intarget){
- var args=xdoselect.arguments;
- if (args[1].length==0){return;}
- source=MM_findObj(args[0]);
- var chkarray=new Array(source.length);
- thisqsarray=args[1].split('|');
- var hold=new Array(thisqsarray.length)
- //initialise as hide
- for(i=0;i<thisqsarray.length;i++){
- hold[i]='-';
- testarray=args[i+2].split('|');
- for(j=0;j<testarray.length;j++){
- if(source.options[testarray[j]*1+1].selected==true){
- hold[i]='+';
- }
- }
- target='q'+thisqsarray[i]
- switch (hold[i]){
- case '+':
- MM_showhide(target,'','show');
- break;
- case '-':
- MM_showhide(target,'','hide');
- break;
- }
- }
- }
-
- function xdo(intarget){
- var args=xdo.arguments;
- if (args[1].length==0){return;}
- source=MM_findObj(args[0]);
- var chkarray=new Array(source.length);
- thisqsarray=args[1].split('|');
- var hold=new Array(thisqsarray.length)
- //initialise as hide
- for(i=0;i<thisqsarray.length;i++){
- hold[i]='-';
- testarray=args[i+2].split('|');
- for(j=0;j<testarray.length;j++){
- if(source[testarray[j]].checked==true){
- hold[i]='+';
- }
- }
- target='q'+thisqsarray[i]
- switch (hold[i]){
- case '+':
- MM_showhide(target,'','show');
- break;
- case '-':
- MM_showhide(target,'','hide');
- break;
- }
- }
- }
-
- function doDropDownMatrix(inq,invalue){
- var qhold='000'+inq.name.substr(3,7);
- var xrow=inq.name.substr(0,2);
- var tObj=MM_findObj(qhold);
- var ahold=tObj.value+'';
- var xfound;
- var xmode=inq.checked;
- if(ahold==''){xfound=-1}
- else {
- rxs=''+xrow + '[0-9],';
- rx=new RegExp(rxs,"gi");
- ahold=ahold.replace(rx,"")
- }
- ahold+=inq.value+',';
- tObj.value=ahold;
- }
-
- function doRadioMatrix(inq,invalue){
- var qhold='000'+inq.name.substr(3,7);
- var xrow=inq.name.substr(0,2);
- var tObj=MM_findObj(qhold);
- var ahold=tObj.value+'';
- var xfound;
- var xmode=inq.checked;
- if(ahold==''){xfound=-1}
- else {
- rxs=''+xrow + '[0-9],';
- rx=new RegExp(rxs,"gi");
- ahold=ahold.replace(rx,"")
- }
- ahold+=inq.value+',';
- tObj.value=ahold;
- }
-
- function doCheckboxMatrix(inq,invalue){
- var qhold='000'+inq.name.substr(3,7);
- var tObj=MM_findObj(qhold);
- var ahold=tObj.value+'';
- var xfound;
- var xmode=inq.checked;
- if(ahold==''){xfound=-1}
- else {xfound=ahold.search(''+invalue);}
- switch(xmode){
- case true:
- if(xfound==-1){tObj.value+=invalue+',';}
- break;
- case false:
- ahold=ahold.substr(0,xfound) + ahold.substr(xfound+3);
- re=/,,/g
- tObj.value=ahold.replace(re,',');
- break;
- }
- }
-
- function set_cookie(inq,invalue){
- today=new Date();
- expires=new Date(today.getTime()+60*24*60*60);
- document.cookie=inq+"="+invalue +';path=/;expires='+expires;
- }
-
- function get_cookie(inq) {
- var search = inq + "=";
- var returnvalue = "";
- //return;
- if (document.cookie.length > 0) {
- offset = document.cookie.indexOf(search);
- if (offset != -1) {
- offset += search.length
- end = document.cookie.indexOf(";", offset);
- if (end == -1) end = document.cookie.length;
- returnvalue=unescape(document.cookie.substring(offset, end));
- }
- }
- return returnvalue;
- }
-
- function fillrand(infield){
- thisfield=MM_findObj(infield);
- //thisfieldint=eval(infield.slice(0,6));
- thisfieldint=(infield.slice(0,6)*1);
- if (get_cookie(infield).length==0){
- thisoptsa=randomiser[thisfieldint].split('|');
- thisoptsl=thisoptsa.length;
- thisrand=Math.floor(Math.random()*thisoptsl,0);
- thischoice=thisoptsa[thisrand];
- }
- else thischoice=get_cookie(infield);
- thisfield[0].value=thischoice;
- thisfield[1].value='-'+thischoice;
- thistextfield='f'+infield.slice(0,7)+ 't';
- thistext=MM_findObj(thistextfield);
- thistext.innerHTML=thischoice;
- set_cookie(infield,thischoice);
- }
-
- function pad(inq){
- switch((''+inq).length){
- case 1:
- return '00000'+inq
- break
- case 2:
- return '0000'+inq
- break
- case 3:
- return '000'+inq
- break
- case 4:
- return '00'+inq
- break
- case 5:
- return '0'+inq
- break
- case 6:
- return inq
- break
- }
- }
- function showerrs(instring){
- var errstring='';
- errarray=(instring.split('|')[0]).split(',');
- for(i=1;i<errarray.length-1;i++){
- switch(errarray[i].charAt(6)){
- case 'X':
- errstring='COMPULSORY QUESTION'
- break;
- case 'P':
- case 'p':
- errstring='INVALID POSTCODE'
- break;
- case 'N':
- case 'n':
- errstring='NUMBER REQUIRED'
- break;
- case 'E':
- case 'e':
- errstring='INVALID EMAIL ADDRESS'
- break;
- case 'W':
- case 'w':
- errstring='INVALID WEB ADDRESS'
- break;
- case 'Z':
- case 'z':
- errstring='INVALID ZIP CODE'
- break;
- }
- errfield=errarray[i].slice(0,7)+'z';
- errID=MM_findObj(errfield);
- //errID=document.getElementById(errfield);
- errID.innerHTML=' '+ errstring;
- }
- self.location+=(instring.split('|')[1]);
- }
-
- function refill(inpage){
- //setTimeout("time()",500);
- var pq;
- var a='';
- pq=document.getElementById('pageqs'+inpage).value;
-
- if (pq.length==0) return;
- qq=pq.split("|");
- if (qq.length>0){
- for (var i=0; i < qq.length-1; i++) {
- if(qq[i].substr(7,1)=='z'){
- fillrand(qq[i]);
- }
- }
- for (var i=0; i < qq.length-1; i++) {
- a='';
- q=(qq[i].substr(0,6))*1;
- v=qq[i].substr(6,1);
- t=qq[i].substr(7,1);
- r=setTimeout("time()",100);
- a=parent.xanswers.getanswer(q);
- aID=MM_findObj(qq[i]);
- if ((a!='+')&&(a.length>0)) {
- switch (t){
- case 'z':
- if (a.length!=0){
- if(a=='0'){aID[1].checked=true;}
- else aID[0].checked=true;
- }
- break;
- case 'x':
- case 'y':
- a=unescape(a);
- aID.value=a;
- var xsource=qq[i];
- var ca=a.split(',');
- for(var j=0;j<ca.length-1;j++){
- var xrow=ca[j].substr(0,2);
- var xfield=''+xrow+xsource.substr(2);
- var xval=ca[j].substr(2,1);
- xObj=MM_findObj(xfield);
- xObj[xval].checked=true;
- }
- break;
- case 'w':
- a=unescape(a);
- aID.value=a;
- var xsource=qq[i];
- var ca=a.split(',');
- for(var j=0;j<ca.length-1;j++){
- var xrow=ca[j].substr(0,2);
- var xfield=''+xrow+xsource.substr(2);
- var xval=ca[j].substr(2,1);
- xObj=MM_findObj(xfield);
- xObj.selectedIndex=1+(xval*1);
- }
- break;
- case 'r':
- //aID[a].checked=true;
- aID[a].click();
- break;
- case 'c':
- ca=a.split(',');
- for(j=0;j<ca.length;j++){
- //aID[ca[j]*1].checked=true;
- aID[ca[j]*1].click();
- }
- break;
- case 'd':
- aID.selectedIndex=1+(a*1);
- break;
- case 'm':
- ca=a.split(',');
- for(j=0;j<ca.length-1;j++){
- aID[(ca[j]*1)+1].options.selected=true;
- }
- break;
- case 't':
- aID.value=unescape(a);
- break;
- case 'k':
- aID.value=unescape(a);
- var ka=aID.value.split(',');
- khold=new Array();
- ksource=MM_findObj(qq[i].substr(0,7)+'_');
- for(j=0;j<ksource.length;j++){
- khold[j]=escape(ksource.options[j].text);
- }
- var above=true;
- ksource.length=0;
- for(j=0;j<ka.length;j++){
- thisone=1+1*ka[j];
- thistext=unescape(khold[thisone]);
- if(thistext.substr(0,4)=='===='){above=false;}
- if(above==true){thistext=eval(j+1) +'.'+thistext;}
- var optionName = new Option(thistext, ka[j])
- var length = ksource.length;
- ksource.options[length] = optionName;
- }
- break;
- }
- }
- }
- }
- }
-
- function time(){
- var a,b;
- a=b;
- }
-
- function MM_findObj(n, d) { //v4.0
- var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
- d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
- if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
- for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
- if(!x && document.getElementById) x=document.getElementById(n); return x;
- }
-
- function formatnumber(inint){
- strinint=''+inint
- switch (strinint.length){
- case 0:
- return inint+'.';
- break;
- case 1:
- return '_'+inint+'.';
- break;
- case 2:
- return inint+'.';
- break;
- default:
- return inint;
- }
- }
-
- function moveup(that) {
- thisobj=MM_findObj(that);
- var sel=thisobj.selectedIndex;
- if (sel<0){alert('No option selected');return;}
- if (sel>0) {
- var hold=thisobj.options[sel].value;
- var holdt=thisobj.options[sel].text;
- var hold2=thisobj.options[sel-1].value;
- var hold2t=thisobj.options[sel-1].text;
- thisobj.options[sel].value=hold2;
- thisobj.options[sel-1].value=hold;
- thisobj.options[sel].text=hold2t;
- thisobj.options[sel-1].text=holdt;
- thisobj.selectedIndex=sel-1;
- var h=that.substr(0,7)+'k';
- var s='';
- hobj=MM_findObj(h);
- for(i=0;i<thisobj.length;i++){
- s+=thisobj[i].value+',';
- }
- hobj.value=s;
- renumber(that)
- }
- else alert('Choice at top of list already');
-
- }
-
- function movedown(that) {
- thisobj=MM_findObj(that);
- var sel=thisobj.selectedIndex;
- if (sel<0){alert('No option selected');return;}
- if (sel<thisobj.options.length-1) {
- var hold=thisobj.options[sel].value;
- var hold2=thisobj.options[sel+1].value;
- var holdt=thisobj.options[sel].text;
- var hold2t=thisobj.options[sel+1].text;
- thisobj.options[sel].value=hold2;
- thisobj.options[sel+1].value=hold;
- thisobj.options[sel].text=hold2t;
- thisobj.options[sel+1].text=holdt;
- thisobj.selectedIndex=sel+1;
- var h=that.substr(0,7)+'k';
- var s='';
- hobj=MM_findObj(h);
- for(i=0;i<thisobj.length;i++){
- s+=thisobj[i].value+',';
- }
- hobj.value=s;
- renumber(that)
- }
- else alert('Choice at end of list already');
- }
-
- function renumber(that){
- thisobj=MM_findObj(that);
- hold=thisobj.selectedIndex;
- diff=false;
- for(i=0;i<thisobj.options.length;i++){
- s=''+thisobj.options[i].text;
- //alert(s);
- v=thisobj[i].value;
- if (v=='-1'){diff=true}
- else{
- if(s.substr(2,1)=='.'){s=s.slice(3)}
- if(diff==true){thisobj.options[i].text=s;
- }
- else {
- thisobj.options[i].text=formatnumber(i+1)+s;
- }
- }
- }
- thisobj.selectedIndex=hold;
- }
-
- function checktextarea(c){
- var tmax=1400;
- if(c.value.length>tmax){
- c.value=c.value.slice(0, tmax);
- document.getElementById(c.name+'counter').innerHTML='Maximum of 1400 characters used';
- //alert('Maximum of 500 words allowed');
- }
- else document.getElementById(c.name+'counter').innerHTML=c.value.length + ' of 1400 characters used';
- }
-
-