var hiddenLink = null;
var speed = 100;
var rbrowse = false;
var bs="<div class=\"hr\"><div></div></div><div class=\"cl\"><div class=\"cr\"><div class=\"ci\">";
var be="</div></div></div><div class=\"fr\"><div></div></div>";
var cs="<div class=\"openSummary round\"><div class=\"pointer\"></div>" + bs;
var ce=be+"</div>";
var oldIE=(jQuery.browser['msie']&&parseInt(jQuery.browser.version,10)<8);
$(function(){
	$("table.rsltsmry").attr("page",1).attr("count",10);
	$("table.rsltsmry").find("a.viewbtn").each(function(){
		if(jQuery.browser['msie']){
			var reg=/ViewResponses.this,\s*(\d+?),\s*(0|1)/m;
			var mat=String(this.onclick).match(reg);
			if(mat&&mat.length==3){this.onclick=null;$(this).click(function(){ViewResponses(this,parseInt(mat[1],10),parseInt(mat[2],10));return false;});$(this).attr("max",parseInt(mat[1],10));}
		}
		var parts=$(this).attr("href").split("?sm=");
		if(parts.length>1){$(this).attr("data",parts[1]);$(this).attr("href","#");}
		$(this).attr("page",1).data("htm",$(this).html());
		$(this).parents("td").data("bg",$(this).parents("td").css("background-color"));
	});
});
function ViewResponses(link,max,browse){
	if(browse==1)rbrowse=true;
	$(link).attr("max",max);
	var tr=$(link).parents("tr");
	var pc=(oldIE)?$("body"):$(link).parents("table");
	pc.find("a.viewbtn").each(function(){
		$(this).unbind("click").bind("click",function(){ViewResponses(this,$(this).attr("max"));return false;});
		$(this).empty().append($(this).data("htm"));
		$(this).parents("td").css("background-color",$(this).parents("td").data("bg"));
		pc.find("div.openSummary").each(function(){$(this).animate({height:0},speed,function(){$(this).parents("tr").remove();});});
	});
	
	tr.after("<tr><td colspan=\""+tr.parents("table").find("thead tr th").attr("colspan")+"\" style=\"padding:0px;\">"+cs+ce+"</td></tr>");
	tr.next().find("td").css("background-color","#fff");
	$(link).parents("td").css("background-color","#fff");
	tr.next().find("div.openSummary")[0].btn=$(link);
	tr.next().find("div.openSummary").animate({height:40},speed,function(){
		var count=parseInt($(link).parents("table.rsltsmry").attr("count"),10);
		var page=parseInt($(link).attr("page"),10);
		var htm=$(link).data("htm");
		if(htm.indexOf("Show")>-1)htm=htm.replace("Show","Hide");
		$(link).empty().append(htm);
		$(link)[0].onclick=null;
		$(link).unbind("click").bind("click",function(){HideResponses(this);return false;});
		$(this).find("div.pointer").show();
		updateView($(this),page,count);
	});
}
function HideResponses(link){
	var tr = $(link).parents("tr").next();
	tr.find("div.pointer").hide();
	tr.find("div.openSummary").slideUp(speed,function(){
		tr.remove();
		$(link).unbind("click").bind("click",function(){ViewResponses(link,$(link).attr("max"));return false;});
		$(link).empty().append($(link).data("htm"));
		$(link).parents("td").css("background-color",$(link).parents("td").data("bg"));
	});
}
function toggleCount(ddl){
	ddl.disabled = true;
	$(ddl).parent().prepend("<img src=\"/img/indicator2.gif\" alt=\"loading...\" />");
	var q = $(ddl).parents("table.rsltsmry");
	q.attr("count", parseInt(ddl.options[ddl.selectedIndex].value));
	var div = $(ddl).parents("div.openSummary");
	var link = div[0].btn;
	link.attr("page",1);
	updateView(div,1,parseInt(q.attr("count"),10));
}
function updateView(container,page,count){
	var table=container.parents("table.rsltsmry").attr("count",count);
	var link=container[0].btn.attr("page",page);
	var max=parseInt(link.attr("max"),10);
	var h=0;
	var so=0;
	if(container.find("table").length>0){
		h=container.height();
		if(oldIE){so=container.find("tfoot").position().top+container.position().top-$(document).scrollTop();}
		else{so=container.find("tfoot").offset().top-$(document).scrollTop();}
		container.css("height",h);
	}
	container.find("table").fadeTo(speed,.05);

	//container.empty().append("<img src=\"/img/indicator2.gif\" alt=\"loading...\" />").addClass("loading");

	var pnt=container.parents("td").find("div.pointer");
	var mid=$(link).position().left+parseInt($(link).width()/2,10)-container.position().left;
	if($(link).parents("td").attr("align")=="right"){mid=container.width()-mid-parseInt(pnt.width()/2,10);pnt.css("right", mid+"px");}
	else{mid-=parseInt(pnt.width()/2,10);pnt.css("left",mid+"px");}

	async("MySurvey_Responses.aspx","GetOpenEndedResponses","{'id':'"+link.attr("data")+"','count':"+count+",'page':"+page+",'browse':"+rbrowse+",'url':'"+location.pathname+"'}",function(d){
		//container.children("img").fadeOut(speed);
		//container.removeClass("loading").empty().html(getHTML(link,d,count,page,max));
		container.find("div.ci").empty().html(getHTML(link,d,count,page,max));

		//container.find("div.pointer").fadeIn();
		initSlider(container.find(".slider"),page,count,max);
		container.height("auto");
		container.find("table").fadeIn(speed);
		
		if(oldIE){if(h>0){$("html,body").scrollTop(container.find("tfoot").position().top+container.position().top-so);}}
		else{if(h>0){$("html,body").scrollTop(container.find("tfoot").offset().top-so);}}
	});
}
function initSlider(div,page,count,max){
	if(count < max){
		div.slider({range:"min",value:page,min:1,max:Math.ceil(max/count),step:1,startValue:page,
			slide:function(e,ui){
				if(ui.value<1){$(this).slider("value",1);ui.value=1;}
				else if(ui.value>$(this).data("max.slider")){$(this).slider("value",$(this).data("max.slider"));ui.value=$(this).data("max.slider");}
				$(this).find(".ui-slider-handle").html(Math.round(ui.value));
			},
			stop:function(e,ui){
				var val=Math.round(ui.value);
				$(this).find(".ui-slider-handle").html(val);
				if(val!=page)updateView($(this).parents("div.openSummary"),val,count);
			}
		});
		div.find(".ui-slider-handle").html(Math.round(div.slider("value")));
		div.parent().find(".prev").click(function(){
			var val=Math.round(div.slider("value"));
			if(val>1){div.slider("value",val-1);updateView(div.parents("div.openSummary"),(val-1),count);}
			return false;
		});
		div.parent().find(".next").click(function(){
			var val=Math.round(div.slider("value"));
			if(val<div.data("max.slider")){div.slider("value",val+1);updateView(div.parents("div.openSummary"),(val+1),count);}
			return false;
		});
	}
}
function getHTML(link,msg,count,page,max){
	//var html="<div class=\"pointer\"></div>";
	//html+=bs;
	var html="";
	html+="<table cellspacing=\"0\" cellpadding=\"0\"><tfoot><td colspan=\"4\">";
	if(max>10){
		html+="<div style=\"float:right;\"><select onchange=\"toggleCount(this);\">";
		html+="<option value=\"10\""+((count==10)?" selected=\"selected\"":"")+">10 responses per page</option>";
		html+="<option value=\"25\""+((count==25)?" selected=\"selected\"":"")+">25 responses per page</option>";
		if(max>=25)html+="<option value=\"50\""+((count==50)?" selected=\"selected\"":"")+">50 responses per page</option>";
		if(!jQuery.browser['msie']){
			if(max>=50)html+="<option value=\"100\""+((count==100)?" selected=\"selected\"":"")+">100 responses per page</option>";
			if(max>=100)html+="<option value=\"250\""+((count==250)?" selected=\"selected\"":"")+">250 responses per page</option>";
		}
		html+="</select></div>";
	}
	if(count<max){
		var start=0;
		var checker=1;
		do{
			start=((page-checker)*count)+1;
			checker++;
		}while(start>max);
		var end=start+count-1;
		if(max<end)end=max;
		html+="<div style=\"float:left;position:relative;\"><a href=\"#\" class=\"prev\"><</a><div class=\"slider\"></div><a href=\"#\" class=\"next\">></a></div>";
	}
	html+="</td></tfoot><tbody>";
	html+=msg.d;
	html+="</tbody></table>";
	//html+=be;
	return html;
}
function loadUser(id){var p=(location.href.match(/sr\.aspx/i))?"sr_detail.aspx":"MySurvey_ResponsesDetail.aspx";location.href=p+"?sm="+id;}

