var report = {
	markCancel: function(optobj){
		var quiz_id = $('#quiz_id').val();
		var url = "index.php?module=report&method=getMark";
		$.post(url,{'type':'mark','tar':'get','quiz_id':quiz_id,'qaitem_id':optobj},function(data){
			$('#qid_'+optobj+' .add-mark').html(data);
			$('#qid_'+optobj+' .add-mark').removeClass('mkedit');
			$("#qid_"+optobj+" .mkbtn").css('display','inline');
		});
	},
	
	setMark: function(optobj){
		var earn_color = "";
		var quiz_id = $('#quiz_id').val();
		var mark = Math.floor($('#mk_'+optobj).val());
		var url = "index.php?module=report&method=getMark";
		$.post(url,{'type':'mark','tar':'set','quiz_id':quiz_id,'qaitem_id':optobj,'mark':mark},function(data){
			$('#qid_'+optobj+' .add-mark').html(data);
			var score = $('#sc_'+optobj).val();
			$('#qid_'+optobj+' .add-mark').removeClass('mkedit');
			$('#qid_'+optobj+" .mkbtn").css('display','inline');
			$('#qearn_'+optobj).html('Earns:'+mark);
			if (mark <=0 || mark == null){
				earn_color = "#ff0000";
			} else {
				earn_color = "#99cc00";
			}
			$('#qearn_'+optobj).css('color',earn_color);
		});
	},
	
	commentCancel: function(optobj){
		var quiz_id = $('#quiz_id').val();
		var url = "index.php?module=report&method=getMark";
		$.post(url,{'type':'comment','tar':'get','quiz_id':quiz_id,'qaitem_id':optobj},function(data){
			$('#qid_'+optobj+' .add-comment').html(data);
			$('#qid_'+optobj+' .add-comment').removeClass('mkedit');
			if (data.indexOf("</span>") ==-1){
				$('#qid_'+optobj+" .mcbtn").css('display','inline');
			}
		});
	},
	
	setComment: function(optobj){
		var quiz_id = $('#quiz_id').val();
		var comment = $('#qm_'+optobj).val();
		
		var url = "index.php?module=report&method=getMark";
		$.post(url,{'type':'comment','tar':'set','quiz_id':quiz_id,'qaitem_id':optobj,'comment':comment},function(data){
			$('#qid_'+optobj+' .add-comment').html(data);
			$('#mt_'+optobj).val(data);
			$('#qid_'+optobj+' .add-comment').removeClass('mkedit');
			if (data.indexOf("</span>") ==-1){
				$('#qid_'+optobj+" .mcbtn").css('display','inline');
			}
		});
	},
	
	appendMarkDiv: function(obj){
		var curClass = obj.className;
		var parent_id = obj.parentNode.id;
		var answer_id = parent_id.substring(4);
		var score = $('#sc_'+answer_id).val();
		//var org_val = $(obj).html();
		
		if (isNaN(score)){
			score = "";
		}
		
		if (curClass =='add-mark'){
			$(obj).addClass('mkedit');
			var editMark = "<input id=\"mk_"+answer_id+"\" class=\"mkipt\" type=\"text\" value=\""+score+"\"/><span class=\"cmbnt\"><input type=\"button\" value=\"Save\" onclick=\"report.setMark("+answer_id+");return false;\"/> <span style=\"font-size:11px;\">or <a class=\"cancel\" href=\"javascript:void(0);\" onclick=\"report.markCancel("+answer_id+");\">Cancel</a></span></span>";
			$(obj).html(editMark);
			
		}
		$('.add-mark input.mkipt').blur(function(){
			var pasitivePoint = $('#pt_'+answer_id).val();
			var cutPoint = $('#ct_'+answer_id).val();
			var obj = this;
			var curVal = Math.floor(obj.value);
			curVal = isNaN(curVal) ? 0 : curVal;
			if ((cutPoint <= curVal) && (curVal <= pasitivePoint)){
				$(obj).val(curVal);
			} else {
				$(obj).val('0');
			}
		});
	},
	
	appendCommentDiv: function(obj){
		var curClass = obj.className;
		var parent_id = obj.parentNode.id;
		var answer_id = parent_id.substring(4);
		var org_val = $('#mt_'+answer_id).val();
		if (org_val.indexOf("Click here to add comment") != -1){
			org_val = "";
		}
	
		if (curClass =='add-comment'){
			$(obj).addClass('mkedit');
			var editComment = "<textarea id=\"qm_"+answer_id+"\">"+org_val+"</textarea><span class=\"cmbnt\"><input type=\"button\" value=\"Save\" onclick=\"report.setComment("+answer_id+");return false;\"/> <span style=\"font-size:11px;\">or <a class=\"cancel\" href=\"javascript:void(0);\" onclick=\"report.commentCancel("+answer_id+");\">Cancel</a></span></span>";
			$(obj).html(editComment);
		}
	},
	
	manualUser: function(){
		var userDisplay =  $('#manual-user').css('display');
		
		if (userDisplay =='block'){
			$('#manual-user').slideUp();
			$('#chg-manual').html('Show Taker');
		} else {
			$('#manual-user').slideDown();
			$('#chg-manual').html('Hide Taker');
		}
	},
	
	manualNextList: function(){
		var quiz_id = $('#quiz_id').val();
		var result_id = $('#result_id').val();
		
		var is_mark = $('#set-mark:checked').length;
		is_mark = is_mark >0 ? 1 : 0;
		
		var url = "index.php?module=report&method=manualGrade";
		$.post(url,{'rt':'div','quiz_id':quiz_id,'result_id':result_id,'is_mark':is_mark},function(data){
			if (data){
				$('#manual-content').html(data);
			}
		});
	},
	
	manualShowTip: function(quizId) {
		if (confirm('Do not show this message again?')) {
			var url = "index.php?module=report&method=manualGrade";
			$.post(url,{'quiz_id':quizId,'is_mark':'1'},function(rs){
				if (rs){
					$('#gradeTip').css('display','none');
				}
			});
		}
		return false;
	},
	indexInitGetReport:function(){
		$('.report-table :button').click(
			function(){
				var thisId = this.id;
				var type = thisId.replace('report-btn-','');
				var option = $('#rptype-'+type+' :radio:checked').val();
				
				var isEmpty = $('#rptype-'+type+' :select option').length <=0 ? true : false;
				var selectOption = $('#rptype-'+type+' :select option:selected');
				var selectOptionIndex = parseInt($('#rptype-'+type+' :select option').index(selectOption));
				if(selectOption.length>1){
					alert(report_lang.msg_str20);
					return false;
				}
				var item = selectOption.val();
				if(item==null || item==undefined){
					item = '';
				}
				if(option>0 && item==''){
					var alertMsg = '';
					switch(thisId){
						case 'report-btn-quiz':
							alertMsg = isEmpty ? report_lang.msg_str15 : report_lang.msg_str11;
						break;
						case 'report-btn-par':
							alertMsg = isEmpty ? report_lang.msg_str16 : report_lang.msg_str12;
						break;
						case 'report-btn-pub':
							alertMsg = isEmpty ? report_lang.msg_str17 : report_lang.msg_str13;
						break;
						default:
							alertMsg = isEmpty ? report_lang.msg_str18 : report_lang.msg_str14;
						break;
					}
					alert(alertMsg);
					return false;
				}else{
					var reportTypeList = Array();
					reportTypeList['quiz'] = 0;
					reportTypeList['par'] = 1;
					reportTypeList['pub'] = 2;
					reportTypeList['que'] = 3;
					
					var typeIndex = reportTypeList[type];
					$.cookie('reportType',typeIndex);
					$.cookie('reportOption','rpradio-'+type+'-'+option);
					$.cookie('reportItemIndex',selectOptionIndex);
					
					report.indexGetReport(type, option, item);
				}
			}
		);
		$('.report-option :radio').each(
			function(){
				var selectOption = $.cookie('reportOption')!=null ? $.cookie('reportOption') : '';
				if(selectOption!='' && this.id == selectOption){
					var itemIndex = $.cookie('reportItemIndex')!=null ? $.cookie('reportItemIndex') : '';
					this.checked = true;
					report.checkRadio(this.name, this.value, itemIndex);
				}else if(this.value == '0'){
					this.checked = true;
				}
			}
		);
		$('.report-option :radio').click(
			function(){
				var optionVal = this.value;
				var selectId = this.name;
				report.checkRadio(selectId, optionVal);
			}
		);
		
		//multiple select
		$('#rpselect-quiz').click(
			function(){
				if($('#rpselect-quiz option:selected')!=null && $('#rpselect-quiz option:selected').length > 1){
					$('#rpselect-quiz option:selected').attr('selected','');
					return false;
				}
			}
		);
		$('#rpselect-par').click(
			function(){
				if($('#rptype-par option:selected')!=null && $('#rptype-par option:selected').length > 1){
					$('#rpselect-par option:selected').attr('selected','');
					return false;
				}
			}
		);
		$('#rpselect-pub').click(
			function(){
				if($('#rptype-pub option:selected')!=null && $('#rptype-pub option:selected').length > 1){
					$('#rpselect-pub option:selected').attr('selected','');
					return false;
				}
			}
		);
		$('#rpselect-que').click(
			function(){
				if($('#rptype-que option:selected')!=null && $('#rptype-que option:selected').length > 1){
					$('#rpselect-que option:selected').attr('selected','');
					return false;
				}
			}
		);
	},
	checkRadio:function(id,val,itemIndex){
		var optionVal = val;
		var selectId = id.replace('rpradio-','rpselect-');
		var selectItem = itemIndex!=null ? parseInt(itemIndex)+1 : '';
		if(optionVal > 0){
			$('#'+selectId).attr('disabled','');
			if($('#'+selectId+' option:selected')!=null && $('#'+selectId+' option:selected').length<=0 ){
				if(selectItem>0){
					$('#'+selectId+' :nth-child('+selectItem+')').attr('selected','selected');
				}else{
					$('#'+selectId+' :first-child').attr('selected','selected');
				}
			}
		}else{
			$('#'+selectId).attr('disabled','disabled');
			$('#'+selectId+' :selected').attr('selected','');
		}
		
	}
	,
	indexGetReport:function(type, option, item ){
		var globalReport = {
			quiz:'index.php?module=report&submod=report&method=contentReport',
			quizdetail:'index.php?module=report&method=quiz_participants&quiz_id=',
			quizbreakdown:'index.php?module=report&method=quiz_option&quiz_id=',
			par:'index.php?module=report&submod=report&method=participant_report',
			pardetail:'index.php?module=report&submod=report&method=participantquiz_report&search_ids=',
			pub:'index.php?module=report&submod=report&method=publish_report',
			pubdetail:'index.php?module=report&submod=report&method=publishquiz_report&publisher_id=',
			que:'index.php?module=report&submod=report&method=questionReport',
			quedetail:'index.php?module=report&submod=report&method=questionReport&content_id=',
		};
		var url = '';
		if(type == 'quiz'){
			if(option == '0'){
				url = globalReport.quiz;
			}else if(option == '1'){
				url = globalReport.quizdetail;
			}else if(option == '2'){
				url = globalReport.quizbreakdown;
			}
		}else if(type == 'par'){
			if(option == '0'){
				url = globalReport.par;
			}else if(option == '1'){
				url = globalReport.pardetail;
			}
		}else if(type == 'pub'){
			if(option == '0'){
				url = globalReport.pub;
			}else if(option == '1'){
				url = globalReport.pubdetail;
			}
		}else if(type == 'que'){
			if(option == '0'){
				url = globalReport.que;
			}else if(option == '1'){
				url = globalReport.quedetail;
			}
		}
		
		if(url!='' && option>0 && item!=null && item!='' && item!=0){
			url += item;
		}
		
		//alert(url);
		if(url!=''){
			location.href = url;
		}
		
	}
}


function cal_change(type,method) {
	var method = method ? method : "";
	/*if (type == 'custom'){
		if (method == 'advanced'){
			$('#date_adv_range').slideDown('fast');
		} else {
			$('#date_range').slideDown('fast');
		}
	} else {
		if (method == 'advanced'){
			$('#date_adv_range').slideUp('fast');
		} else {
			$('#date_range').slideUp('fast');
		}
	}*/
	if (type == 'custom'){
		$('#reportsurvey').slideDown();
		$('#advanced').val('1');
	}
	
}

function bind_printdata(id){
	var printhtml = $("#printarea").html();
	$("#printdata").val(printhtml);
	return true;
}

function show_report() {
	var pars = $("#formreport").serialize();
	$.ajax({
	  url: "index.php?"+pars+"&rt=div",
	  cache: false,
	  success: function(html){
	    $("#reportcontent").append(html);
	  }
	});
}

// 选中用户
function showid(){
	var chk_str = '';
	var email_ids = '';
	var option_str = '';
 	var index = 1;
 	var email = '';
	var email_str = '';
	var length = $('#user_div input:checked').size();
	var ext = $('#ext').val();
	var id = '';
	var tar = $('#tar').val();
	var change_type = $('#change_type').val();
	
	if (length > 0) {
		$('#user_div input:checked').each(
			function() {
				var chk_str = $(this).val()
				var regu = "^(([0-9]+):(.+))$"; 
				var re = new RegExp(regu);  
			  	chk_str.search(re);
				if (length == index){
				  	email_ids += RegExp.$2;
				  	id = RegExp.$2;
				  	email = RegExp.$3;
					email_str += email;
				} else {
					email_ids += RegExp.$2 + ',';
					id = RegExp.$2;
				  	email = RegExp.$3;
				  	email_str += email+',';
				}
				index++;
			}
		) //end each	
	} 

	if (ext =='radio' && tar =='main'){
		var url = "index.php?module=report&submod=report&method=participantquiz_report&search_ids="+id+"&search_value="+email+"&change_type="+change_type;
		location.href = url;
	}
	
	
	var el = $('#search_value');
	if(el && el.size() > 0) {
		el.val(email_str);
	} else {
		var txtemail = $('<textarea id="search_value" readonly="readonly">'+ email_str +'</textarea>');
		$('#s_user').append(txtemail);
	}

	$('#search_ids').val(email_ids);
	var div_url = $('#cal_url').attr('href');
	base_url = div_url.split('&search_ids=');
	
	$('#cal_url').attr('href',base_url[0]+'&search_ids='+email_ids);
	$.fn.fancybox.close();
}

// 撤销选中用户列表 global
function cal_reset(){
	$('#user_div input:checked').each(function(){
									$('#user_div input:checked').attr('checked', false);
								});
	$('#search_value').val('');
	$('#search_ids').val('');
	var div_url = $('#cal_url').attr('href');
	base_url = div_url.split('&search_ids=');
	
	$('#cal_url').attr('href', base_url[0]);
}

function search_more(type){
	if (type == 'on'){
		$('#advanced').val('on');
		$('#search_form').css('display','none');
		$('#search_more_form').css('display','block');
	} else {
		$('#search_form').css('display','block');
		$('#search_more_form').css('display','none');
	}
}

function change_display(block_id,hide_id){
	$('#'+hide_id).css('display','none');
	$('#'+block_id).css('display','inline');
}

function show_export(left,top,flag) {
	$("#export_div").slideDown('fast');
	var top1 = parseInt(getPosition($('#showexp1')).top);
	var left1 = parseInt(getPosition($('#showexp1')).left);
	if (flag){
		top += top1;
		left += left1;
	}
	$('#export_div').css({'left': left+'px', 'top': top+'px'});
	
}

function hide_export() {
	$("#export_div").slideUp('fast');
}

/*删除统计里面的答题记录*/
function del_participant_report(id, test_code) {
	if(confirm(report_lang['msg_str1'])) {
		if(id > 0 && test_code!='') {
		var url = $("#del_url").val();
			function result(rs) {
				if(rs == '1') {
					$("#participant_"+id).remove();
				} else {
					alert(rs);
				}
			}
			var myAjax = jQuery.post(url,{id:id, test_code:test_code},result);
		} else {
			alert(report_lang['err_str3']);
		}
	}
}

// check del report item
function chkdel_participant_report(chkobj){
	var id_str = '';
	var length = 0;
	var index = 1;

	$('.'+chkobj+':checkbox').each(function(){
		if (this.checked){
			length +=1;
			id_str += this.value+',';
		}
	});
	id_str = id_str.substring(0,id_str.length - 1);
	if (id_str){
		if(confirm(report_lang['msg_str1'])) {
			var url = $("#del_url").val();
			$.post(url,{'quiz_ids':id_str,'deltype':'muldel'},
		    function(rs){
			     if(rs == "1") {
					location.reload();
				} else {
					alert(report_lang['err_str4']);
				}
		    });	
		}	
	} else {
		alert(report_lang['msg_str2']);
	}
}

// load after DOM ready by jQuery
$(function(){

	zebra();
	
	if(cal_el = is_exist('#cal_url')) {
		cal_el.fancybox({frameWidth: 500,frameHeight: 620});
	}
	
	if(cal_el = is_exist('#cal_url2')) {
		cal_el.fancybox({frameWidth: 500,frameHeight: 620});
	}

	if(search_el = is_exist('#advanced_search,#basic_search')) {
		search_el.eq(0).click(function(){
			search_more('on');
		});

		search_el.eq(1).click(function(){
			search_more('off');
		});
	}
	
	if(export_el = is_exist('#export_div')) {
		export_el.children('a').not(':first').click(hide_export);
		export_el.children('a.close').click(hide_export);
	}

	if (expand_el = is_exist('#searchinfo')){
		$('<div class="toggle" id="expand" title="'+report_lang['err_str2']+'"><p class="border">+/-</p></div>').insertAfter('#searchinfo');
		$('#expand').click(function(){
			if(expand_el.is(':visible')) {
				expand_el.slideUp();
				$(this).css('background-position', '50% -18px');
			} else {
				expand_el.slideDown();
				$(this).css('background-position', '50% 2px');
			}
		});

	}
});

// search 
function report_express_search(tipobj){
	var status = $('#'+tipobj).css('display');
	if (status =='block'){
		$('#'+tipobj).slideUp();
		$('#advanced').val('0');
	} else if (status =='none'){
		$('#'+tipobj).slideDown();
		$('#advanced').val('1');
	}
}

// search bar
function keydown(){
     if(document.addEventListener){//firefox
         document.addEventListener("keypress",fireFoxHandler, true);
    }else{  // IE
          document.attachEvent("onkeypress",ieHandler);
     }
}

function fireFoxHandler(evt){
    if(evt.keyCode == 13){   //  Enter 13
    	 search_subreport();
    }
}

function ieHandler(evt){
	 if(evt.keyCode==13){
	     if(event.keyCode == 13)
	      {   
	           event.returnValue=false; 
	           event.cancel = true;  
	           search_subreport();
	      }
	 }
}

function search_subreport(){
	var s_method = $('#s_method').val();
	var search_url = $('#search_url').val();
	
	 switch(s_method){
		case 'publish_report':
    		var u_type = $('#u_type').val();
    		var u_value = $('#u_value').val();
			var s_qnums = $('#s_qnums').val();
    		var v_qnums = $('#v_qnums').val();
			var url = search_url+"&u_type="+u_type+"&u_value="+u_value+"&s_qnums="+s_qnums+"&v_qnums="+v_qnums;
			location.href = url;
			break;
		case 'publishquiz_report':
    		var s_stu = $('#s_stu').val();
    		var s_rate = $('#s_rate').val();
    		var s_avg = $('#s_avg').val();
    		var v_stu = $('#v_stu').val();
    		var v_rate = $('#v_rate').val();
    		var v_avg = $('#v_avg').val();
    		var q_title = $('#q_title').val();
			var url = search_url+"&s_stu="+s_stu+"&s_rate="+s_rate+"&s_avg="+s_avg+"&v_stu="+v_stu+"&v_rate="+v_rate+"&v_avg="+v_avg+"&q_title="+q_title;
			location.href = url;
			break;
		case 'participant_report':
    		var s_time = $('#s_time').val();
    		var s_pass = $('#s_pass').val();
    		var s_rate = $('#s_rate').val();
    		var v_time = $('#v_time').val();
    		var v_pass = $('#v_pass').val();
    		var v_rate = $('#v_rate').val();
			var url = search_url+"&s_time="+s_time+"&s_pass="+s_pass+"&s_rate="+s_rate+"&v_time="+v_time+"&v_pass="+v_pass+"&v_rate="+v_rate;
			location.href = url;
			break;
		case 'participantquiz_report':
    		var q_title = $('#q_title').val();
    		var s_score = $('#s_score').val();
    		var v_score = $('#v_score').val();
    		var s_pass = $('#s_pass').val();
			var url = search_url+"&q_title="+q_title+"&s_score="+s_score+"&v_score="+v_score+"&s_pass="+s_pass;
			location.href = url;
			break;	
		case 'quiz_participants':
    		var u_type = $('#u_type').val();
    		var u_value = $('#u_value').val();
    		var s_score = $('#s_score').val();
    		var v_score = $('#v_score').val();
    		var s_pass = $('#s_pass').val();
			var url = search_url+"&u_type="+u_type+"&u_value="+u_value+"&s_score="+s_score+"&v_score="+v_score+"&s_pass="+s_pass;
			location.href = url;
			break;
		
		default :
		
		break;
	 }
}

function issue_cert(flag){
	if (flag){
		alert(report_lang['msg_str4']);
		return false;
	} else {
		return true;
	}
}


