var DELICIOUS_DESCRIPTION_HEADLINE = 1 << 0 ;
var DELICIOUS_DESCRIPTION_SUBHEADLINE = 1 << 1 ;
var DELICIOUS_DESCRIPTION_BYLINE = 1 << 2 ;
var DELICIOUS_NOTES_NONE = 1 << 3 ;
var DELICIOUS_NOTES_SUBHEADLINE = 1 << 4 ;
var DELICIOUS_NOTES_BLURB = 1 << 5 ;

function go_to_delicious() {

	var url = delicious_url ;
	var headline = delicious_headline ;
	var subheadline = delicious_subheadline ;
	var byline = delicious_byline ;
	var blurb = delicious_blurb ;
	var notes = "" ;

	// del.icio.us has a 255 char limit;
	// sending up to 1000 in case they increase it
	var notes_limit = 1000 ;

	if ( document.forms && document.forms.delicious ) {
		var form = document.forms.delicious ;
		var include_subheadline_name = (form.subheadline_name) ? form.subheadline_name.checked : false ;
		var include_byline_name      = (form.byline_name)      ? form.byline_name.checked      : false ;

		if ( subheadline && blurb ) {
			var include_subheadline_notes = (form.blurb_notes[0]) ? form.blurb_notes[0].checked : false ;
			var include_blurb_notes       = (form.blurb_notes[1]) ? form.blurb_notes[1].checked : false ;
		} else if ( subheadline ) {
			var include_subheadline_notes = (form.blurb_notes) ? form.blurb_notes.checked : false ;
			var include_blurb_notes       = false ;
		} else if ( blurb ) {
			var include_subheadline_notes = false ;
			var include_blurb_notes       = (form.blurb_notes) ? form.blurb_notes.checked : false ;
		} else {
			var include_subheadline_notes = false ;
			var include_blurb_notes       = false ;
		}

		if ( include_subheadline_name )
			headline += ": " + subheadline ;
		if ( include_byline_name )
			headline = headline + " " + byline ;

		if ( include_subheadline_notes )
			notes = subheadline.substring(0,notes_limit-notes.length) ;
		if ( include_blurb_notes )
			notes = blurb.substring(0,notes_limit-notes.length) ;
	}

	var delicious_q = encodeURIComponent(url) ;
	var delicious_p = encodeURIComponent(headline) ;
	var delicious_r = encodeURIComponent(notes) ;


	var active_delicious_cookie = get_active_delicious_cookie() ;
	if ( delicious_options_changed && active_delicious_cookie != delicious_cookie ) {
		setCookie("delicious",active_delicious_cookie,manyYearsFromNow()) ;
		delicious_cookie = active_delicious_cookie ;
	}

	window.open('http://del.icio.us/post?v=4&partner=abqjournal&noui&jump=close&url='+delicious_q+'&title='+delicious_p+'&notes='+delicious_r,'Delicious','toolbar=no,width=700,height=400') ;

	return false ;
}

var delicious_options_on = false ;
var delicious_options_changed = false ;
var delicious_on_img = "http://abqjournal.com/base/opentriangle2.gif" ;
var delicious_off_img = "http://abqjournal.com/base/triangle2.gif" ;

// modified dmf to force all headlines etc to refresh - dmf 3-28-2006

// var delicious_cookie = getCookie("delicious") ? getCookie("delicious") : DELICIOUS_DESCRIPTION_HEADLINE + DELICIOUS_NOTES_NONE ;
 var delicious_cookie=" " 

function toggle_delicious_options() {
	delicious_options_on = !delicious_options_on ;
	var img = document.getElementById("delicious_triangle") ;

	if ( delicious_options_on ) {
		img.setAttribute("src",delicious_on_img) ;
		showElement( document.getElementById("delicious_display") ) ;
	} else {
		img.setAttribute("src",delicious_off_img) ;
		hideElement( document.getElementById("delicious_display") ) ;
	}
}
function set_delicious_options_changed(item,option) {
	var active_delicious_cookie = get_active_delicious_cookie() ;
	if ( active_delicious_cookie != delicious_cookie )
		delicious_options_changed = true ;
	else
		delicious_options_changed = false ;
}
function update_delicious_form(settings) {
	if ( document.forms && document.forms.delicious ) {
		var form = document.forms.delicious ;

		var url = delicious_url ;
		var headline = delicious_headline ;
		var subheadline = delicious_subheadline ;
		var byline = delicious_byline ;
		var blurb = delicious_blurb ;

		if ( headline && (settings & DELICIOUS_DESCRIPTION_HEADLINE) && form.headline_name ) {
			keep_it_checked(form.headline_name) ;
		}
		if ( subheadline && (settings & DELICIOUS_DESCRIPTION_SUBHEADLINE) && form.subheadline_name ) {
			keep_it_checked(form.subheadline_name) ;
		}
		if ( byline && (settings & DELICIOUS_DESCRIPTION_BYLINE) && form.byline_name ) {
			keep_it_checked(form.byline_name) ;
		}
		// if subheadline and blurb there are radio boxes
		if ( form.blurb_notes && subheadline && blurb ) {
			if ( (settings & DELICIOUS_NOTES_SUBHEADLINE) ) {
				keep_it_checked(form.blurb_notes[0]) ;
			} else if ( (settings & DELICIOUS_NOTES_BLURB) ) {
				keep_it_checked(form.blurb_notes[1]) ;
			} else if ( (settings & DELICIOUS_NOTES_NONE) ) {
				keep_it_checked(form.blurb_notes[2]) ;
			}
		// if not (subheadline AND blurb) there could be a checkbox if subheadline OR blurb
		} else {
			if ( subheadline && (settings & DELICIOUS_NOTES_SUBHEADLINE) && form.blurb_notes ) {
				keep_it_checked(form.blurb_notes) ;
			} else if ( blurb && (settings & DELICIOUS_NOTES_BLURB) && form.blurb_notes ) {
				keep_it_checked(form.blurb_notes) ;
			}
		}
	}
}
function get_active_delicious_cookie() {

	var new_delicious_cookie = delicious_cookie ;
	if ( document.forms && document.forms.delicious ) {
		var form = document.forms.delicious ;

		var new_delicious_cookie = 0 ;

		var url = delicious_url ;
		var headline = delicious_headline ;
		var subheadline = delicious_subheadline ;
		var byline = delicious_byline ;
		var blurb = delicious_blurb ;

		if ( headline && form.headline_name && form.headline_name.checked ) {
			new_delicious_cookie += DELICIOUS_DESCRIPTION_HEADLINE ;
		} else if (! headline ) {
			new_delicious_cookie += ( delicious_cookie & DELICIOUS_DESCRIPTION_HEADLINE ) ;
		}
		if ( subheadline && form.subheadline_name && form.subheadline_name.checked ) {
			new_delicious_cookie += DELICIOUS_DESCRIPTION_SUBHEADLINE ;
		} else if (! subheadline ) {
			new_delicious_cookie += ( delicious_cookie & DELICIOUS_DESCRIPTION_SUBHEADLINE ) ;
		}
		if ( byline && form.byline_name && form.byline_name.checked ) {
			new_delicious_cookie += DELICIOUS_DESCRIPTION_BYLINE ;
		} else if (! byline ) {
			new_delicious_cookie += ( delicious_cookie & DELICIOUS_DESCRIPTION_BYLINE ) ;
		}
		// if subheadline and blurb there are radio boxes
		if ( form.blurb_notes ) {
			if ( subheadline && blurb ) {
				if ( form.blurb_notes[0].checked ) {
					new_delicious_cookie += DELICIOUS_NOTES_SUBHEADLINE ;
				} else if ( form.blurb_notes[1].checked ) {
					new_delicious_cookie += DELICIOUS_NOTES_BLURB ;
				} else if ( form.blurb_notes[2].checked ) {
					new_delicious_cookie += DELICIOUS_NOTES_NONE ;
				}
			// if not (subheadline AND blurb) there could be a checkbox if subheadline OR blurb
			} else if ( subheadline ) {
				if ( form.blurb_notes.checked ) {
					new_delicious_cookie += DELICIOUS_NOTES_SUBHEADLINE ;
				} else {
					if ( delicious_cookie & DELICIOUS_NOTES_SUBHEADLINE )
						new_delicious_cookie += DELICIOUS_NOTES_NONE ;
					else
						new_delicious_cookie += get_notes_setting( delicious_cookie ) ;
				}
			} else if ( blurb ) {
				if ( form.blurb_notes.checked ) {
					new_delicious_cookie += DELICIOUS_NOTES_BLURB ;
				} else {
					if ( delicious_cookie & DELICIOUS_NOTES_BLURB )
						new_delicious_cookie += DELICIOUS_NOTES_NONE ;
					else
						new_delicious_cookie += get_notes_setting( delicious_cookie ) ;
				}
			}
		} else {
			new_delicious_cookie += get_notes_setting( delicious_cookie ) ;
		}
	}

	return new_delicious_cookie ;
}
function get_notes_setting(cookie) {
	var setting = 0 ;

	if ( (cookie & DELICIOUS_NOTES_SUBHEADLINE) == DELICIOUS_NOTES_SUBHEADLINE ) {
		setting = DELICIOUS_NOTES_SUBHEADLINE ;
	} else if ( (cookie & DELICIOUS_NOTES_BLURB) == DELICIOUS_NOTES_BLURB ) {
		setting = DELICIOUS_NOTES_BLURB ;
	} else {
		setting = DELICIOUS_NOTES_NONE ;
	}

	return setting ;
}
function keep_it_checked(item) {
	item.checked = true ;
}
function hideElement( el ) {
	el.style.display = 'none' ;
}
function showElement( el ) {
	el.style.display = 'block' ;
}
