function GQuiz(p,c){
	this.prpgMinim=2;
	this.prpgLimit=10;
	this.pageLimit=10;
	this.quesLimit=this.prpgLimit*this.pageLimit;
	this.optnLimit=10;
	this.pp=Math.max(Math.min(p,this.prpgLimit),this.prpgMinim);
	this.c=(c)?c:"def";
	this.l=0;
	this.s=0;
	this.q=new Array();
	this.o=new Array();
	this.a=new Array();
	this.gQ="";
	this.checkQs();
}
GQuiz.prototype = {
	addItm : function(q,c,a){
		if(this.s==this.quesLimit){
			alert("Too many questions. The limit is "+this.quesLimit);
		}else if(c.split("|").length>this.optLimit){
			alert("Question with too many options. The option limit is "+this.optLimit);
		}else{
			this.q.push(q);
			this.o.push(c);
			this.a.push(a);
			this.s++;
		}
	},
	drawGQuiz : function(){
		if(this.l>=this.s){
			var cA=0;
			for(var i=0;i<this.a.length;i++){
				if(this.a[i]==parseInt(this.gQ.charAt(i))+1) cA++;
			}
			w('<div id="gQuiz" class="gQ_'+this.c+'"><div class="gQr"><div class="gQinr"><div class="gQr1">Congratulations!</div><div class="gQr2">You scored a ' + Math.round(cA*100/this.s) + '%</div><div class="gQr3">You answered ' + cA + ' of the ' + this.s + ' questions correctly.</div><div class="gQr4"><form><input type="submit" value="Try Again" /></form></div></div></div></div>');
		}else{
			w('<div id="gQuiz" class="gQ_'+this.c+'"><form name="gQuiz" method="get"><input type="hidden" name="gQ" value="'+this.gQ+'" />');
			var loc = this.l;
			while(loc<this.s&&loc<this.l+this.pp){
				w('<div class="gQitm"><div class="gQinr"><div class="gQq"><span>'+(loc+1)+'. </span>'+this.q[loc]+'</div>');
				var o = this.o[loc].split('|');
				for(var i=0;i<o.length;i++){
					w('<div class="gQa"><input type="radio" name="gQ'+(loc+1)+'" value="'+i+'" /><span>'+o[i]+'</span></div>');
				}
				w('</div></div>');
				loc++;
			}
			w('<div class="gQnxt"><input type="submit" value="Next" /></div></form></div>');
		}
	},
	checkQs : function(){
		var qs=window.location.search;
		var s=qs.indexOf("gQ=");
		if(s>0){			
			this.gQ=qs.substring(s+3,((qs.indexOf("&",s+3)==-1)?qs.length:qs.indexOf("&",s+3)));
			this.l=this.gQ.length;
			for(var i=this.l+1;i<=this.l+this.pp;i++){
				var y=qs.indexOf("gQ"+i+"=");
				if(y>0){
					var x=(i<10)?(y+4):(y+5);
					this.gQ+=qs.substr(x,1);
				}else{
					this.gQ+="-";
				}
			}
			this.l=this.gQ.length;
		}
	}
}