function addScreenName() {
	var n = $('#contact_info .im').length;
	var clients = ["AIM", "Google Talk", "Skype", "Windows Live", "Yahoo", "Gadu-Gadu", "ICQ"];
	var html = '<div id="im'+(n+1)+'" class="im"><input type="text" class="profile" name="screennames[]" id="screenname" /> ';
		html += '<select name="clients[]" id="client">';
		for(var i=0;i<clients.length;i++) {
			html += '<option value="'+clients[i]+'">'+clients[i]+'</option>\n';
		}
		html += '</select> <span class="sub">(<a href="#" onclick="removeScreenName(\'im'+(n+1)+'\');return false;">Remove</a>)</span></div>\n';
	$('#screennames').append(html);
}
function removeScreenName(id) {
	$('#' + id).fadeOut('normal', function() {$('#' + id).remove();});	
}
function updateBasicInfo() {
	$('#basic_info #submit').attr('disabled', true);
	$('#basic_info #submit')[0].className = 'submit-disabled';
	$('#basic_info #submit').val('Saving...');
	var vars = {action:'updateBasicInfo'};
	vars.gender = $('#gender').val();
	vars.display_gender = $('#display_gender')[0].checked;
	vars.hometown = $('#hometown').val();
	vars.month = $('#month').val();
	vars.day = $('#day').val();
	vars.year = $('#year').val();
	vars.birthday_pref = $('#birthday_pref').val();
	
	var interested_in = [];
	$("[@name='interested_in[]']").each(function(i) {
		if($(this)[0].checked) interested_in.push($(this)[0].value);
	});
	vars['interested_in[]'] = interested_in;

	var looking_for = [];
	$("[@name='looking_for[]']").each(function(i) {
		if($(this)[0].checked) looking_for.push($(this)[0].value);
	});
	vars['looking_for[]'] = looking_for;
	
	var html = '';
	for(var name in vars) {
		html += name + '->' + vars[name] + '\n';
	}
	$.ajax({
		type: 'GET',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'xml',
		success: function(xml) {
			if($(xml).find('success').text() == 'true') {
				$('#basic_info #status').css('display', '');
				$('#basic_info #status').html('Update Successful');
				setTimeout(function() { $('#basic_info #status').fadeOut(); }, 1000);
			} else {
				alert($(xml).find('error').text());
			}
			$('#basic_info #submit').attr('disabled', false);
			$('#basic_info #submit')[0].className = 'submit';
			$('#basic_info #submit').val('Save Changes');
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				$('#basic_info #status').html('Error');
				$('#basic_info #submit').attr('disabled', false);
				$('#basic_info #submit')[0].className = 'submit';
				$('#basic_info #submit').val('Save Changes');
			}
		}
	);
}
function updatePersonalInfo() {
	$('#personal_info #submit').attr('disabled', true);
	$('#personal_info #submit')[0].className = 'submit-disabled';
	$('#personal_info #submit').val('Saving...');

	var vars = {action:'updatePersonalInfo'};
	vars.favorite_comics = $('#favorite_comics').val();
	vars.favorite_writers = $('#favorite_writers').val();
	vars.favorite_artists = $('#favorite_artists').val();
	vars.favorite_tv_shows = $('#favorite_tv_shows').val();
	vars.favorite_movies = $('#favorite_movies').val();
	vars.favorite_books = $('#favorite_books').val();
	vars.about_me = $('#about_me').val();
	
	var publishers = [];
	$('#publishers input').each(function(i) {
		if(this.checked) publishers.push(this.value);
	});
	
	vars['favorite_publishers[]'] = publishers;

	$.ajax({
		type: 'GET',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'xml',
		success: function(xml) {
			if($(xml).find('success').text() == 'true') {
				$('#personal_info #status').css('display', '');
				$('#personal_info #status').html('Update Successful');
				setTimeout(function() { $('#personal_info #status').fadeOut(); }, 1000);
			} else {
				alert($(xml).find('error').text());
			}
			$('#personal_info #submit').attr('disabled', false);
			$('#personal_info #submit')[0].className = 'submit';
			$('#personal_info #submit').val('Save Changes');
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				$('#personal_info #status').html('Error');
				$('#personal_info #submit').attr('disabled', false);
				$('#personal_info #submit')[0].className = 'submit';
				$('#personal_info #submit').val('Save Changes');
			}
		}
	);
}
function updateContactInfo() {
	$('#contact_info #submit').attr('disabled', true);
	$('#contact_info #submit')[0].className = 'submit-disabled';
	$('#contact_info #submit').val('Saving...');

	var vars = {action:'updateContactInfo'};
	vars.mobilephone = $('#mobilephone').val();
	vars.landphone = $('#landphone').val();
	vars.postalcode = $('#postalcode').val();
	vars.website = $('#website').val();
	
	var screennames = [];
	$("[@name='screennames[]']").each(function(i) {
		screennames.push($(this).val());
	});
	vars['screennames[]'] = screennames;
	
	var clients = [];
	$("[@name='clients[]']").each(function(i) {
		clients.push($(this).val());
	});
	vars['clients[]'] = clients;
	
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'xml',
		success: function(xml) {
			if($(xml).find('success').text() == 'true') {
				$('#contact_info #status').css('display', '');
				$('#contact_info #status').html('Update Successful');
				setTimeout(function() { $('#contact_info #status').fadeOut(); }, 1000);
			} else {
				alert($(xml).find('error').text());
			}
			$('#contact_info #submit').attr('disabled', false);
			$('#contact_info #submit')[0].className = 'submit';
			$('#contact_info #submit').val('Save Changes');
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				$('#contact_info #status').html('Error');
				$('#contact_info #submit').attr('disabled', false);
				$('#contact_info #submit')[0].className = 'submit';
				$('#contact_info #submit').val('Save Changes');
			}
		}
	);
}
function updateEmployment() {
	$('#user_employement #submit').attr('disabled', true);
	$('#user_employement #submit')[0].className = 'submit-disabled';
	$('#user_employement #submit').val('Saving...');

	var vars = {action:'updateUserEmployment'};

	var id = [];
	$("[@name='id[]']").each(function(i) {id.push($(this).val());});
	vars['id[]'] = id;

	var employer = [];
	$("[@name='employer[]']").each(function(i) {employer.push($(this).val());});
	vars['employer[]'] = employer;

	var position = [];
	$("[@name='position[]']").each(function(i) {position.push($(this).val());});
	vars['position[]'] = position;

	var description = [];
	$("[@name='description[]']").each(function(i) {description.push($(this).val());});
	vars['description[]'] = description;

	var town = [];
	$("[@name='town[]']").each(function(i) {town.push($(this).val());});
	vars['town[]'] = town;
	
	var isCurrent = [];
	$("[@name='isCurrent[]']").each(function(i) {
		var c = $(this)[0].checked ? 1 : 0;
		isCurrent.push(c);
	});
	vars['isCurrent[]'] = isCurrent;

	var start_month = [];
	$("[@name='start_month[]']").each(function(i) {start_month.push($(this).val());});
	vars['start_month[]'] = start_month;

	var start_year = [];
	$("[@name='start_year[]']").each(function(i) {start_year.push($(this).val());});
	vars['start_year[]'] = start_year;
	
	var end_month = [];
	$("[@name='end_month[]']").each(function(i) {end_month.push($(this).val());});
	vars['end_month[]'] = end_month;

	var end_year = [];
	$("[@name='end_year[]']").each(function(i) {end_year.push($(this).val());});
	vars['end_year[]'] = end_year;
	
	$.ajax({
		type: 'GET',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'xml',
		success: function(xml) {
			if($(xml).find('success').text() == 'true') {
				$('#user_employement #status').css('display', '');
				$('#user_employement #status').html('Update Successful');
				setTimeout(function() { $('#user_employement #status').fadeOut(); }, 1000);
			} else {
				alert($(xml).find('error').text());
			}
			$('#user_employement #submit').attr('disabled', false);
			$('#user_employement #submit')[0].className = 'submit';
			$('#user_employement #submit').val('Save Changes');
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				$('#user_employement #status').html('Error');
				$('#user_employement #submit').attr('disabled', false);
				$('#user_employement #submit')[0].className = 'submit';
				$('#user_employement #submit').val('Save Changes');
			}
		}
	);
	
}
function addEmployment() {
	var count = 0;
	$('#employment table').each(function(i) {
		count++;
	});
	var vars = {action:'addEmployment', i: count};
	$.ajax({
		type: 'GET',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'html',
		success: function(html) {
			$('#employment').append(html);
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("Unable to Post your comments at this time. " + textStatus + '->' + errorThrown);
			}
		}
	);
}
function removeEmployment(id) {
	if($('#'+id+' #id').val()) {
		$.ajax({
			type: 'GET',
			url: '/lib/actions.php',
			data: {action:'removeEmployement',id:$('#'+id+' #id').val()},
			dataType: 'xml',
			success: function(xml) {
				if($(xml).find('success').text() == 'true') {
					$('#'+id).remove();
				} else {
					alert($(xml).find('error').text());
				}
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
					$('#user_employement #status').html('Error');
					$('#user_employement #submit').attr('disabled', false);
					$('#user_employement #submit')[0].className = 'submit';
					$('#user_employement #submit').val('Save Changes');
				}
			}
		);
	} else {
		$('#'+id).remove();
	}
}
function updateDisplayName() {
	$('#edit_display_name #submit').val('Updating...');
	$('#edit_display_name #submit').attr('disabled', true);
	$('#edit_display_name #submit')[0].className = 'submit-disabled';
	$.ajax({
		type: 'POST',
		url: '/services/',
		data: {action:'updateDisplayName',name:$('#edit_display_name #display_name').val()},
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				$('#edit_display_name #status').html('Your display name has been successfully updated.');
				$('#edit_display_name #status').css('display','');
				setTimeout(function() { $('#edit_display_name #status').fadeOut(); }, 1000);
			} else {
				$('#edit_display_name #status').html(obj.error);
				$('#edit_display_name #status').css('display','');
			}
			$('#edit_display_name #submit').val('Update Display Name');
			$('#edit_display_name #submit').attr('disabled', false);
			$('#edit_display_name #submit')[0].className = 'submit';
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				$('#edit_display_name #submit').val('Update Display Name');
				$('#edit_display_name #submit').attr('disabled', false);
				$('#edit_display_name #submit')[0].className = 'submit';
			}
		}
	);
}
function updatePass() {
	if(($('#edit_password #old_password').val() && $('#edit_password #new_password1').val() && $('#edit_password #new_password2').val()) && ($('#edit_password #new_password1').val() == $('#edit_password #new_password2').val())) {
		var pass = $('#edit_password #new_password1').val();
		if(pass.length >= 6) {
			$('#edit_password #submit').val('Updating...');
			$('#edit_password #submit').attr('disabled', true);
			$('#edit_password #submit')[0].className = 'submit-disabled';
			$.ajax({
				type: 'POST',
				url: '/services/',
				data: {action:'updatePass',old_pass:$('#edit_password #old_password').val(), pass1:$('#edit_password #new_password1').val(), pass2:$('#edit_password #new_password2').val()},
				dataType: 'json',
				success: function(obj) {
					if(obj.success) {
						$('#edit_password #status').html('Your password has been successfully updated.');
						$('#edit_password #status').css('display','block');
						setTimeout(function() { $('#edit_password #status').fadeOut(); }, 1000);
					} else {
						$('#edit_password #status').html(obj.error);
						$('#edit_password #status').css('display','block');
					}
					$('#edit_password #submit').val('Update Password');
					$('#edit_password #submit').attr('disabled', false);
					$('#edit_password #submit')[0].className = 'submit';
				},
				error: function (XMLHttpRequest, textStatus, errorThrown) {
						$('#edit_password #submit').val('Update Password');
						$('#edit_password #submit').attr('disabled', false);
						$('#edit_password #submit')[0].className = 'submit';
					}
				}
			);
		} else {
			$('#edit_password #status').html('Password must be 8 - 20 characters');
			$('#edit_password #status').css('display','block');
		}
	} else {
		$('#edit_password #status').html('Password verification failed');
		$('#edit_password #status').css('display','block');
	}
}
function updateEmail() {
	if($("#edit_contact_email #change_email")[0].checked) {
		if($('#edit_contact_email #new_email').val() && validEmail($('#edit_contact_email #new_email').val())) {
			$('#edit_contact_email #submit').val('Updating...');
			$('#edit_contact_email #submit').attr('disabled', true);
			$('#edit_contact_email #submit')[0].className = 'submit-disabled';
			var data = {action:'updateEmail',email:$('#edit_contact_email #new_email').val()};
			$.ajax({
				type: 'POST',
				url: '/services/',
				data: data,
				dataType: 'json',
				success: function(obj) {
					if(obj.success) {
						$('#edit_contact_email #status').html('A confirmation email has been sent to ' + obj.email + ' with further instructions.');
						$('#edit_contact_email #status').css('display','');
						setTimeout(function() { 
							$('#edit_contact_email #status').fadeOut(); 
							$('#edit_contact_email #submit').val('Update Contact Email');
							$('#edit_contact_email #submit').attr('disabled', false);
							$('#edit_contact_email #submit')[0].className = 'submit';
						}, 3000);
						$('#edit_contact_email #submit').val('Email Updated');
					} else {
						$('#edit_contact_email #status').html(obj.error);
						$('#edit_contact_email #status').css('display','');
						$('#edit_contact_email #submit').val('Error');
						setTimeout(function() { 
							$('#edit_contact_email #status').fadeOut();
							$('#edit_contact_email #submit').val('Update Contact Email');
							$('#edit_contact_email #submit').attr('disabled', false);
							$('#edit_contact_email #submit')[0].className = 'submit';
						}, 3000);
					}
					$('#edit_contact_email #submit')[0].className = 'cancel';
				},
				error: function (XMLHttpRequest, textStatus, errorThrown) {
						$('#edit_contact_email #status').html('An error has occurred: ' +textStatus );
						$('#edit_contact_email #status').css('display','');
						$('#edit_contact_email #submit').val('Update Contact Email');
						$('#edit_contact_email #submit').attr('disabled', false);
						$('#edit_contact_email #submit')[0].className = 'submit';
					}
				}
			);
		} else {
			$('#edit_contact_email #status').html('Email address invalid.');
			$('#edit_contact_email #status').css('display','');
		}
	}
}
function clearEmail() {
	$('#edit_contact_email #new_email').val('');
	$('#edit_contact_email #new_email').css('color','#000');
	
	var parent = $('#edit_contact_email #new_email').parent();
	$(parent).find('input[type="radio"]')[0].checked = true;
}
function expand(id) {
	$('#'+id+' #edit').html('<a href="#" onclick="contract(\'' + id + '\');return false;"><img src="/lib/templates/popshop/images/default_theme/settings/close.png" border="0" /></a>');
	if($('#'+id+' .disclaimer')) $('#'+id+' .disclaimer').hide();
	$('#'+id + ' .content').fadeIn();

}
function contract(id) {
	$('#'+id+' #edit').html('<a href="#" onclick="expand(\'' + id + '\');return false;"><img src="/lib/templates/popshop/images/default_theme/settings/edit.png" border="0" /></a>');
        $('#'+id + ' .content').fadeOut();
	if($('#'+id+' .disclaimer')) $('#'+id + ' .disclaimer').toggle();
}
function swap(id) {

}
function makeCurrent(id) {
	if($('#'+id+' #isCurrent')[0].checked) {
		$('#'+id+' #end_date').css('display', 'none');
		$('#'+id+' #present').css('display', '');
	} else {
		$('#'+id+' #end_date').css('display', '');
		$('#'+id+' #present').css('display', 'none');
	}
}
function expandComments() {
	$('#user_comment').val('');
	$('#user_comment').css('height', '100px');
	$('#post').attr('disabled', false);
}
function toggleEdit(item) {
	var display = $(item).find('#edit').css('display') == 'none' ? 'block' : 'none';
	$(item).find('#edit').css('display', display);
}
function contactUser(username, usr_id) {
	if($('#dialog')) $('#dialog').remove();
	$('body').append('<div id="dialog"></div>');
	var	html  = '<div id="contact_user">';
		html += '<h3>Send Message</h3>';
		html += '<div><table>';
		html += '<tr><th>To:</th><td><div id="username">'+username+'</div></td></tr>';
		html += '<tr><th>Subject:</th><td><input type="text" name="subject" id="subject" /></td></tr>';
		html += '<tr><th>Message:</th><td><textarea name="message" id="message"></textarea></td></tr>';
		html += '</div></table>';
		html += '<div id="status" style="display:none;"></div>';
		html += '<div id="submit"><input type="button" onclick="sendMessage();" value="Send" id="submit_button" class="submit" /> ';
		html += '<input type="button" onclick="closeWindow(\'dialog\');" value="Close Window" id="close_button" class="cancel" /></div>';
		if(usr_id) html += '<input type="hidden" name="user_id" id="user_id" value="'+usr_id+'" />';
		html += '</div>';
	$('#dialog')[0].className = 'contact_user';
	$('#dialog').html(html);
	$('#dialog').jqm();
	$('#dialog').jqmShow();
}
function sendMessage() {
	if($('#user_id').val() && $('#contact_user #subject').val() && $('#contact_user #message').val()) {
		$('#contact_user #submit_button').val('Sending...');
		$('#contact_user #submit_button')[0].disabled = true;
		$('#contact_user #submit_button')[0].className = 'submit-disabled';
		var vars = {action:'sendMessage',usr_id:$('#user_id').val(), subject: $('#contact_user #subject').val(), message:$('#contact_user #message').val()};
		
		$.ajax({
			type: 'POST',
			url: '/lib/actions.php',
			data: vars,
			dataType: 'xml',
			success: function(xml) {
				if($(xml).find('success').text() == 'true') {
					$('#contact_user #status').css('display', '');
					$('#contact_user #status').html('Message Sent');
					setTimeout(closeWindow, 1000);
				} else {
					alert($(xml).find('error').text());
				}
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
					alert("Unable to Post your comments at this time. " + textStatus + '->' + errorThrown);
				}
			}
		);
	} else {
		$('#contact_user #subject').css('background-color', $('#contact_user #subject').val() ? '#FFFFFF' : '#FFFFCC');
		$('#contact_user #message').css('background-color', $('#contact_user #message').val() ? '#FFFFFF' : '#FFFFCC');
	}
}
function sendResponse() {
	if($('#thread_id').val() && $('#sender_id').val() && $('#subject').val() && $('#response_message').val()) {
		$('#user_response #submit_button').val('Sending...');
		$('#user_response #submit_button')[0].disabled = true;
		$('#user_response #submit_button')[0].className = 'submit-disabled';
		
		var vars = {action:'sendResponse',thread_id:$('#thread_id').val(), sender_id:$('#sender_id').val(), subject: $('#subject').val(), message:$('#user_response #response_message').val()};
		$.ajax({
			type: 'POST',
			url: '/lib/actions.php',
			data: vars,
			dataType: 'xml',
			success: function(xml) {
				if($(xml).find('success').text() == 'true') {
					$('#user_response #status').html('Message Sent');
					$('#user_response #status').css('display', '');
					$('#user_response #submit_button').val('Send Response');
					$('#user_response #submit_button')[0].disabled = false;
					$('#user_response #submit_button')[0].className = 'submit';
					$('#user_response #response_message').val('');
					var msg_id = $(xml).find('msg_id').text();
					var html = $(xml).find('html').text();
					$('#message_body').append(html);
					
					$('#'+msg_id).fadeIn();
					
					setTimeout(function() { $('#user_response #status').fadeOut(); }, 1000);
				} else {
					$('#user_response #status').html('<b>An Error has occured: ' + $(xml).find('error').text());
					$('#user_response #submit_button').val('Send Response');
					$('#user_response #submit_button')[0].disabled = false;
					$('#user_response #submit_button')[0].className = 'submit';
				}
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
					alert("Unable to Post your comments at this time. " + textStatus + '->' + errorThrown);
					$('#user_response #status').html("Unable to Post your comments at this time. " + textStatus + '->' + errorThrown);
					$('#user_response #submit_button').val('Send Response');
					$('#user_response #submit_button')[0].disabled = false;
					$('#user_response #submit_button')[0].className = 'submit';
				}
			}
		);
	}
}
function deleteMessage(thread_id, msg_id) {
	if(thread_id && msg_id) {
		var vars = {action:'deleteMessage', thread_id: thread_id};
		$.ajax({
			type: 'POST',
			url: '/lib/actions.php',
			data: vars,
			dataType: 'json',
			success: function(success) {
					if(success) {
						$('#'+msg_id).fadeOut();
					} else {
						alert('An Error has occured');
					}
				}
			}
		);
	}
}
function closeWindow(id) {
	if(!id) id = 'dialog';
	$('#' + id).fadeOut('fast', function() {$('#' + id).jqmHide();});
}
function addUserComment() {
	if($('#user_id').val() && $('#user_comment').val()) {
		$('#post').attr('disabled', true);
		$('#post').val('Posting...');
		var vars = {action:'postUserComment'};
			vars.user_comment = $('#user_comment').val();
			vars.usr_id = $('#user_id').val();
			
		$.ajax({
			type: 'POST',
			url: '/lib/actions.php',
			data: vars,
			dataType: 'xml',
			success: function(xml) {
				if($(xml).find('success').text() == 'true') {
					$('#post').val('Post');
					$('#user_comment').css('height', '50px');
					$('#user_comment').val('Write Something...');
					if($(xml).find('html')) {
						var d = $(xml).find('html').attr('pubDate');
						var id = $(xml).find('html').attr('id');
						var html = $(xml).find('html').text();
						if($('#'+d).length == 0) {
							$('#user-feed').prepend('<div class="item" id="'+d+'"><div class="date">'+$(xml).find('html').attr('displayDate')+'</div><div class="comment-body"></div><div id="spacer">&nbsp;</div></div>');
						}
						$('#'+d+' .comment-body').prepend(html);
						if($('#'+id).length > 0) {
							$('#'+id).fadeIn();
						} else {
							$('#'+id).css('display', '');
						}
					}
				} else {
					alert($(xml).find('error').text());
				}
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
					alert("Unable to Post your comments at this time. " + textStatus + '->' + errorThrown);
				}
			}
		);
	}
}
function openRequest(friend_id) {
	if(!$('#friend-request').html()) {
		$('body').append('<div id="friend-request" class="friend-request"><div class="progress">Loading...</div></div>');
		$('#friend-request').jqm();
	}
	$('#friend-request').jqmShow();
	var vars = {action:'getFriendRequest', friend_id:friend_id};
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'html',
		success: function(html) {
			if(html) {
				$('#friend-request').html(html);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("An Error has occurred " + textStatus + '->' + errorThrown);
			}
		}
	);
	
}
function submitRequest() {
	if($('#friend-request #friend_id').val()) {
	
		$('#friend-request #submit')[0].className = 'submit-disabled';
		$('#friend-request #submit')[0].disabled = true;
		
		var vars = {action:'addFriend'};
		vars.friend_id = $('#friend-request #friend_id').val();
		vars.comments = $('#friend-request #request_comment').val();
		
		$.ajax({
			type: 'POST',
			url: '/lib/actions.php',
			data: vars,
			dataType: 'xml',
			success: function(xml) {
				if($(xml).find('success').text() == 'true') {
					$('#friend-request .controls').html('<div class="status">Your request has been sent.</div>');
					setTimeout(function() { closeWindow('friend-request'); }, 1000);
				} else {
					alert($(xml).find('error').text());
				}
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
					alert("An Error has occurred " + textStatus + '->' + errorThrown);
				}
			}
		);
	}
}
function confirmFriendRequest(id) {
	$('#request'+id + ' #confirm')[0].className = 'submit-disabled';
	$('#request'+id + ' #ignore')[0].className = 'submit-disabled';
	$('#request'+id + ' #confirm')[0].disabled = true;
	$('#request'+id + ' #ignore')[0].disabled = true;

	$('#request'+id + ' #confirmation').css('display', '');
	$('#request'+id + ' #confirmation').html('Are you sure you want to confirm this person as a friend? <input type="button" class="submit" value="Yes" onclick="confirmConfirmation('+id+');" /> <input type="button" class="cancel" value="No" onclick="cancelConfirmation(\'request'+id+'\');" />');
}
function ignoreFriendRequest(id) {
	$('#request'+id + ' #confirm')[0].className = 'submit-disabled';
	$('#request'+id + ' #ignore')[0].className = 'submit-disabled';
	$('#request'+id + ' #confirm')[0].disabled = true;
	$('#request'+id + ' #ignore')[0].disabled = true;

	$('#request'+id + ' #confirmation').css('display', '');
	$('#request'+id + ' #confirmation').html('Are you sure you want to ignore this person\'s friend request? <input type="button" class="submit" value="Yes" onclick="confirmIgnore('+id+');" /> <input type="button" class="cancel" value="No" onclick="cancelConfirmation(\'request'+id+'\');" />');
}
function confirmConfirmation(id) {
	$('#request'+id + ' #confirmation').html('Confirming...');

	var vars = {action:'confirmFriend'};
	vars.request_id = id;
	
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				$('#request'+id + ' #confirmation').html('You have successfully added this person as your friend.');
				setTimeout(function() { $('#request'+id).fadeOut(); }, 1000);
			} else {
				$('#request'+id + ' #confirmation').html('An error has occurred: ' + obj.error);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("An Error has occurred " + textStatus + '->' + errorThrown);
			}
		}
	);
}
function confirmIgnore(id) {
	$('#request'+id + ' #confirmation').html('Ignoring...');
	var vars = {action:'ignoreFriend', request_id:id};
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				$('#request'+id).fadeOut();
			} else {
				$('#request'+id + ' #confirmation').html('An error has occurred: ' + obj.error);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("An Error has occurred " + textStatus + '->' + errorThrown);
			}
		}
	);
}
function cancelConfirmation(id) {
	$('#'+id + ' #confirm')[0].className = 'submit';
	$('#'+id + ' #ignore')[0].className = 'submit';
	$('#'+id + ' #confirm')[0].disabled = false;
	$('#'+id + ' #ignore')[0].disabled = false;
	$('#'+id + ' #confirmation').fadeOut();
}
function confirmGroupRequest(id) {
	$('#group_request'+id + ' #confirm')[0].className = 'submit-disabled';
	$('#group_request'+id + ' #ignore')[0].className = 'submit-disabled';
	$('#group_request'+id + ' #confirm')[0].disabled = true;
	$('#group_request'+id + ' #ignore')[0].disabled = true;

	$('#group_request'+id + ' #confirmation').css('display', '');
	$('#group_request'+id + ' #confirmation').html('Are you sure you want to join this group? <input type="button" class="submit" value="Yes" onclick="confirmGroup('+id+');" /> <input type="button" class="cancel" value="No" onclick="cancelConfirmation(\'group_request'+id+'\');" />');
}
function ignoreGroupRequest(id) {
	$('#group_request'+id + ' #confirm')[0].className = 'submit-disabled';
	$('#group_request'+id + ' #ignore')[0].className = 'submit-disabled';
	$('#group_request'+id + ' #confirm')[0].disabled = true;
	$('#group_request'+id + ' #ignore')[0].disabled = true;

	$('#group_request'+id + ' #confirmation').css('display', '');
	$('#group_request'+id + ' #confirmation').html('Are you sure you want to ignore this group request? <input type="button" class="submit" value="Yes" onclick="ignoreGroup('+id+');" /> <input type="button" class="cancel" value="No" onclick="cancelConfirmation(\'group_request'+id+'\');" />');
}
function confirmGroup(id) {
	$('#group_request'+id + ' #confirmation').html('Confirming...');
	var vars = {action:'confirmGroup'};
	vars.group_id = id;
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				$('#group_request'+id + ' #confirmation').html('You have successfully joined this group.');
				setTimeout(function() { $('#group_request'+id).fadeOut(); }, 1000);
			} else {
				$('#group_request'+id + ' #confirmation').html('An error has occurred: ' + obj.error);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("An Error has occurred " + textStatus + '->' + errorThrown);
			}
		}
	);
}
function ignoreGroup(id) {
	$('#group_request'+id + ' #confirmation').html('Ignoring...');
	var vars = {action:'ignoreGroup', group_id:id};
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				$('#group_request'+id).fadeOut();
			} else {
				$('#group_request'+id + ' #confirmation').html('An error has occurred: ' + obj.error);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("An Error has occurred " + textStatus + '->' + errorThrown);
			}
		}
	);
}
function confirmAdminRequest(id) {
	$('#admin_request'+id + ' #confirm')[0].className = 'submit-disabled';
	$('#admin_request'+id + ' #ignore')[0].className = 'submit-disabled';
	$('#admin_request'+id + ' #confirm')[0].disabled = true;
	$('#admin_request'+id + ' #ignore')[0].disabled = true;

	$('#admin_request'+id + ' #confirmation').css('display', '');
	$('#admin_request'+id + ' #confirmation').html('Are you sure you want to administrate this group? <input type="button" class="submit" value="Yes" onclick="confirmAdmin('+id+');" /> <input type="button" class="cancel" value="No" onclick="cancelConfirmation(\'admin_request'+id+'\');" />');
}
function ignoreAdminRequest(id) {
	$('#admin_request'+id + ' #confirm')[0].className = 'submit-disabled';
	$('#admin_request'+id + ' #ignore')[0].className = 'submit-disabled';
	$('#admin_request'+id + ' #confirm')[0].disabled = true;
	$('#admin_request'+id + ' #ignore')[0].disabled = true;

	$('#admin_request'+id + ' #confirmation').css('display', '');
	$('#admin_request'+id + ' #confirmation').html('Are you sure you want to ignore this admin request? <input type="button" class="submit" value="Yes" onclick="ignoreAdmin('+id+');" /> <input type="button" class="cancel" value="No" onclick="cancelConfirmation(\'admin_request'+id+'\');" />');
}
function confirmAdmin(id) {
	$('#admin_request'+id + ' #confirmation').html('Confirming...');
	var vars = {action:'confirmAdmin'};
	vars.group_id = id;
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				$('#admin_request'+id + ' #confirmation').html('You are now an administrator of this group.');
				setTimeout(function() { $('#admin_request'+id).fadeOut(); }, 1000);
			} else {
				$('#admin_request'+id + ' #confirmation').html('An error has occurred: ' + obj.error);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("An Error has occurred " + textStatus + '->' + errorThrown);
			}
		}
	);
}
function ignoreAdmin(id) {
	$('#admin_request'+id + ' #confirmation').html('Ignoring...');
	var vars = {action:'ignoreAdmin', group_id:id};
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: vars,
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				$('#admin_request'+id).fadeOut();
			} else {
				$('#admin_request'+id + ' #confirmation').html('An error has occurred: ' + obj.error);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("An Error has occurred " + textStatus + '->' + errorThrown);
			}
		}
	);
}
function editAvatar(user_id, domain) {
	if($('#dialog')) $('#dialog').remove();
	$('body').append('<div id="dialog"></div>');
	var	html  = '<div id="edit-avatar">';
		html += '<div style="text-align:right;"><a href="#" class="jqmClose">Close [x]</a></div>';
		html += '<div id="flashContent"></div>';
		html += '</div>';
	$('#dialog')[0].className = 'edit-avatar';
	$('#dialog').html(html);

	var params = {id: 'avatarEditor', allowScriptAccess: 'always'};
	var vars   = {usr_id: user_id};
	swfobject.embedSWF(domain+"/avatar.swf", "flashContent", "460", "372", "10.0.0", '/xtras/expressinstall.swf', vars, params);

	$('#dialog').jqm();
	$('#dialog').jqmShow();
}
function thisMovie(movieName) {
	return (navigator.appName.indexOf("Microsoft") != -1) ? window[movieName] : document[movieName];
}

function updateAvatar(src, width, height) {
	$('#avatar #image').html('<img src="'+src+'" width="'+width+'" height="'+height+'" class="avatar-mid" />');
}
function getUserID() {
	sendToActionScript($('#user_id').val());
}
function sendToActionScript(value) {
	thisMovie("avatarEditor").sendToActionScript(value);
}
function activateStatus(id) {
	if($('#new_status').val() == 'What are you reading?') $('#new_status').val('is ');
	$('#new_status').keypress(function(e) {
		if(e.which == 13) submitStatus(id);
	});
}
function submitStatus(id) {
	if($('#new_status').val() != 'What are you reading?' && $('#new_status').val() != 'is ') {
		deactivateStatus();
		$('#new_status').attr('disabled', true);
		$('#'+id+' #submit').val('Posting...');
		$('#'+id+' #submit')[0].className = 'submit-disabled';
		
		var vars = {action:'updateStatus', status_body:$('#new_status').val()};
		
		$.ajax({
			type: 'POST',
			url: '/lib/actions.php',
			data: vars,
			dataType: 'json',
			success: function(obj) {
				if(obj.success) {
					var html = obj.status_body + ' <span class="time">' + obj.date + '</span>';
				
					$('#current_status').css('display', 'none');
					$('#current_status').html(html);
					$('#current_status').fadeIn();
					$('#new_status').attr('disabled', false);
					$('#'+id+' #submit').val('Post');
					$('#'+id+' #submit')[0].className = 'submit';
					$('#new_status').val('What are you reading?')
				} else {
					alert(obj.error);
				}
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
					alert("Unable to Post your comments at this time. " + textStatus + '->' + errorThrown);
			}
		});
	}	
}
function clearStatus() {
	$.ajax({
		type: 'POST',
		url: '/lib/actions.php',
		data: {action:'clearStatus'},
		dataType: 'json',
		success: function(obj) {
			if(obj.success) {
				var html = obj.status_body + ' <span class="time">' + obj.date + '</span>';
				$('#current_status').fadeOut();
			} else {
				alert(obj.error);
			}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert("Unable to Post your comments at this time. " + textStatus + '->' + errorThrown);
		}
	});
}
function deactivateStatus() {
	if($('#new_status').val() == '' || $('#new_status').val() == 'is ') $('#new_status').val('What are you reading?');
	$('#new_status').keypress(function(e) {/*NOTHING*/});
}
function hideFeedItem(id, type) {
	var element = '#'+type+'_'+id+' [@name="'+type+'_id[]"]';
	ids = [];
	$(element).each(function(i) {
		ids.push($(this).val());
	});
	if(ids.length > 0) {
	
		var vars = {action:'hideFeedItem', type:type, 'ids[]':ids};
		$.ajax({
			type: 'POST',
			url: '/lib/actions.php',
			data: vars,
			dataType: 'json',
			success: function(obj) {
				if(obj.success) {
					$('#'+type+'_'+id).slideUp(function() {
						$('#'+type+'_'+id).remove();
					});
				} else {
					alert(obj.error);
				}
			}
		});
	}
}
function swapTab(tab, id) {
	
	$('#tabs div').each(function(i) {
		if($(this).attr('id') != 'spacer') {
			$(this).removeClass('tab-selected');
			$(this).addClass('tab');
		}
	});
	
	$(tab).addClass('tab-selected');
	
	var i = 1;
	while($('#tab'+i)[0]) {
		if($('#tab'+i)[0].id == id) {
			$('#tab'+i).fadeIn();
		} else {
			$('#tab'+i).css('display', 'none');
		}
		i++;
	}	
}
function addToInvitation(item) {
	var obj = $(item).parent().parent();
	$(obj).css('display', 'none');
	$(obj).find('a').each(function(i) {
		$(this)[0].onclick = null;
		$(this).click(function() { removeFromInvitation(this); });
	});
	$('#invitees #friends').append($(obj));
	$('#invitees').css('display', '');
	$(obj).fadeIn();
	$('#submit').removeAttr('disabled');
}
function removeFromInvitation(item) {
	var obj = $(item).parent().parent();
	$(obj).css('display', 'none');
	$(obj).find('a').each(function(i) {
		$(this)[0].onclick = null;
		$(this).click(function() { addToInvitation(this); });
	});
	$('#address_book #friends').append($(obj));
	$(obj).fadeIn();
}
function confirmDeactivation() {
	$('#submit')[0].className = 'submit-disabled';
	$('#submit')[0].disabled = true;

	$('#confirmation').fadeIn();
}
function deactivateAccount() {
	alert('deactivateAccount()');
	$('#deactivate form').submit();
}
function cancelDeactivation() {
	getURL('/home/');
}

function testPassword(id) {
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	var pwd = $('#'+id).val();
	/*
	if (pwd.length==0) {
		$('#strength').html('Type Password');
	} else 
	*/
	if (false == enoughRegex.test(pwd)) {
		$('#strength').html('Too Short');
	} else if (strongRegex.test(pwd)) {
		$('#strength').html('Password strength: <span style="color:green;font-weight:bold;">Strong</span>');
	} else if (mediumRegex.test(pwd)) {
		$('#strength').html('Password strength: <span style="color:orange;font-weight:bold;">Medium</span>');
	} else { 
		$('#strength').html('Password strength: <span style="color:red;font-weight:bold;">Weak</span>');
	}
}
function validEmail(email) {
	invalidChars = " /:,;"
	if (email == "") return false;
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i)
		if (email.indexOf(badChar,0) > -1) {
			return false;
		}
	}
	atPos = email.indexOf("@",1);
	if (atPos == -1) return false;
	if (email.indexOf("@",atPos+1) != -1) return false;
	periodPos = email.indexOf(".",atPos);
	if (periodPos == -1) return false;
	if (periodPos+3 > email.length)	return false;
	return true;
}
