function Home(cntrl)
{
	
	var home = {};
	var form_str="";
	home = new NET(cntrl);
	
	//home.isLoaded = false;
	home.str_complete=new Array();
	home.str_marklist=new Array();
	home.str_attack=new Array();
	home.str_bank=new Array();
	home.str_punch=new Array();
	home.str_clan=new Array();
	home.str_youattack=new Array();
	
	//home.str_admin=new Array();
	home.messages=new Array();
	home.messagesIndex=new Array();
	home.weapons=new Array();
	home.weaponsIndex =new Array();
	home.users=new Array();
	
	home.getNewsFeeds = getNewsFeeds;
	home.getNewsFeedsCallback = getNewsFeedsCallback;
	home.loadPage = loadPage;
	home.loadSubPage = loadSubPage;
	home.broadCastMessage=broadCastMessage;
	home.broadCastMessageCallback=broadCastMessageCallback;
	home.deleteNewsFeed=deleteNewsFeed;
	home.deleteNewsFeedCallback=deleteNewsFeedCallback;
	home.deleteAllNewsFeeds=deleteAllNewsFeeds;
	home.deleteNewsFeeds=deleteNewsFeeds;
	home.deleteShown=deleteShown;
	home.deleteAll=deleteAll;
	home.deleteNewsFeedsCallback=deleteNewsFeedsCallback;
	home.deleteAllNewsFeedsCallback=deleteAllNewsFeedsCallback;
	home.loadHomePage=loadHomePage;
	home.loadHomePageCallback=loadHomePageCallback;
	home.loadNewsFeeds=loadNewsFeeds;
	home.loadWeapons=loadWeapons;
	home.loadUsers=loadUsers;
	home.refreshQty = refreshQty;
	home.buyWeapon = buyWeapon;
	home.buyWeaponCallback = buyWeaponCallback;
	home.sendBulletins=sendBulletins;
	home.publish=publish;
	home.publishCallback=publishCallback;
	home.refresh=refresh;
	home.getNewsFeedType=getNewsFeedType;
	home.getBroadcastMessages=getBroadcastMessages;
	home.getBroadcastMessagesCallback=getBroadcastMessagesCallback;
	home.current_sub_page = 'type1';
	
	/*parsing message*/
	function loadHomePage()
	{
		$('.communication_tab').removeClass('communication_tab_selected');
		$('.communication_tab').click(function(){
			
			$('.communication_tab').removeClass('communication_tab_selected');
			$(this).addClass('communication_tab_selected');
			
		});
		home.makeRequest();
	};
	function loadHomePageCallback(xml)
	{
		
		$('#home_page_div_hide').show();
		//home.isLoaded = true;
		home.messages = new Array();
		home.messagesIndex=new Array();
		home.weapons=new Array();
		home.weaponsIndex =new Array();
		home.users=new Array();
		home.str_broadcast=new Array();
		home.str_marklist=new Array();
		home.str_attack=new Array();
		home.str_bank=new Array();
		home.str_punch=new Array();
		home.str_clan=new Array();
		home.str_complete=new Array();
			/*parsing userinfo*/
			home.level = parseInt($('userinfo', xml).find('level').text());
			home.req_exp = numberFormat(parseInt($('userinfo', xml).find('req_exp').text()));
			home.fren_reqs = parseInt($('userinfo', xml).find('frenReqs').text());
			home.name = $('userinfo', xml).find('name').text();
			/*parsing newsfeeds*/
			$('message', $(xml).find('newsfeeds')).each(function(){
												var message = new Array();
												message['id'] = $(this).attr('id');
												message['message'] = $(this).find('msg').text();
												message['level'] = $(this).find('level').text();
												message['type'] = $(this).find('type').text();
												message['aimage'] = $(this).find('actImg').text();
												message['purl'] = $(this).find('actProf').text();
												message['actor']=$(this).find('actId').text();
												message['aname']=$(this).find('actNm').text();
												message['timeS']=$(this).find('tS').text();
												
												home.messages["'"+message['id']+"'"] = message;
												home.messagesIndex.push(message['id']);
			});
			/*parsing homepage weapons*/
			$('weapon', $(xml).find('weapons')).each(function(){
												var weapon = new Array();
												weapon['id']=$(this).attr('id');
												weapon['type']=$(this).find('type');
												weapon['title'] = $(this).find('title').text();
												weapon['imgW'] = $(this).find('imgW').text();
												weapon['cost'] = $(this).find('cost').text();
												weapon['favPt'] = $(this).find('favPt').text();
												weapon['attack'] = $(this).find('attack').text();
												weapon['defence'] = $(this).find('defence').text();
												weapon['upkeep'] = $(this).find('upkeep').text();
												weapon['min_level']=$(this).find('min_level').text();
												weapon['gangSz']=$(this).find('gangSz').text();
												weapon['in_stock']=$(this).find('in_stock').text();
												
												home.weapons["'"+weapon['id']+"'"] = weapon;
												home.weaponsIndex.push(weapon['id']);
												
			});
			/*parsing users*/
			$('user', $(xml).find('users')).each(function(){
												var user = new Array();
												//var id=$(this).attr('id');
												
												user['id']=$(this).attr('id');
												user['name'] = $(this).find('name').text();
												user['imgU'] = $(this).find('imgU').text();
												//$.prompt("Image="+user['imgU'])
												user['proUrl'] = $(this).find('proUrl').text();
												home.users.push(user);
			});
		
		home.loadNewsFeeds();
		$('#feed_type > div').hide();
		$('#feed_type1').show();
		$('#feed_form').show();
		$('#buttons').hide();
		$('#feed_complete').addClass('communication_tab_selected');
		home.loadWeapons();
		home.loadUsers();
		$('#level').html(home.level);
		$('#req_exp').html(owner.level_experience-owner.experience);
		$('#user_name').html(uuescape(owner.name));
		var warning = "";
		if(home.fren_reqs >0)
		{
			warning += "You have "+home.fren_reqs+" new <a href=\"javascript:app.loadPage('gang', 'send_request')\">Clan</a> Request(s).<br />";
		}
		if(owner.first_login_of_day)
			warning += "Congratulations! You have earned "+config.LOGIN_FAVOR_POINT_REWARDS+" free coins for playing Dark Wars today.";
		if(warning != "")
		{
			$('#warning_message').html(home.outputMessage(warning,"i"));
			$('#warning').show();
		}
		else
			$('#warning').hide();
		if(home.weaponsIndex.length<1)
		{
			$('#item_limited_edition').hide();	
		}
		
		if(owner.num_of_marks>0)
		{
			$('#marklist_num').html( " > Marked List Watch (<a href=\"javascript:app.loadPage('hitlist')\">"+owner.num_of_marks+"</a>)");
		}
		//hover();
	
	};

	function loadNewsFeeds()
	{
		
		var str="";
		var gstr="";
			
				for(i in home.messagesIndex)
				{
					var id = home.messagesIndex[i];
					var feed = home.messages["'"+id+"'"];
					
					str="<div>" +
							"<div class=\"feed_content\" id=\"feed_content"+id+"\">" +
								"<div class=\"feed_conten_img\">"+pImg(uuescape(feed['aimage']),feed['actor'],uuescape(feed['aname']),50,50)+"</div>" +
									"<div class=\"feed_desc\" >" ;
									if(feed['type']==4)
										str += "<p class=\"red_feed\"><span class=\"user_wrote\">"+uuescape(feed['aname'])+' wrote: </span>'+codeHtml(uuescape(feed['message']))+"</p>";
									else
										str += "<p class=\"red_feed\">"+uuescape(feed['message'])+"</p>";
							str +=	"</div>" +
									"<div class=\"float_right\" style=\"width:200px;\">" +
										"<div class=\"newsfeed_date\" >" +	
											"<div class=\"float_left\">"+feed['timeS']+" ago &nbsp;</div>"+
											"<div class=\"float_right\" style=\"width:30px;\">" +
												"<span class=\"cross\" "+config.hoverEffect+" onclick=\"home.deleteNewsFeed("+id+")\" title=\"Delete\"></span>" +
												"<span class=\"ok\" "+config.hoverEffect+" onclick=\"home.publish("+id+")\" title=\"Publish\"></span>" +
											"</div>" +
										"</div>" +
									"</div>" +
								 "<div class=\"clear\"></div>" +
							  "</div>" +
						  "</div>";	
							switch(feed['type'])
							{							
								
								case '1':
										home.str_clan+=str;
										$('#feed_type5').html(home.str_clan);
										 $('#buttons').show();
										break;
										
								case '2':
										 home.str_attack+=str;
										 $('#feed_type2').html(home.str_attack);
										 $('#buttons').show();
										 break;
										 
								case '3':
										home.str_marklist+=str;
										$('#feed_type4').html(home.str_marklist);
										 $('#buttons').show();
										 break;
										 
								case '4':
										 home.str_complete+=str;
										 $('#feed_type1').html(home.str_complete);
										 $('#buttons').hide();
										 break;
									 
								case '5':
										home.str_bank+=str;
										$('#feed_type6').html(home.str_bank);
										 $('#buttons').show();
										break;
								case '7':
										home.str_punch+=str;
										$('#feed_type3').html(home.str_punch);
										 $('#buttons').show();
										break;
										
								case '8':
										home.str_youattack+=str;
										$('#feed_type7').html(home.str_youattack);
										 $('#buttons').show();
										break;
								default: $('#buttons').hide();
											break;
			
				               			
							}
			}	
		if(home.str_clan=="" && home.str_youattack=="" && home.str_punch)
		{
			
		}
		 /*
		 $('#feed_type2').html(home.str_attack);
		 $('#feed_type4').html(home.str_marklist);
		 $('#feed_type1').html(home.str_complete); 	
		 $('#feed_type6').html(home.str_bank);
		 $('#feed_type3').html(home.str_punch);
		 $('#feed_type7').html(home.str_youattack);
		 */
			 
	};
	function loadPage()
	{	
		home.adjustWindowHeight();
		$('#home_page_div_hide').hide();
		home.loadHomePage();
	};
	function loadSubPage(sub_page)
	{ 
		
		home.current_sub_page=sub_page;
		$('#feed_type > div').hide();
		$('#feed_'+sub_page).show();
		$('#feed_form').hide();
		$('#broad_cast').hide();
		$('#buttons').hide();
		switch(home.current_sub_page)
		{
			case 'type1':   $('#broad_cast').show();
							$('#complete_msg').show();
							$('#feed_form').show();
							home.getNewsFeeds(4);
							break;
							
			case 'type2':	home.getNewsFeeds(2);	
							break;
			
			case  'type3':	home.getNewsFeeds(7);
							break;
							
			case  'type4':	home.getNewsFeeds(3);
							break;
							
			case  'type5':	home.getNewsFeeds(1);
							break;
							
			case  'type6':	home.getNewsFeeds(5);
							break;
							
			case  'type7':	home.getNewsFeeds(8);
							break;
							
			case  'type8':  $('#buttons').hide();
							break;	
		}
		
		/*if(sub_page == 'type1')
		{
			$('#broad_cast').show();
			$('#complete_msg').show();
			$('#feed_form').show();
			$('#buttons').hide();
			home.getNewsFeeds(4);
		}
		else if(sub_page=='type2')
		{
			$('#feed_form').hide();
			home.getNewsFeeds(2);
		}
		else if(sub_page=='type4')
		{
			home.getNewsFeeds(3);
		}
		else if(sub_page=='type6')
		{
			home.getNewsFeeds(5);
		}
		else if(sub_page=='type3')
		{
			home.getNewsFeeds(7);
		}
		else if(sub_page=='type5')
		{
			home.getNewsFeeds(1);
		}
		else if(sub_page=='type7')
		{
			home.getNewsFeeds(8);
		}
		else if( sub_page="type8")
		{
			$('#buttons').hide();
		}*/
	};
	function loadUsers()
	{
		var str="";
		$.each(home.users, function(){
		str+="<div class=\"new_user_img\">"+
				pImg(uuescape(this.imgU),this.id,uuescape(this.name),50,50)+
			"</div>";
		});
		strbrowse="<div class=\"clear\"></div>" +
				"<div><a href=\"javascript:app.loadPage('newuser')\">Browse More</a>" +
					"</div>";
		$('#new_users').html(str+strbrowse);
		$('.new_user_img').hover(
							function(){$(this).find('a').find('img').css('border', '1px solid #999999');}, 
							function(){$(this).find('a').find('img').css('border', '1px solid #666666');}
							);
	};
	function loadWeapons()
	{
		var str="";
		var count=0;
		for(i in home.weaponsIndex)
				{
					var id = home.weaponsIndex[i];
					var weapon = home.weapons["'"+id+"'"];
					str+="<div class=\"weapon_div\" ><!--weapon_div div starts-->"+
					"<div class=\"float_left\"><a href=\"javascript:app.loadPage('shop')\" title=\"purcase\"><img src=\""+config.shopIMGurl+weapon['imgW']+"\" style=\"border:#660000 1px solid;\" width=\"125\" height=\"75\"/></a></div>"+ 
					"<div class=\"weapon_div_info\">"+
						"<div><b>"+weapon['title']+"</b></div>"+
						"<div class=\"attk_deff\" style=\"float:left;\">A:"+weapon['attack']+" D:"+weapon['defence']+"</div>"+
						"<div class=\"clear\" style=\"height:5px;\"></div>"+
						"<div class=\"red\" id=\"home_in_stock"+weapon['id']+"\">(Stock: "+weapon['in_stock']+")</div>";
						if(weapon['favPt']>0)
						{
						str+="<div>For <span class=\"coin\" id=\"home_favPt"+weapon['id']+"\">"+weapon['favPt']+" Coins</span></div>";
						}
						if(weapon['gangSz']>0)
						{
							count=1;
							str+="<div>For <span class=\"red_feed\" id=\"home_req_gang"+weapon['id']+"\">"+weapon['gangSz']+" Clans</span></div>";
						}
					str+="</div>"+
					"<div class=\"clear\"></div>"+
					"<div class=\"fet_item_btn_div\">" +
						"<div class=\"button_new_buy\" "+config.hoverEffect+" onclick=\"home.buyWeapon("+weapon['id']+",1)\"  style=\"padding:4px 7px;\">Buy Item</div>"+
				"</div>"+
				"</div><!--weapon_div div ends-->";
					if((weapon['gangSz']-owner.gang_size)>0)
					{
					str+="<div class=\"fet_req_info\"><!--fet_req_info div starts-->"+
					"You need <span class=\"red\">"+(weapon['gangSz']-owner.gang_size)+"</span> more Recruiters till you can purchase a, <span class=\"green\">"+weapon['title']+"</span>.";
					"</div><!--fet_req_info div ends-->"+
				"<div class=\"clear\"></div>";
					}
					else if(count==1)
					{
						str+="<div class=\"fet_req_info\"><!--fet_req_info div starts-->"+
						"You have enough Recruiters to purchase a, <span class=\"green\">"+weapon['title']+"</span>.";
						"</div><!--fet_req_info div ends-->"+
					"<div class=\"clear\"></div>";
					}
				
			}
		$('#home_weapons').html(str);
	};
	
	function broadCastMessage(message)
	{
		if(message=="")
		{
			home.outputMessage("You must type some text to send it as message");
		}
		else
		{
			home.makeRequest(false);
		}
	};
	function broadCastMessageCallback(xml)
	{
		var message = new Array();
		message['id'] = $('data',xml).find('id').text();
		message['message'] = $('data',xml).find('msg').text();
		message['type'] = 4;
		message['aimage'] =owner.thumbnail_url;
		message['purl'] = owner.profile_url;
		message['timeS']=$('data',xml).find('tS').text();
		home.messages["'"+message['id']+"'"] = message;
		home.messagesIndex.push(message['id']);
		
		str="<div>"+
				"<div class=\"feed_content\" id=\"feed_content"+message['id']+"\">" +
						"<div class=\"feed_conten_img\">"+pImg(uuescape(message['aimage']),message['actor'],uuescape(message['aname']),50,50)+"</div>"+
							"<div class=\"feed_desc\" >" +
								"<p class=\"red_feed\">"+codeHtml(uuescape(message['message']))+"</p>"+
							"</div>" +
							"<div class=\"float_right\" style=\"width:200px;\">" +
								"<div class=\"newsfeed_date\" style=\"width:auto;\" >" +
									"<div class=\"float_right\" style=\"width:30px;\">" +
										"<span class=\"cross\" "+config.hoverEffect+" onclick=\"home.deleteNewsFeed("+message['id']+")\" title=\"Delete\"></span>" +
										"<span class=\"ok\" "+config.hoverEffect+" onclick=\"home.publish("+message['id']+")\" title=\"Publish\"></span>" +
									"</div>" +
								"<div class=\"float_right\">"+message['timeS']+" ago &nbsp;</div>" +
							"</div>" +
						"</div>" +
						"<div class=\"clear\"></div>" +
					"</div>" +
				"</div>";
		
		$('#feed_type1').prepend(str);
		$('#broadcast_message').val('');
		
	};
	
	function getBroadcastMessages()
	{
		
		home.str_marklist=new Array();
		home.str_attack=new Array();
		home.str_bank=new Array();
		home.str_punch=new Array();
		home.str_clan=new Array();
		home.str_complete=new Array();
		home.makeRequest(false);
		
	};
	
	function getBroadcastMessagesCallback(xml)
	{
		 
		var str1="";
		$('message', $(xml).find('newsfeeds')).each(function(){
					
						id = $(this).attr('id');
						message = $(this).find('msg').text();
						level = $(this).find('level').text();
						type = $(this).find('type').text();
						aimage = $(this).find('actImg').text();
						purl = $(this).find('actProf').text();
						actor=$(this).find('actId').text();
						aname=$(this).find('actNm').text();
						timeS=$(this).find('tS').text();
			
						str1+="<div>"+
						"<div class=\"feed_content\" id=\"feed_content"+id+"\">"+
							"<div class=\"feed_conten_img\">"+pImg(uuescape(aimage),actor,uuescape(aname),50,50)+"</div>"+
								"<div class=\"feed_desc\" >"+
									"<p class=\"red_feed\"><span class=\"user_wrote\">"+uuescape(aname)+' wrote: </span>'+codeHtml(uuescape(message))+"</p>"+
									"</div>"+
								"<div class=\"float_right\" style=\"width:200px;\">"+
									"<div class=\"newsfeed_date\" >"+	
										"<div class=\"float_left\">"+timeS+" ago &nbsp;</div>"+
										"<div class=\"float_right\" style=\"width:30px;\">"+
											"<span class=\"cross\" "+config.hoverEffect+" onclick=\"home.deleteNewsFeed("+id+")\" title=\"Delete\"></span>"+
											"<span class=\"ok\" "+config.hoverEffect+" onclick=\"home.publish("+id+")\" title=\"Publish\"></span>"+
										"</div>"+
									"</div>"+
								"</div>"+
							 "<div class=\"clear\"></div>"+
						  "</div>"+
					  "</div>";									
											
						
		});
		$('#feed_type > div').hide();
		$('#feed_type5').show();
		$('#complete_msg').hide();
		$('#broadcast_msg').show();
		$('#feed_form').show();
		$('#feed_type5').html(str1);
	};
	
	function sendBulletins(msg)
	{
		var params = [];
		params[opensocial.Message.Field.TITLE] = "Message By "+owner.display_name;
		params[opensocial.Message.Field.TYPE] = opensocial.Message.Type.NOTIFICATION;
		var message = opensocial.newMessage(msg, params);
		opensocial.requestSendMessage("OWNER_FRIENDS", message, function(response){}, params); return;
	};
	
	function deleteShown()
	{
		var xml = "<ids>";
		for(i in home.messagesIndex)
		{
			xml += "<id>"+home.messagesIndex[i]+"</id>";
		}
		xml += "</ids>";
		home.deleteNewsFeeds(xml);
	}
	
	function deleteNewsFeeds(xml)
	{
		home.makeRequest(false);		
	}
	
	function deleteNewsFeedsCallback(xml)
	{
		$('req', xml).each(function(){
			var id = $(this).attr('id');
			home.messages.splice("'"+id+"'",1);
			var index = $.inArray(id, home.messagesIndex);
			home.messagesIndex.splice(index,1);
			$('#feed_content'+parseInt(id)).fadeOut('3000');
		});
		var type =$(xml).find('ntype').text();
		home.getNewsFeeds(type);
	}
	
	function deleteAll()
	{
		var type=getNewsFeedType(home.current_sub_page);
		deleteAllNewsFeeds(type);	
	};
	
	function deleteAllNewsFeeds(type)
	{
		home.makeRequest(type);
	}
	
	function deleteAllNewsFeedsCallback(xml)
	{
		var message=$(xml).find('message').text();
		$('#buttons').hide();
		$('#feed_type1').html('');
		$('#feed_type2').html('');
		$('#feed_type3').html('');
		$('#feed_type4').html('');
		$('#feed_type6').html('');
		$('#feed_type5').html('');
		$('#feed_type7').html('');
		home.outputMessage(message);
	};
	function deleteNewsFeed()
	{
		home.makeRequest(false);
	};
	
	function deleteNewsFeedCallback(xml)
	{
		var id =$(xml).find('id').text();
		var type =$(xml).find('ntype').text();
		home.messages.splice("'"+id+"'",1);
		var index = $.inArray(id, home.messagesIndex);
		home.messagesIndex.splice(index,1);
		$('#feed_content'+parseInt(id)).fadeOut('3000');
		home.getNewsFeeds(type);
	};
	function getNewsFeeds(type)
	{
		home.str_complete=new Array();
		home.str_marklist=new Array();
		home.str_attack=new Array();
		home.str_bank=new Array();
		home.str_punch=new Array();
		home.str_clan=new Array();
		home.messages = new Array();
		home.messagesIndex=new Array();
		home.str_youattack=new Array();
		home.makeRequest(false);
	};
	function getNewsFeedsCallback(xml)
	{
		/*parsing newsfeeds*/
			$('message', $(xml).find('newsfeeds')).each(function(){
												var message = new Array();
												message['id'] = $(this).attr('id');
												message['message'] = $(this).find('msg').text();
												message['level'] = $(this).find('level').text();
												message['type'] = $(this).find('type').text();
												message['aimage'] = $(this).find('actImg').text();
												message['purl'] = $(this).find('actProf').text();
												message['actor']=$(this).find('actId').text();
												message['aname']=$(this).find('actNm').text();
												message['timeS']=$(this).find('tS').text();
												home.messages["'"+message['id']+"'"] = message;
												home.messagesIndex.push(message['id']);
			});
			home.loadNewsFeeds();
	};
	
	
	function refreshQty(id)
	{ 
		var qty = $('#home_weapon_qty'+id).val();
		var favor_point = home.weapons["'"+id+"'"].favPt;
		//$.prompt('favor_point='+favor_point +'qty ='+qty);
		$('#home_favPt'+id).html(favor_point*qty+" Coins" );
	};
	
	function buyWeapon()
	{
		home.makeRequest();
	};
	function buyWeaponCallback(xml)
	{
		var gangSize = $(xml).find('reqGangSize').text();
		var id = $(xml).find('id').text();
		$('#home_req_gang'+id).html(gangSize+" Clans");
		var message=$(xml).find('message').text(); 
		home.outputMessage(message);
		var inStock = $(xml).find('inStock').text(); 
		$('#home_in_stock'+id).html('Stock: '+inStock);
	};
	function publish()
	{
		home.makeRequest();
	};
	function publishCallback(xml)
	{
		var success = $(xml).find('success').text();
		home.outputMessage(success);
	};
	
	function getNewsFeedType(subpage)
	{
		
		switch(subpage)
		{
			case 'type1':   return '4';
							break;
							
			case 'type2':	return '2';	
							break;
			
			case  'type3':	return '7';
							break;
							
			case  'type4':	return '3';
							break;
							
			case  'type5':	return '1';
							break;
							
			case  'type6':	return '5';
							break;
							
			case  'type7':	return '8';
							break;
							
			case  'type8': return '6';
							break;	
		}
	};
	
	function refresh()
	{
		
		home.str_broadcast=new Array();
		home.str_marklist=new Array();
		home.str_attack=new Array();
		home.str_bank=new Array();
		home.str_punch=new Array();
		home.str_clan=new Array();
		home.str_complete=new Array();
		home.str_youattack=new Array();
		home.messages=new Array();
		home.messagesIndex=new Array();
		home.weapons=new Array();
		home.weaponsIndex =new Array();
		home.users=new Array();
		$('.communication_tab').click(function(){
			$('.communication_tab').removeClass('communication_tab_selected');
			$(this).addClass('communication_tab_selected');
			
		});
		home.loadPage();
	};
	
	return home;
}