function Question (qname,
type,
qstring,
response,
comment,
corrects,
explan,
score,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.comment=comment;
this.corrects=corrects;
this.explan=explan;
this.score=score;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

var zin=1,top=0, mycount=0, waitTime=0, qright=0, mycomment;
var global=new Array(3);
var recent, recent2, recdone=false, opera7, opera=CheckOpera56();
function cachewrite(s,idx){global[idx]+=s;}
function CheckOpera56()
{
var version;
if (navigator.userAgent.toLowerCase().indexOf('opera') == -1) return false;
version=parseInt(navigator.appVersion.toLowerCase());
if (version>6) {opera7=true; return false;}
if (version<5) return false;
return true;
}
resp=new Array("Nearly always","Often","Occasionally","Rarely","Hardly ever")
corr=""
comm=""
valu=new Array(5,4,3,2,0)
quest001 = new Question(
"Question 1",
1,
"I feel confident to deal with the normal challenges of my work and life.",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Hardly ever")
corr=""
comm=""
valu=new Array(0,2,3,4,5)
quest002 = new Question(
"Question 2",
1,
"I feel guilty when I say no to people.",
resp,
comm,
corr,
"",
valu,
0,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Hardly ever")
corr=""
comm=""
valu=new Array(5,4,3,2,0)
quest003 = new Question(
"Question 3",
1,
"I judge myself to be as competent as my work colleagues and friends.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Almost never")
corr=""
comm=""
valu=new Array(0,2,3,4,5)
quest004 = new Question(
"Question 4",
1,
"I feel I have very little control over what happens to me in my life.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Hardly ever")
corr=""
comm=""
valu=new Array(0,2,3,4,5)
quest005 = new Question(
"Question 5",
1,
"I worry that things I initiate will not work out.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Almost never")
corr=""
comm=""
valu=new Array(5,4,3,2,0)
quest006 = new Question(
"Question 6",
1,
"I find it easy to ask people to do things for me.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Almost never")
corr=""
comm=""
valu=new Array(0,2,3,4,5)
quest007 = new Question(
"Question 7",
1,
"I think a lot about my misfortune and setbacks.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Almost never")
corr=""
comm=""
valu=new Array(5,4,3,2,0)
quest008 = new Question(
"Question 8",
1,
"I quickly get over criticism and feel good about myself again.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Almost never")
corr=""
comm=""
valu=new Array(5,4,3,2,0)
quest009 = new Question(
"Question 9",
1,
"I consider myself to be an optimistic, positive person.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Nearly always","Often","Occasionally","Rarely","Almost never")
corr=""
comm=""
valu=new Array(0,2,3,4,5)
quest010 = new Question(
"Question 10",
1,
"I feel I need to try hard to get people to like me.",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010)

function doQuestion(quest)
{
var numdo;
var numord=eval(quest+1);
var i=-1, ii, type, myname, gadget;
type=questions[quest].type;
numdo=type>=3?1:questions[quest].response.length;


document.writeln ("<a name=\""+questions[quest].qname+"\"></a>")
document.write("\n")
document.write("    <tr>\n")
document.write("      <td width=\"5%\" align=\"center\" valign=\"top\" bgcolor=\"#E6E6FF\"><font face=\"Verdana\"\n")
document.write("      color=\"#000080\"><strong><small>")
document.write(numord)
document.write("</small></strong></font></td>\n")
document.write("      <td width=\"95%\" valign=\"top\" bgcolor=\"#F4F4FF\"><font face=\"Verdana\"><font color=\"#000080\"><strong><small>\n")
document.write("      ")
if (questions[quest].img!="") {
document.write("\n")
document.write("         <img border=\"0\" hspace=\"10\" vspace=\"5\" align=\"left\" src=\"")
document.write(questions[quest].img)
document.write("\">\n")
document.write("      ")
}
document.write("\n")
document.write("      ")
document.writeln(questions[quest].qstring)
document.write("</small></strong></font><br>\n")
document.write("      <br><small><small>\n")
document.write("      ")
for (i=0; i<numdo; i++) {
myname=questions[quest].qname;
gadget="radio";
if (type>=3) gadget="text";
else if (type==1) {
myname+="_"+(i<9?"0":"")+(i+1);
gadget="checkbox";}
document.write("\n")
document.write("         ")
document.write(type==7?"<textarea name=\""+myname+"\" rows=5 cols=30 class=\"input\">":" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write(type==7?"</textarea>":"\" class=\"input\" value=\"\">\n")
if (type<3) document.write(questions[quest].response[i]);
document.write("<br>\n")
document.write("      ")
}
document.write("\n")
document.write("      </small></small></font></td>\n")
document.write("    </tr>\n")
document.write("    ")
}
function doTest() {
var count, i;

count=questions.length;
for (i=0; i<count; i++) doQuestion(i);
}
function fill(s,l){
s=s+""
for (y=1;y<=l;y++)
if (s.length>=l) break; else s="0"+s;
return s
}
function CheckQName(wapf,ii,i,multi,selection){
var len;
if (!multi) return(wapf.elements[ii].name==questions[i].qname);
len=questions[i].qname.length;
if (wapf.elements[ii].name.substring(0,len)!=questions[i].qname) return false;
if (wapf.elements[ii].name.substring(len,len+1)!="_") return false;
if (eval(wapf.elements[ii].name.substring(len+1,len+3))==(selection+1)) return true;
return false;
}
function errore(uno,due,tre)
{
if (!errori) global[1]="<H3>You have made the following errors</H3>";
++errori;
cachewrite("<p><b>"+uno+"</b><br>"+due+"<br>"+mycomment+tre+"</p>",2);
mycomment="";
}
function testIE5plus(){
var pos=navigator.appVersion.lastIndexOf('MSIE ');
if (pos != -1) {
pos+=5;
if (eval(navigator.appVersion.charAt(pos))>4)
return true;}
return false;}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, multipage=0, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=waitTime=0;
udat=new Array();
for (i=0, ii=0; i<wapf.elements.length; i++)
{tmp=wapf.elements[i];
if (tmp.name.substring(0,13)=="Quiz.UserData"){
t=tmp.name.substring(14,tmp.name.length);
re=new RegExp("_", "g");
t=t.replace(re," ");
udat[ii++]=t+": <i>"+tmp.value+"</i><br>";
if (opera) tmp.value="";}}
global[0]=global[2]="";
global[1]="<h3>Congratulations, you haven't made any errors</h3>";
cachewrite("<html><head><title>Results</title><BASE target='_blank'></head><body bgcolor='#FFFFFF'><font face='Verdana, Arial'><table border=0 cellpadding=0 cellspacing=0 width='100%' bgcolor='#C0C0C0'><tr><td width='100%'><font face='Verdana, Arial' size=5 color='#FFFFFF'><b>&nbsp;Results</b></font></td></tr></table>",0)
now= new Date()
cachewrite("<small><p>"+fill((now.getMonth()+1),2)+"/"+fill(now.getDate(),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>",0)
cachewrite("<b>Self Esteem Quiz</b><br><br>\n",0);
if (udat.length>0) {
cachewrite("<b>Information</b><br>\n",0);
for (i=0; i<udat.length; i++) cachewrite(udat[i],0);}
if (opera7 && multipage) {
for (i=0; i<questions.length; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.display=id2.style.display="block";}}

for (i=0; i<questions.length; i++) {
if (opera && multipage) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.visibility=id2.style.visibility="visible";}
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
mycomment="";
for (ii=0; ii<wapf.elements.length; ii++) {
if (CheckQName(wapf,ii,i,multi,selection)) {
if (type>=3 && wapf.elements[ii].value!="") {
isnull=false;
if (wapf.elements[ii].value.toLowerCase()==questions[i].corrects.toLowerCase()) iscorrect=true;
else iswrong=true;
++selection;}
else if (wapf.elements[ii].checked) {
if (questions[i].score!="") evaluation+=questions[i].score[selection];
if (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  shouldn't have been selected.",questions[i].explan)
}
if (questions[i].comment!="" && questions[i].comment[selection]!="")
mycomment+=((iscorrect || questions[i].corrects=='')?"<b>"+questions[i].qname+"</b><br>":"")+"<small>"+questions[i].comment[selection]+"</small><br>";
} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  should have been selected.",questions[i].explan);
}}
++selection;
}}
if (multi==false && (isnull || iswrong)) {
var okresp="", z;
if (type>=3) okresp=questions[i].corrects;
else {
for (z=0; z<questions[i].corrects.length; z++) {
if (questions[i].corrects[z]==1) {
okresp=questions[i].response[z];
break;
}}}
if (okresp!="") errore(questions[i].qname,"The right answer was <i>"+okresp+".</i>",questions[i].explan);
}
if (mycomment!="") cachewrite(mycomment,2);
if (questions[i].corrects!="") ++qright;
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;
total+=evaluation;}
if (qright==0) global[1]="<br>";
if (errori) cachewrite("<br><b>You have made "+errori+" "+(errori==1?"error":"errors")+".</b>",2);
cachewrite("<br><b>Total score: "+total+".</b><br>",2);

cachewrite("<br><b>Evaluation:</b><br>"+GetEval(total)+"<br>",2);
cachewrite("</small><hr noshade><center><form>",2)
printest=(((navigator.appName=="Netscape") && (navigator.appVersion.charAt(0)>="4")) || (testIE5plus() == true))? "print()": "alert('This button can be used with Netscape Navigator 4 or Microsoft Internet Explorer 5 only. If you want to print with other browsers, please select the Print command in the File menu.')"
cachewrite("<input type='button' value='Print...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;",2)
cachewrite("<input type='button' value='Close' onClick='window.close()'></form></center>",2)
cachewrite(aknw,2)
winr=window.open('','wapres', 'titlebar=1,location=0,directories=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,status=1')
for (i=0; i<3; i++) winr.document.write(global[i]);winr.document.close()
if ((opera || opera7) && multipage) {
document.forms[0].elements[0].value='Print...';
document.forms[0].elements[1].value='Close';
for (i=0; i<questions.length-1; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
opera?id.style.visibility=id2.style.visibility="hidden":id.style.display=id2.style.display="none";}}
}
aknw="<br><p align='center'><small><small>Created and managed with <a title='Click here to visit WebQuiz site' href='http://www.smartlite.it/go.asp?OLDLP' target = '_blank'>SmartLite WebQuiz</a></small></small></p>"
function GetEval(total)
{
var minval, maxval, valstr, top, i;
minval=new Array(40,30,22,0);
maxval=new Array(50,39,29,21);
valstr=new Array("Your self esteem seems to be quite high as the total possible score is 50. You could be either very confident, over confident or not recognizing any vulnerabilities for some reason. If your self esteem is as high as this quiz suggests you might have leadership potential or the confidence to achieve significant things in your life. You should seek counselling advice to confirm this finding, however, as this quiz is not an established or recognized test of self esteem.","You may have moderately high self esteem. It could be either a healthy level of self esteem or one that fluctuates from time to time and across situations. You should seek counselling advice to confirm this finding as this quiz is not an established or recognized test of self esteem.&nbsp; If your self esteem is relatively balanced, it could be because of your ability to discriminate your strengths from your weaknesses. Your result could also mean that you can accept yourself as you are and are not weighed down by unrealistic expectations.<br>","Your result is suggestive of low to moderate self esteem. You should seek counselling advice to confirm this finding as this quiz is not an established or recognized test of self esteem. If your result is accurate, your self esteem may fluctuate from situation to situation with only occasional times when you feel really good about yourself. It might help to analyze what you do or say to yourself when your self esteem is relatively OK and see if you can extend that practice to other situations. Ask someone to help you identify your strengths and other good things in your life. Then try to think more of them when you catch yourself focusing on the negative side.","Your level of self esteem could be quite low if your result is accurate. You should seek counselling advice to confirm this finding as this quiz is not an established or recognized test of self esteem. You might be judging yourself overly harshly or focusing only on your weaknesses and ignoring your strengths. Everyone has many good points. You might find it helpful to work on identifying them. Seeing only negatives can become a trap, a downward spiral that makes it ever harder to see any good in anything. This is unrealistic and you might benefit from coaching to help you redress this imbalance. It is a matter of how you perceive and judge yourself and things that happen in your life. It is easier for us to change our self perceptions than it is to change ourselves.","non disponibile.");
top=minval.length;
for (i=0;i<top;i++) if (total>=minval[i] && total<=maxval[i]) break;
return(valstr[i]);}
