	function buildercheck(grp,bid,baseurl) {
		//var section = \${grp};
		var section = $('group_'+grp);
		
		eval('var answer = group'+grp+'_answer ;');
		
		var litems = section.getElementsByClassName('ansbox');
		
		var pass = true;
		for (i = 0; i < litems.length; i++){
			var box = litems[i].id;
			var box_no = box.split('_')[2];
			//alert(box_no);
			var ans = litems[i].getElementsByClassName('lineitem');
			if (ans.length == 0 ){
				//litems[i].addClassName('yellow');
				//alert(box_no+' wrong');
				pass = false;
			} else {
				var ans_no = ans[0].id.split('_')[2];
				if (ans_no == answer[box_no]){
					//alert(box_no+' right '+ans_no+'  '+answer[box_no]);
				} else {
					//bingo
					pass = false;
					//alert(box_no+' wrong '+ans_no);
					$(ans[0]).style['backgroundColor']='yellow';
					
				}
			}
		}


		//
		/*
			var right = true;
			var sectionID = section.id;
			//var order = Sortable.serialize(sectionID);
			var litems = section.getElementsByClassName('lineitem');

			for (i = 0; i < litems.length; i++){
				if (litems[i].id.indexOf('_'+answer[i]) < 0){
					//alert(litems[i].id);
					litems[i].style['backgroundColor']='yellow';
					right = false;
				}else {
					litems[i].style['backgroundColor']='white';
				}
			}
		*/	
			if (pass) {
				$('group'+grp+'_right').show(); 
				$('group'+grp+'_wrong').hide();



 	var ck_tpliststr = Cookie.get('sb_list');
 	var ck_tplist = [];
	if (ck_tpliststr != null){
		ck_tplist = ck_tpliststr.split(',');
	}
 	
		//-extra
		if (ck_tplist.indexOf(grp) == -1){
		  	ck_tplist.push(grp);
			Cookie.set('sb_list',ck_tplist.join(','),0);
			Cookie.set('sb_correct',ck_tplist.length,0);			
		}
	
	//return;

	     						var but = section.select('input');
								but[0].hide();
								Sortable.destroy(grp);
/*
				////////
							new Ajax.Request(baseurl+'ajax_point_gain.php', {
					  method: 'POST',
					  parameters: {b_id: bid, b_type:2},
					     onSuccess: function(transport){
					     	//alert(transport.responseText);
					     	var json = transport.responseText.evalJSON();
					     	
					     	if (json['status'] == -1){
					     		alert(json['msg']);
					     	} else {
					     		//alert(json['msg']);
					     		//$('comment_'+qid).value = "";
					     		//$('hsc'+did).innerHTML="<font color='green'>Finished</font>";
	     						var but = section.select('input');
								but[0].hide();
								Sortable.destroy(grp);

					     	}
					      
					    },
					    onFailure: function(){ alert('Can\'t submit to server, pls try again!') }
					  });
				///////			
				//sub
*/				
			}	else {
				$('group'+grp+'_wrong').show();
				$('group'+grp+'_right').hide(); 
			}
			
		}
		

		
function qwordclick(event){
	//alert(this.id);

		var grp = this.id.split('_')[1];
		var section = $('group_'+grp);
		
		var litems = section.getElementsByClassName('ansbox');
		
		var pass = true;
		for (i = 0; i < litems.length; i++){
			var box = litems[i].id;
			var box_no = box.split('_')[2];
			//alert(box_no);
			var ans = litems[i].getElementsByClassName('lineitem');
			if (ans.length == 0 ){
		 		var imgl = litems[i].select('img');
				if (imgl.length == 1){
					imgl[0].remove();
				}				
				litems[i].insert(this);
				//set new listener.
				Event.stopObserving(this,'click', qwordclick);
				Event.observe(this,'click', answordclick);
				break;
				
			} else {
				
			}
		}

}

function answordclick(event){
		var grp = this.id.split('_')[1];
		var ans_box_id = this.parentNode.id.split('_')[2];
							this.style['backgroundColor']='white';

	this.parentNode.insert(dotimgimg);
	$('group_'+grp+'_box_frame').insert(this);
				Event.stopObserving(this,'click', answordclick	);
				Event.observe(this,'click',  qwordclick);
				
				
				//swap pos
				/*
				var section = $('group_'+grp);
		var litems = section.getElementsByClassName('ansbox');
		
		
		for (i = 0; i < litems.length; i++){
			var box = litems[i].id;
			var box_no = box.split('_')[2];
			if (box_no <= ans_box_id){ continue; }
			var ans = litems[i].getElementsByClassName('lineitem');
			if (ans.length == 0 ){
		
				continue;
			} else {
				litems[i].insert(dotimgimg);
				$('ans_'+grp+'_'+(parseInt(box_no) -1)).insert(ans[0]);
				Event.stopObserving(this,'click', ans[0]	);
				Event.observe(this,'click',  ans[0]);		
				
		 		var imgl = $('ans_'+grp+'_'+(parseInt(box_no) -1)).select('img');
				if (imgl.length == 1){
					imgl[0].remove();
				}									
				
			}
		}				
		*/		
	
}

		
	var drags = new Array();
	var drops = new Array();
	Event.observe(window, 'load',function(){
	
	var lineitems = $$('div.lineitem');
	//alert(lineitems.length);
	for (i = 0; i < lineitems.length; i++){
		Event.observe(lineitems[i], 'click', qwordclick);
		
		/*
		drags[lineitems[i].id] = new Draggable(lineitems[i].id,{revert:true, 
		
		reverteffect: function(element, top_offset, left_offset) {
        var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;
        new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: 0,
          queue: {scope:'_draggable', position:'end'}
        });

      }
		
		
		});
		*/
	}

   var blanklist = $$('div.ansbox');
   for (i = 0; i < blanklist.length; i++){
	   	drops[blanklist[i].id] = 	 Droppables.add(blanklist[i].id, {
	   accept: 'lineitem',
	   onDrop: ce });
	   blanklist[i].insert(dotimgimg);
   }
   	
   /*
	 Droppables.add('ans_words', {
   accept: 'ans',
   onDrop: ce });
	
   
   //$('b_check').disabled = true;
   $('b_save').hide();
   
  restore_prev('$b_save_result');
   */
   
  
	 });		
	 
	 function ce(ans, quest,evt){
	 	//check same q
	 	var a = ans.id.split("_")[1];
	 	var b = quest.id.split("_")[1];
	 	if (a != b) return;
	 	
	 	//ans.
	 	ans.style['backgroundColor']='white';
		if ($(ans.parentNode).hasClassName('ansbox')){
			var imgl = ans.parentNode.select('img');
			ans.parentNode.insert(dotimgimg);
			/*
			if (imgl.length == 0){
				var ansl = ans.parentNode.select('div.lineitem');
				if (ansl.length <= 1){
					//alert("inert img");
					ans.parentNode.insert(dotimgimg);
				}
			}
			*/
		}	 	
	 	
	 	//check if quest is blank or already have ans
	 		var imgl = quest.select('img');
			if (imgl.length == 1){
				imgl[0].remove();
			}
			var ansl = quest.select('div.lineitem');
			if (ansl.length > 0){
				for (i = 0; i < ansl.length; i++){
					//ans1[i].style['backgroundColor']='white';
					ansl[i].remove();
					$(ansl[i]).style['backgroundColor']='white';
					$('group_'+a+'_box_frame').insert(ansl[i]);
				}
			}					
	 		
			quest.insert(ans);
		
	 	
	 }
