document.observe("dom:loaded", function() {
	
	// Comments
	if($('comment_link') != undefined && $('cancel_comment') != undefined) {
		var linkComment = $('comment_link');
		var cancelComment = $('cancel_comment');
		var popupComment = $('popup_comment');
		
		linkComment.onclick = function() {
			popupComment.style.display = 'block';
			return false;
		};
		
		cancelComment.onclick = function() {
			popupComment.style.display = 'none';
			return false;
		};
	}
	
	
	//Tags
	
	if($('add_tag_link') != undefined && $('cancel_tag') != undefined) {
		var linkTag = $('add_tag_link');
		var cancelTag = $('cancel_tag');
		var popupTag = $('popup_tag');
		linkTag.onclick = function() {
			popupTag.style.display = 'block';
			return false;
		};
		cancelTag.onclick = function() {
			popupTag.style.display = 'none';
			return false;
		};
	}
	
	// Flag Item
	if($('flag_link') != undefined && $('cancel_flag_item') != undefined) {
		var flagLink = $('flag_link');
		var popupFlagItem = $('popup_flag_item');
		var cancelFlagItem = $('cancel_flag_item');
		var submitFlagItem = $('submit_flag_item');
		flagLink.onclick = function () {
			popupFlagItem.style.display = 'block';
		};
		
		cancelFlagItem.onclick = function () {
			popupFlagItem.style.display = 'none';
		};
		
		submitFlagItem.onclick = function () {
			new Ajax.Request('/ajaxindex/flagItem/', {
				method: 'post',
				parameters: $('flagitemfrm').serialize(true),
				onSuccess: function(transport) {
					popupFlagItem.style.display = 'none';
					alert('You report has been emailed to administration. Thank you.');
				}
			});
		};
	}
	
	// Button Send Message
	if($('send_msg_btn') != undefined) {
		var sendMsgBtn = $('send_msg_btn');
		var cancelMessage = $('cancel_message');
		var popupMessage = $('popup_message');
		sendMsgBtn.onclick = function() {
			$('message_popup_description').update("<strong>Type your message and click submit.</strong>");
			positionPopup(popupMessage, sendMsgBtn, 200, 300, -150, -575);
			popupMessage.style.display = 'block';
			return false;
		};
		
		cancelMessage.onclick = function() {
			popupMessage.style.display = 'none';
			return false;
		};
	}
	
	// Button Contact Artist (Shopping Cart)
	if($('contact_artist_shoppingcart') != undefined) {
		var contactArtist = $('contact_artist_shoppingcart');
		var cancelMessageShoppingCart = $('cancel_message');
		var popupMessageShoppingCart = $('popup_message');
		contactArtist.onclick = function (){
			$('message_popup_description').update("<strong>This is a physical item for sale. Send a message to the artist to inquire about purchasing this item.</strong>");
			positionPopup(popupMessageShoppingCart, contactArtist, 0, 350, 0, 350);
			popupMessageShoppingCart.style.display = 'block';
			return false;
		};
			
		cancelMessageShoppingCart.onclick = function() {
			popupMessage.style.display = 'none';
			return false;
		};
	}
	
	
	// Button comment
	if($('button_comment') != undefined){
		var buttonComment = $('button_comment');
		var buttonCancelComment = $('cancel_comment_button');
		var buttonPopupComment = $('popup_comment_button');
		
		buttonComment.onclick = function() {
			
			if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		 		var top = buttonComment.offsetTop + 250 + 'px';
				var left = buttonComment.offsetLeft - 320 + 'px';
			} else{
				var top = buttonComment.offsetTop - 150 + 'px';
				var left = buttonComment.offsetLeft - 350 + 'px';
			}
			buttonPopupComment.style.position = 'absolute';
			buttonPopupComment.style.top = top;
			buttonPopupComment.style.left = left;
			buttonPopupComment.style.display = 'block';
			return false;
		};
		
		buttonCancelComment.onclick = function() {
			buttonPopupComment.style.display = 'none';
			return false;
		};
	}
});

function positionPopup(popupElem, clickedElem, top, left, ieTop, ieLeft) {
	var _top;
	var _left;
	popupElem.style.position = 'absolute';
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
 		_top = clickedElem.offsetTop - ieTop + 'px';
		_left = clickedElem.offsetLeft - ieLeft + 'px';
	} else{
		_top = clickedElem.offsetTop - top + 'px';
		_left = clickedElem.offsetLeft - left + 'px';
	}
	popupElem.style.top = _top;
	popupElem.style.left = _left;
}

function toggleCheckboxes () {
	var form = $('msgfrm');
	var checkboxes = form.getInputs('checkbox');
	if($('all_users_checkbox').checked) {
		checkboxes.each(function(e){ e.checked = 1 });
	} else {
		checkboxes.each(function(e){ e.checked = 0 });
	}
}

function sendMessageFollowersShow() {
	var form = $('msgfrm');
	var checkboxes = form.getInputs('checkbox');
	var isSelectionMade = false;
	checkboxes.each(function(e){ 
		if(e.checked) { isSelectionMade = true;}
	});
	if(isSelectionMade) {
		$('feedback').style.display = 'none';
		var cancelMessage = $('cancel_message');
		var popupMessage = $('popup_message');
		var sendMsgLnk = $('send_msg_link');
		positionPopup(popupMessage, sendMsgLnk, -180, 0, -160, 0);
		popupMessage.style.display = 'block';
	} else {
		$('feedback').style.display = 'block';
		$('feedback').style.background = '#DF9795';
		$('feedback').style.height = '20px'; 
		$('feedback').style.textAlign = 'center'; 
		$('feedback').style.fontSize = '1.5em';
		$('feedback').innerHTML = "Please make at least one selection";
		Effect.Pulsate('feedback', { pulses: 1, duration: 1.0 });
	}
}

function hideMessagePopup() {
	var popupMessage = $('popup_message');
	popupMessage.style.display = 'none';
}

function sendMessageFollowers() {
	var msg = trim($('orig_message').value);
	var sbj = trim($('orig_subject').value);
	if(msg.length != 0 || sbj.length != 0) {
		$('message').value = $('orig_message').value;
		$('subject').value = $('orig_subject').value;
		$('msgfrm').submit();
	} else {
		$('feedback').style.display = 'block';
		$('feedback').style.background = '#DF9795';
		$('feedback').style.height = '20px'; 
		$('feedback').style.textAlign = 'center'; 
		$('feedback').style.fontSize = '1.5em';
		$('feedback').innerHTML = "Subject or message is required";
		Effect.Pulsate('feedback', { pulses: 1, duration: 1.0 });
	}
}

function deleteFollowed(user_id) {
	$('delfollowedid').value=user_id;
	$('delfollowedfrm').submit();
}

function trim(val) {
	var ret = val.replace(/^\s+/, '');
	ret = ret.replace(/\s+$/, '');
	return ret;
}