// community Actions

// form stuff attributes
// jquery radio button src: $("input[name='gender']").val();


function commSortType() {

	// community sorting shit
	$('div.comm_sort_icon, div.comm_sort_list').click(function() {
		cm_sort = this.id;
		
		// reset pagenr list|icon
		cm_pagenr = 1;
		
		// fire ajax update
		communityList(cm_sort, cm_pagenr, cm_capkey, cm_gender_male, cm_gender_female, cm_city, cm_radius, cm_username, cm_agefrom, cm_ageto, cm_tags, cm_tagsaction);
	});
}


function capKeyList() {

	var defaultkey = cm_capkey; // default key from js_vars
	
	if(defaultkey == "all") {
		$('div#cap_'+defaultkey).attr({className: 'keylist_txt_full'});
	}
	else {
		$('div#cap_'+defaultkey).attr({className: 'keylist_full_active'});
	}
	
		
	$('div.keylist_full,div.keylist_full_active,div.keylist_txt, div.keylist_txt_full').click(function() {
	
		// reset pagenr on cap key click
		cm_pagenr = 1;
	
		var key = this.id;
		var tmp_key = key.split("_");
		var capkey = tmp_key[1];
		
		
		if(capkey != "all") {
			$('div.keylist_txt_full').attr({className: 'keylist_txt'}); // unselect old selection
			$('div.keylist_full_active').attr({className: 'keylist_full'}); // unselect old selection
			$('div#cap_'+capkey).attr({className: 'keylist_full_active'}); // select new selection 
		}
		else {
			$('div.keylist_full_active').attr({className: 'keylist_full'}); // unselect old selection
			$('div#cap_'+capkey).attr({className: 'keylist_txt_full'});
		}
		
		// keylist_txt disable
		
		cm_capkey = capkey;
		// fire ajax update
		communityList(cm_sort, cm_pagenr, cm_capkey, cm_gender_male, cm_gender_female, cm_city, cm_radius, cm_username, cm_agefrom, cm_ageto, cm_tags, cm_tagsaction);
		
	});
}


function commBrowseList() {
	$('div.browselist_empty, div.browselist_full').click(function() {
		
		var currpage = $('div.browselist_full').attr('id');
		var nextpage = this.id;
		
		if(nextpage == "fwd" || nextpage == "rew") {
			
			var tmp_next = currpage.split("_");
			var curr = tmp_next[1];
			var lmt = 0;
			
			if(nextpage == "fwd") {		
				if(curr < pagenums) {	
					curr++;
				}
				else {
					lmt = 1;
				}
			}
			if(nextpage == "rew") {
				if(curr > cm_minlimit) {
					curr--;
				}
				else {
					lmt = 1;
				}
			}
			
			var pgnew = 'pg_'+curr;			
		}
		else {
			
			var pgnrsp = nextpage.split("_");
			var curr = pgnrsp[1];
			var pgnew = 'pg_'+curr;		
			
		}
		
		if(curr >= cm_minlimit && curr <= pagenums) {
			// call update
			updateBrowseList(pgnew, curr);
		}
		
		cm_pagenr = curr; // set current page to glob val
		
		if(lmt != 1) { // fire protection if end of list reached
			// fire ajax update
			communityList(cm_sort, cm_pagenr, cm_capkey, cm_gender_male, cm_gender_female, cm_city, cm_radius, cm_username, cm_agefrom, cm_ageto, cm_tags, cm_tagsaction);
		}
	});
}


function updateBrowseList(pgnew, curr) {
		// set current active pagenr to empty
			$('div.browselist_full').attr({className: 'browselist_empty'});
			
			// set selected pagenr to active
			$('div#'+pgnew+'').attr({className: 'browselist_full'});
			
		// call AJAX
}


function commFilterSelToggle() {
	
				// filter select box handling
				$("#city").change(function()
				{
					document.comm_filter.radius.selectedIndex = 0;
				});
				$("#radius").change(function()
				{
					document.comm_filter.city.selectedIndex = 0;
				});
}


function commFilterSubmit() {

	$('.filt_refresh').click(function(){
					   	
				//e.preventDefault(); // prevent default form sending 
	
				cm_gender_male = $("input[name='gender_male']:checked").val(); // gender
				cm_gender_female = $("input[name='gender_female']:checked").val(); // gender
				cm_city = $("select[name='city']").val(); // city
				cm_radius = $("select[name='radius']").val(); // umkreis
				cm_username = $("input[name='username']").val(); // username
				cm_agefrom = $("input[name='agefrom']").val(); // agefrom
				cm_ageto = $("input[name='ageto']").val(); // ageto
				
				if(cm_agefrom == '') {
					cm_agefrom = 0;
				}
				if(cm_ageto == '') {
					cm_ageto = 99;
				}
				
			// fire ajax update
			
			// reset pagenum because of bug
			cm_pagenr = 1;
			
			communityList(cm_sort, cm_pagenr, cm_capkey, cm_gender_male, cm_gender_female, cm_city, cm_radius, cm_username, cm_agefrom, cm_ageto, cm_tags, cm_tagsaction); 		

	});
}


// community list filters, load when document ready

$(document).ready(function() {
	
	if(pagezone == "communityindex" || pagezone == "communityonline") {
		commSortType();
		commFilterSubmit();
		commFilterSelToggle();
		commBrowseList();
		capKeyList();
		communityList(cm_sort, cm_pagenr, cm_capkey, cm_gender_male, cm_gender_female, cm_city, cm_radius, cm_username, cm_agefrom, cm_ageto, cm_tags, cm_tagsaction);
	}
});



function communityList(cm_sort, cm_pagenr, cm_capkey, cm_gender_male, cm_gender_female, cm_city, cm_radius, cm_username, cm_agefrom, cm_ageto, cm_tags, cm_tagsaction) {

	/*
	sortmethod (sort)
	pagenumber (browse)
	gender
	searchcity
	searchradius
	username
	agefrom
	ageto
	*/

	var sortmethod = cm_sort;
	
	// re-init list-icons
			var iconhtml = '';
			// manipulate sort icons
			if(sortmethod == "list") {
				iconhtml += '<div id="icon" class="comm_sort_icon"></div>';
				iconhtml += '<div id="list" class="comm_sort_list_sel"></div>';
			}
			
			else if(sortmethod == "icon") {
				iconhtml += '<div id="icon" class="comm_sort_icon_sel"></div>';
				iconhtml += '<div id="list" class="comm_sort_list"></div>';
			}
				iconhtml += '<div id="clearDiv"></div>';
	
			$("div#commSortIcons").html(iconhtml)
			// reinit to new dom
			commSortType();

	
	// ajax stuff, regenerate list
	
	// while loading... 
	var loadergif = '<div class="ajaxloader"></div>';
	$("div#list_updater").html(loadergif);
	
	// var search = cm_sort;
	var search = cm_sort+'|'+cm_pagenr+'|'+cm_capkey+'|'+cm_gender_male+'|'+cm_gender_female+'|'+cm_city+'|'+cm_radius+'|'+cm_username+'|'+cm_agefrom+'|'+cm_ageto+'|'+cm_tags+'|'+cm_tagsaction;
	
	var updateList = '';
	
	$.ajax({ 	
			   type: "POST",
			   url: '/dyn/commulist/',
			   dataType: 'json',
			   timeout: 7000,
			   data: 'search=' + search,
			   global: 'false',
			   success: function(json) {
			   
			   		$("div#list_updater").html('&nbsp;');

			   		//var resp = json.info[0].res;
			   		var resp = json.data.length;
			   		
			   		
				   		if(json.data[0].res == 0) {
				   				updateList += '<div>&nbsp;</div>'; 
								updateList += '<div>'+str_com_nopers+'</div>';
						}
				   		else {
			   		
					
					if(sortmethod == "icon") {
						// do 6 icons per line
						
						for(i=0; i<resp; i++) {
							
							var id = json.data[i].id;
							var img = json.data[i].image;
							var name = json.data[i].name;
							
							updateList += '<a href="/people/'+name+'/" >';
	                        	updateList += '<div class="usr_imgbox">';
	                                updateList += '<div class="usr_img">';
	                                if(img != '') {
	                                    updateList += '<img src="/images/users/75/'+img+'"  border="0"/>';
	                                }
	                                else {
	                                    updateList += '<img src="/images/users/user_unknown_75.png"  border="0"/>';
	                                }
	                                updateList += '</div>';
	                                updateList += '<div class="usr_imgtitle">'+name+'</div>';
	                            updateList += '</div>';
	                         updateList += '</a>';
								 if(i == 6 || i == 13 || i == 20 || i == 27 || i == 34 || i == 41 || i == 48) {
								 	updateList += '<div id="clearDiv"></div>';
								 }
						}
						updateList += '<div id="clearDiv"></div>';
						
					} // end sortmethod = icon
					
					else if(sortmethod == "list") {
						// do 20 listitems per page
						

						for(i=0; i<resp; i++) {
							var id = json.data[i].id;
							var img = json.data[i].image;
							var name = json.data[i].name;
							var plz = json.data[i].plz;
							var cityname = json.data[i].cityname;
							var taghtml = json.data[i].taghtml;
							var statusmsg = json.data[i].statusmsg;
					
								updateList += '<div class="item_listing_small">';
									updateList += '<div class="item_listing_userpic" style="margin-left: 5px;">';
									if(img != '') {
										updateList += '<a href="/people/'+name+'/"><img src="/images/users/75/'+img+'" height="50" width="50" border="0"></a>';
									}
									else {
										updateList += '<a href="/people/'+name+'/"><img src="/images/users/user_unknown_50.png" height="50" width="50" border="0"></a>';
									}
									updateList += '</div>';
									
									updateList += '<div class="item_listing_mainbody">';
									updateList += '<div class="item_listing_content">';
									updateList += '<div style="float: left; margin-right: 2px;"><strong><a href="/people/'+name+'/" class="eventlist_highlight">'+name+'</a></strong></div>';
									
									if (statusmsg != '') {
											updateList += '<div style="float: left;">';
												updateList += '<div class="stat_cont_orange">';
													updateList += '<div class="stat_pad stat_innercont">'+statusmsg+'</div>';
												updateList += '</div>';
												updateList += '<div id="clearDiv"></div>';
											updateList += '</div>';
									}
									
									updateList += '<div id="clearDiv"></div>';
									updateList += '</div>';
									
									
									
									updateList += '<div class="item_listing_content" style="margin-top: 3px; margin-bottom: 4px;">';
										if (cityname != '') {
											updateList += '<span class="text_tiny">aus '+plz+' '+cityname+'</span>';
										}
										else {
											updateList += str_com_noort;
										}
									updateList += '</div>';
							
									
									updateList += '<div class="item_listing_content" style="margin-bottom: 3px;">';
									if (taghtml != ''){
										updateList += '<div id="dragtags">';
											updateList += ''+taghtml+'';
										updateList += '</div>';
									}
									else {
										updateList += str_com_notags;
									}
									updateList += '</div>';
									
									updateList += '</div>';
									updateList += '<div id="clearDiv"></div>';
								updateList += '</div>';
						}
					}
			   		} // res > 0
					
					// updateList += '<div>&nbsp;</div>';
					updateList += '<div class="browselist_box"></div>';
			  
			   	    $("div#list_container").html(updateList);
			   	    
			   	    if(json.data[0].res > 0) {
				   	    // create pagebrowser
				   	    
				   	    pagenums = json.data[0].pages;
				   	    var activepage = cm_pagenr;
				   	    
				   	    var browsehtml = '';
				   	    
				   	    	browsehtml += '<div id="rew" class="browselist_empty"><div class="innerpad">&#8249;&#8249;</div></div>';
				   	    	for(i=1; i<=pagenums; i++) {
				   	    		var pgid = 'pg_'+i;
				   	    		
				   	    		if(activepage == i) {
				   	    			browsehtml += '<div id="'+pgid+'" class="browselist_full"><div class="innerpad">'+i+'</div></div>';
				   	    		}
				   	    		else {
				   	    			browsehtml += '<div id="'+pgid+'" class="browselist_empty"><div class="innerpad">'+i+'</div></div>';
								}
				   	    	}
				   	    	browsehtml += '<div id="fwd" class="browselist_empty"><div class="innerpad">&#8250;&#8250;</div></div>';
				   	    
				   	    // update browselist
				   	    $("div.browselist_box").html(browsehtml);	
						//$(this).bind
				   	    
				   	    // reinit browseitems
				   	    commBrowseList();
			   	    }
			   	    
			   	    
			   	    // reinit tag actions
			   	    var tzone = "full";
					tagsDD(0,tzone);
			   }
	});
}