var updatescr = true;

function ajax_refresh(image_id) {
	location.href = '/photos/' + image_id + "#toppp";
}

function initialiseYoutubeFancybox() {
  jQuery('a.youtubevideolink').fancybox({
    'hideOnContentClick': false,
    'frameWidth': 720,
    'frameHeight': 430,
	'overlayOpacity': 0,
	'centerOnScroll': false
  });
  jQuery('a.youtubeVideoPopup ').fancybox({
    'hideOnContentClick': false,
    'frameWidth': 720,
    'frameHeight': 430,
	'overlayOpacity': 0,
	'centerOnScroll': false
  });
}

function initialiseImageLinksFancybox() {
	jQuery('a.imageLinksFancyboxPopup').fancybox({
		'hideOnContentClick': false,
		'frameWidth': 840,
		'frameHeight': 700,
		'centerOnScroll': false
	});
}

function initialiseMegamailFancybox() {
  jQuery('a.fancybox').fancybox({
    'frameWidth': 563,
    'frameHeight': 480,
    'padding': 0,
    'overlayOpacity': 0.7,
    'hideOnContentClick': false,
	'centerOnScroll': false
  });
}

function getActiveCommentBox() {
	if(jQuery('#div1').css('display') == 'block') return jQuery('#commentbox');
	if(jQuery('#div2').css('display') == 'block') return jQuery('#commentbox2');
	return false;
}

function addTag(link) {
	var tags = document.getElementById('tag_field').value;
	if(document.getElementById('tag_field').value == ""){
	document.getElementById('tag_field').value = "Add tag seperate by commas";
	   return false;
	}
	if(document.getElementById('tag_field').value == "Add tag seperate by commas"){
	  return false;
	}
	
	var image_id = document.getElementById("hidden_image_id").value;
	var milisec = new Date().getMilliseconds();
	var url = siteUrl+"addImageTag?_dc="+milisec;
	
	var params = {};
	params['id'] = image_id;
	params['tags'] = tags;
	jQuery.post(url, params, addTagOnComplete, "json");
	return false;
}

function saveImageTitle() {
	var div = document.getElementById('image_title_block');
	var title = document.getElementById('image_title').value;
	var image_id = document.getElementById("hidden_image_id").value;
	
	var milisec = new Date().getMilliseconds();	
	var url = siteUrl+"setAjaxImageTitle?_dc="+milisec;
	var params = {};
	params['id'] = image_id;
	params['title'] = title;
	jQuery.post(url, params,
	    function(title) {
	      div.innerHTML = "<strong id='image_title' onclick='changeImageTitle()'>" + title + "</strong>";	      
	    }, "html");
}

function makeItFavorite(){
	var image_id = document.getElementById("hidden_image_id").value;
	
	var milisec = new Date().getMilliseconds();
	var url = siteUrl+"makeImageFavorite?_dc="+milisec;

	var params = {};
	params['imageId'] = image_id;
	
	jQuery.post(url, params,makeFavOnComplete,'json');
}

//----- START VAR - isFavoriteDone --------
var isFavoriteDone = false;
//----- END VAR - isFavoriteDone --------

var makeFavOnComplete = function(json) {
	jQuery('#favedTimes').html(json.favTimes);
	if(json.isFav) {
		isFavoriteDone = true;
		jQuery('#favorite').removeClass('UnFavImglink').addClass('FavImglink');
		checkAutoCommentForFavorite();
	} else {
		isFavoriteDone = false;
		jQuery('#favorite').removeClass('FavImglink').addClass('UnFavImglink');		
	}
}

//-------- START FUN - getAllFavorites ----------
function getAllFavorites() {
	var image_id = document.getElementById("hidden_image_id").value;
	
	var milisec = new Date().getMilliseconds();
	var url = siteUrl+"getAllFavorites?_dc="+milisec;

	var params = {};
	params['imageId'] = image_id;
	jQuery.post(url, params, getAllFavoritesComplete, 'json');
}
//-------- END FUN - getAllFavorites ----------

//-------- START FUN - getAllFavoritesComplete ----------
var getAllFavoritesComplete = function(json){
	var success 	= json.success;
	var favArr 		= json.favArr;
	var favCount 	= json.favCount;
	jQuery('#favedTimes').html(favCount);
	
	var str = '<li><a href="#profile#"><img src="#avatar#" alt="#displayName#"><div>#displayName#<br/><span>#date#</span></div></a></li>';
	
	var favHtml 	 = '';
	var favTotalHtml = '';
	
	if(favCount){
		for(var i=0; i<favCount;i++){
			var id 			= favArr[i].id;
			var userId 		= favArr[i].userId;
			var imageId 	= favArr[i].imageId;
			var status 		= favArr[i].status;
			var date 		= favArr[i].date;
			var screenName 	= favArr[i].screenName;
			var profile 	= favArr[i].profile;
			var displayName = favArr[i].displayName;
			var avatar 		= favArr[i].avatar;
			
			favHtml = str;
			favHtml = favHtml.split('#profile#').join(profile);
			favHtml = favHtml.split('#avatar#').join(avatar);
			favHtml = favHtml.split('#displayName#').join(displayName);
			favHtml = favHtml.split('#date#').join(date);
			
			favTotalHtml += favHtml;
		}
		jQuery('#ulFavoritesId').html(favTotalHtml);
	}

}
//-------- END FUN - getAllFavoritesComplete ----------

function saveUserTitle() {
	var div = document.getElementById('user_title_block');	
	var newTitle = document.getElementById('user_title').value;
	
	var milisec = new Date().getMilliseconds();
	var url = siteUrl+"authorPhotoText?_dc="+milisec;
	var params = {};
    params['text'] = newTitle;
	
	jQuery.post(url, params,
        function(title) {
	      div.innerHTML = "<span id='user_title' onclick='changeUserTitle()'>" + title + "</span>";                   
        }, "html");
}

function saveArtistComment() {	
	var div = jQuery('#artist_comment_block');
	var artist_comment = 'Type text and click outside of the area to save';
	var artist_commentVal = jQuery('#artist_comment_textarea').val();
	if(artist_commentVal != '') {
		artist_comment = artist_commentVal;
	}
	
	artist_comment = artist_comment.replace(/\n/g,"<br>");
	var image_id = jQuery("#hidden_image_id").val();
	
 	var milisec = new Date().getMilliseconds();
	var url = siteUrl + "authorPhotoComment?_dc=" + milisec;
	
	var params = {};
	params['imageId'] = image_id;
	params['text'] = artist_comment;
	jQuery.post(url, params, function(html) {
	    jQuery('#artistCommentContent').val(artist_comment);
	    div.html("<div id='artist_comment'>" + html + "</div>");
	    initialiseYoutubeFancybox();
	    jQuery('#artistComment .editLink a').html('edit');
	}, 'html');
};

var addTagOnComplete = function(json) {
    var count = json.tags.length;
 	var i = 0;
 	for(i=0;i<count;i++) {
 	    var tag = jQuery('<span class="classicIcons">' + json.tags[i] + '</span>');              
        jQuery('#taglist').append(tag);
    }
 	jQuery('#tag_field').val('Add tag seperate by commas');
};
         
var deleteTag = function(tagValue,tagName) {
   	var tag = document.getElementById(tagName);
   	tag.style.visibility = 'hidden';
   	
   	var image_id = document.getElementById("hidden_image_id").value;
   	var milisec = new Date().getMilliseconds();
	var url = siteUrl + "removeTag?_dc=" + milisec;
 
	var params = {};
	params['id'] = image_id;
	params['tag'] = tagValue;
	jQuery.post(url, params, removeTagOnComplete, 'json');	
};
         
var removeTagOnComplete = function(json) {

}
function postComment(textAreaID) {
	jQuery(getActiveInvitationToCommunityList()).each(function(key, communityId) {
		removeCommunityCommentInvitationDummyText(communityId);
	});

  	var text = document.getElementById(textAreaID).value;
	
  	if(text.length < 1 && getActiveInvitationToCommunityList().length == 0) {
  		showSimpleAlert('THAT WILL NOT DO, YOU NEED TO ENTER A TEXT');
  		return false;
  	}
  	var milisec = new Date().getMilliseconds();
  	var image_id = document.getElementById('hidden_image_id').value;
  	var url =  siteUrl + "addImageComment?_dc=" + milisec;
	var idVal = image_id;
	var is_auto_comment  = false;

	//--------- START CODE - insert community link -------
	var insertCommunityLinkStr 	= insertCommunityLink();
	text = text + insertCommunityLinkStr;

	if(isCommunityPage == true) {
		var communityId  = CommunityPageArr['communityId'];
		is_auto_comment  = true;
	}
	//--------- END CODE - insert community link -------

	var commentVal = text;
	var params = {};
	params['id'] = idVal;
	params['comment'] = commentVal;
	params['invite_communities[]'] = getActiveInvitationToCommunityList();
	if(isCommunityPage == true) {
		params['is_auto_comment'] = is_auto_comment;
		params['community_id'] = communityId;
	}
	document.getElementById(textAreaID).value = '';

	//add single comment without all comments loading
	var isPrivate = false;
	if(textAreaID=='commentbox2') {
	   isPrivate = document.getElementById('checkBoxPrivate2').checked;
	   var pVal = 'single';
	   var privateVal = isPrivate;
	   params['p'] = pVal;
	   params['private'] = privateVal;
	   jQuery.post(url, params, addSinglePostOnComplete, 'json');
	}else {
		isPrivate = document.getElementById('checkBoxPrivate').checked;
		params['private'] = isPrivate;
		jQuery.post(url, params, addPostOnComplete, 'json');
	}
	clearInvitationToCommunity();
}
	
	//------ START FUN - getCommunityLinkHtml --------
	function getCommunityLinkHtml() {
		
		var commentText = '<span class="commentName">I saw this fine image in the <b>#communityname# Community</b></span>';
		if(isFavoriteDone == true) {
			var commentText = '<span class="commentName">I saw this excellent image in the <b>#communityname# Community</b> and I <b>faved</b> it</span>';
		}
		if(isRatingDone == true) {
			var commentText = '<span class="commentName">I saw this fine image in the <b>#communityname# Community</b> and I <b>rated</b> it</span> ';
		}
		
		isRatingDone 	= false;
		isFavoriteDone 	= false;
		
		var str = '<div class="photoComment">'+
						'<a class="inviteUserComm" href="#communityPageUrl#">'+
							'<img alt="logo" src="#thumb#"/>'+
						'</a>'+
						'<div class="replycomment">'+
							commentText+
							'<span class="commentText">#communityname#</span>'+
						'</div>'+
					'</div>';
		return str;
	}
	//------ END FUN - getCommunityLinkHtml --------
	
	//------ START FUN - insertCommunityLink --------
	function insertCommunityLink(){		
		//--------- START CODE - insert community link -------
		var returnStr = ''; 
		if(isCommunityPage == true){
			var communityname 	  = CommunityPageArr['communityname'];
			var thumb 			  = CommunityPageArr['thumb'];
			var communityPageUrl  = CommunityPageArr['communityPageUrl'];
			var getCommunityStr   = getCommunityLinkHtml();
			
			getCommunityStr = getCommunityStr.split('#thumb#').join(thumb);
			getCommunityStr = getCommunityStr.split('#communityname#').join(communityname);
			getCommunityStr = getCommunityStr.split('#communityPageUrl#').join(communityPageUrl);
			
			returnStr = getCommunityStr;
		}
		//--------- END CODE - insert community link -------
		
		return returnStr;
    }
	//------ END FUN - insertCommunityLink --------
	
	//------ START FUN - addAutoCommentForFavorite --------
	function addAutoCommentForFavorite(){
		if(isFavoriteDone == false || isCommunityPage == false){
			return false;
		}
		var text = ''; 
		
		if(isFavoriteDone == true){
			text = 'Excellent work ! <img src="http://megashot.net/sbushinskii/mvc/imgs/red_star.png" width="20" height="18"/>';    	
    	}
		
    	var milisec = new Date().getMilliseconds();
    	var image_id = document.getElementById('hidden_image_id').value;
    	var url =  siteUrl + "addImageComment?_dc=" + milisec;
		var idVal = image_id;
		
		//--------- START CODE - insert community link -------		
		var insertCommunityLinkStr 	= insertCommunityLink();
		text 						= text + insertCommunityLinkStr;			
		if(isCommunityPage == true) {
			var communityId  = CommunityPageArr['communityId'];		
		}
		//--------- END CODE - insert community link -------
				
		//var commentVal = URLEncode(text);
		var commentVal = text;
		var params = {};
		params['id'] = idVal; 
		params['comment'] = commentVal;
		if(isCommunityPage == true) {
		    params['community_id'] = communityId;			
		}
		
		var isPrivate = false;
		var is_favorite_comment  = true;
		
		params['private'] = isPrivate;
		params['is_favorite_comment'] = is_favorite_comment;
		jQuery.post(url, params, addPostOnComplete, 'json');
    }
	//------ END FUN - addAutoCommentForFavorite --------
	
	//------ START FUN - checkAutoCommentForFavorite --------
	function checkAutoCommentForFavorite() {
		if(isFavoriteDone == false || isCommunityPage == false){
			return false;
		}
		
    	var milisec = new Date().getMilliseconds();
    	var image_id = document.getElementById('hidden_image_id').value;
    	var url =  siteUrl + "checkImageFavoriteComment?_dc=" + milisec;
		var idVal = image_id;
		var type = 1;
		
		var params = {};
		params['id'] = idVal;
		params['type'] = type;
		jQuery.post(url, params, function(json) {          
          var success             = json.success;
          var checkImageType      = json.checkImageType;
          var checkImageDataCount = json.checkImageDataCount;
          
          if(checkImageDataCount == 0) {
              addAutoCommentForFavorite();
          }
		}, 'json');
    }
	//------ END FUN - checkAutoCommentForFavorite --------
	
	//------ START FUN - addAutoCommentForRating --------
	function addAutoCommentForRating() {
		if(isRatingDone == false || isCommunityPage == false){
			return false;
		}
		var text = ''; 
		
		if(isRatingDone == true){
			text = 'Fine work ! <img src="http://megashot.net/sbushinskii/mvc/imgs/pp/rate-red-icon.png" width="32" height="18"/>';    	
    	}
		
    	var milisec = new Date().getMilliseconds();
    	var image_id = document.getElementById('hidden_image_id').value;
    	var url =  siteUrl+"addImageComment?_dc="+milisec;
		var idVal = image_id;
		
		//--------- START CODE - insert community link -------		
		var insertCommunityLinkStr 	= insertCommunityLink();
		text = text + insertCommunityLinkStr;			
		if(isCommunityPage == true){
			var communityId  = CommunityPageArr['communityId'];		
		}
		//--------- END CODE - insert community link -------
		
		var commentVal = text;
		var params = {};
		params['id'] = idVal;
		params['comment'] = commentVal;
		if(isCommunityPage == true) {
		    params['community_id'] = communityId;			
		}
		
		var isPrivate = false;
		var is_rating_comment  = true;
		
		params['private'] = isPrivate;
		params['is_rating_comment'] = is_rating_comment;
		
		jQuery.post(url, params, addPostOnComplete, 'json');
    }
	//------ END FUN - addAutoCommentForRating --------
	
	//------ START FUN - checkAutoCommentForRating --------
	function checkAutoCommentForRating(){
    	
		if(isRatingDone == false || isCommunityPage == false){
			return false;
		}	
		
    	var milisec = new Date().getMilliseconds();
    	var image_id = document.getElementById('hidden_image_id').value;
    	var url =  siteUrl + "checkImageRatingComment?_dc=" + milisec;
		var idVal = image_id;
		var type = 2;		
		
		var params = {};
		params['id'] = idVal;
		params['type'] = type;
	    
		jQuery.post(url, params, function(json) {
            var success             = json.success;
            var checkImageType      = json.checkImageType;
            var checkImageDataCount = json.checkImageDataCount;
            
            if(checkImageDataCount == 0) {
                addAutoCommentForRating();
            }          
         }, 'json');
    }
	//------ END FUN - checkAutoCommentForRating --------
	
    function removeElementChildren(elementId) {
  	  var parent = document.getElementById(elementId);
	  if(!parent) return;
    	if (parent.hasChildNodes()){
		    while (parent.childNodes.length >= 1 )
		    {
		        parent.removeChild(parent.firstChild );       
		    } 
		}
    }
	
    function fireAfterCommentLoadEvent() {
		if(window['afterCommentLoadEvent']) {
			window['afterCommentLoadEvent']();
			window['afterCommentLoadEvent'] = false;
		}
	}
	
    function addSinglePostOnComplete(json) {

		addPostOnComplete(json);
		window['afterCommentLoadEvent'] = function (){
			jQuery('#div2').hide();
			jQuery('#div1').slideDown('normal', function() {
				jQuery('html,body').scrollTop(jQuery('#photoSection .photoComment:last').offset().top);

			});
			jQuery('#span2').hide();		
		}
    }
    
    function showFormPost(isOutsider) {       
    	if(!isOutsider) {
    		var form = document.getElementById('commentPost');
 			form.style.display='block';
 		}
 		removeElementChildren('photoSectionSingle');
    }
    
    function hideFormPost(){
    	var form = document.getElementById('commentPost');
 		form.style.display='none';
    }
    
    function hideElement(elementId){
    	document.getElementById(elementId).style.display = 'none';
    }
    
    function isElementHidden(elementId){
    	if(document.getElementById(elementId).style.display=='none'){
    		return true;
    	} else {
    		return false;
    	}
    }
    
    function showElement(elementId){
    	document.getElementById(elementId).style.display = 'block';
    }
    
    function addPostOnComplete(json){
    	loadAllComments();
    	return false;
    }
    
     var loadAllComments = function(isOutside) {
        var image_id = document.getElementById('hidden_image_id').value;
		var milisec = new Date().getMilliseconds();
    	var url =  siteUrl+"loadAllComments?_dc="+milisec;
    	
		var params = {};
		params['id'] = image_id;
		jQuery.post(url, params, onLoadAllComments, 'json');
    };
    
	//------ START VAR - totalCommentCount -------
	var totalCommentCount = 0;
	//------ END VAR - totalCommentCount -------
	
    function onLoadAllComments(json) {
		__commentsData = json;
		var comments = json.comments;
    	var commentCount = json.countComments;
		removeElementChildren('commentCounter');
		var counter = document.createTextNode(commentCount + ' Comments');
		document.getElementById('commentCounter').appendChild(counter);

    	totalCommentCount = commentCount;

    	removeElementChildren('photoSection');
    	if(comments==false) {
			return true;
		}
    	var container = jQuery('#photoSection');
    	var spanText = document.getElementById('commentAvatarDropdownTemplate');
    	
		//------- START VAR - temp variables ---------
		var image_id = jQuery('#hidden_image_id').val();
		//------- END VAR - temp variables ---------	
		
		var inc = 0;
		for(var i=0; i<commentCount;i++) {
		//------- START VAR - temp variables ---------
			var idnum 		= comments[i].id;
			var userName 	= comments[i].userName;
			var screenName	= comments[i].screen_name;
			var userId = comments[i].user_id;
			var networkStatus = comments[i].networkStatus;
			var photoId 	= 'photo_'+idnum;
			var tabId 		= 'tab'+idnum;
			var imgId 		= 'img'+idnum;
			var imgBorder 	= 'imgBorder'+idnum;
			var windowId 	= 'window'+idnum;
			var hiddenPhotoVal  = '';
			var editText	= 'Edit';
			var delText		= 'Delete';
			var edit		= comments[i].isEdit;
			var del			= comments[i].isDelete;
			var commentTextId = 'spanText_'+idnum;
			var textareaId 	  = 'textarea_'+idnum;
			var commentEditId = 'commentEdit_'+idnum;
			//------- END VAR - temp variables ---------

			//------- START VAR - temp variables ---------
			var spanTextHtml = spanText.innerHTML;
			spanTextHtml = spanTextHtml.split('#tabId#').join(tabId);
			spanTextHtml = spanTextHtml.split('#imgId#').join(imgId);
			spanTextHtml = spanTextHtml.split('#imgBorder#').join(imgId);
			spanTextHtml = spanTextHtml.split('#windowId#').join(windowId);
			spanTextHtml = spanTextHtml.split('#id#').join(idnum);
			spanTextHtml = spanTextHtml.split('#userId#').join(userId);
			spanTextHtml = spanTextHtml.split('#username#').join(userName);
			spanTextHtml = spanTextHtml.split('#contactValue#').join(networkStatus.contact.value);
			spanTextHtml = spanTextHtml.split('#familyValue#').join(networkStatus.family.value);
			spanTextHtml = spanTextHtml.split('#friendValue#').join(networkStatus.friend.value);
			spanTextHtml = spanTextHtml.split('#contactClass#').join(networkStatus.contact.radio_class);
			spanTextHtml = spanTextHtml.split('#familyClass#').join(networkStatus.family.radio_class);
			spanTextHtml = spanTextHtml.split('#friendClass#').join(networkStatus.friend.radio_class);
			spanTextHtml = spanTextHtml.split('#screenName#').join(screenName);
			//------- END VAR - temp variables ---------

			//---- START ELEMENT - href field ---------
			var focusElement;
			if(i == (commentCount - 1)) {
				focusElement = jQuery('<a name="focus">');				
			} else {
				focusElement = false;
			}
			//---- START ELEMENT - href field ---------

			//---- START ELEMENT - div field ---------
			var photoComment = jQuery('<div id="' + photoId + '" class="photoComment"></div>');
			//---- START ELEMENT - div field ---------

			//---- START ELEMENT - href and img field ---------
			var href = jQuery('<a href="javascript:void(0);" class="avatarPhoto"></a>');
			
			var img1 = jQuery('<img src="' + comments[i].avatar + '" alt="logo" id="' + imgId + '"/>');
			if(userId > 0) {
				img1.get(0).setAttribute("onclick", "startAni('show','"+imgId+"','"+imgBorder+"','"+windowId+"','"+idnum+"');");
			}

			href.append(img1);
			photoComment.append(href);
			//---- START ELEMENT - href and img field ---------

			//---- START ELEMENT - div,href and img field ---------
			var commentPost_ = jQuery('<div class="commentPost">');
			
			href = jQuery('<a href="#"></a>');
			//---- START ELEMENT - div,href and img field ---------

			//---- START ELEMENT - span and div field ---------
			var commentName = jQuery('<span class="commentName"></span>');
			var userName = comments[i].userName;
			userName = (!userName || userName == 'null') ? 'Unknown' : userName;
			var text = userName + (comments[i].fb_user_id > 0 ? ' / facebook.com' : '' );

			if(comments[i].isPrivate == 1 || comments[i].critique == 1) {
				var privateDiv = jQuery('<div style="text-align:center; margin-left: 0px; z-index: 1000">');
				if(comments[i].critique == 1) {
					var critiqueLink = '<a href="/sbushinskii/mvc/index.php?module=critique&action=list&photo=' + image_id + '#photo' + image_id + '" class="commentName">Critique</a>';
					privateDiv.html(critiqueLink);
				} else {
					privateDiv.html('Private Comment');
				}
				commentName.text(text);
				commentName.append(privateDiv);
			} else {
				commentName.text(text);
			}
			//---- START ELEMENT - span and div field ---------

			//---- START ELEMENT - span field ---------
			var commentDate = jQuery('<span class="commentDate"></span>');
			commentDate.text(comments[i].commentPost);
			//---- START ELEMENT - span field ---------

			//---- START ELEMENT - span field ---------
			var editSpan = jQuery('<span id="' + commentEditId + '" class="commentEdit" style="cursor:pointer;"></span>');
			editSpan.get(0).setAttribute("onclick","editComment('"+image_id+"','"+idnum+"','"+photoId+"','"+commentEditId+"','"+commentTextId+"','commentbox','commentbutton');");
			editSpan.text(editText);
			//---- START ELEMENT - span field ---------

			//---- START ELEMENT - span field ---------
			var deleteSpan = jQuery('<span class="commentDelete" style="cursor:pointer;"></span>');
			deleteSpan.get(0).setAttribute("onclick","deleteComment('"+image_id+"','"+idnum+"','"+photoId+"');");
			deleteSpan.text(delText);
			//---- START ELEMENT - span field ---------

			//---- START ELEMENT - span field ---------
			var commentText = jQuery('<span id="' + commentTextId + '" class="commentText"></span>');

			commentText.text(comments[i].text);
			commentText.append(href);
			//---- START ELEMENT - span field ---------

			commentPost_.append(commentName);
			commentPost_.append(commentDate);
			commentPost_.append(commentText);
			if(edit == true) {
				commentPost_.append(editSpan);
			}
			if(del == true) {
				commentPost_.append(deleteSpan);
			}

			//---- START ELEMENT - hidden field ---------
			var el2 = jQuery('<input type="hidden" name="hiddenPhoto_' + idnum + '" id="hiddenPhoto_' + idnum + '"/>');
			el2.val(hiddenPhotoVal);
			
			photoComment.append(el2);
			//---- END ELEMENT - hidden field ---------

			photoComment.append(commentPost_);
			photoComment.append(href);
			if(focusElement){
				container.append(focusElement);
			}
			
			container.append(photoComment);

			var commentData = comments[i].text;
			commentData	= commentData.split('commentPost').join('replycomment');
			commentData	= commentData.split('&lt;br/&gt;').join('<br/>');
			commentData	= commentData.replace(/\n/g, "<br>");
			jQuery('#' + commentTextId).html(commentData);
			displayInvitationsToCommunity(comments[i].invitations, jQuery('#' + commentTextId), isOwner);
			displayMegaShotIcon(comments[i], jQuery('#' + commentTextId));
			
			jQuery('#' + photoId).append(spanTextHtml);
			inc++;
		}
		initialiseYoutubeFancybox();
        initialiseMegamailFancybox();
		fireAfterCommentLoadEvent();
    }
	
function displayMegaShotIcon(comment, commentElement) {
	if(comment.is_mega_comment != 1) return;
	if(!comment.exploreMegashotWinDate) return;
	var commentsMeritBlock = jQuery('<div class="commentsMerit">');
	var icon = jQuery('<div class="classicIcons megashotAwardIcon">');
	var text = jQuery('<div class="commentsMeritText commentText">');
	text.html('Mega Shot Of The Week<br/>' + comment.exploreMegashotWinDate);
	commentsMeritBlock.append(icon);
	commentsMeritBlock.append(text);
	commentElement.after(commentsMeritBlock);
}
 
  function send2Header() {
	var image_id = document.getElementById('hidden_image_id').value;
	var ctype = document.getElementById('ctype').value;
	
	var milisec = new Date().getMilliseconds();
    var url =  siteUrl + "sendtoheader?_dc=" + milisec;
	
  	var params = {};
  	params['image_id'] = image_id;
	var newCtype = (ctype == '1') ? '0' : '1';
	params['ctype'] = newCtype;
	jQuery.post(url, params, function() {
		if(ctype == '1') {
			jQuery('#sendheadertxt').html('Send to header');
			jQuery('#ctype').val('0');
			showSimpleAlert("Image removed successfully from header");
		} else {
			jQuery('#sendheadertxt').html('Remove from header');
			jQuery('#ctype').val('1');
			showSimpleAlert("Image sent successfully to header");
		}
	}, 'text');
  }
  
	function sendToCritiqueForum() {
		var image_id = jQuery('#hidden_image_id').val();
		var url = '/sbushinskii/mvc/index.php?module=critique&action=send';

		var params = {};
		params['image_id'] = image_id;
		jQuery.post(url, params, function(data) {
			if(data.in_critique) {
				jQuery('#menu7').html('Remove from Critique');
				var text = '<div style="font-weight: normal; text-align: left">In providing a critique, we suggest that you first, point out what has been done right and suggest ways for improvements.  We also believe that providing an honest feedback ';
				text += 'is as important in the learning process. So, please, do not just submit your photo and run away. A critique does not have to be very long, sometimes, honest phrases such as ';
				text += '“I like the exposure” will go a long way..<br/><br/><br/>';
				text += '<a href="http://megashot.net/sbushinskii/mvc/index.php?module=critique&action=list" style="color:#f39229; padding:0px 30px">Take me to the Critique corner!</a><br/>'
				text += '<a href="javascript:void(0)" onclick="hideSimplePopupDialog()" style="color:#f39229; padding:0px 30px">Will visit the critique corner later</a></div>';
				showSimpleAlert(text, {
					height: 'auto',
					width: 400,
					autoCloseTime: 0
				});
			} else {
				jQuery('#menu7').html('Send to Critique');				
				showSimpleAlert("Image removed successfully from Critique Forum");
			}
		}, 'json');
	}
 
 function onCheckSendImage2Community(json, onSuccessHandler){
 	var isPublic = json.privacy_ready;
 	var isInCommunity = json.status;
 	
 	if(isInCommunity) {
 		showSimpleAlert('Image already in community');
 		return false;
 	}
 	var res = true;
 	if(!isPublic) {
 		res = confirm('Your image has a PRIVATE status.\n'+'If you will send it to a commuity image view permissions will be changed to PUBLIC.\n'+'Continue?');	
 	}
 	
 	if(!res) {
 		return false;
 	}
 	var image_id = document.getElementById('hidden_image_id').value;
 	var communityId = json.communityId; 
 	
 	var link = siteUrl + "sendImageToCommunity";
 	
 	var params = {'communityId': communityId, 'image_id': image_id};
  	jQuery.post(link, params, function (data) {
  		refreshTags({}, data);
  		onSuccessHandler();
  	}, "json");
 }
 
 function removeFromCommunity(communityId) {
	 if(jQuery('#comunityListItem' + communityId).get[0] && !jQuery('#comunityListItem' + communityId).hasClass('alreadyExists')) return;
	 jQuery('#community-window-spinner').slideDown();
	 var link = siteUrl + removeFromCommunityURL;
	 var imageId = document.getElementById('hidden_image_id').value;
	 var params = {'communityId': communityId};
	 jQuery.post(link, params, function (data) {
		 if(data.success) {
			 jQuery('#comunityListItem' + communityId).removeClass('alreadyExists');
			 jQuery('#communityTag' + communityId).remove();
		 }
		 showSimpleAlert(data.status);
		 jQuery('#community-window-spinner').slideUp();		 
	 }, "json");
 }

function sendToContest(categoryId) {
	var imageId = document.getElementById('hidden_image_id').value;
	var url = '/sbushinskii/mvc/index.php?module=ajax&action=checkSendImageToContest';
	var params = {};
	params['categoryId'] = categoryId;
	params['imageId'] = imageId;
	jQuery.ajax({
	  type: 'POST',
	  url: url,
	  data: params,
	  async: false,
	  success: function(data) {
		if(data.success) {
			var link = contestPageURL + "&catId=" + categoryId + "&imageId=" + imageId;
			popUp2(link);
		} else {
			if(data.reason == 'ALREADY_EXIST') {
				alreadyInContext(categoryId);
				return;
			}
			showSimpleAlert(data.message);
		}
	  },
	  dataType: 'json'
	});
}
function removeFromContest (categoryId) {
	hideSimplePopupDialog();
	if(!confirm('Do you really want to remove this image from contest?')) return;
	
	var imageId = jQuery('#hidden_image_id').val();
	var url = '/sbushinskii/mvc/index.php?module=ajax&action=removeFromContest';
	var params = {};
	params['categoryId'] = categoryId;
	params['imageId'] = imageId;
	jQuery.post(url, params, function(data) {
		showSimpleAlert('Image was succesfully removed from contest');
	}, 'json');
}
 
 function alreadyInContext(categoryId) {
	var text = '<div style="font-weight: normal;">Sorry, this photo already exists in this contest category.<br/> <br/>';
	text += 'Would you like to remove it from this category? If you remove, all Contest points will be removed too, but you can enter it to this category again<br/><br/></div>';
	text += '<a href="javascript:void(0)" onclick="removeFromContest(' + categoryId + ')" style="color:#f39229; padding:0px 30px">Remove it!</a><a href="javascript:void(0)" onclick="hideSimplePopupDialog()" style="color:#f39229; padding:0px 30px">Cancel</a>';
	showSimpleAlert(text, {
		height: 'auto',
		width: 400,
		autoCloseTime: 0
	});
	return false;
 }
 
function sendToImageLink() { 
  	var image_id = document.getElementById('hidden_image_id').value;
 	var link = "http://megashot.net/sbushinskii/mvc/index.php?module=user&action=image_link_pp"+"&imageId="+image_id;
 	popUp2(link);
}

function removeFromExplore(categoryId) {
	hideSimplePopupDialog();
	if(!confirm('Do you really want to remove this image from explore?')) return;
	
	var imageId = jQuery('#hidden_image_id').val();
	var url = '/sbushinskii/mvc/index.php?module=ajax&action=removeFromExplore';
	var params = {};
	params['categoryId'] = categoryId;
	params['imageId'] = imageId;
	
	jQuery.post(url, params, function(data) {
		showSimpleAlert('Image was succesfully removed from explore');
	}, 'json');
}

function requestReviewExplore(categoryId) {
	hideSimplePopupDialog();
	if(!confirm('Do you really want to send this image rating review?')) return;

	var imageId = jQuery('#hidden_image_id').val();
	var url = '/sbushinskii/mvc/index.php?module=ajax&action=sendToExploreRatingReview';
	var params = {};
	params['categoryId'] = categoryId;
	params['imageId'] = imageId;

	jQuery.post(url, params, function(data) {
		if(data.status == 'ALREADY_SENT') {
			showSimpleAlert('This photo is in the review process');
			return;
		}
		showSimpleAlert('Image was successfully sent to rating review');
	}, 'json');
}

function imageAlreadyInExplore(categoryId) {
	var text = '<div class="alreadyInExplorePopup">Sorry, this photo already exists in this explore category.<ul>';
	text += '<li><a href="javascript:void(0)" onclick="removeFromExplore(' + categoryId + ')" class="remove">Remove from this category</a></li>';
	text += '<li><a href="javascript:void(0)" onclick="requestReviewExplore(' + categoryId + ')" class="review">Request an Explore rating review</a></li>';
	text += '<li><a href="javascript:void(0)" onclick="hideSimplePopupDialog()" class="cancel">Cancel</a></li>';
	text += '</div>';
	showSimpleAlert(text, {
		height: 'auto',
		width: 400,
		autoCloseTime: 0
	});
}

function isImageInCategory(categoryId) {
	var imageId = jQuery('#hidden_image_id').val();
	var url = '/sbushinskii/mvc/index.php?module=ajax&action=isImageInExplore';
	var params = {};
	params['categoryId'] = categoryId;
	params['imageId'] = imageId;
	jQuery.ajax({
		type: 'POST',
		url: url,
		data: params,
		async: false,
		success: function(data) {
			if(!data.inExplore) {
				var link = imageToExploreURL + "&catId=" + categoryId + "&imageId=" + imageId;
				popUp2(link);
			} else {
				imageAlreadyInExplore(categoryId);
			}
		},
		dataType: 'json'
	});	
}

function onCheckImageInCategory(json){
	var status = json.status;
	if(status == 'existed') {
		showSimpleAlert('Image already in THIS category');
		return false;
	} else {
		var catId = json.catId;
		var fileId = json.fileId;
		var link = imageToExploreURL + "&catId=" + catId + "&imageId=" + fileId;				
	}
}

function get_object(id) {
	var object = null;
	if( document.layers )	{			
		object = document.layers[id];
	} else if( document.all ) {
		object = document.all[id];
	} else if( document.getElementById ) {
		object = document.getElementById(id);
	}
	return object;
}

function is_child_of(parent, child) {
	if( child != null ) {			
		while( child.parentNode ) {
			if( (child = child.parentNode) == parent ) {
				return true;
			}
		}
	}
	return false;
}

function fixOnMouseOut(element, event, JavaScript_code) {
	var current_mouse_target = null;
	if( event.toElement ) {				
		current_mouse_target = event.toElement;
	} else if( event.relatedTarget ) {				
		current_mouse_target = event.relatedTarget;
	}
	if( !is_child_of(element, current_mouse_target) && element != current_mouse_target ) {
		eval(JavaScript_code);
	}
}

function popUp(URL) {
	var title = "_blank";
	var id =0;
	var win_w, win_h;
	
	win_w = screen.availWidth;
	win_h = screen.availHeight;
	eval("page" + id + " = window.open(URL, '" + title + "', 'status=0,toolbar=0,menubar=0,resizable=0,dependent=0,scrollbars=yes, width=" + win_w + ", height=" + win_h + ",left=350,top=350');");
}

function popUp2(URL) {
	var title="_blank";
	
	eval("page0 = window.open(URL, '" + title + "', 'status=0,toolbar=0,menubar=0,resizable=0,dependent=0,fullscreen=yes,scrollbars=yes');");
}

function xlargeImageSizeWindow(imageUrl) {
	if(jQuery('#xlargeImageLink').hasClass('notexists')) return;
	var otherSizeWindow = window.open('', "_blank", 'status=0,toolbar=0,menubar=0,resizable=0,dependent=0,fullscreen=yes,scrollbars=yes');
	var content = jQuery('#otherImageSizePopup').html();
	content = content.split('##img_src##').join(imageUrl);	
	var html = "<html><head><title>Other size image</title><link href=\"/sbushinskii/mvc/css/pp/othersizepopup.css\" rel=\"stylesheet\" type=\"text/css\" /></head>" +
		"<body>" + content + "</body></html>";	
	otherSizeWindow.document.open();
	otherSizeWindow.document.write(html);
	otherSizeWindow.document.close();
	otherSizeWindow.document.body.focus();
}

function showOtherImageSize(imageUrl, elId) {
	if(jQuery('#' + elId).hasClass('notexists')) return;
	if(!jQuery('#' + elId).hasClass('inactive')) return;	
	var oldImg = new Image();
	var oldImageEl = jQuery('#demo-run');
	oldImg.src = oldImageEl.get(0).src;

	var newImg = new Image();
	var effectTime = 700;
	newImg.onload = function() {
		location.href = '#toppp';
		var newImageEl = jQuery('<img src="' + imageUrl +'"/>');
		newImageEl.addClass('demo-run-new');
		oldImageEl.width(oldImg.width);
		newImageEl.width(oldImg.width);
		oldImageEl.after(newImageEl);
		oldImageEl.animate({'width' : newImg.width}, effectTime).fadeOut(effectTime, function() {			
			newImageEl.removeClass('demo-run-new');
			oldImageEl.remove();
			newImageEl.get(0).id = 'demo-run';
		});
		newImageEl.animate({'width' : newImg.width}, effectTime).fadeIn();
		var newPanelWidth = newImg.width + 49;
		newPanelWidth = (newPanelWidth >= 490) ? newPanelWidth : 490;
		jQuery('#image-frame').animate({'width': newPanelWidth}, effectTime); //Magic number from template
	};
	
	newImg.src = imageUrl;

	if(elId == 'mediumImageLink') {
		jQuery('#largeImageLink').addClass('inactive');
		jQuery('#mediumImageLink').removeClass('inactive');
	} else {
		jQuery('#largeImageLink').removeClass('inactive');
		jQuery('#mediumImageLink').addClass('inactive');		
	}
}

function addUserCommunity(element) {		
		
		var elId			= element.id;		
		var hiddenCommunityId = jQuery('#hiddenCommunityId').val();
		changeEffect(elId,1,hiddenCommunityId);
		jQuery('#hiddenCommunityId').val(elId);
		
		var container = document.getElementById('inviteUserCommunitySection');    	
		var hiddenComm 		= jQuery('#hiddenComm_'+elId).val();		
		var hiddenCommArr	= hiddenComm.split('##');	
		
		var elementId 		= 'addedNewInviteComm_' + hiddenCommArr[0];	
		var elementIdExist  = document.getElementById(elementId);
		
		//------ START ARRAY PUSH - collect selected communities ------
		if(hiddenCommArr[0]!=''){
			getActiveInvitationToCommunityList().push(hiddenCommArr[0]);
		}
		//------ END ARRAY PUSH - collect selected communities ------
		
		//----------- START FUN - addCommunity ----------
		var addCommunityId = addCommunity(hiddenCommArr[0],hiddenCommArr[1],hiddenCommArr[2],hiddenCommArr[3],hiddenCommArr[4],0);
		//----------- END FUN - addCommunity ----------
		
		//----------- START FUN - getCommunityHtml ----------
		getCommunityHtml(addCommunityId);
		//----------- END FUN - getCommunityHtml ----------
		
		//---- START ELEMENT - hidden field ---------
		//---- END ELEMENT - hidden field ---------
}
//----------- END FUN - addUserCommunity ----------

//-------- START FUN - changeEffect add effect to element --------------
var changeEffect = function (id,val,previousGallery){
	
	if(val==1){
		 jQuery('#' + id).css({background: "#A27F43"});		 
	}
}
//-------- END FUN - changeEffect add effect to element --------------


//----------- START FUN - inviteCommunitiesList ----------
function inviteCommunitiesList() {
		
		var image_id = document.getElementById("hidden_image_id").value;
		
		var params = {};
		params['image_id'] = image_id;
		
		var milisec = new Date().getMilliseconds();
		var url =  siteUrl+"listInviteCommunities?_dc="+milisec;
		
		jQuery.post(url, params, function(json) {
          var commList = json.commList;
          var commListCount = commList.length;

          var inc = 1;
          for(var i=0; i<commListCount;i++){
              var communityId         = commList[i].community_id;                         
              var communityname       = commList[i].communityname;
              var community_banner    = commList[i].community_banner;
              var thumb               = commList[i].community_banner;
              var rules               = commList[i].rules;
              
              //------ START ARRAY PUSH - collect selected communities ------
              if(communityId!='') {
                  getActiveInvitationToCommunityList().push(communityId);
              }
              //------ END ARRAY PUSH - collect selected communities ------
              
              //----------- START FUN - addCommunity ----------
              addCommunity(communityId,communityname,community_banner,thumb,rules,1);
              //----------- END FUN - addCommunity ----------
              
          }
          return false;
		} ,'json');			
		return false;
}
//----------- END FUN - inviteCommunitiesList ----------

//----------- START FUN - inviteUserCommunitiesList ----------
function inviteUserCommunitiesList() {		
		var image_id = document.getElementById("hidden_image_id").value;
		
		var params = {};
		params['image_id'] = image_id;
		
		var milisec = new Date().getMilliseconds();
		var url =  siteUrl+"listUserInviteCommunities?_dc="+milisec;	
		jQuery.post(url, params, function(json) {
            var commList = json.commList;
            var commListCount = commList.length;
          
            var inc = 1;
            for(var i=0; i<commListCount;i++){
              var communityId         = commList[i].community_id;                         
              var communityname       = commList[i].communityname;
              var community_banner    = commList[i].community_banner;
              var thumb               = commList[i].community_banner;
              var rules               = commList[i].rules;
              
              //------ START ARRAY PUSH - collect selected communities ------
              if(communityId!=''){
                  getActiveInvitationToCommunityList().push(communityId);
              }
              //------ END ARRAY PUSH - collect selected communities ------
              var rules ='';
              //----------- START FUN - addCommunity ----------
              addCommunity(communityId,communityname,community_banner,thumb,rules,1);
              //----------- END FUN - addCommunity ----------
          }
          return false;
		},'json');			
		return false;
}
//----------- END FUN - inviteUserCommunitiesList ----------

//----------- START FUN - addCommunity ----------
//--- START ARRAY - selectedInviteCommDiv ---
var selectedInviteCommDiv = new Array();
//--- START FUN - selectedInviteCommDiv ---

function addCommunity(communityId,communityname,community_banner,thumb,rules,display) {
	var container = document.getElementById('inviteUserCommunitySection'); 
		
	var elementId 		= 'addedNewInviteComm_'+communityId;
	var elementname 	= 'Please add this image to';		
	var elementbanner 	= community_banner;		
	var elementhumb 	= thumb;
	var elementHTML 	= communityname;
	var commLogoId		= 'commLogo_'+communityId;
	var dropDownDivID 	= 'dropDownDiv_'+communityId;
	var commRulesText 	= communityname+' Rules';
	var rulesId			= 'rules_'+communityId;
	var rulesText 		= rules;
	
	//------ START ARRAY PUSH - collect selected communities div ------
	if(communityId!=''){
		selectedInviteCommDiv.push(elementId);
	}
	//------ END ARRAY PUSH - collect selected communities div ------	
		
	//---- START ELEMENT - div field ---------
	var photoComment = document.createElement('div');
	photoComment.id = elementId;
	photoComment.setAttribute("class","photoComment");
	
	if(display =='1'){
		photoComment.style.display = 'block';
	} else {
		photoComment.style.display = 'none';
	}
		
	//---- START EFFECT - div field ---------
	animatedcollapse.addDiv(dropDownDivID, 'fade=3,speed=300,hide=1')
	//---- END EFFECT - div field ---------
		
	//---- START ELEMENT - href and img  field ---------
	var href = document.createElement('a');
	href.id = commLogoId;		
	href.setAttribute("href","javascript:addAnimateEffect('"+dropDownDivID+"');");
	href.setAttribute("class","inviteUserComm");
		
	var img1 = document.createElement("img");
	img1.setAttribute("src",elementhumb);
	img1.setAttribute("alt","logo");
		
	href.appendChild(img1);	
	photoComment.appendChild(href);
	//---- START ELEMENT - href and img field ---------
		
	//---- START ELEMENT - div field ---------
	var commentPost_ = document.createElement('div');	
	commentPost_.setAttribute("class","replycomment");
	//---- START ELEMENT - div field ---------
		
	//---- START ELEMENT - span field ---------
	var commentName = document.createElement('span');
	commentName.setAttribute("class","commentName");
	var text = document.createTextNode(elementname);
	commentName.appendChild(text);
	//---- START ELEMENT - span field ---------
	
	//---- START ELEMENT - span field ---------
	var commentText = document.createElement('span');
	commentText.setAttribute("class","commentText");
	var text = document.createTextNode(elementHTML);
	commentText.appendChild(text);	
	//---- START ELEMENT - span field ---------
		
	//---- START ELEMENT - div field ---------
	var dropDownDiv = document.createElement('div');	
	dropDownDiv.id 	= dropDownDivID;
	dropDownDiv.setAttribute("class","replycomment");
	dropDownDiv.setAttribute("style", "display:none;border: 1px solid ; margin: 15px;");
	//---- START ELEMENT - div field ---------
		
	//---- START ELEMENT - span field ---------
	var commRules = document.createElement('span');
	commRules.setAttribute("class","commentName");
	commRules.setAttribute("style","font-size: 16px; font-weight: bold;margin: 20px;");
	var text = document.createTextNode(commRulesText);
	commRules.appendChild(text);
	//---- START ELEMENT - span field ---------
		
	//---- START ELEMENT - span field ---------
	var rulesSpan = document.createElement('span');
	rulesSpan.setAttribute("id",rulesId);
	rulesSpan.setAttribute("class","commentText");
	rulesSpan.setAttribute("style","font-size: 16px; font-weight: bold;margin: 20px;");
	var text = document.createTextNode(rulesText);
	rulesSpan.appendChild(text);	
	//---- START ELEMENT - span field ---------
	
	//---- START ELEMENT - div field ---------
	var linksDiv = document.createElement('div');
	linksDiv.setAttribute("style","width:200px;height:30px;margin:0 auto;");
	//---- END ELEMENT - div field ---------
	
	//---- START ELEMENT - href field ---------
	var addhref = document.createElement('a');
	addhref.setAttribute("href", "javascript:addtoCommunityPool('"+dropDownDivID+"','"+commLogoId+"');");
	addhref.setAttribute("class"," ");
	addhref.setAttribute("style","font-size: 16px; font-weight: bold;margin: 20px;text-decoration: none;");
	var text = document.createTextNode('Add');
	addhref.appendChild(text);	
	//---- START ELEMENT - href field ---------
	
	//---- START ELEMENT - href field ---------
	var cancelhref = document.createElement('a');
	cancelhref.setAttribute("href","javascript:addAnimateEffect('"+dropDownDivID+"');");
	cancelhref.setAttribute("class"," ");
	cancelhref.setAttribute("style","font-size: 16px; font-weight: bold;margin: 20px;text-decoration: none;");
	var text = document.createTextNode('Cancel');
	cancelhref.appendChild(text);	
	//---- START ELEMENT - href field ---------
	
	commentPost_.appendChild(commentName);
	commentPost_.appendChild(commentText);
	
	linksDiv.appendChild(addhref);
	linksDiv.appendChild(cancelhref);
	
	dropDownDiv.appendChild(commRules);
	dropDownDiv.appendChild(rulesSpan);
	dropDownDiv.appendChild(linksDiv);
	
	photoComment.appendChild(commentPost_);			
	photoComment.appendChild(dropDownDiv);			
	container.appendChild(photoComment);
	document.getElementById(rulesId).innerHTML = rulesText;
	return elementId;					
}
//----------- END FUN - addCommunity ----------

//----------- START FUN - getCommunityHtml ----------
function getCommunityHtml(commDiv){
	var divHtml = document.getElementById(commDiv).innerHTML;
	var returnHtml 	= ' <div class="photoComment" >' + divHtml + '</div> ';
	getActiveCommentBox().val(getActiveCommentBox().val() + returnHtml);
	jQuery('#' + commDiv).remove();
}
//----------- END FUN - getCommunityHtml ----------

//----------- START FUN - isInviteCommunity ----------

//--- START VAR - isCommunitySel ---
var isCommunitySel = 0;
var inviteToCommunityRequestInProcess = false;

//--- END VAR - isCommunitySel ---
function isInviteCommunity(element) {
		var image_id = document.getElementById("hidden_image_id").value;
		var communityId =  element.id.split('_');
		communityId = communityId[2];
		
		//------ START CHECK - image exist in communiy pool --------------
		var milisec = new Date().getMilliseconds();
		var url = siteUrl + "checkImageInCommunity?_dc=" + milisec;		
		var params = {'communityId': communityId, 'image_id': image_id};
                if(getActiveCommentBox().val().indexOf("javascript:addtoCommunityPool('dropDownDiv_" + communityId + "','commLogo_" + communityId + "')") > -1) return;
		if(inviteToCommunityRequestInProcess) return;
		inviteToCommunityRequestInProcess = true;
                jQuery.post(url, params, function(json) {
                    inviteToCommunityRequestInProcess = false;
                    var isPublic = json.privacy_ready;
                    var isInCommunity = json.status;
                    if(isInCommunity){
                        jQuery('#' + element.id).css({
                                background: "#8A857F",
                                color: "#000000"
                        });
                        jQuery('#hiddenCommunityId').val(0);
                        showSimpleAlert('This image already in community');
                        return false;
                    }
                    var res = true;
                    if(!isPublic) {
                            res = confirm('Your image has a PRIVATE status.\n'+'If you will send it to a commuity image view permissions will be changed to PUBLIC.\n'+'Continue?');
                    }
                    if(!res){
                        jQuery('#' + element.id).css({
                                    background: "#8A857F",
                                    color: "#000000"
                            });
                        jQuery('#hiddenCommunityId').val(0);
                            return false;
                    }
                    //------ START CHECK - image invitaion to community exist --------------
                    var url =  siteUrl + "isInviteCommunity?_dc=" + milisec;
                    jQuery.post(url, params, function(json){
                        var success         = json.success;
                        var community_id    = json.community_id;
                        inviteToCommunityRequestInProcess = false;
                  
                        if(community_id == 0 ){
                          if(isCommunitySel == 0){
                              addUserCommunity(element);
                          }
                        }else{
                          jQuery('#' + element.id).css({
                              background: "#8A857F",
                              color: "#000000"
                          });
                          jQuery('#hiddenCommunityId').val(0);
                        }
                        return false;
                     } ,'json');
                    //------ END CHECK - image invitaion to community exist --------------
                    return false;
               }, "json");
		//------ END CHECK - image exist in communiy pool --------------		
            return false;
}
//--- START VAR - communityUrl ---
var communityUrl = 'http://megashot.net/sbushinskii/mvc/index.php?module=users&action=showCommunityPool&id=';
//--- END VAR - communityUrl ---
//--- START VAR - delaySec ---
var delaySec = 0;
//--- END VAR - delaySec ---

function addAnimateEffect(dropDownDiv) {	
	var communityId = dropDownDiv.split('_');
	var image_id = document.getElementById("hidden_image_id").value;
	var params = {};
	params['image_id'] = image_id;
	params['communityId'] = communityId[1];
		
	var milisec = new Date().getMilliseconds();
	var url = siteUrl + "checkImageInCommunity?_dc=" + milisec;			
	
	if(isOwner == true) {
	    jQuery('#' + dropDownDiv).slideToggle();			
	} else {						
		location.href = communityUrl + communityId[1];
	}	
}

//----------- START FUN - addtoCommunityPool ----------
function addtoCommunityPool(dropDownDiv, commLogoId) {
	if(!isOwner == true) {
		showSimpleAlert('You are not the owner');
		return;
	}
	
	var communityId = dropDownDiv.split('_');
	
	acceptInvitationToCommunity(communityId[1], function() {
		jQuery('#rules_' + communityId[1]).html(status);
		jQuery('#' + commLogoId).attr('href', communityUrl + communityId[1]);
		showSimpleAlert('Photo was succesfully added to community');
		jQuery('#' + dropDownDiv).slideUp();
	});
}
//----------- END FUN - addtoCommunityPool ----------

//----------- START FUN - clearCommentboxes ----------
function clearCommentboxes() {		
	jQuery('#commentbox').val('');	
	jQuery('#commentbox2').val('');
}
//----------- END FUN - clearCommentboxes ----------

//----------- START FUN - getAjaxRating ----------
function getAjaxRating(){
	var image_id = document.getElementById("hidden_image_id").value;
	
	var params = {};
	params['image_id'] = image_id;
	
	var milisec = new Date().getMilliseconds();
	var url =  siteUrl + "getAjaxRating?_dc=" + milisec;
	jQuery.post(url, params, function(json) {
      var ratingArr = json.rating_arr;
      var avg_rating = json.avg_rating;               
      var avg_CatRatings = json.avg_CatRatings;
      var avg_ratings = json.avg_ratings;
      var ratingsQuantity = json.ratingsQuantity;
      jQuery('#avgRatingId').html(ratingsQuantity + '<strong> Ratings:</strong> '+ avg_ratings);
      jQuery.each(avg_CatRatings, function(i, raiting) {                  
          jQuery('#ratingBlock_' + raiting.category_id).html(raiting.avg_rating_value);
      });
      jQuery.each(ratingArr, function(i, raiting) {
          if(!raiting) return;
		  jQuery('#rateLink').removeClass('RateImglink').addClass('RedRateImglink');
          var ratingValue = raiting[0].rating_value;
          var categoryId = raiting[0].category_id;
          jQuery('#rateFactor_' + categoryId).val(ratingValue);
          jQuery('#rateDef_' + categoryId).children().html(ratingValue);
      });
	}, 'json');
}
//----------- START FUN - getAjaxRating ----------


//----------- START FUN - editComment ----------
function editComment(imageId, commentId, photoId, commentEditId, commentTextId, textareaId, commentbutton) {
	if(jQuery('#' + commentEditId).html() == 'Save') return true;
	innerChangeHtml(commentTextId, textareaId, 0);

	jQuery('#' + commentEditId).html('Save');
	setTimeout(function() {
		jQuery('#' + commentEditId).unbind('click').click(function() {
			saveComment(imageId, commentId, photoId, commentEditId, commentTextId, textareaId, commentbutton);
			return false;
		});
		jQuery('#' + commentbutton).val('Save Comment');
		jQuery('#' + commentbutton).unbind('click').click(function() {
			saveComment(imageId, commentId, photoId, commentEditId, commentTextId, textareaId, commentbutton);
			return false;
		});
	}, 500);	
	
	jQuery('#' + textareaId).scrollTop(0);
	jQuery('html,body').scrollTop(jQuery('#' + textareaId).offset().top);
	restoreInvitationDataToEdit(commentId);
}

//----------- END FUN - editComment ----------

//----------- START FUN - saveComment ----------
function saveComment(imageId, commentId, photoId, commentEditId, commentTextId, textareaId, commentbutton) {
	var image_id = jQuery("#hidden_image_id").val();
	var text = jQuery("#" + textareaId).val();
	if(text.length < 1 && getActiveInvitationToCommunityList().length == 0) {
		alert('THAT WILL NOT DO, YOU NEED TO ENTER A TEXT');
		return false;
	}
	
	var params = {};
	params['image_id'] = image_id;
	params['comment_id'] = commentId;			
	params['comment'] = text;	
	params['invite_communities[]'] = getActiveInvitationToCommunityList();
		
	var milisec = new Date().getMilliseconds();
	var url =  siteUrl + "editCommentPP?_dc=" + milisec;
	jQuery.post(url, params, function(json) {
	    innerChangeHtml(commentTextId, textareaId, 1);
        
        jQuery('#' + commentEditId).html('Edit');
        jQuery('#' + commentEditId).unbind('click').click(function() {
            editComment(imageId, commentId, photoId, commentEditId, commentTextId, textareaId, commentbutton);
        });  
  
        jQuery('#' + commentbutton).val('Add Comment');
        jQuery('#' + commentbutton).unbind('click').click(function() {
            postComment('commentbox');
        });
  
        jQuery('#' + textareaId).val('');
        jQuery('#' + photoId).scrollTop(0);
		clearInvitationToCommunity();
        loadAllComments();
	}, 'json');
}
//----------- END FUN - saveComment ----------

//----------- START FUN - innerChangeHtml ----------
function innerChangeHtml(commentTextId,textareaId,val) {
	var commentTextId = jQuery('#' + commentTextId);
	var textareaId    = jQuery('#' + textareaId);
	
	if(val == 0){
		textareaId.val(commentTextId.html().replace(/<br>/g,"\n"));
	}else if(val == 1){
		commentTextId.html(textareaId.val().replace(/\n/g,"<br>"));
	}
}
//----------- END FUN - innerChangeHtml ----------

//----------- START FUN - deleteComment ----------

//--- START VAR - confirmDeleteMsg ---
var confirmDeleteMsg = 'Are you want to delete this comment?';
//--- END VAR - confirmDeleteMsg ---

function deleteComment(imageId,commentId,photoId){	
	var res;
 	res = confirm(confirmDeleteMsg);	
 	
 	if(!res){
 		return false;
 	}	
	var image_id = jQuery("#hidden_image_id").val();
			
	var params = {};
	params['image_id'] = image_id;			
	params['comment_id'] = commentId;			
	
	var milisec = new Date().getMilliseconds();
	var url = siteUrl + "deleteCommentPP?_dc=" + milisec;
	jQuery.post(url, params, function(json){                          
          jQuery('#' + photoId).remove();
          changeCommentCounter(0);
    },'json');		
}
//----------- END FUN - deleteComment ----------

//----------- START FUN - changeCommentCounter ----------
function changeCommentCounter(val) {	
	var commentCounter = 'commentCounter';
	
	if(val == 1){
		totalCommentCount = totalCommentCount+1;
	}else{
		totalCommentCount = totalCommentCount-1;
	}	
	jQuery("#" + commentCounter).html(totalCommentCount + ' Comments');
}
//----------- END FUN - changeCommentCounter ----------

//----------- START FUN - changeDisplay ----------
function changeDisplay(commentTextId,textareaId,val){	
	var commentTextId = jQuery('#' + commentTextId);
	var textareaId    = jQuery('#' + textareaId);
	if(val == 0){
		textareaId.css({display: "block"});
		commentTextId.css({display: "none"});
	} else {
		commentTextId.css({display: "block"});
		textareaId.css({display: "none"});
	}
}
//----------- END FUN - changeDisplay ----------

//----------- START FUN - getExifImageData ----------
function getExifImageData(commentTextId,textareaId,val){	
	
	var image_id = jQuery("#hidden_image_id").val();		
	
	var params = {};
	params['image_id'] = image_id;	
	
	var milisec = new Date().getMilliseconds();
	var url =  siteUrl+"getExifImageData?_dc="+milisec;
	jQuery.post(url, params, getExifImageDataProcess, 'json');
}
//----------- END FUN - getExifImageData ----------

//----------- START FUN - getExifImageDataProcess ----------
function getExifImageDataProcess(json){
	var success 			= json.success;
	var imageExifData 		= json.imageExifData;
	var imageExifDataCount  = json.imageExifDataCount;
	
	var str = "<li id='#tagId#'><span>#tagName#:</span>#text#</li>";
	
	var favHtml 	 = '';
	var favTotalHtml = '';
	
	if(success == true){
		for(var i=0; i<imageExifDataCount;i++){
			var id 		= imageExifData[i].id;
			var tagId 	= imageExifData[i].tagId;
			var tag 	= imageExifData[i].tag;
			var tagName = imageExifData[i].tagName;
			var text 	= imageExifData[i].text;
			
			
			favHtml = str;
			favHtml = favHtml.split('#tagId#').join(tagId);
			favHtml = favHtml.split('#tagName#').join(tagName);
			favHtml = favHtml.split('#text#').join(text);					
			
			favTotalHtml += favHtml;
		}
		
		jQuery('#ulImageExifDataId').html(favTotalHtml);	
	}
}
//----------- END FUN - getExifImageDataProcess ----------

function acceptInvitationToCommunity(communityId, onSuccessAction) {
	var image_id = document.getElementById("hidden_image_id").value;
	var milisec = new Date().getMilliseconds();
	var url =  siteUrl + "sendImageToCommunity?_dc=" + milisec;
	var params = {'communityId': communityId, 'image_id': image_id};

  	jQuery.post(url, params, function(json) {
  		var success = json.success;
		var status = json.status;
  		if(!success) {
  			showSimpleAlert(status);
  			return;
  		}
		refreshTags({}, json);

		onSuccessAction();
  	}, "json");
}
