function changeCursorPointer() {document.body.style.cursor="pointer";}
function changeCursorDefault() {document.body.style.cursor="default";}
function changeCursorNotAllowed() {document.body.style.cursor="not-allowed";}
// Get user may know list
function getUserMayKnowList(userId, numOfRecords) {
	$.ajax({
		url: "getUserMayKnowList.htm",
		data: "numOfRecords=" + numOfRecords,
		success: function(userMayKnowList) {
			$('#usersMayKnow').empty();
			for (var i = 0; i < userMayKnowList.length; i++) {
				var user = userMayKnowList[i];
				id = user.value;
				content = '<div class="youmayknow">' + user.label +
                '<a id="' + user.value + '" style="cursor: pointer;"  href="' + ContextPath + '/inviteperson.htm?userId=' + user.value + '" class="invite">' + messages.link_invite + ' </a></div>';
                $(content).appendTo($('#usersMayKnow'));					
			}
		}
	});
}

function getNetworkLinkList(userId, numOfRecords) {
	$.ajax({
		url: "getNetworkLinkList.htm",
		data: "numOfRecords=" + numOfRecords,
		success: function(results) {
			$('#favourites').empty();
			var item, link;
			for ( var i = 0; i < results.length; i++) {
				item = results[i];
				var u = new RegExp(); 
			    u.compile("^[A-Za-z]+://.*$");  
			    if(!u.test(item.value)) {
			        item.value = 'http://' + item.value;
			    }
				link = $('<a>').attr({'href':item.value, 'target':'_blank'}).text(item.label);
				wrapper = $('<div>').addClass('favlink').append(link); 
				$(wrapper).appendTo($('#favourites'));
			};
		}
	});
}

function editNetworkLink(userId, numOfRecords) {
	$.ajax({
		url: "getNetworkLinkListForUpdate.htm",
		data: "numOfRecords=" + numOfRecords,
		success: function(results) {
			$('#favourites').empty();
			for (var i = 0; i < results.length; i++) {
				var item = results[i];
				var container = $('<div>').addClass('favlink').hover(
				        function(){
				            $(this).addClass('favlink-hover');
				        },
				        function(){
				            $(this).removeClass('favlink-hover');
				        }
				);
				var link = $('<a>').attr('linkid',item.value)
				    .css({'cursor': 'pointer'}).text(item.label)
				    .click(function(){
				        updateNetworkLink($(this).attr('linkid'));
				    });
				var remove = $('<a>').attr('linkid',item.value).addClass('favlink-delete').click(function(){
				    deleteNetworkLink($(this).attr('linkid'));
                });
				link.appendTo(container);
				remove.appendTo(container);
				$(container).appendTo($('#favourites'));
			}
			var link = '<br /><a id="addNewFavourite" style="cursor: pointer;" onclick="addNewLink()"><b>' + messages.button_add + '</b></a>';
			$(link).appendTo($('#favourites'));
		}
	});
}

function getWorthMyContact(userId) {
	MyContactAction
	.getListTrustWorthy(
			userId,
			function(results) {
				var result = new Array();
				for (var i = 0; i < results.length; i++) {
					item = results[i];
					result[i] = "";
				}
			});
}

function getSubscriptionList(userId, numOfRecords) {
	$.ajax({
		url: "getSubscriptionList.htm",
		data: "numOfRecords=" + numOfRecords,
		success: function(results) {
			$('#subscribed').empty();
			var item;
			for ( var i = 0; i < results.length; i++) {
				item = results[i];
				id = item.value;
				
				var content = '<a id="' + item.value + '" onclick="viewContactDetail(' + item.value + ')" href="#">' + item.label + '</a><br />';
				$(content).appendTo($('#subscribed'));
			}
		}
	});
}

// getUsersUpdatedProfileList
function getUpdateProfileList(userId, numOfRecords) {
	$.ajax({
		url: "getUsersUpdatedProfileList.htm",
		data: "numOfRecords=" + numOfRecords,
		success: function(results) {
			$('#updateProfile').empty();
			var item;
			for ( var i = 0; i < results.length; i++) {
				item = results[i];
				id = item.value;
				var content = '<a id="' + item.value + '" onclick="viewContactDetail(' + item.value + ')" href="#">' + item.label + '</a><br />';
                $(content).appendTo($('#updateProfile'));
			}
		}
	});
}

function getNewTemplates(userId, numOfRecords){
	$.ajax({
		url: "getNewTemplateList.htm",
		data: "numOfRecords=" + numOfRecords,
		success: function(results) {
			$('#newTemplate').empty();
			var item;
			for ( var i = 0; i < results.length; i++) {
				item = results[i];
				id = item.value;
                var content = '<a id="' + item.value + '" onclick="previewTemplate(' + item.value + ')" href="#">' + item.label + '</a><br />';
                $(content).appendTo($('#newTemplate'));
			}
		}
	});
}

// Get newsletter list
function getNewsletters(numOfRecords){
	$.ajax({
		url: "getNewsLetterList.htm",
		data: "numOfRecords=" + numOfRecords,
		success: function(results) {
			$('#newsletter').empty();
			for ( var i = 0; i < results.length; i++) {
				var item = results[i];					
				var content = '<div class="newsletter">' +
                '<div class="newsletter-content">' + item.text + '</div>' +
                '</div>';
                $(content).appendTo($('#newsletter'));
			}
		}
	});
}

function viewContactDetail(contactId) {
	$('#selectedContactId').val(contactId);
	$('#mycontacts').submit();
}

function validateLinkForm(label, url) {
	$('.popup_error').hide(200).remove();
	var ret=true;
	if(label.val() == '') {
		label.after('<div class="popup_error">' + messages.validate_link_label + '</div>');
		ret=false;
	}
	var u = new RegExp(); 
    u.compile("^([A-Za-z]+://)?[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");	
    if(!u.test(url.val())) {
    	url.after('<div class="popup_error">' + messages.validate_link_url + '</div>');
    	ret=false;    
    }
    $('.popup_error').show(200);
    return ret;
}

function removeHTMLTags(str){
 	if(str != ""){
 		/* 
  			This line is optional, it replaces escaped brackets with real ones, 
  			i.e. < is replaced with < and > is replaced with >
 		*/	
 		str = str.replace(/&(lt|gt);/g, function (strMatch, p1){
 		 	return (p1 == "lt")? "<" : ">";
 		});
 		return str.replace(/<\/?[^>]+(>|$)/g, ""); 			
 	}	
 	return str;
}

function toggleLock(unlockCallback, lockCallback) {
    if($('#lock div.text').hasClass('open')) {
        $('#lock div.text').removeClass('open');        
        unlockCallback();
    } else {
        $('#lock div.text').addClass('open');
        lockCallback();        
    }
}

function convertFileSize(size) {
	if (size < 1024) {
		return size + " Bytes";
	} else if((size = size/1024) < 1024) {
		return Math.round(size) + ' KB'; 
	} else if((size = size/1024)  < 1024) {
		return Math.round(size) + ' MB';
	} else {
		size = size/1024 ;
		return Math.round(size) + ' GB';
	}	
}

function roundNumber(number, digitAfterCommas) {
	if(typeof(number) == 'string'){
		number  = parseFloat(number);
	}		
	if(typeof(number) == 'number' && !isNaN(number)){				
		return Math.round(number * Math.pow(10, digitAfterCommas))/Math.pow(10, digitAfterCommas);
	}
	return 0;
}

function fixHeight() {
	$('#viewcontact > div').css('min-height','').height('auto');
    height = $('#viewcontact > #leftcol').height() > $('#viewcontact > #rightcol').height()?$('#viewcontact > #leftcol').height():$('#viewcontact > #rightcol').height();
    if(height < 500) {
 	   height = 500;
    }
    $('#viewcontact > div').css('min-height', height);
}

function previewTemplate(templateId) {
	window.location = ContextPath + '/additem.htm?categoryId=-1&definedTemplate=' + templateId;
}

function jsDownloadFile(link, fileId, hash) {      
    var downloadUrl = ContextPath + '/fileStreaming.htm?fileId=' + fileId;
    if(typeof hash != undefined) {
    	downloadUrl+='&hash=' + hash; 
    }
    jQuery('<form action="'+ downloadUrl +'" method="post"></form>').appendTo('body').submit().remove();   
}

function downloadItemDocument(itemId, fileId) {
	var downloadUrl = ContextPath + '/itemdocumentdownload.htm?itemDocumentId=' + fileId + '&itemId=' + itemId;
    jQuery('<form action="'+ downloadUrl +'" method="post"></form>').appendTo('body').submit().remove();   
}

function downloadDSentboxDocument(fileId) {
	var downloadUrl = ContextPath + '/sentboxdocumentdownload.htm?sentboxDocumentId=' + fileId ;
    jQuery('<form action="'+ downloadUrl +'" method="post"></form>').appendTo('body').submit().remove();   
}

function downloadInboxDocument(fileId) {
	var downloadUrl = ContextPath + '/inboxdocumentdownload.htm?inboxDocumentId=' + fileId ;
    jQuery('<form action="'+ downloadUrl +'" method="post"></form>').appendTo('body').submit().remove();   
}

function validateSearchForm(){	
	if ($("form#searchForm2")) {
		$("form#searchForm2").submit(function(){
			var keyword = $("form#searchForm2 input[name='searchField']").val();
			$("form#searchForm input[name='searchField']").val(keyword);
			if(keyword != null && keyword.length >= 3){			
				return true;
			}
			
			$("form input[name='searchField']").addClass(function(){
		        var elem = $(this);
		        elem.addClass("error");
		        setTimeout ( function(){
		            elem.removeClass("error");
		        }, 5000);
		    });
			$('#tooltip_search').show(100, function() {
				$(this).delay(10000);
				$(this).hide(100);
			});
			return false;
		});
	}
	
	$("form#searchForm").submit(function(){
		var keyword = $("form input[name='searchField']").val();
		if(keyword != null && keyword.length >= 3){			
			return true;
		}
		
		$("form input[name='searchField']").addClass(function(){
	        var elem = $(this);
	        elem.addClass("error");
	        setTimeout ( function(){
	            elem.removeClass("error");
	        }, 5000);
	    });
		$('#tooltip_search').show(100, function() {
			$(this).delay(10000);
			$(this).hide(100);
		});
		return false;
	});
}
