var current_type;
var cur_date_input;

function newDatePicker(node,url) {
	var cal11 = new calendar3(node);
	cal11.year_scroll = true;
	cal11.time_comp = true;
	cal11.popup(url);
}

function buzzWindow() { 
	window.open("","buzz","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=700"); 
} 

function createNewTag(id,container,button,url,tag) {
	if(!tag) return;
	button.value = 'adding…';
	$(id+'_newtag').value = '';
	new Request({
		url: url,
		data: {tag: tag, unique_id: id},
		method: 'post',
		onComplete: function(response) { 
			button.value = 'add';
			if(!response) return;
			var p = new Element('p');
			var i = new Element('input', { checked: true, type: 'checkbox', name: 'tag['+response+']', id: id+'_category_'+response });
			var l = new Element('label', { 'for': id+'_category_'+response }).set('html',' ' + tag);
			
			p.adopt(i);
			p.adopt(l);
			
			container.adopt(p);
		}
	}).send();
}

function render_editor(id,type,light,callback){
	
	if((!type||type=='rich')&&tinyMCE){
		tinyMCE.init({	
			mode:"exact",
			elements:id,
			entities:"",
			convert_newlines_to_brs:false,
			theme:"advanced",
			remove_trailing_nbsp:true,
			theme_advanced_layout_manager:"SimpleLayout",
			theme_advanced_buttons2:"",
			theme_advanced_buttons3:"",
			theme_advanced_toolbar_location:"top",
			content_css:"/stylesheets/custom_tinymce.css",
			plugins:"spellchecker,safari,media",
			convert_urls:false,
			process_html:true,
			inline_styles:false,
			valid_elements:"-p[*],-a[*],-blockquote[*],br[*],-code[*],-dd[*],-dl[*],-dt[*],"+"-del[*],-i/em[*],-ins[*],-li[*],-ol[*],-pre[*],-q[*],-b/strong[*],-u[*],"+"-ul[*],-s[*],script[*],img[*],hr[*],-sub[*],-sup[*],-strike[*],"+"-h1[*],-h2[*],-h3[*],-h4[*],-h5[*],-h6[*],object[*],embed[*],param[*]",
			theme_advanced_buttons1:(true?"bold,italic,separator,"+"link,unlink,separator,code":"bold,italic,strikethrough,separator,"+"bullist,numlist,separator,indent,outdent,separator,"+"link,unlink,separator,"+"code"),
			width:'100%',
			setup : function(ed) {
			      ed.onKeyUp.add(function(ed, e) {
						if(callback) callback(id,ed);
						console.debug('Key up event: ' + e.keyCode);
			      });
			}
		});
		
		if(document.getElementById(id+'_is_rich_text')){
			document.getElementById(id+'_is_rich_text').value=1
		}
		
	}else{
		var toolbar=document.createElement('div');
		toolbar.innerHTML='<div class="editor_controls"><div class="editor_note">'+(type=='markdown'?'<a href="http://daringfireball.net/projects/markdown/syntax" target="_blank" style="color:#888;">markdown</a>':'HTML enabled')+'</div><a href="#" class="editor_button" onclick="'+(type=='markdown'?'insertTag(\''+id+'\', \'**\', \'**\');':'insertTag(\''+id+'\', \'<b>\', \'</b>\');')+' return false;"><img title="Bold" alt="Bold" src="/images/editor_bold.gif"/></a><a href="#" class="editor_button" onclick="'+(type=='markdown'?'insertTag(\''+id+'\', \'_\', \'_\');':'insertTag(\''+id+'\', \'<i>\', \'</i>\');')+' return false;"><img title="Italic" alt="Italic" src="/images/editor_italic.gif"/></a>'+((type=='markdown')?'':'<a href="#" class="editor_button" onclick="insertTag(\''+id+'\', \'<strike>\', \'</strike>\'); return false;"><img title="Strikethrough" alt="Strikethrough" src="/images/editor_strikethrough.gif"/></a>')+'<a href="#" class="editor_button" onclick="'+(type=='markdown'?'insertTag(\''+id+'\', \'[\', \'](\' + prompt(\'Enter the URL:\', \'http://\') + \')\');':'insertTag(\''+id+'\', \'<a href=&quot;\' + prompt(\'Enter the URL:\', \'http://\') + \'&quot;>\', \'</a>\');')+' return false;"><img title="Insert link" alt="Insert link" src="/images/editor_link.gif"/></a></div>';
		document.getElementById(id).parentNode.insertBefore(toolbar,document.getElementById(id));
		return toolbar;
	}
}

function insertTag(field_id,start,end){
	field=document.getElementById(field_id);
	if(!end)end='';
	if(document.selection){
		field.focus();
		sel=document.selection.createRange();
		sel.text=start+sel.text+end;
		field.focus()
	}else if(field.selectionStart||field.selectionStart=='0'){
		var startPos=field.selectionStart;
		var endPos=field.selectionEnd;
		var cursorPos=endPos;
		var scrollTop=field.scrollTop;
		field.value=field.value.substring(0,startPos)+start+field.value.substring(startPos,endPos)+end+field.value.substring(endPos,field.value.length);
		cursorPos+=start.length+end.length;field.focus();
		field.selectionStart=cursorPos;
		field.selectionEnd=cursorPos;
		field.scrollTop=scrollTop
	}else{
		field.value+=start;
		field.value+=end;
		field.focus()
	}
}

function uploadFileInNewWindow(val) {
	var f = document.createElement('form');

	var file = document.createElement('input');
	file.setAttribute('type','file');
	file.setAttribute('name','image_url');
	file.setAttribute('value',val);
	f.appendChild(file);
	
	f.setAttribute('action','http://localhost:8888/freelance/momcierge/admin/addimage');
	f.setAttribute('target','_blank');
	f.setAttribute('method','post');
	f.submit();
	clearBorders();
}

function flagComment(url,comment_id) {
	if(!comment_id) return;
	if(!confirm('Are you sure you want to flag this comment? This will alert a moderator.')) return;
	
	$('flag_link_'+comment_id).innerHTML = 'SENDING…';
	new Request({
		url: url,
		data: { comment_id: comment_id, value: 1 },
		method: 'post',
		onComplete: function(response) { 
			$('flag_link_'+comment_id).innerHTML = 'FLAGGED';
			$('flag_link_'+comment_id).onclick = '';
		}
	}).send();
}

function unflagComment(url,comment_id) {
	if(!comment_id) return;
	$('comment_'+comment_id+'_unflag_link').value = 'SENDING…';
	new Request({
		url: url,
		data: { comment_id: comment_id, value: 0 },
		method: 'post',
		onComplete: function(response) { 
			$('comment_'+comment_id+'_unflag_link').value = 'UNFLAGGED';
		}
	}).send();
}

function delete_obj(args) {
	if(!confirm("Are you absolutely sure you'd like to delete this?")) return;
	new Request({
		url: base_url + 'ajax/misc/delete',
		data: args,
		method: 'post',
		onComplete: function(response) { 
			args.node.destroy();
			if(args.onComplete)
			args.onComplete();
		}
	}).send();
}

function featureBlog(url,blog_id) {
	if(!blog_id) return;
	$('blog_'+blog_id+'_feature_link').value = 'UPDATING…';
	new Request({
		url: url,
		data: { blog_id: blog_id },
		method: 'post',
		onComplete: function(response) { 
			$('blog_'+blog_id+'_feature_link').value = response=='0' ? 'FEATURE' : 'UNFEATURE';
		}
	}).send();
}

function deleteBlog(url,blog_id) {
	if(!blog_id) return;
	$('blog_'+blog_id+'_delete_link').value = 'X DELETING…';
	if(!confirm("Are you absolutely sure you want to delete this blog entry?")) { $('blog_'+blog_id+'_delete_link').value = 'X DELETE'; return; }
	new Request({
		url: url,
		data: { blog_id: blog_id },
		method: 'post',
		onComplete: function(response) { 
			$('blog_'+blog_id).setStyle('display','none');
		}
	}).send();
}

function deleteUser(url,user_id,comment_id) {
	if(!user_id || !comment_id) return;
	$('user_'+user_id+'_comment_'+comment_id+'_delete_link').value = 'X DELETING…';
	if(!confirm("Are you sure you want to delete this user?")) { $('user_'+user_id+'_comment_'+comment_id+'_delete_link').value = 'X DELETE USER'; return; }
	new Request({
		url: url,
		data: { user_id: user_id },
		method: 'post',
		onComplete: function(response) {
			$('comment_'+comment_id).setStyle('display','none');
		}
	}).send();
}

function deleteComment(url,comment_id) {
	if(!comment_id) return;
	$('comment_'+comment_id+'_delete_link').value = 'X DELETING…';
	if(!confirm("Are you sure you want to delete this comment?")) { $('comment_'+comment_id+'_delete_link').value = 'X DELETE COMMENT'; return; }
	new Request({
		url: url,
		data: { comment_id: comment_id },
		method: 'post',
		onComplete: function(response) { 
			$('comment_'+comment_id).setStyle('display','none');
		}
	}).send();
}

function deleteTag(url,tag_id) {
	$('tag_'+tag_id+'_delete_link').innerHTML = 'deleting…';
	if(!tag_id) return;
	if(!confirm("Are you sure you want to delete this category?")) { $('tag_'+tag_id+'_delete_link').innerHTML = 'delete'; return; }
	new Request({
		url: url,
		data: { tag_id: tag_id },
		method: 'post',
		onComplete: function(response) { 
			$('tag_'+tag_id).setStyle('display','none');
		}
	}).send();
}

function toggleFeaturedTag(url,tag_id) {
	$('tag_'+tag_id+'_featured_link').innerHTML = 'updating…';
	if(!tag_id) return;
	new Request({
		url: url,
		data: { tag_id: tag_id },
		method: 'post',
		onComplete: function(response) {
			$('tag_'+tag_id+'_featured_link').innerHTML = response=='1' ? 'unfeature' : 'feature';
		}
	}).send();
}

function swapNewType(which) {
	if(current_type && $(current_type)) $(current_type).style.display = "none", $(current_type+'_preview').style.display = "none";
	$(which).style.display = "block";
	$(which+'_preview').style.display = "block";
	current_type = which;
}