var Helper = {
	
	checkForInt: function(evt) {
		var charCode = ( evt.which != null ) ? evt.which : event.keyCode;
//		charCodes < 32 include tab, delete, arrow keys, etc
		return (charCode < 32 || (charCode >= 48 && charCode <= 57));
	},
	
	addClass: function(id, className){
		$('#'+id).addClass(className);
	},
	
	removeClass: function(id, className){
		$('#'+id).removeClass(className);
	},
	
	clearInput: function(id){
		$('#'+id).val('');
	},
	
	setSearchFormAction: function(value){
		var action = '';
		var search = $('#searchtext').val();
		if (search != '') {
			action += '?q='+search; 
		}
		switch(value){
			case 'members':
				$('#search-form').attr('action', './members/'+action);
				break;
			case 'groups':
				$('#search-form').attr('action', './groups/'+action);
				break;
			case 'blogs':
				$('#search-form').attr('action', './blogs/'+action);
				break;
			case 'photos':
				$('#search-form').attr('action', './imgalbums/'+action);
				break;
			case 'video':
				break;
			case 'web':
				$('#search-form').attr('action', './websearch/'+action);
				break;
			default:
				$('#search-form').attr('action', './members/'+action);
		}
		$('#search-form').submit();
	},
	
	setSearchIndexAction: function (type){
		var search = $('#search_str_'+type).val();
		if (search != '') {
			var action = $('#search_form_'+type).attr('action') + '?q='+search;
			$('#search_form_'+type).attr('action', action);
			$('#search_form_'+type).submit();
		} else {
			$('#search_form_'+type).submit();
		}
	},
	
	submitForm: function(formID){
		$('#'+formID).submit();
	},
	
	getAlbumsByType: function(type, hash){
		var aData = {};
		aData.ob = 'AlbumsService';
		aData.ac = 'getAlbumsUpload';
		aData.user = $('#hash').val();
		aData.type = type;
	
		jQuery.ajax({
			dataType: 'json',
			data: aData,
			type: 'POST',
//			url: 'http://localhost/webblog/webblogs/ajax/',
			url : 'http://www.webblog.com/ajax/',
			success : function(data, textStatus){
				var res = eval(data);
				if (res.success == true){
					$('#album-type-options').children().each(function(i){
						$(this).remove();
					});
					$('#album-type-options').resetSS();
					$('#album-type-options').append('<option value="">Choose Album</option>').resetSS();
					for(i=0;i<res.list.length;i++){
				 		if (hash && res.list[i].album_id==hash){
				 			$('#album-type-options').append('<option value="'+ res.list[i].album_id +'" selected>'+res.list[i].name+'</option>').resetSS();
				 		} else {
				 			$('#album-type-options').append('<option value="'+ res.list[i].album_id +'">'+res.list[i].name+'</option>').resetSS();
				 		}
	   				}
	   				
				} else{
					showDialog('Error', 'Error occurs while geting albums.','error', 3);
				}
			},
			error: function(data, textStatus){
				showDialog('Error', 'Error occurs while geting albums.','error', 3);
			}
		});
	},
	
	setAlbumType:function(type){
		var albumType = '';
		switch(type){
			case 'img':
				albumType = 'ImageUpload';
				break;
			case 'video':
				albumType = 'VideoUpload';
				break;
			default:
				albumType = 'MusicUpload';
		}
		return albumType;		
	}
};

var User = {
	
	sendFriendRequest: function(fromUser, toUser){
		var aData = {};
		aData.ob = 'UserService';
		aData.ac = 'addFriendRequest';
		aData.from = fromUser;
		aData.to = toUser;
	
		jQuery.ajax({
			dataType: 'json',
			data: aData,
			type: 'POST',
//			url: 'http://localhost/webblog/webblogs/ajax/',
			url : 'http://www.webblog.com/ajax/',
			success : function(data, textStatus){
				var res = eval(data);
				if (res.success == true){
	   				showDialog('Request sent', 'User will be notified that you wants add him as friend','success', 3);
				} else{
					showDialog('Error', 'Error occurs while sending request.','error', 3);
				}
			},
			error: function(data, textStatus){
				showDialog('Error', 'Error occurs while sending request.','error', 3);
			}
		});
	},
	
	acceptFriendRequest: function(request){
		var aData = {};
		aData.ob = 'UserService';
		aData.ac = 'acceptFriendRequest';
		aData.request_id = request;
	
		jQuery.ajax({
			dataType: 'json',
			data: aData,
			type: 'POST',
//			url: 'http://localhost/webblog/webblogs/ajax/',
			url : 'http://www.webblog.com/ajax/',
			success : function(data, textStatus){
				var res = eval(data);
				if (res.success == true){
	   				$('#request_'+request).remove();
				} else{
					showDialog('Error', 'Error occurs while accepting request.','error', 3);
				}
			},
			error: function(data, textStatus){
				showDialog('Error', 'Error occurs while accepting request.','error', 3);
			}
		});
	},
	
	declineFriendRequest: function(request){
		var aData = {};
		aData.ob = 'UserService';
		aData.ac = 'declineFriendRequest';
		aData.request_id = request;
	
		jQuery.ajax({
			dataType: 'json',
			data: aData,
			type: 'POST',
//			url: 'http://localhost/webblog/webblogs/ajax/',
			url : 'http://www.webblog.com/ajax/',
			success : function(data, textStatus){
				var res = eval(data);
				if (res.success == true){
	   				$('#request_'+request).remove();
				} else{
					showDialog('Error', 'Error occurs while sending decline request.','error', 3);
				}
			},
			error: function(data, textStatus){
				showDialog('Error', 'Error occurs while  sending decline request.','error', 3);
			}
		});
	},
	
	removeFriend: function(uhash, fhash){
		var aData = {};
		aData.ob = 'UserService';
		aData.ac = 'removeFriend';
		aData.u = uhash;
		aData.f = fhash;
		
		jQuery.ajax({
			dataType: 'json',
			data: aData,
			type: 'POST',
//			url: 'http://localhost/webblog/webblogs/ajax/',
			url : 'http://www.webblog.com/ajax/',
			success : function(data, textStatus){
				var res = eval(data);
				if (res.success == true){
//	   				alert(res.toSource());
				} else{
					showDialog('Error', 'Error occurs while sending decline request.','error', 3);
				}
			},
			error: function(data, textStatus){
				showDialog('Error', 'Error occurs while  sending decline request.','error', 3);
			}
		});
	},
	
	sendMessage: function(from, to){
		var aData = {};
		aData.ob = 'MessageService';
		aData.ac = 'sendMessage';
		aData.f = from;
		aData.t = to;
		aData.s = $('#msg_subj').val();
		aData.b = $('#msg_body').val();
	
		jQuery.ajax({
			dataType: 'json',
			data: aData,
			type: 'POST',
//			url: 'http://localhost/webblog/webblogs/ajax/',
			url : 'http://www.webblog.com/ajax/',
			success : function(data, textStatus){
				var res = eval(data);
				if (res.success == true){
//	   				alert('ok');
				} else{
					showDialog('Error', 'Error occurs while accepting request.','error', 3);
				}
			},
			error: function(data, textStatus){
				showDialog('Error', 'Error occurs while accepting request.','error', 3);
			}
		});
	},
	
	sendMessageTo: function(fromUser, toUser){
		
		form_message = '<form name="send message">'+
							'<table id="send_message" width=100%>'+
								'<tr>'+
									'<td>'+
										'<input type="text" id="msg_subj" name="message_title" style="width:100%;"/>'+
									'</td>'+
								'</tr>'+
								'<tr>'+
									'<td>'+
										'<textarea id="msg_body" name="message_txt" style="width:100%; height:100px;"></textarea>'+
									'</td>'+
								'</tr>'+
								'<tr>'+
									'<td class="t_a_r">'+
										'<input type="button" name="message_send" value="Send message" onclick="User.sendMessage('+fromUser+','+toUser+'); return false;"/>'+
									'</td>'+
								'</tr>'+
							'</table>';
		
		showDialog('Send message', form_message,'success', 0);
	}
};