var Wf_Core_Constants_Webservices_Status_Success = 1;
var Wf_Core_Constants_Webservices_Status_Failure = 0;
var Wf_Core_Constants_Js_SlideUpSpeed = 1000;
var Wf_Core_Constants_Js_SlideDownSpeed = 1000;
var Wf_Core_Constants_Js_HighlightSpeed = 5000;
var Wf_Core_Constants_Js_FadeOutSpeed = 400;
var Wf_Core_Constants_Js_FadeInSpeed = 400;
var Wf_Core_Constants_Js_FadeOutFastSpeed = 200;
var Wf_Core_Constants_Js_FadeOutSlowSpeed = 10000;
var Wf_Core_Constants_Portfolio_DefaultDomain = 'www.yourname.com';

var currentHint = null;

function ToggleDropdown(event){
	event.stopPropagation();

	if($('.dropdown').hasClass('highlighted')){
		$('.dropdown').removeClass('highlighted');
		$('#themes-dropdown').fadeOut(Wf_Core_Constants_Js_FadeOutFastSpeed);
	}
	else{
		var buttonPos = $('.dropdown').offset();

		$('.dropdown').addClass('highlighted');


		$('#themes-dropdown')
		.css('left', buttonPos.left) //- 1 for the 1px border around the button
		.css('top', buttonPos.top + $('.dropdown').outerHeight()); //- 10 for the bottom border of the button

		if($.browser.msie){
			//ie has a problem with clipping the box shadow, so to keep it from looking awful we just remove the shadow.
			$('#themes-dropdown').css('box-shadow', 'none');
		}
		else{
			$('#themes-dropdown').css('clip', 'rect(0px, 900px, 500px, -5px)')  //clip the box shadow based on calculated width
		}

		$('#themes-dropdown').show();
	}
}

function PreviewTheme(themeId){
	$('#preview-window iframe').attr('src', $('#preview-window iframe').contents().get(0).location.href.replace(/themeid=[0-9]+/ig, 'themeid=' + themeId));
	$('#themes-dropdown').fadeOut(Wf_Core_Constants_Js_FadeOutFastSpeed);

	$('[id^=theme-]').removeClass('enabled');
	$('#theme-' + themeId).addClass('enabled');

	$('.dropdown').removeClass('highlighted');

	$('.button-green').unbind().click(function(){ SaveThemeFromPreview(themeId); });
}

function SelectPlan(self, planId){
	if($(self).attr('id') == 'monthly'){
		$('#monthly').addClass('selected');
		$('#yearly').removeClass('selected');
		$('#plan-cost-monthly').show();
		$('#plan-cost-yearly').hide();
	}
	else{
		$('#monthly').removeClass('selected');
		$('#yearly').addClass('selected');
		$('#plan-cost-monthly').hide();
		$('#plan-cost-yearly').show();
	}

	$('#planid').val(planId);
}

function AttachHint(hintId, targetId){
	var target = null;
	if(targetId !== undefined){
		target = $(targetId);
		if(target.length == 0)
			return;
	}

	currentHint = hintId;

	var img = $('<img />')
	.attr('id', 'hint-' + hintId)
	.css({'position':'absolute', 'z-index':10000})
	.attr('src', '/images/welcome-tour/welcome-' + hintId + '.png');

	switch(hintId){
		case 1:
			target = $('#editable-realname .button-blue');
			if(target.length == 0)
				return;
			img.css('left', target.offset().left + 60);
			img.css('top', target.offset().top - 75);
			$('body').prepend(img);
			break;

		case 2:
			$.post("/webservices/updateuser.php", {'currenthintid':3});

			if(target == undefined){
				return;
			}

			$('#hint-1').fadeOut(Wf_Core_Constants_Js_FadeOutSpeed, function(){
				img.css('left', target.offset().left + 60);
				img.css('top', target.offset().top - 75);
				img.css('display', 'none');
				$('body').prepend(img);
				img.fadeIn(Wf_Core_Constants_Js_FadeInSpeed);
			});
			break;

		case 3:

			if(target == undefined){
				target = $('#navbar-quicklinks a:first-child');
				img.css('left', target.offset().left - 110);
				img.css('top', target.offset().top + 15);

				$('body').prepend(img);

				target.click(function(){ AttachHint(4); });
			}
			else{
				$('#hint-2').fadeOut(Wf_Core_Constants_Js_FadeOutSpeed, function(){
					img.css('left', target.offset().left - 110);
					img.css('top', target.offset().top + 15);
					img.css('display', 'none');

					$('body').prepend(img);
					img.fadeIn(Wf_Core_Constants_Js_FadeInSpeed);

					target.click(function(){ AttachHint(4); });
				});
			}
			break;
		case 4:
			$.post("/webservices/updateuser.php", {'currenthintid':5});

			$('#hint-3').fadeOut(Wf_Core_Constants_Js_FadeOutSpeed, function(){
			});
			break;
	}
}

function InitializeTinyMce(){
	$('textarea.tinymce').tinymce({
		theme : "advanced",
		plugins : "inlinepopups,paste,fullscreen,tabfocus",
		convert_urls : false,

		theme_advanced_buttons1 : "fullscreen,code,|,cut,copy,paste,pasteword,|,undo,redo",
		theme_advanced_buttons2 : "blockquote,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,|,image,|,removeformat",
		theme_advanced_buttons3 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",

		skin : "o2k7",
		skin_variant : "silver",

		theme_advanced_resizing : false,

		content_css : "/css/core-editor.css"
	});
}

function EditField(id){
	$('#editable-' + id + ' .editable-field').stop(true, true);
	$('#editable-' + id + ' h4').stop(true, true);

	$('#editable-' + id + " input[type!='hidden']").show();
	$('#editable-' + id + ' textarea').show();
	$('#editable-' + id + ' img').hide();
	$('#editable-' + id + ' div .editable-field-confirm').show();
	$('#editable-' + id + ' table').show();
	$('#editable-' + id + ' div .button-blue').hide();
	$('#editable-' + id + ' div .editable-field-content').hide();
	$('#editable-' + id + ' input:first').focus();
	$('#editable-' + id + ' textarea').focus();

	if(currentHint == 1){
		AttachHint(2, '#editable-' + id + ' .button-green');
	}

	return false;
}

function CancelField(id){
	$('#editable-' + id + ' input').hide();
	$('#editable-' + id + ' textarea').hide();
	$('#loading-image-' + id).hide();
	$('#editable-' + id + ' div .editable-field-confirm').hide();
	$('#editable-' + id + ' table').hide();
	$('#editable-' + id + ' div .button-blue').show();
	$('#editable-' + id + ' div .editable-field-content').show();

	if(id == 'password'){
		$('#password').val('');
		$('#passwordconfirm').val('');
	}

	RemoveErrorContainers('editable-' + id);

	return false;
}

function EditableFieldCheckSubmit(event, id, type){
	if(event.keyCode == 13){ //enter
		if(id == 'password')
			SavePassword();
		else if(id == 'username')
			SaveUsername();
		else
			SaveField(id, type);
	}
	if(event.keyCode == 27){ //esc
		CancelField(id);
	}
}

function CheckSubmit(event){
	if(event.keyCode == 13){ //enter
		Submit();
	}
}

function UpdateUsernameForm(isDemo){
	if(isDemo){
		$('#username').prop('disabled', true);
		$('#username').parent().addClass('input-disabled');
		$('#domain').prop('disabled', true);
		$('#domain').parent().parent().addClass('input-disabled');
		if($('#domain').val().trim() == ''){
			$('#domain').val(Wf_Core_Constants_Portfolio_DefaultDomain);
		}

		return;
	}

	if($('#radio-username').length == 0){ return; }

	if($('#radio-username').prop('checked')){
		$('#username').prop('disabled', false);
		$('#username').parent().removeClass('input-disabled');
		$('#domain').prop('disabled', true);
		$('#domain').parent().parent().addClass('input-disabled');
		if($('#domain').val().trim() == ''){
			$('#domain').val(Wf_Core_Constants_Portfolio_DefaultDomain);
		}
	}
	else{
		$('#username').prop('disabled', true);
		$('#username').parent().addClass('input-disabled');
		$('#domain').prop('disabled', false);
		$('#domain').parent().parent().removeClass('input-disabled');
		if($('#domain').val().trim() == Wf_Core_Constants_Portfolio_DefaultDomain){
			$('#domain').val('');
		}
	}
}

function SaveUsername(){
	var parameters = {};
	parameters['username'] = $('#username').val();
	parameters['domain'] = $('#domain').val();
	parameters['isusingowndomain'] = $('#radio-domain').prop('checked');

	RemoveErrorContainers('editable-username');

	$('#loading-image-username').show();
	$('#editable-username div .editable-field-confirm').hide();

	$.post('/webservices/updateuser.php', parameters, SaveFieldComplete, 'json');

	return false;
}

function SavePassword(){
	var parameters = {};
	parameters['password'] = $('#password').val();
	parameters['passwordconfirm'] = $('#passwordconfirm').val();

	RemoveErrorContainers('editable-password');

	$('#loading-image-password').show();
	$('#editable-password div .editable-field-confirm').hide();

	$.post('/webservices/updateuser.php', parameters, SaveFieldComplete, 'json');

	return false;
}

function SaveField(id, type){
	var parameters = {};
	parameters[id] = $('#' + id).val();

	RemoveErrorContainers('editable-' + id);

	$('#loading-image-' + id).show();
	$('#editable-' + id + ' div .editable-field-confirm').hide();

	if(type == 'portfolio'){
		$.post('/webservices/updateportfolio.php', parameters, SaveFieldComplete, 'json');
	}

	if(type == 'user'){
		$.post('/webservices/updateuser.php', parameters, SaveFieldComplete, 'json');
	}

	if(currentHint == 2)
		AttachHint(3, '#navbar-quicklinks a:first-child');

	return false;
}

function SaveFieldComplete(response){
	if(response.Status == Wf_Core_Constants_Webservices_Status_Failure){
		$('#editable-' + response.UpdatedField + ' div.editable-field').prepend(CreateErrorContainer(response.Error.Errors));
		$('.error-container').slideDown(Wf_Core_Constants_Js_SlideDownSpeed);
		$('#loading-image-' + response.UpdatedField).hide();
		$('#editable-' + response.UpdatedField + ' div .editable-field-confirm').show();
	}
	else{
		$('#editable-' + response.UpdatedField + ' div .editable-field-content').html(response.UpdatedValue);
		if(response.HasValue){
			$('#editable-' + response.UpdatedField + ' div .button-blue').html('Change');
			$('#editable-' + response.UpdatedField).removeClass('editable-field-container-empty');
		}
		else{
			$('#editable-' + response.UpdatedField + ' div .button-blue').html('Add');
			$('#editable-' + response.UpdatedField).addClass('editable-field-container-empty');
		}
		CancelField(response.UpdatedField);
		$('#editable-' + response.UpdatedField + ' .editable-field').effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
		$('#editable-' + response.UpdatedField + ' h4').effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
	}
}

function SaveTheme(themeId){
	var parameters = {};
	parameters['themeid'] = themeId;

	$.post('/webservices/updateportfolio.php', parameters, function(response){
		if(response.Status != Wf_Core_Constants_Webservices_Status_Failure){
			$('[id^=theme-]').removeClass('enabled');

			$('[id^=theme-controls-]:hidden').fadeIn(Wf_Core_Constants_Js_FadeInSpeed, function(){}); //fade in the old 'use this theme' button

			$('#theme-controls-' + response.UpdatedValue).hide();
			$('#theme-' + themeId).addClass('enabled');
		}
	}, 'json');

	return false;
}

function SaveThemeFromPreview(themeId){
	var parameters = {};
	parameters['themeid'] = themeId;

	$.post('/webservices/updateportfolio.php', parameters, function(response){
		window.location = '/dashboard/theme/';
	}, 'json');

	return false;
}

function EditPicture(){
	$('#editable-picture h4').stop(true, true);
	$('#editable-picture .editable-field').stop(true, true);

	$('#editable-picture-form').show();
	$('#editable-picture .editable-field-content').hide();
	$('#editable-picture div .editable-field-confirm').show();
	$('#editable-picture div .button-blue').hide();

	RemoveErrorContainers('editable-picture');

	return false;
}

function CancelPicture(){
	$('#editable-picture-form').hide();
	$('#editable-picture .editable-field-content').show();
	$('#editable-picture div .editable-field-confirm').hide();
	$('#editable-picture div .button-blue').show();

	return false;
}

function UpdatePictureForm(id){
	var uploadType = $("input[name='picturetype']:checked").val();
	if(uploadType == 'none'){
		$("input[type='file']").hide();
	}
	else{
		$("input[type='file']").show();
		$("input[type='file']").focus();
	}
}

function SavePicture(){
	$('#loading-image-picture').show();
	$('#editable-picture div .editable-field-confirm').hide();
	$('#editable-picture-form').submit();

	return false;
}

function ConfirmDeleteWritingSample(writingSampleId){
	$('#confirm-delete-' + writingSampleId).show();
	$('#writingsample-controls-' + writingSampleId).hide();

	return false;
}

function CancelDeleteWritingSample(writingSampleId){
	$('#confirm-delete-' + writingSampleId).hide();
	$('#writingsample-controls-' + writingSampleId).show();

	return false;
}

function DeleteWritingSample(writingSampleId){
	var parameters = {};
	parameters['writingsampleid'] = writingSampleId;
	$.post('/webservices/deletewritingsample.php', parameters, DeleteWritingSampleComplete, 'json');

	return false;
}

function DeleteWritingSampleComplete(response){
	if(response.Status == Wf_Core_Constants_Webservices_Status_Failure){
	}
	else{
		$('#writingsample-' + response.WritingSampleId).fadeOut();
		RebuildWritingSampleCategories(response.WritingSampleCategories);

		UpdateWritingSamplesHeader(response);
	}
}

function StopWritingSampleEffects(writingSampleId){
	$('#writingsample-title-' + writingSampleId).stop(true, true);
	$('#writingsample-contents-' + writingSampleId).stop(true, true);
	$('#writingsample-container-' + writingSampleId).stop(true, true);
	$('#editwritingsample-dialog-' + writingSampleId).stop(true, true);
}

function ShowEditWritingSampleDialog(writingSampleId){
	//get the writing sample data
	var parameters = {};
	parameters['writingsampleid'] = writingSampleId;
	$('#loading-image-' + writingSampleId).show();
	$('#writingsample-controls-' + writingSampleId).hide();
	$.post('/webservices/getwritingsample.php', parameters, ShowEditWritingSampleDialogComplete, 'json');

	return false;
}

function ShowEditWritingSampleDialogComplete(response){
	if(response.Status == Wf_Core_Constants_Webservices_Status_Failure){
	}
	else{
		$('#edit-title-' + response.WritingSampleId).val(response.Title);
		$('#edit-publicationdate-' + response.WritingSampleId).val(response.PublicationDate);
		$('#edit-category-' + response.WritingSampleId).val(response.WritingSampleCategoryName);
		$('#edit-externalurl-' + response.WritingSampleId).val(response.ExternalUrl);
		$('#edit-summary-' + response.WritingSampleId).val(response.Summary);
		$('#edit-body-' + response.WritingSampleId).val(response.Body);
		$('#edit-publication-' + response.WritingSampleId).val(response.Publication);
		$('#loading-image-' + response.WritingSampleId).hide();
		$('#confirm-edit-' + response.WritingSampleId).show();
		if(response.HasAttachment == true){
			$('#editwritingsample-dialog-' + response.WritingSampleId + ' .attachment').show();
			$('#editwritingsample-dialog-' + response.WritingSampleId + ' .attachment-delete').show();
			$('#editwritingsample-dialog-' + response.WritingSampleId + ' .attachment-add').hide();
			$('#edit-attachment-filename-' + response.WritingSampleId).html(response.AttachmentFilename);
		}else{
			$('#editwritingsample-dialog-' + response.WritingSampleId + ' .attachment').hide();
			$('#editwritingsample-dialog-' + response.WritingSampleId + ' .attachment-delete').hide();
			$('#editwritingsample-dialog-' + response.WritingSampleId + ' .attachment-add').show();
		}

		StopWritingSampleEffects(response.WritingSampleId);

		$('#writingsample-contents-' + response.WritingSampleId).slideUp(Wf_Core_Constants_Js_SlideUpSpeed);
		$('#editwritingsample-dialog-' + response.WritingSampleId).slideDown(Wf_Core_Constants_Js_SlideDownSpeed);

		$('#edit-category-' + response.WritingSampleId).autocomplete(allCategories, {
				matchContains: true
			}
		);
	}
}

function CancelEditWritingSample(writingSampleId){
	$('#edit-category-' + writingSampleId).unautocomplete();
	$('#confirm-edit-' + writingSampleId).hide();
	$('#writingsample-controls-' + writingSampleId).show();
	$('#writingsample-contents-' + writingSampleId).slideDown(Wf_Core_Constants_Js_SlideDownSpeed);
	$('#editwritingsample-dialog-' + writingSampleId).slideUp(Wf_Core_Constants_Js_SlideUpSpeed, function(){
		RemoveErrorContainers('editwritingsample-dialog-' + writingSampleId);
	});
	return false;
}


function UpdateWritingSample(writingSampleId){
	$('#loading-image-' + writingSampleId).show();
	$('#confirm-edit-' + writingSampleId).hide();

	$('#edit-post-form-' + writingSampleId).contents().find('#writingsampleid').val(writingSampleId);
	$('#edit-post-form-' + writingSampleId).contents().find('#title').val($('#edit-title-' + writingSampleId).val());
	$('#edit-post-form-' + writingSampleId).contents().find('#publicationdate').val($('#edit-publicationdate-' + writingSampleId).val());
	$('#edit-post-form-' + writingSampleId).contents().find('#externalurl').val($('#edit-externalurl-' + writingSampleId).val());
	$('#edit-post-form-' + writingSampleId).contents().find('#summary').val($('#edit-summary-' + writingSampleId).val());
	$('#edit-post-form-' + writingSampleId).contents().find('#publication').val($('#edit-publication-' + writingSampleId).val());
	$('#edit-post-form-' + writingSampleId).contents().find('#writingsamplecategoryname').val($('#edit-category-' + writingSampleId).val());
	if($('#edit-attachment-delete-' + writingSampleId).prop('checked') == true){
		$('#edit-post-form-' + writingSampleId).contents().find('#deleteattachment').val('true');
	}

	$('#edit-post-form-' + writingSampleId).contents().find('#body').val(HtmlEntities($('#edit-body-' + writingSampleId).tinymce().getContent()));

	RemoveErrorContainers('editwritingsample-dialog-' + writingSampleId);

	$('#edit-post-form-' + writingSampleId).contents().find('form').submit();

	return false;
}

function UpdateWritingSampleComplete(response){
	if(response.Status == Wf_Core_Constants_Webservices_Status_Failure){
		$('#editwritingsample-dialog-' + response.WritingSampleId).prepend(CreateErrorContainer(response.Error.Errors));
		$('#editwritingsample-dialog-' + response.WritingSampleId + ' .error-container').slideDown(Wf_Core_Constants_Js_SlideDownSpeed);
		$('#confirm-edit-' + response.WritingSampleId).show();
		$('#loading-image-' + response.WritingSampleId).hide();
	}
	else{
		$('#writingsample-contents-' + response.WritingSampleId).html(response.WritingSampleContentsHtml);
		$('#edit-category-' + response.writingSampleId).unautocomplete();
		$('#confirm-edit-' + response.WritingSampleId).hide();
		$('#loading-image-' + response.WritingSampleId).hide();
		$('#writingsample-controls-' + response.WritingSampleId).show();
		$('#edit-attachment-delete-' + response.WritingSampleId).prop('checked', false);
		$('#writingsample-title-' + response.WritingSampleId).html(response.WritingSampleTitle);
		$('#writingsample-contents-' + response.WritingSampleId).slideDown(Wf_Core_Constants_Js_SlideDownSpeed);
		$('#editwritingsample-dialog-' + response.WritingSampleId).slideUp(Wf_Core_Constants_Js_SlideUpSpeed, function(){
			RebuildWritingSampleCategories(response.WritingSampleCategories);
			if(response.HasChangedWritingSampleCategory){
				//remove the sample from the old category
				$('#writingsample-' + response.WritingSampleId).fadeOut(Wf_Core_Constants_Js_FadeOutSpeed, function(){
					$('#writingsample-' + response.WritingSampleId).remove();
					//add the sample to the category it belongs to
					$('#writingsamplecategory-' + response.WritingSampleCategoryId).after(response.WritingSampleHtml);
					$('#writingsample-title-' + response.WritingSampleId).effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
					$('#writingsample-container-' + response.WritingSampleId).effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
				});
			}
			else{
				$('#writingsample-title-' + response.WritingSampleId).effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
				$('#writingsample-container-' + response.WritingSampleId).effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
			}
		});
	}
}

function ShowAddWritingSampleDialog(){
	$('.tab-dialog-button').attr('class', 'tab-dialog-button-open');
	$('.tab-dialog-confirm').show();
	$('#writingsample-added').hide();
	$('#addwritingsample-dialog').stop(true, true);
	$('#addwritingsample-dialog').slideDown(Wf_Core_Constants_Js_SlideDownSpeed);
	return false;
}

function AddWritingSample(){
	$('#loading-image-add-writingsample').show();
	$('.tab-dialog-confirm').hide();

	$('#writingsample-post-form').contents().find('#title').val($('#add-title').val());
	$('#writingsample-post-form').contents().find('#publicationdate').val($('#add-publicationdate').val());
	$('#writingsample-post-form').contents().find('#externalurl').val($('#add-externalurl').val());
	$('#writingsample-post-form').contents().find('#summary').val($('#add-summary').val());
	$('#writingsample-post-form').contents().find('#publication').val($('#add-publication').val());
	$('#writingsample-post-form').contents().find('#writingsamplecategoryname').val($('#add-category').val());
	$('#writingsample-post-form').contents().find('#body').val(HtmlEntities($('#add-body').tinymce().getContent()));

	RemoveErrorContainers('addwritingsample-dialog');

	$('#writingsample-post-form').contents().find('form').submit();

	return false;
}

function AddWritingSampleComplete(response){
	$('#loading-image-add-writingsample').hide();

	if(response.Status == Wf_Core_Constants_Webservices_Status_Failure){
		$('#addwritingsample-dialog').prepend(CreateErrorContainer(response.Error.Errors));
		$('.error-container').slideDown(Wf_Core_Constants_Js_SlideDownSpeed);
		$('#loading-image-add-writingsample').hide();
		$('.tab-dialog-confirm').show();
	}
	else{
		$('.tab-dialog-button-open').attr('class', 'tab-dialog-button button-blue');

		UpdateWritingSamplesHeader(response);

		$('#addwritingsample-dialog').slideUp(Wf_Core_Constants_Js_SlideUpSpeed, function(){
			ClearAddWritingSampleDialog();
			RebuildWritingSampleCategories(response.WritingSampleCategories);
			//add the sample to the category it belongs to
			$('#writingsamplecategory-' + response.WritingSampleCategoryId).after(response.WritingSampleHtml);
			$('#writingsample-title-' + response.WritingSampleId).effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
			$('#writingsample-container-' + response.WritingSampleId).effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
			$('#writingsample-added').show();
			$('#writingsample-added').fadeOut(Wf_Core_Constants_Js_FadeOutSlowSpeed);
			InitializeTinyMce();
		});
	}
}

function UpdateWritingSamplesHeader(response){
	if(response.CanAddMoreWritingSamples){
		$('#addwritingsample-button').removeClass('button-grey-disabled');
		$('#addwritingsample-button').addClass('button-blue');
		$('#addwritingsample-button').unbind();
		$('#addwritingsample-button').click(function(){return ShowAddWritingSampleDialog();});
	}
	else{
		$('#addwritingsample-button').addClass('button-grey-disabled');
		$('#addwritingsample-button').removeClass('button-blue');
		$('#addwritingsample-button').unbind();
	}

	var countText = response.RemainingWritingSampleCount + ' more writing sample';
	if(response.RemainingWritingSampleCount != 1)
		countText += 's';
	$('#remaining-writingsamples').html(countText);

	if(response.RemainingWritingSampleCount <= 1 && response.RemainingWritingSampleCount != -1){
		$('#writingsamples-upgrade-notice').slideDown();
	}
	else{
		$('#writingsamples-upgrade-notice').slideUp();
	}
}

function ClearAddWritingSampleDialog(){
	$('#add-title').val('');
	$('#add-publicationdate').val('');
	$('#add-externalurl').val('');
	$('#add-summary').val('');
	$('#add-body').val('');
	$('#add-publication').val('');
	$('#add-category').val('');
	RemoveErrorContainers('addwritingsample-dialog');
}

function CancelAddWritingSample(){
	$('#addwritingsample-dialog').stop(true, true);
	$('.tab-dialog-button-open').attr('class', 'tab-dialog-button button-blue');
	$('.tab-dialog-confirm').hide();
	$('#addwritingsample-dialog').slideUp(Wf_Core_Constants_Js_SlideUpSpeed, function(){RemoveErrorContainers('addwritingsample-dialog');});

	return false;
}

function RebuildWritingSampleCategories(categories){
	allCategories = [];
	var j = 0;
	for(var i in categories){
		allCategories[j++] = categories[i];
	}

	//workaround for re-loading local data in autocomplete field
	$('#add-category').trigger('setOptions', {data:allCategories});

	//delete category headers that don't exist anymore
	$("h5[id^='writingsamplecategory-']").each(function(index){
		var exists = false;
		for(var key in categories){
			var id = 'writingsamplecategory-' + key;
			if(id == $(this).attr('id')){
				exists = true;
			}
		}
		if(!exists){
			$(this).fadeOut(Wf_Core_Constants_Js_FadeOutSpeed, function(){$(this).remove();});
		}
	});

	//add new category headers to the top of the list
	for(var key in categories){
		var exists = false;
		$("h5[id^='writingsamplecategory-']").each(function(index){
			var id = 'writingsamplecategory-' + key;
			if(id == $(this).attr('id')){
				exists = true;
			}
		});
		if(!exists){
			if(key == 'uncategorized'){
				//add uncategorized at the top
				$('#writingsamples').prepend('<h5 id="writingsamplecategory-' + key + '">' + categories[key] + '</h5>');
			}
			else{
				$('#writingsamples').append('<h5 id="writingsamplecategory-' + key + '">' + categories[key] + '</h5>');
			}
			$('#writingsamplecategory-' + key).effect('highlight', {}, Wf_Core_Constants_Js_HighlightSpeed);
		}
	}

}

function CreateErrorContainer(errors){
	var ul = $('<ul></ul>');
	if(errors.length == 1){
		ul.attr('class', 'error-container single');
	}
	else{
		ul.attr('class', 'error-container');
	}
	ul.attr('style', 'display: none;');
	for(var key in errors){
		var li = $('<li>' + errors[key].Description + '</li>');
		ul.append(li);
	}
	return ul;
}

function RemoveErrorContainers(elementId){
	$('#' + elementId + ' .error-container').remove();
}

function Submit(){
	$('form').submit();
	return false;
}

function HtmlEntities(texto){
    //by Micox - elmicoxcodes.blogspot.com - www.ievolutionweb.com
    var i,carac,letra,novo='';
    for(i=0;i<texto.length;i++){
        carac = texto.charCodeAt(i);
        if( (carac > 47 && carac < 58) || (carac > 62 && carac < 127) ){
            //se for numero ou letra normal
            novo += texto.charAt(i);
        }else{
            novo += "&#" + carac + ";";
        }
    }
    return novo;
}

