function Hitlist(cntrl)
{
	var hitlist 							= {};
	hitlist 								= new NET(cntrl);// inherit net class
	
	/* Attributes */
	
	hitlist.captcha 						= "";
	
	/* EOF Attributes */
	
	/* Function Declaration */
	
	hitlist.getHitLists 					= getHitLists;
	hitlist.getHitListsCallback 			= getHitListsCallback;
	hitlist.getAttackResult 				= getAttackResult;
	hitlist.getAttackResultCallback 		= getAttackResultCallback;
	hitlist.loadPage 						= loadPage;
	hitlist.loadCaptcha 					= loadCaptcha;
	hitlist.refresh 						= refresh;
	hitlist.generateCaptcha 				= generateCaptcha;
	hitlist.disBlock 						= disBlock;
	hitlist.publishFeed 					= publishFeed;
	
	/* EOF Function Declaration */
	
	/* Function Definition */
	
	function loadPage()
	{	
		hitlist.adjustWindowHeight();
		$('#hitlist_lists').hide();	
		hitlist.getHitLists(hitlist.captcha);
	};
	
	function getHitLists(captcha)
	{
		hitlist.makeRequest();
	};
	
	function getHitListsCallback(xml)
	{
		$('#hitlist_lists').show();	
		var error_message =$(xml).find('error').text();
		if(error_message=="")
		{
			var str="";
			var curTime=$(xml).find('curTs').text();
			if($('hitlist',xml).length<=0)
			{		
				hitlist.outputMessage('There is nobody in Marked List. Try doing some <a href="javascript:app.loadPage(\'mission\')">Quests</a> and come back.',"i");
				$('#hitlist_lists').html("");
				return;
			}
			$('hitlist', xml).each(function(){
					var id=$(this).find('mark').find('id').text();
					var uname=uuescape($(this).find('mark').find('name').text());
					var level=$(this).find('mark').find('level').text();
					var race=$(this).find('mark').find('race').text();
					var gang=$(this).find('mark').find('gngSz').text();
					var id=$(this).find('mark').attr('id');
					var pname=uuescape($(this).find('marked_by').find('name').text());
					var pid=$(this).find('marked_by').attr('id');
					var bounty=$(this).find('bounty').text();
					var ts=$(this).find('ts').text();
					var image=$(this).find('mark').find('imgM').text();

					str+=	"<div class=\"float_left\" style=\"margin-left:15px;\">"+
								"<div class=\"desc_frame_box_small\" >"+
									"<div class=\"bgfix_IE8\"><img src=\""+config.ImgUrl+"top_frame.png\" /></div>"+
									"<div class=\"mid_frame_small\">"+
										"<div class=\"mid_frame_img_small\" ><div class=\"user_name\">" +
											p(uname, id)+"</div><div> "+pImg(uuescape(image), id, uname)+" </div>"+
										"</div>"+
									"</div>"+
									"<div class=\"bgfix_IE8\"><img src=\""+config.ImgUrl+"mid_frame_grad.png\" /></div>"+
									"<div class=\"desc_frame_small\"  >"+
											"<span class=\"txt_small\">"+race+"</span><br />"+
											"<div class=\"clear\"></div>"+
									"</div>"+
									"<div><img src=\""+config.ImgUrl+"/below_frame.png\" /></div>"+
								"</div>"+
								"<div class=\"desc_frame_box_small\" >"+
									"<div class=\"mark_list_desc\" >"+
											"<span class=\"red\">Bounty Gold</span><br />"+
											"<span class=\"gold\"> "+numberFormat(bounty)+" g</span><br />"+
											"<span class=\"txt_orng\">By: "+p(pname,pid)+"</span> <br />"+
											"<span>"+ts+" ago</span><br />"+
											"<span class=\"green\">Level : "+level+"</span>/<span class=\"blue\">Clan : "+gang+"</span><br />"+
											"<div class=\"btn_update\" ><span class=\"button_new_attack\"  "+config.hoverEffect+" onclick=\"hitlist.getAttackResult("+id+",hitlist.captcha)\">Attack</span></div>"+
											"<div class=\"clear\"></div>"+
								  	"</div>"+
								"</div>"+
								"<div class=\"clear\"></div>"+
							"</div>";
					});
					
					$('#hitlist_lists').html(str);
		}
		else
		{
			hitlist.generateCaptcha(xml);
		}
		
		//hover();	
	};
	
	function generateCaptcha(xml)
	{
		var captcha_text1=$(xml).find('captcha_txt1').text();
		//var captcha_text2=$(xml).find('captcha_txt2').text();
		//$.prompt(owner.id);
		
		var str="";
		str += 		"<div class=\"content_box\" style=\"text-align:center;\" ><!--content_box starts-->"+
						"Remember, access to the Mark List is for a limited time only, you must solve the calculation below to regain access to the Mark List after your time expires.<br />"+
							"<br />"+
							"<div>"+
								"<div >"+
									"<div  ><img src=\""+config.base_url+"/captcha/captcha.php?user_id="+owner.id+"&captcha_text="+captcha_text1+"\"></div>"+
								"</div>"+
								 "<div class=\"clear\"></div>"+
							"</div><br />"+
							"<div><input type=\"text\" id=\"captcha_input\" /></div> <br />"+
							"<div class=\"btn_submit_small\" style=\"width:90px;\" "+config.hoverEffect+" onclick=\"javascript:hitlist.loadCaptcha($('#captcha_input').val())\"><div class=\"button_new\">SUBMIT</div></div>"+
					"</div><!--content_box ends-->";
		$('#hitlist_lists').html(str);
		//hover();
	};
	
	function refresh()
	{
		hitlist.loadPage();
	};
	
	function loadCaptcha(captcha_input)
	{
		hitlist.captcha= captcha_input;
		hitlist.getHitLists(captcha_input);
	};
	
	function getAttackResult(attackId)
	{
		hitlist.makeRequest();
	};
	
	function getAttackResultCallback(xml)
	{
		var error_message =$(xml).find('error').text();
		if(error_message!="")
		{
			hitlist.generateCaptcha(xml);
			return;	
		}
		
		var str = "";
		var uname 								= $(xml).find('uname').text();
		var uid									= $(xml).find('uid').text();
		var sustained 							= $(xml).find('sustained').text();
		var inflicted 							= $(xml).find('inflicted').text();
		var inflicted_charm 					= parseInt($(xml).find('inflicted_charm').text());
var inflicted_charm_user 				= parseInt($(xml).find('inflicted_charm_user').text());
		var charms 								= parseInt($(xml).find('charms').text());
		var urace 								= $(xml).find('urace').text();
		var ulevel 								= $(xml).find('ulevel').text();
		var tname 								= $(xml).find('tname').text();
		var tid									= $(xml).find('tid').text();
		var trace 								= $(xml).find('trace').text();
		var tlevel 								= $(xml).find('tlevel').text();
		var stolen 								= $(xml).find('stolen').text();
		var lost 								= $(xml).find('lost').text();
		var user_weapon1 						= $(xml).find('user_weapon1').text();
		var user_weapon2 						= $(xml).find('user_weapon2').text();
		var user_weapon3 						= $(xml).find('user_weapon3').text();
		var target_weapon1 						= $(xml).find('target_weapon1').text();
		var target_weapon2 						= $(xml).find('target_weapon2').text();
		var target_weapon3 						= $(xml).find('target_weapon3').text();
		var uimage 								= $(xml).find('uimage').text();
		var timage 								= $(xml).find('timage').text();
		var win 								= $(xml).find('win').text();
		var loss 								= $(xml).find('loss').text();
		var congrats 							= $(xml).find('congrats').text();
		var uhealth 							= parseInt($(xml).find('uhealth').text());
		var thealth 							= parseInt($(xml).find('thealth').text());
		var uexperience 						= $(xml).find('uexperience').text();
		var texperience 						= $(xml).find('texperience').text();
		var ucash 								= $(xml).find('ucash').text();
		var tcash 								= $(xml).find('tcash').text();
		var uhealthpec 							= $(xml).find('uhealthpec').text();
		var thealthpec 							= $(xml).find('thealthpec').text();
		var u_user_item 						= $(xml).find('u_user_item').text();
		var u_target_item 						= $(xml).find('u_target_item').text();
		var attackId 							= $(xml).find('attackId').text();
		var level_up_message 					= $(xml).find('level_up_message').text();
		var sklPnt								= $(xml).find('sklPnt').text();	
		var favPoint							= parseInt($(xml).find('favPoint').text());
		str 			+="<div>"+
									"<p><span class=\"txt_orng\">"+congrats+"</span> You fought with <strong>"+tname+"</strong>  and <span class=\"green_bold\">"+win+"</span><span class=\"red_bold\">"+loss+"</span></p>"+
									"<div  class=\"white\" style=\"height:30px;\">You inflicted <span class=\"red_bold\">"+inflicted+"</span>";
									if(inflicted_charm != 0)
									{
										str +=" <span class=\"charms_damage\">("+inflicted_charm+" using charm)</span>";
									}
										str +=" damage to your enemy and Sustained <span class=\"red_bold\">"+sustained+"</span> damage";
										if(inflicted_charm != 0 && charms==1)
										{
											str +="<span class=\"charms_damage\">("+inflicted_charm+" using charm)</span>";
										}
												
											str +=". <br />";
									if(stolen != '')
									{
										str +="<br/>Bounty Collected: <span class=\"green_bold\">$"+stolen+"</span>";
									}
								str += "</p>";
									if(uhealth<=0)
									{
										str += "<p class=\"red_bold\">You died</p>";
									}
									else if(uhealthpec<20)
									{
										str += "<p class=\"red_bold\">You went to Healer</p>";
									}
									if(thealth<=0)
									{
										str += "<p class=\"red_bold\">"+tname+" died</p>";
										var message1="killed "+tname+" from Markedlist and collected $"+stolen+" bounty";
										var text1="Play Darkwars";
										var link1=config.appUrl;
										var template_data1={"images":[{"src":config.timg['logo'],
														 	"href":link1},
														 	{"src":config.userImgUrl+uid,
														 	"href":link1},
														 	{"src":config.userImgUrl+tid,
														 	"href":link1}],
															"message":message1,
															"action_text":text1,
															"link":link1};
										publishStory(config.templateBundleId,template_data1);
									}								
									if(level_up_message!="")
									{
										str += "<div class=\"mission_msg\" >"+
										"<div class=\"\"><span class=\"txt_orng\">Congratulations ! </span>You have made it to level "+level_up_message+". Your advancement has Gained you <span class=\"green_bold\"> "+sklPnt+" Skill Points</span> <a href=\"javascript:app.loadPage('skill')\">(Upgrade Skills ?)</a></div></div><div class=\"clear\"></div><br>";
										if(favPoint > 0)
											str += "You also earned <span class=\"coin\" onclick=\"app.loadPage('godfather')\">"+favPoint+" Coin</span>, Pay tribute to Elder ?";
										var message=" is gaining respect in his clan. He just advanced to level "+owner.level;
										var text="Find what happens at level "+owner.level;
										var link=config.appUrl;
										var template_data={"images":[{"src":config.timg['logo'] ,
												 "href":link},
												 {"src":config.userImgUrl+owner.id,
												 "href":link},
												 {"src":getRaceImage(owner.race),
												 "href":link}],
												"message":message,
												"action_text":text,
												"link":link};
										publishStory(config.templateBundleId,template_data);	
									}
									str += "<p><a class=\"red_link\" href=\"javascript:hitlist.disBlock()\">Show Details</a></p>";
									str += "<div id=\"hitlist_detail\" style=\"display:none;\">";
									str +="<div  class=\"attack_mydetail\"><!--attack_mydetail starts-->"+
												"<div class=\"new_user_img\">"+pImg(uuescape(uimage),uid,uname,75,75)+"</div>"+
												"<div class=\"attack_info\">"+
													"<div class=\"white_bold\">"+uname+"</div>"+
													"<div class=\"user_level\"><span>Level "+ulevel+",</span> <span>"+urace+"</span></div>"+
													"<div class=\"user_level\">Health:</div>"+
												"</div>"+
												"<div class=\"attack_info\">";
										str+="</div>"+
											  "<div class=\"progressbar_div\" >"+
													"<div class=\"progressbar\">"+
														"<div class=\"progressbar_green\" style=\"width:"+uhealthpec+"%\" id=\"a_progress\">"+
														"</div>"+
														"<div class=\"progressbar_num\">"+uhealthpec+"%</div>"+
													"</div>"+
												"</div>"+
												"<div class=\"clear\"></div><br />"+
											  "<div>"+
													"<div>You attacked with </div>"+
													"<div class=\"weapons_list\">";
													ua_user_item  =$('userAttack', $(xml).find('userAttacks')).length;
													if(ua_user_item>0)
													{
														$('userAttack', $(xml).find('userAttacks')).each(function()
														{
														var qty=$(this).attr('qty');
														var type=parseInt($(this).attr('type'));
															
															if(type==5)
															{
														  		str +=" "+qty+" "+$(this).text()+",";															
															}
															else if(type!=1)
															{
														  		str +=" "+qty+" "+$(this).text()+",";															
															}
															else
															{
														  		str +=" "+qty+" "+$(this).text()+",";
															}
														});
													}
													else
													{
														 str +=" bare hands,";
													}
													str = comaSeparated(str);
												 	str +="</div>"+
													"</div><br>"+
											  "<div>"+
													"<div>You defended with </div>"+
													"<div class=\"weapons_list\">";
												 ud_user_item  =$('userDefence', $(xml).find('userDefences')).length;
												 	if(ud_user_item!=0)
												 	{													 	
													 	$('userDefence', $(xml).find('userDefences')).each(function()
															{
															var qty=$(this).attr('qty');
															var type=parseInt($(this).attr('type'));
															if(type==5)
															{
														  		str +=" "+qty+" "+$(this).text()+",";															
															}
															else if(type!=1)
															{
														  		str +=" "+qty+" "+$(this).text()+",";															
															}
															else
															{
														  		str +=" "+qty+" "+$(this).text()+",";
															}
														});
												 	}
												 	else
												 	{
												 		 str +=" bare hands,";
												 	}
												 	str = comaSeparated(str);
												 	str +="</div>"+
													"</div>"+
											"</div><!--attack_mydetail ends-->"+
											//"<div >"+
											"<div  class=\"attack_mydetail\"><!--attack_mydetail starts-->"+
												"<div class=\"new_user_img\">"+pImg(uuescape(timage),tid,tname,75,75)+"</div>"+
												"<div class=\"attack_info\">"+
													"<div class=\"white_bold\">"+tname+"</div>"+													
													"<div class=\"user_level\"><span>Level "+tlevel+",</span> <span>"+trace+"</span></div>"+
													"<div class=\"user_level\">Health:</div>"+
												"</div>"+
												"<div class=\"attack_info\">";
										str+= "</div>"+
											  "<div class=\"progressbar_div\" >"+
													"<div class=\"progressbar\">"+
														"<div class=\"progressbar_green\" style=\"width:"+thealthpec+"%\" id=\"t_progress\">"+
														"</div>"+
														"<div class=\"progressbar_num\">"+thealthpec+"%</div>"+
													"</div>"+
												"</div>"+
												"<div class=\"clear\"></div><br />"+
											  "<div>"+
													"<div>"+tname+" attacked with </div>"+
													"<div class=\"weapons_list\">";
												 	ua_target_item  =$('targetAttack', $(xml).find('targetAttacks')).length;
												 	if(ua_target_item!=0)
												 	{
														 $('targetAttack', $(xml).find('targetAttacks')).each(function()
															{
																var qty=$(this).attr('qty');
																var type=parseInt($(this).attr('type'));
																
																if(type==5)
																{
															  		str +=" "+qty+" "+$(this).text()+"";															
																}
																else if(type!=1)
																{
															  		str +=" "+qty+" "+$(this).text()+",";															
																}
																else
																{
															  		str +=" "+qty+" "+$(this).text()+",";
																}
															});
												 	}
												 else
													{
														 str +=" bare hands";
													}	
												 	str = comaSeparated(str);
												 	str +="</div>"+
													"</div><br>"+
											  "<div>"+
													"<div>"+tname+" defended with </div>"+
													"<div class=\"weapons_list\">";
												 	ud_target_item  =$('targetDefence', $(xml).find('targetDefences')).length;
												 	if(ud_target_item!=0)
												 	{
													 	$('targetDefence', $(xml).find('targetDefences')).each(function()
														{
															var qty=$(this).attr('qty');
															var type=parseInt($(this).attr('type'));
															if(type==5)
															{
														  		str +=" "+qty+" "+$(this).text()+",";															
															}
															else if(type!=1)
															{
														  		str +=" "+qty+" "+$(this).text()+",";															
															}
															else
															{
														  		str +=" "+qty+" "+$(this).text()+",";
															}
														});
												 	}
													else
													{
														 str +="bare hands";
													}
												 	str = comaSeparated(str);
												 	 str +="</div>"+
													"</div>"+
											"</div>	<!--attack_mydetail ends-->"+
											"</div><!--attack_detail ends-->"+
											"<div class=\"clear\"></div>";
											if(thealth>0)
											{
												 str+="<div  "+config.hoverEffect+"  class=\"btn_attack_again_div\" ><div onclick=\"hitlist.getAttackResult("+attackId+",hitlist.captcha)\">Attack Again</div></div>";
												//if(page=="attack")
													//str +=",attack.currentSubPage";
												//str+=")\">Attack Again</div></div>";
											}
											if(win && level_up_message=="")
													{
														str+="<a href=\"javascript:hitlist.publishFeed('"+stolen+"','"+tname+"',"+uid+","+tid+")\">Brag About It</a>";
													}
											str+="<div class=\"clear\"></div>"+
										"</div>";
		hitlist.outputMessage('<div class="content_box">'+str+'</div>',"m");
	};
	
	function comaSeparated(str)
	{
		var st=String(str);
		str=st.substr(0,st.length-1);
		return str;
	}
	
	function disBlock()
	{
		$('#hitlist_detail').slideToggle('show');
	}
	
	function publishFeed(cash,tname,uid,tid)
	{
		message1="fought with "+tname+"  and won "+numberFormat(cash)+" g";
		text1="Play Darkwars";
		link1=config.appUrl;
		template_data1={"images":[{"src":config.timg['logo'],
						 	"href":link1},
						 	{"src":config.userImgUrl+uid,
						 	"href":link1},
						 	{"src":config.userImgUrl+tid,
						 	"href":link1}],
							"message":message1,
							"action_text":text1,
							"link":link1};
		publishStory(config.templateBundleId,template_data1);
		
	};
	
	/* EOF Function Definition */
	
	return hitlist;
}