self.ssm = {
	replySent: false,
	mailBox:'',
	mailType:''
};

function setResponseMessage(status, message) {
	jQuery('.message-status').remove();
	var DisplayMessage;
	if (status) {
		DisplayMessage = jQuery('<div>').attr({'id':'message-success', 'class':'message-status'});
	} else {
		DisplayMessage = jQuery('<div>').attr({'id':'message-error', 'class':'message-status'});
	}
	DisplayMessage.html(message);
	jQuery('#inner-content1').prepend(DisplayMessage);	
};
 
function checkLength(o,n,min,max) {
	if ( o.val().length > max || o.val().length < min ) {
		o.addClass('ui-state-error');
		//updateTips("Length of " + n + " must be between "+min+" and "+max+".");
		return false;
	} else {
		return true;
	}
};

function checkRegexp(o,regexp,n) {
	if ( !( regexp.test( o.val() ) ) ) {
		o.addClass('ui-state-error');
		//updateTips(n);
		return false;
	} else {
		return true;
	}
};

function stristr (haystack, needle, bool) {
    var pos = 0;
    haystack += '';
    pos = haystack.toLowerCase().indexOf( (needle+'').toLowerCase() );
    if (pos == -1){
        return false;
    } else{
        if (bool) {
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
};

function profileDialog(messageText, titleText, buttonText, memberKey, pType) {	
	var dialogButtons = {};
	//dialogButtons[buttonText] = function(){
		//jQuery(this).dialog('close');	
		jQuery.post("/json/setprofileoption", {'m':memberKey, 't':pType}, function(data) {
			if (data.field !== false) {
				switch (data.field) {
					case "favorite":
					if (data.action == "add") {
						jQuery('#AddFavorite').attr({'id':'RemoveFavorite', 'title':'Remove Favorite'}).html('Remove Favorite');
					} else {
						jQuery('#RemoveFavorite').attr({'id':'AddFavorite', 'title':'Add Favorite'}).html('Add Favorite');
					}	
					break;
					
					case "block":
					if (data.action == "add") {
						jQuery('#Block').attr({'id':'Unblock', 'title':'Unblock'}).html('Unblock');
					} else {
						jQuery('#Unblock').attr({'id':'Block', 'title':'Block'}).html('Block');				
					}
					break;
				}
				jQuery('#'+data.field+'-count').html(data.count);
			}
			dialogBox("", data.message, {}, 350, 100, null, false, null, null, true);
		}, 'json');
	//};
	
	//dialogBox(titleText, messageText, dialogButtons, 350, 100, null, true, null, null, false);
};

function initProfile(memberKey, type) {
	var messageText;	
	var titleText;
	var buttonText;
		
	jQuery('#Block').live('click', function(event){
		event.preventDefault();	
		messageText = 'Are you sure you want to block this '+type+'?';
		titleText   = "Block Member";
		buttonText  = "Yes";
		profileDialog(messageText, titleText, buttonText, memberKey, jQuery(this).attr('id'));
	});
	
	jQuery('#Unblock').live('click', function(event){
		event.preventDefault();
		messageText = 'Are you sure you want to unblock this '+type+'?';
		titleText   = "Remove Block";
		buttonText  = "Yes";
		profileDialog(messageText, titleText, buttonText, memberKey, jQuery(this).attr('id'));
	});
	
	jQuery('#AddFavorite').live('click', function(event) {
		event.preventDefault();
		messageText = 'Are you sure you want to add this '+type+' to your favorites?';
		titleText   = "Add to Favorites";
		buttonText  = "Yes";
		profileDialog(messageText, titleText, buttonText, memberKey, jQuery(this).attr('id'));
	});
	
	jQuery('#RemoveFavorite').live('click', function(event) {
		event.preventDefault();
		messageText = 'Are you sure you want to remove this '+type+'  from your favorites?';
		titleText   = "Remove Favorite";
		buttonText  = "Yes";
		profileDialog(messageText, titleText, buttonText, memberKey, jQuery(this).attr('id'));
	});
	
	jQuery('#Report').live('click', function(event) {
		event.preventDefault();
		messageText = 'Are you sure you want to report this '+type+' for abuse?';
		titleText   = "Report Abuse";
		buttonText  = "Yes";
		profileDialog(messageText, titleText, buttonText, memberKey, jQuery(this).attr('id'));
	});
	
	jQuery('#RemoveSponsor').live('click', function(event) {
		event.preventDefault();
		messageText = 'Are you sure you want to remove this '+type+' from your sponsorships?';
		titleText   = "Remove Sponsor";
		buttonText  = "Yes";
		profileDialog(messageText, titleText, buttonText, memberKey, jQuery(this).attr('id'));
	});
};

function redirect(){
	document.location.reload();
};

function uploadButton(id, mkey){
	var titleText = "Photo Uploaded";
	var dialogButtons = {};
	var loader;
		
	new AjaxUpload("upload_button_id_"+id, {
		action:"/photo/upload/",
		name:"Filedata",
		data:{"soid":mkey+"_|_"+id},
		autoSubmit:true,
		responseType:false,
		onChange:function(file, extension){
			loader = jQuery('<div>').addClass('loader'); 
			jQuery('#photo-container-large').html(loader);
		},
		onComplete:function(file, response){
			//dialogBox("", data.message, {}, 350, 100, null, false, null, null, true);
			//setResponseMessage(true, response);
			setTimeout(function(){redirect();},1000);
		},
		onSubmit:function(file , ext){
			if (! (ext && /^(jpg|jpeg|gif)$/.test(ext))){
				// extension is not allowed
				dialogBox("", "Error: Image must be of type jpg or gif.", {}, 350, 100, null, false, null, null, true);
				//setResponseMessage(false, 'Error: Image must be of type jpg or gif.');
				return false;
			}
		}
	});
};

function initPhotoEdit() {
	jQuery('#photo-delete').click(function(event) {
		event.preventDefault();
		
		var titleText = 'Delete Photo';
		var messageText = 'Are you sure you want to delete this photo ?';
		var buttonText = 'Yes';
		var dialogButtons = {};
		var dhref = jQuery(this).attr('href');
		dialogButtons[buttonText] = function(){ 
			document.location.href = dhref;
		};
		
		dialogBox(titleText, messageText, dialogButtons, 325, 100, null, true, null, null, false); 
	});
	
	jQuery('.Access').each(function(i, el) {
		jQuery(el).click(function(event) {
			event.preventDefault();
			var optionStatus = jQuery(el).val();
			var titleText = 'Set Photo Access';
			var aStatus = jQuery(el).val();
			var messageText;
			if (aStatus == "0") {
				messageText = 'Are you sure you want set this photo as private ?';
			} else {
				messageText = 'Are you sure you want to set this photo as public ?';
			}
			var buttonText = 'Yes';
			var dialogButtons = {};
			
			//dialogButtons[buttonText] = function() {
				jQuery(this).dialog('close');	
				jQuery.post('/json/updatephoto', {'t':'access', 'i':jQuery('#ImageID').val(), 's': optionStatus}, function(data) {
					if (aStatus == "0") {
						jQuery("#AccessPublic").removeAttr("checked");	
						jQuery("#AccessPrivate").attr("checked", "checked");
					} else {
						jQuery("#AccessPrivate").removeAttr("checked");
						jQuery("#AccessPublic").attr("checked", "checked");
					}	
					dialogBox("", data.message, {}, 350, 100, null, false, null, null, true);
					//setResponseMessage(data.status, data.message);			
				}, 'json');
			//};
			
			//dialogBox(titleText, messageText, dialogButtons, 350, 100, null, true, null, null, false);
		});
	});
	
	jQuery('.Default').each(function(i, el) {
		jQuery(el).click(function(event) {
			event.preventDefault();
			var optionStatus = jQuery(el).val();
			var titleText = 'Set Photo Default';
			var dStatus = jQuery(el).val();
			var messageText;
			if (dStatus == "1") {
				messageText = 'Are you sure you want set this photo as your default photo ?';
			} else {
				messageText = 'Are you sure you don\'t want to set this photo as your default photo ?';
			}
			var buttonText = 'Yes';
			var dialogButtons = {};
			
			//dialogButtons[buttonText] = function() {
				jQuery(this).dialog('close');	
				jQuery.post('/json/updatephoto', {'t':'default', 'i':jQuery('#ImageID').val(), 's': optionStatus}, function(data) {
					if (dStatus == "1") {
						jQuery("#DefaultNo").removeAttr("checked");	
						jQuery("#DefaultYes").attr("checked", "checked");
					} else {
						jQuery("#DefaultYes").removeAttr("checked");
						jQuery("#DefaultNo").attr("checked", "checked");
					}
					dialogBox("", data.message, {}, 350, 100, null, false, null, null, true);
					window.location = '/profile/photos';
				}, 'json');
			//};
			
			//dialogBox(titleText, messageText, dialogButtons, 350, 100, null, false, null, null, true);
		});
	});
};

function initMailEdit() {
	jQuery('#OptionNone').click(function(e) {
		if (jQuery(this).attr('checked')) {
			jQuery('input[type=checkbox]').not('#OptionNone').removeAttr('checked');
		}
	});	
	
	jQuery('#OptionAll').click(function(e) {
		if (jQuery(this).attr('checked')) {
			jQuery('input[type=checkbox]').not('#OptionAll').attr('checked', 'checked');
		}
	});
	
	jQuery('input[type=checkbox]').not('#OptionNone, #OptionAll').click(function(e) {
		if (jQuery(this).attr('checked')) {
			jQuery('#OptionNone, #OptionAll').removeAttr('checked');
		}
	});
}

function get_upload_pic(e,MemberKey,id){
	click(e,'/index/picpop/MemberKey/'+MemberKey+'/id/'+id);
}

function swapForm(value) {
	if (value == "CC") {
		jQuery('#CCForm').css('display', 'block');
		jQuery('#ACHForm').css('display', 'none');
	} else {
		jQuery('#CCForm').css('display', 'none');
		jQuery('#ACHForm').css('display', 'block');
	}
};

function manageControls(position, numberOfSlides) {
	if(position === 0){ 
		jQuery('#prev-control').attr('class', 'prev-control-inactive');
	} else{ 
		jQuery('#prev-control').attr('class', 'prev-control control-item');
	}
	
	if(position == numberOfSlides-1 || numberOfSlides === 0){ 
		jQuery('#next-control').attr('class', 'next-control-inactive');
	} else{ 
		jQuery('#next-control').attr('class', 'next-control control-item'); 
	}
};

function slideInit(container, slides, control, counter) {				
	var currentPosition = 0;
	var slideWidth = 247;
	var padding = 25;
	var numberOfSlides = slides.length;
	var totalWidth = (slideWidth * numberOfSlides) + (padding * numberOfSlides);		
	
	if (numberOfSlides > 0) {
		slides.wrapAll('<div id="slideInner"></div>').css({'float' : 'left', 'width' : slideWidth});
		jQuery('#slideInner').css('width', totalWidth);
		if (counter) {
			counter.html((currentPosition+1)+' of '+numberOfSlides);
		}			
	} else {
		container.html('<p class="no-views">No one has viewed you yet</p>');
	}			

	manageControls(currentPosition, numberOfSlides);
	
	control.live('click', function(){
		currentPosition = (jQuery(this).attr('id')=='next-control') ? currentPosition+1 : currentPosition-1;
	
		manageControls(currentPosition, numberOfSlides);
		jQuery('#slideInner').animate({
			'marginLeft': (slideWidth+padding)*(-currentPosition)
		});
		if (counter) {
			counter.html((currentPosition+1)+' of '+numberOfSlides);
		}	
	});
};			  
			
function tip() {
	jQuery('a.tip').each(function(i, el) {
		if (jQuery(el).hasClass('compose-subject-tip')) {
			var tipWidth = 200;
		} else if (jQuery(el).hasClass('compose-message-tip')) {
			var tipWidth = 350;			
		} else {
			var tipWidth = 125;
		}
		
		jQuery(this).qtip({
			content: { 
				url: '/members/tooltip/',
				data: {ID:jQuery(el).attr('rel')},
				method: 'post'
			},	
			show: 'mouseover',
			hide: { 
				fixed: true, 
				delay: 100
			},
			position: {
				corner: {
					target: 'topMiddle',
					tooltip: 'bottomMiddle'
				},
				adjust: {
					x:0,
					y:-5
				}
			},
			style: {
				width: tipWidth,
				padding: 10,
				border: {
					color: '#888',
					width: 1
				},
				tip: true,
				name: 'light'
			}
		});
	});
	
	jQuery('a.tip-block').live('click', function(event) {
		event.preventDefault();
		var messageText = 'Are you sure you want to block this member ?';
		var titleText   = "Block Member";
		var buttonText  = "Yes";
		var memberKey   = jQuery(this).parent().parent().parent().attr('id');
		var pType		= "Block"; 

		profileDialog(messageText, titleText, buttonText, memberKey, pType);
	});
};

function showPage(page, search) {
	var cHeight = jQuery('#member-thumbs').height();
	var cWidth = jQuery('#member-thumbs').width();
	var loader = jQuery('<div>').addClass('loader').css({'height':cHeight,'width':cWidth});
	jQuery('#member-thumbs').html(loader);	
	jQuery.ajax({
		url: '/json/getpage',
		type: "POST",
		data: ({'p': page, 's': search}),
		dataType: 'json',
		cache: false,
		success: function(data){
			jQuery('#search-count').html(data.profileCount);
			jQuery('.pagination-controls').html(data.controls);
			jQuery('#member-thumbs').html(data.template).append(jQuery('<div class="clear"></div>'));
			tip();
			jQuery( 'html, body' ).animate( { scrollTop: 0 }, 0 );
		}	
	});
};

function initTrashMail() {
	var dialogButtons = {};
	var trashArray = new Array();
	
	jQuery("a.mail-row-trash").click(function(event) {
		event.preventDefault();
		var titleText = "Delete Message";
		var messageText = 'Are you sure you want to delete this message ?';
		var buttonText = "Yes";
		var messageKey = jQuery(this).parent().parent().attr("id");
		var box = jQuery('#page-headline span').html().toLowerCase();
		trashArray.push(messageKey);
		
		//dialogButtons[buttonText] = function(){
			jQuery(this).dialog('close');
			jQuery.post('/json/changemailstatus', {'k[]': trashArray, 's': 'delete', 'p': jQuery('#Page').val()}, function(data) {
				jQuery("#"+messageKey).fadeOut('slow', function() {
					jQuery(this).remove();
					jQuery('#message-container').append(data.messages);
				});
				if (box == 'inbox') {
					jQuery('#total-count').html(data.totalMail);
					if (data.newMail < 1) {
						jQuery('#new-count').remove();
					} else {
						jQuery('#new-count').html("("+data.newMail+" new)");
					}
				} else {
					jQuery('#'+box+'-count').html(data.totalMail);
				}
				jQuery('#trash-count').html(data.trashMail);
			}, 'json');
		//};
		//dialogBox(titleText, messageText, dialogButtons, 350, 100, null, false, null, null, true);
	});
	
	jQuery("#empty-trash a").click(function(event) {
		event.preventDefault();
		var titleText = "Empty Trash";
		var messageText = 'Are You Sure You Want to Empty Your Trash?';
		var buttonText = "Yes";
	
		//dialogButtons[buttonText] = function() {
			jQuery(this).dialog('close');
			jQuery.post('/json/deletetrash', {}, function(data) {
				if (data.status) {
					jQuery('#trash-count').html("0");
					jQuery('.trashedmail-row').each(function(i, el) {
						jQuery(this).fadeOut('slow', function() {
							jQuery(this).remove();
						});	
					});
					jQuery('#trash-messages').html(data.emptyMessage);
				}	
				dialogBox("", data.message, {}, 350, 100, null, false, null, null, true);
				//setResponseMessage(data.status, data.message);
			}, 'json');
		//};
		//dialogBox(titleText, messageText, dialogButtons, 350, 100, null, false, null, null, true);
	});
};

function getMailStatus(status, count) {
	var titleText;
	var messageText;
	var buttonText;
	var textType;
	
	if (count !== null && count > 1) {
		textType = "these messages";
	} else {
		textType = "this message";
	}
	
	switch (status) {
		case 'unopened':
		titleText = "Mark Message as Unread";
		messageText = 'Are you sure you want to mark '+textType+' as unread?';
		buttonText = "Yes";
		break;
		
		case 'spam':
		titleText = "Mark Message as Spam";
		messageText = 'Are you sure you want to mark '+textType+' as spam?';
		buttonText = "Yes";
		break;
		
		case 'trash':
		titleText = "Move Message to Trash";
		messageText = 'Are you sure you want to put '+textType+' in the trash?';
		buttonText = "Yes";
		break;
		
		case 'delete':
		titleText = "Delete Message";
		messageText = 'Are you sure you want to delete '+textType+'?';
		buttonText = "Yes";
		break;
	}
	return [titleText, messageText, buttonText];
};
 
function changeThreadStatus(status) {
	var messageText;
	var titleText;
	var buttonText;
	var dialogButtons = {};
	
	var mailStatus = getMailStatus(status);
	titleText = mailStatus[0];
	messageText = mailStatus[1];
	buttonText = mailStatus[2];
	
	var arr = new Array();
	arr.push(jQuery("#PreviousMessageKey").val());
	var box = jQuery("#MailBox").val();
	
	//dialogButtons[buttonText] = function(){ 
		jQuery.post('/json/changemailstatus', {'k[]': arr, 's': status, 'b': box}, function(data) {
			jQuery("input:checked").parent().parent().remove();
			if (box == 'inbox') {
				jQuery('#total-count').html(data.total);
				if (data.newMail < 1) {
					jQuery('#new-count').remove();
				} else {
					jQuery('#new-count').html("("+data.newMail+" new)");
				}
			} else {
				jQuery('#'+box+'-count').html(data.totalMail);
			}
			dialogBox("", data.message, {}, 350, 100, null, false, null, null, true);
			//setResponseMessage(data.status, data.message);
		}, 'json');
	//};	
	//dialogBox(titleText, messageText, dialogButtons, 350, 100, null, false, null, null, true);
};

function initMail() {
	var dialogButtons = {};
	
	jQuery('#composeForm').submit(function() {
    	$(':submit', this).click(function() {
        	return false;
    	});
	});
	
	jQuery("#replyForm").submit(function() {
		var messageText = 'Please type in your reply message!';
		var titleText = "Type in a Reply Message";
				
		CKEDITOR.instances.Message.updateElement();
		
			if (ssm.replySent === false) {
				ssm.replySent = true;
				
				jQuery(this).append('<div class="processing">');
								
				jQuery.post('/json/addmailreply', {'b': jQuery('#MailBox').val(), 's': jQuery('#Subject').val(), 'm': jQuery("#Message").val(), 'tk': jQuery('#ToMemberKey').val(), 'pk': jQuery('#PreviousMessageKey').val()}, function(data){
					jQuery('.processing').remove();
					
					if (data.redirect) {
						document.location.href = data.redirect; 
					} else if (data.status === true) {
						jQuery("#Message").val('');
						jQuery("#PreviousMessageKey").val(data.previousMessageKey);
						var holder = jQuery('<div>').hide();
						holder.append(data.template);
						jQuery('#threads-container').prepend(holder.fadeIn('slow'));
					
					} else if (data.status === false) {
						dialogBox('', data.message, dialogButtons, 350, 100, null, false, null, null, true);
					}
					
					var configs = {
						height: 100, 
						width: 560, 
						startupFocus: true, 
						skin: 'plain'
					};
					
					CKEDITOR.instances.Message.destroy();
					jQuery("#Message").val("");
					CKEDITOR.replace('Message', {customConfig: '/js/ckeditor/config.js', height: 100, width: 582, startupFocus: true, skin: 'plain', on :{instanceReady : function( ev ){
								this.dataProcessor.writer.setRules( 'p', {
       								indent : false,
        							breakBeforeOpen : false,
        							breakAfterOpen : false,
       		 						breakBeforeClose : false,
        							breakAfterClose : false
    							});
							}
						}
					});
					ssm.replySent = false;
				}, 'json');
				
			}
		return false;
	});
	
	jQuery("a.mail-row-delete").live('click', function(event) {
		event.preventDefault();
		var threadArray = new Array();
		var titleText = "Delete Message";
		var messageText = 'Are you sure you want to delete this message ?';
		var buttonText = "Yes";
		var threadID = jQuery(this).parent().parent().parent().parent().attr("id").split("-");
		threadArray.push(threadID[1]);
		
		//dialogButtons[buttonText] = function(){
			jQuery(this).dialog('close');
			jQuery.post('/json/changemailstatus', {'t[]': threadArray, 's': 'delete', 'p': jQuery('#Page').val()}, function(data) {
				jQuery("#thread-"+threadID[1]).fadeOut('slow', function() {
					jQuery(this).remove();
					if (data.refresh != false) {
						document.location.href = data.refresh;
					} else {
						//dialogBox("", data.message, {}, 350, 100, null, false, null, null, true);
						jQuery('#message-container').append(data.template);
						jQuery('.page-start').html(data.pageStart);
						jQuery('.page-end').html(data.pageEnd);
						jQuery('.page-total').html(data.pageTotal);
						jQuery('.pagination-controls').html(data.pagination);
					}	
				});				
			}, 'json');
		//};
		//dialogBox(titleText, messageText, dialogButtons, null, null, null, true, null, null, false);
	});
	
	/*
jQuery("a.mail-row-read").live('click', function(event) {
		event.preventDefault();
		var titleText = 'Tokens';
		var messageText = "Looks like you're running low on tokens.<br />Would you like to purchase more?";
		var buttonText = 'Yes';
		var dialogButtons = {};
		
		jQuery.post('/json/checktokens', {}, function(data) {
			if (data.status === false) {
				dialogButtons[buttonText] = function(){ 
					document.location.href = '/billing';
				};
				
				dialogBox(titleText, messageText, dialogButtons, null, null, null, true, null, null, false);
			} else {
				alert('goto message');	
				//document.location.href = $(this).attr('href');
			}
		}, 'json');
	});	
*/
	
	
	/*
jQuery("#mail-send").live('click', function(event) {
		event.preventDefault();
		var titleText = 'Tokens';
		var messageText = "Looks like you're running low on tokens.<br />Would you like to purchase more?";
		var buttonText = 'Yes';
		var dialogButtons = {};
		
		jQuery.post('/json/checktokens', {}, function(data) {
			if (data.status === false) {
				dialogButtons[buttonText] = function(){ 
					document.location.href = '/billing';
				};
				
				dialogBox(titleText, messageText, dialogButtons, null, null, null, true, null, null, false);
			} else {
				alert('goto message');	
				//jQuery('#composeForm').submit();
			}
		}, 'json');
	});
*/
		
	jQuery('.PerPage').change(function() {
		jQuery(this).parent().submit();
	});
};

function getPhoto(memberKey, count, count2) {
	jQuery('#photo-container-large').removeAttr('style');
	jQuery('#photo-container-large').append('<div class="loader"></div>');
	jQuery.post('/json/getphoto', {'k': memberKey, 'c': count}, function(data) {
		if (data) {	
			jQuery('.loader').remove();
			jQuery('#photo-container-large').attr('style', "background: url('"+data+"') no-repeat center center");
			jQuery('#photo-thumb-'+count2).removeClass("photo-thumb-border");
			jQuery('#photo-thumb-'+count).addClass("photo-thumb-border");
		}	
	}, 'json');
};

function initPhoto(memberKey, totalCount, currentPhoto) {
	totalCount--;
	var count = currentPhoto;
	var count2 = 0;
	
	jQuery('#prev-photo, #next-photo').hover(function(event) {
		jQuery(this).attr('href', '#');
	});
	
	jQuery('#prev-photo').click(function(event) {
		event.preventDefault();
		count2 = count;
		if (count === 0) {
			count = totalCount;
		} else {
			count--;
		}
		getPhoto(memberKey, count, count2);
	});
	
	jQuery('#next-photo').click(function(event) {
		event.preventDefault();
		count2 = count;
		if (count == totalCount) {
			count = 0;
		} else {
			count++;
		}
		getPhoto(memberKey, count, count2);	
	});
	
	jQuery('.thumb-click').click(function(event) {
		var photoID = jQuery(this).attr('id').split("-");
		var photoNum = photoID[2];
		var lastPhoto = count;
		count = photoNum;
		getPhoto(memberKey, photoNum, lastPhoto);
	});
};

function initSearch() {
	var isAjax = false;
	jQuery('#SearchAdvanced input:checkbox, #SearchAdvanced input:radio, #SearchResults input:checkbox, #SearchResults input:radio').live('click', function(event) {
		var fieldName = jQuery(this).attr('name');
		var fieldNameReplace;
		var otherFields;
		var lastChar = fieldName.substring((fieldName.length-1), fieldName.length);
		if (lastChar == '1') {
			fieldNameReplace = fieldName.replace("1", "");
			if (jQuery(this).attr('type') == 'radio') {	
				otherFields = jQuery('input[name="'+fieldNameReplace+'"]');
			} else {
				otherFields = jQuery('input[name="'+fieldNameReplace+'[]"]');
			}
			otherFields.each(function(i, el) {
				if (jQuery(el).attr("checked")) {
					jQuery(el).removeAttr("checked");
				}
			});
		} else {
			fieldNameReplace = fieldName.replace("[]", "");
			otherFields = jQuery('input[name="'+fieldNameReplace+'1"]');
			if (otherFields.attr("checked")) {
				otherFields.removeAttr("checked");
			}
		}
	});
	
	jQuery('#CountryCode').change(function() {
		jQuery.post("/ajax/", {'type':jQuery(this).val()}, function(data){
			jQuery('#StateCode').html(data);
		});
	});
};

function initFavorites(type) {		
	var titleText = "Remove Favorite";
	var messageText = 'Are you sure you want to remove this '+type+' from your favorites ?';
	var buttonText = "Yes";
	var dialogButtons = {};
	
	jQuery('.remove-favorite').click(function(event) {
		event.preventDefault();
		parentForm = jQuery(this).parent();
		//dialogButtons[buttonText] = function(){ 
			parentForm.submit();
		//}
		
		//dialogBox(titleText, messageText, dialogButtons, 350, 100, null, true, null, null, null);
	});	
};

function sendHome() {
	document.location.href = "/members";
};

function logMeIn() {
	jQuery.ajax({
		url: '/json/logmemberin/',
		type: "POST"
	});
};

function logMeOut() {
	jQuery.ajax({
		url: '/json/logmemberout/',
		type: "POST"
	});
};

function initReminder() {	
	var reminder = jQuery('<a>').attr({
		'href': '/members/reminder?keepThis=true&amp;TB_iframe=true&amp;height=350&amp;width=380',
		'class': 'thickbox',
		'style': 'display:block;',
		'id': 'reminder'
	});
	
	jQuery('body').append(reminder);
	jQuery('#reminder').click();

	/** remove thickbox's default binds to click event **/
	jQuery('#TB_overlay, #TB_closeWindowButton').unbind('click');
	
	jQuery('#TB_overlay, #TB_closeWindowButton').live('click', function() {
		jQuery.post('/json/showpotentials',{}, function(response) {
			if (response.status === true) {
				initPotentials();
			} else {
				/** manually close thickbox **/
				tb_remove();
			}
		}, 'json');	
	});
};

function initPotentials() {
	var potentials = jQuery('<a>').attr({
		'href': '/members/potentials?keepThis=true&amp;TB_iframe=true&amp;height=500&amp;width=380',
		'class': 'thickbox',
		'style': 'display:block;',
		'id': 'potentials'
	});
	
	jQuery('body').append(potentials);
	jQuery('#potentials').click();
	jQuery('#TB_overlay, #TB_closeWindowButton').unbind('click');
}

function initAutoFocus(newEmail) {
	var isfocused = false;
	var elms = jQuery('#mailbox-content input, #mailbox-content textarea');
	for(var i=0;i<elms.length;i++){
		var elm = jQuery(elms[i]);
		if(elm !== undefined && elm.value != elm.defaultValue){
			isfocused = true;
		}
	}
	
	if(isfocused != true){
		if (newEmail == true) {
			jQuery('#To').focus();
		} else {
			jQuery('#Subject').focus();
		}
	}
};

function accordion() {
	var originalHeight = false;
	
	jQuery('.collapsed-btn').click(function(event) {
		if (originalHeight == false) {
			originalHeight = jQuery('#inner-right-col').height();
		}
		var sidebarOffset = jQuery('#SearchResults').offset();
		var contentOffset = jQuery('#inner-right-col').offset();
		var sidebarHeight = parseInt(jQuery('#SearchResults').height() + sidebarOffset.top);
		var contentHeight = parseInt(jQuery('#inner-right-col').height() + contentOffset.top);	
		
		jQuery(this).toggleClass('expanded-btn');
		
		if (jQuery(this).next().is(":hidden")) {		
			if (parseInt(sidebarHeight + jQuery(this).next().height()) > contentHeight) { 
				var hDiff = parseInt(sidebarHeight + jQuery(this).next().height()) - contentHeight;
				var nHeight = parseInt(jQuery('#inner-right-col').height() + hDiff);
				
				/*
if (sidebarOffset.top > contentOffset.top) {
					var oDiff = Math.abs(parseInt(sidebarOffset.top - contentOffset.top, 10));
					nHeight -= oDiff;
				}
*/
				
				jQuery('#inner-right-col').animate({'height':nHeight});
			}
							
			jQuery(this).next().slideDown('slow');
		} else {
			var hDiff = jQuery(this).next().height();
			var nHeight = parseInt(jQuery('#inner-right-col').height() - hDiff);
			
			if (parseInt(jQuery('#inner-right-col').height() - hDiff) < originalHeight) {
				nHeight = originalHeight;
				jQuery('#inner-right-col').removeAttr('style');
			} else {		
				jQuery('#inner-right-col').animate({'height':nHeight});
			}
			
			jQuery(this).next().slideUp('slow');
		}
	});
};

function stickySidebar() {
	var urlParts = location.pathname.split('/');
	var rightCol;
	var sidebar;
	var isSearch = false;
	
	/** edit elements to suite your needs **/
	if (urlParts[1] == 'members') {
		rightCol = jQuery('#right-col');
	} else {
		rightCol = jQuery('#inner-right-col');
	}

	if (jQuery('#inner-left-col').length > 0) {
		sidebar = jQuery('#inner-left-col');
	} else if (jQuery('#SearchResults').length > 0) {
		sidebar = jQuery('#SearchResults');
		isSearch = true;
	}
	/** end edit elements **/	

	if (rightCol.length > 0 && sidebar.length > 0) {
		var originalRightColHeight = rightCol.height();
		var originalSidebarHeight = sidebar.height();

		var rightColHeight = originalRightColHeight;
		var rightColPos = rightCol.offset();
		
		var sidebarHeight = originalSidebarHeight;
		var sidebarOffset = sidebar.offset();
		
		var stopPoint = ((rightColPos.top + rightColHeight) - sidebarHeight);
		var newTop = (rightColHeight - sidebarHeight);
				
		if (rightColHeight > sidebarHeight) {	
						
			window.onscroll = function() {
								
				if( window.XMLHttpRequest ) { // IE 6 doesn't implement position fixed nicely...
					if (isSearch) {
						rightColHeight = rightCol.height();
						sidebarHeight = sidebar.height();
						stopPoint = ((rightColPos.top + rightColHeight) - sidebarHeight);
						newTop = (rightColHeight - sidebarHeight);
					}
					
					if ((jQuery(document).scrollTop() > sidebarOffset.top) && (jQuery(window).height() > sidebarHeight)) {	
						if (jQuery(document).scrollTop() < stopPoint) {
							sidebar.css({'position': 'fixed', 'top': 0});
						} else {
							sidebar.css({'position': 'relative', 'top': newTop});
						}	
					} else {
						if (isSearch && (sidebar.offset().top > sidebarOffset.top)) {
							var sDiff = Math.abs(parseInt(sidebar.offset().top - sidebarOffset.top, 10));
							var nHeight = Math.abs(parseInt(rightColHeight - sDiff, 10));
							if (nHeight > originalRightColHeight) {
								rightCol.height(nHeight);
							} else {
								rightCol.height(originalRightColHeight);
							}
						}
						sidebar.css({'position': 'relative','top': 'auto'});	
					}
				}
			}
			
			jQuery(window).resize(function() {
				if (isSearch) {
					rightColHeight = rightCol.height();
					sidebarHeight = sidebar.height();
					stopPoint = ((rightColPos.top + rightColHeight) - sidebarHeight);
					newTop = (rightColHeight - sidebarHeight);
				}

				if (jQuery(window).height() < sidebarHeight) {
					
					if (isSearch && (sidebar.offset().top > sidebarOffset.top)) {
						var sDiff = Math.abs(parseInt(sidebar.offset().top - sidebarOffset.top, 10));
						var nHeight = Math.abs(parseInt(rightColHeight - sDiff, 10));
						if (nHeight > originalRightColHeight) {
							rightCol.height(nHeight);
						} else {
							rightCol.height(originalRightColHeight);
						}
					}

					sidebar.removeAttr('style');
				} else {
					if ((jQuery(document).scrollTop() > sidebarOffset.top) && (jQuery(window).height() > sidebarHeight)) {
						if (jQuery(document).scrollTop() < stopPoint) {
							sidebar.css({'position': 'fixed', 'top': 0});
						} else {
							sidebar.css({'position': 'relative', 'top': newTop});
						}
					}	
				}
			});
		}
	}		
};

function checkUnfinishedMessage() {
	if (jQuery('#Subject').length > 0 || CKEDITOR.instances.Message.getData().length > 0) {
		
		var draft = {};
		jQuery.ajax({
			type: "POST",
			async: false,
			url: "/json/storemessage", 
			data: ({'draftSubject':jQuery('#Subject').val(), 'draftMessage':CKEDITOR.instances.Message.getData()}), 
			dataType: 'json'
		});	
	}	
};

jQuery(document).ready(function() {
	jQuery('#navbar').corner("top 5px");
	jQuery('#navbar-start').corner("tl 5px");
	jQuery('#navbar-end').corner("tr 5px");
	
	stickySidebar();
	initMail();
	initSearch();
	initPhotoEdit();
	tip();
	accordion();
	logMeIn();
	setTimeout(function(){logMeOut();},300000);
	
});

jQuery(window).unload(function() {
	logMeOut();
});
