/*Version Date: 2009-11-26*/
/**********************************************************************************************************\
*This code was orinially on the index page, it performs operations that need to run on all pages as soon as*
*the page has finished loading                                                                             *
\**********************************************************************************************************/
$(document).ready(function() {
  if( navigator.userAgent.toLowerCase().indexOf("chrome") > -1 ) {
    $(".rounded").css("-webkit-border-radius", "8px");					//apply the new webkit rounding css to .rounded in CHROME ONLY
  }
  else {
    $(".rounded").corners();											//enable rounded corners for all browsers except chrome
  }
  $("#ReturnMessage").fadeOut(9000);

  $(".ChangeLink").click( function() {
    getUsersGeolocation();
  });

  $(document).autoClearRestoreFields();
});

/**********************************************************************************************************\
* Run this function whenever you need to get the location of the user. Pops up a facebox, puts the form    *
* from the pagelet in there, and puts the cursor in the location field                                     *
\**********************************************************************************************************/
function getUsersGeolocation() {
    jQuery.facebox( function() {
        jQuery.get("/assets/pagelet/getUsersGeolocation.cfm", function(data) {
            jQuery.facebox(data);
            $("#location").focus();
        });
    });
}

/*
 * jQuery Corners 0.3
 * Copyright (c) 2008 David Turnbull, Steven Wittens
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 */
jQuery.fn.corners=function(C){var N="rounded_by_jQuery_corners";var V=B(C);var F=false;try{F=(document.body.style.WebkitBorderRadius!==undefined);var Y=navigator.userAgent.indexOf("Chrome");if(Y>=0){F=false}}catch(E){}var W=false;try{W=(document.body.style.MozBorderRadius!==undefined);var Y=navigator.userAgent.indexOf("Firefox");if(Y>=0&&parseInt(navigator.userAgent.substring(Y+8))<3){W=false}}catch(E){}return this.each(function(b,h){$e=jQuery(h);if($e.hasClass(N)){return }$e.addClass(N);var a=/{(.*)}/.exec(h.className);var c=a?B(a[1],V):V;var j=h.nodeName.toLowerCase();if(j=="input"){h=O(h)}if(F&&c.webkit){K(h,c)}else{if(W&&c.mozilla&&(c.sizex==c.sizey)){M(h,c)}else{var d=D(h.parentNode);var f=D(h);switch(j){case"a":case"input":Z(h,c,d,f);break;default:R(h,c,d,f);break}}}});function K(d,c){var a=""+c.sizex+"px "+c.sizey+"px";var b=jQuery(d);if(c.tl){b.css("WebkitBorderTopLeftRadius",a)}if(c.tr){b.css("WebkitBorderTopRightRadius",a)}if(c.bl){b.css("WebkitBorderBottomLeftRadius",a)}if(c.br){b.css("WebkitBorderBottomRightRadius",a)}}function M(d,c){var a=""+c.sizex+"px";var b=jQuery(d);if(c.tl){b.css("-moz-border-radius-topleft",a)}if(c.tr){b.css("-moz-border-radius-topright",a)}if(c.bl){b.css("-moz-border-radius-bottomleft",a)}if(c.br){b.css("-moz-border-radius-bottomright",a)}}function Z(k,n,l,a){var m=S("table");var i=S("tbody");m.appendChild(i);var j=S("tr");var d=S("td","top");j.appendChild(d);var h=S("tr");var c=T(k,n,S("td"));h.appendChild(c);var f=S("tr");var b=S("td","bottom");f.appendChild(b);if(n.tl||n.tr){i.appendChild(j);X(d,n,l,a,true)}i.appendChild(h);if(n.bl||n.br){i.appendChild(f);X(b,n,l,a,false)}k.appendChild(m);if(jQuery.browser.msie){m.onclick=Q}k.style.overflow="hidden"}function Q(){if(!this.parentNode.onclick){this.parentNode.click()}}function O(c){var b=document.createElement("a");b.id=c.id;b.className=c.className;if(c.onclick){b.href="javascript:";b.onclick=c.onclick}else{jQuery(c).parent("form").each(function(){b.href=this.action});b.onclick=I}var a=document.createTextNode(c.value);b.appendChild(a);c.parentNode.replaceChild(b,c);return b}function I(){jQuery(this).parent("form").each(function(){this.submit()});return false}function R(d,a,b,c){var f=T(d,a,document.createElement("div"));d.appendChild(f);if(a.tl||a.tr){X(d,a,b,c,true)}if(a.bl||a.br){X(d,a,b,c,false)}}function T(j,i,k){var b=jQuery(j);var l;while(l=j.firstChild){k.appendChild(l)}if(j.style.height){var f=parseInt(b.css("height"));k.style.height=f+"px";f+=parseInt(b.css("padding-top"))+parseInt(b.css("padding-bottom"));j.style.height=f+"px"}if(j.style.width){var a=parseInt(b.css("width"));k.style.width=a+"px";a+=parseInt(b.css("padding-left"))+parseInt(b.css("padding-right"));j.style.width=a+"px"}k.style.paddingLeft=b.css("padding-left");k.style.paddingRight=b.css("padding-right");if(i.tl||i.tr){k.style.paddingTop=U(j,i,b.css("padding-top"),true)}else{k.style.paddingTop=b.css("padding-top")}if(i.bl||i.br){k.style.paddingBottom=U(j,i,b.css("padding-bottom"),false)}else{k.style.paddingBottom=b.css("padding-bottom")}j.style.padding=0;return k}function U(f,a,d,c){if(d.indexOf("px")<0){try{console.error("%s padding not in pixels",(c?"top":"bottom"),f)}catch(b){}d=a.sizey+"px"}d=parseInt(d);if(d-a.sizey<0){try{console.error("%s padding is %ipx for %ipx corner:",(c?"top":"bottom"),d,a.sizey,f)}catch(b){}d=a.sizey}return d-a.sizey+"px"}function S(b,a){var c=document.createElement(b);c.style.border="none";c.style.borderCollapse="collapse";c.style.borderSpacing=0;c.style.padding=0;c.style.margin=0;if(a){c.style.verticalAlign=a}return c}function D(b){try{var d=jQuery.css(b,"background-color");if(d.match(/^(transparent|rgba\(0,\s*0,\s*0,\s*0\))$/i)&&b.parentNode){return D(b.parentNode)}if(d==null){return"#ffffff"}if(d.indexOf("rgb")>-1){d=A(d)}if(d.length==4){d=L(d)}return d}catch(a){return"#ffffff"}}function L(a){return"#"+a.substring(1,2)+a.substring(1,2)+a.substring(2,3)+a.substring(2,3)+a.substring(3,4)+a.substring(3,4)}function A(h){var a=255;var d="";var b;var e=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/;var f=e.exec(h);for(b=1;b<4;b++){d+=("0"+parseInt(f[b]).toString(16)).slice(-2)}return"#"+d}function B(b,d){var b=b||"";var c={sizex:5,sizey:5,tl:false,tr:false,bl:false,br:false,webkit:true,mozilla:true,transparent:false};if(d){c.sizex=d.sizex;c.sizey=d.sizey;c.webkit=d.webkit;c.transparent=d.transparent;c.mozilla=d.mozilla}var a=false;var e=false;jQuery.each(b.split(" "),function(f,j){j=j.toLowerCase();var h=parseInt(j);if(h>0&&j==h+"px"){c.sizey=h;if(!a){c.sizex=h}a=true}else{switch(j){case"no-native":c.webkit=c.mozilla=false;break;case"webkit":c.webkit=true;break;case"no-webkit":c.webkit=false;break;case"mozilla":c.mozilla=true;break;case"no-mozilla":c.mozilla=false;break;case"anti-alias":c.transparent=false;break;case"transparent":c.transparent=true;break;case"top":e=c.tl=c.tr=true;break;case"right":e=c.tr=c.br=true;break;case"bottom":e=c.bl=c.br=true;break;case"left":e=c.tl=c.bl=true;break;case"top-left":e=c.tl=true;break;case"top-right":e=c.tr=true;break;case"bottom-left":e=c.bl=true;break;case"bottom-right":e=c.br=true;break}}});if(!e){if(!d){c.tl=c.tr=c.bl=c.br=true}else{c.tl=d.tl;c.tr=d.tr;c.bl=d.bl;c.br=d.br}}return c}function P(f,d,h){var e=Array(parseInt("0x"+f.substring(1,3)),parseInt("0x"+f.substring(3,5)),parseInt("0x"+f.substring(5,7)));var c=Array(parseInt("0x"+d.substring(1,3)),parseInt("0x"+d.substring(3,5)),parseInt("0x"+d.substring(5,7)));r="0"+Math.round(e[0]+(c[0]-e[0])*h).toString(16);g="0"+Math.round(e[1]+(c[1]-e[1])*h).toString(16);d="0"+Math.round(e[2]+(c[2]-e[2])*h).toString(16);return"#"+r.substring(r.length-2)+g.substring(g.length-2)+d.substring(d.length-2)}function X(f,a,b,d,c){if(a.transparent){G(f,a,b,c)}else{J(f,a,b,d,c)}}function J(k,z,p,a,n){var h,f;var l=document.createElement("div");l.style.fontSize="1px";l.style.backgroundColor=p;var b=0;for(h=1;h<=z.sizey;h++){var u,t,q;arc=Math.sqrt(1-Math.pow(1-h/z.sizey,2))*z.sizex;var c=z.sizex-Math.ceil(arc);var w=Math.floor(b);var v=z.sizex-c-w;var o=document.createElement("div");var m=l;o.style.margin="0px "+c+"px";o.style.height="1px";o.style.overflow="hidden";for(f=1;f<=v;f++){if(f==1){if(f==v){u=((arc+b)*0.5)-w}else{t=Math.sqrt(1-Math.pow(1-(c+1)/z.sizex,2))*z.sizey;u=(t-(z.sizey-h))*(arc-w-v+1)*0.5}}else{if(f==v){t=Math.sqrt(1-Math.pow((z.sizex-c-f+1)/z.sizex,2))*z.sizey;u=1-(1-(t-(z.sizey-h)))*(1-(b-w))*0.5}else{q=Math.sqrt(1-Math.pow((z.sizex-c-f)/z.sizex,2))*z.sizey;t=Math.sqrt(1-Math.pow((z.sizex-c-f+1)/z.sizex,2))*z.sizey;u=((t+q)*0.5)-(z.sizey-h)}}H(z,o,m,n,P(p,a,u));m=o;var o=m.cloneNode(false);o.style.margin="0px 1px"}H(z,o,m,n,a);b=arc}if(n){k.insertBefore(l,k.firstChild)}else{k.appendChild(l)}}function H(c,a,e,d,b){if(d&&!c.tl){a.style.marginLeft=0}if(d&&!c.tr){a.style.marginRight=0}if(!d&&!c.bl){a.style.marginLeft=0}if(!d&&!c.br){a.style.marginRight=0}a.style.backgroundColor=b;if(d){e.appendChild(a)}else{e.insertBefore(a,e.firstChild)}}function G(c,o,l,h){var f=document.createElement("div");f.style.fontSize="1px";var a=document.createElement("div");a.style.overflow="hidden";a.style.height="1px";a.style.borderColor=l;a.style.borderStyle="none solid";var m=o.sizex-1;var j=o.sizey-1;if(!j){j=1}for(var b=0;b<o.sizey;b++){var n=m-Math.floor(Math.sqrt(1-Math.pow(1-b/j,2))*m);if(b==2&&o.sizex==6&&o.sizey==6){n=2}var k=a.cloneNode(false);k.style.borderWidth="0 "+n+"px";if(h){k.style.borderWidth="0 "+(o.tr?n:0)+"px 0 "+(o.tl?n:0)+"px"}else{k.style.borderWidth="0 "+(o.br?n:0)+"px 0 "+(o.bl?n:0)+"px"}h?f.appendChild(k):f.insertBefore(k,f.firstChild)}if(h){c.insertBefore(f,c.firstChild)}else{c.appendChild(f)}}};

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

/**********************************************************************************************************\
*Here lie the more advanced form validation functions, ones that the the jquery-validateForms.js plugin    *
*can't handle (ie, checks to the database).                                                                *
*                                                                                                          *
*Each validation check should be in it's own function and placed inside this script. Then the top function *
*( $(document).ready(function() ) should be used to call the validation checks at the appropriate time     *
*(onload, onkeypress, etc.)                                                                                *
\**********************************************************************************************************/
$(document).ready(function() {
  $(".validateForm").submit(function() {
    checkScreenName();													//run these if doc is ready AND someone submits the form
    checkEmail();
    if( ($(".screenNameError").length > 0) || ($(".emailError").length > 0) ) {
  	  return false;														//if there are ANY errors present... disallow form from submitting
  	}
  	else {
  	  return true;														//no errors, allow submission
  	}
  });
  $("#user_name").keyup(function() {
    checkScreenName();													//run when doc is ready AND someone types into the user_name box
  });
  $("#email").keyup(function() {
    if( $(".inviteFriends").length == 0 ) {								//if this is not the invite page...
      checkEmail();														//run when doc is ready AND someone types into the email box
    }
  });
});

function checkScreenName() {
  $.ajax({
    url: "/assets/pagelet/checkUsername.cfm",
    data: "user_name=" + $("#user_name").val(),
    success: function(response){
      response = response.replace(/^\s+|\s+$/g, '');					//trim stupid whitespace from response
      if (response == 0) {												//this name is free
        $(".screenNameError").remove();									//remove any existing errors
      }
      else {															//username is taken
        $(".screenNameError").remove();									//remove any existing errors
        $("#user_name").after("<label class='error screenNameError'>This user name is already taken. Please try a different one.</label>");
      }
    }
  });
}

function checkEmail() {
  $.ajax({
    url: "/assets/pagelet/checkEmail.cfm",
    data: "email=" + $("#email").val(),
    success: function(response){
      response = response.replace(/^\s+|\s+$/g, '');					//trim stupid whitespace from response
      if (response == 0) {												//this name is free
        $(".emailError").remove();										//remove any existing errors
      }
      else {															//username is taken
        $(".emailError").remove();										//remove any existing errors
        $("#email").after("<label class='error emailError'>We already have a user using this email address. Please try another one.</label>");
      }
    }
  });
}

/***************************************************************\
*                     Auto-Grow Textarea                        *
* This is a non-jQuery script to automatically grow a textarea  *
* when it's needed. In a nutshell: When the user hits a key,    *
* calculate how many lines of text they have, add 1 to it, and  *
* then use that to adjust the amount of rows in the textarea.   *
* @params: the textarea itself (use 'this' in an event function *
\***************************************************************/
function resizeTextarea( textarea ) {
  currentRows = textarea.value.split('\n');
  newRows = 1;
  minRows = 4;

  for( i=0; i < currentRows.length; i++ ) {									//for each currentRow,
    if( currentRows[i].length > textarea.cols ) {							//if there are more characters than there are cols
      newRows += Math.ceil( currentRows[i].length / textarea.cols - 1.3 )	//add more rows
    }
  }
  newRows += currentRows.length;											//add the current number of rows to new rows
  
  if( newRows <= minRows ) {												//don't allow the amount of rows to get less than the min
    textarea.rows = minRows;
    return;
  }  
  if( newRows != textarea.rows ) {											//if the new rows is greater than the current rows
    textarea.rows = newRows;												//resize the textarea
  }
}

/***************************************************************\
*                          Loading GIF                          *
* This function takes in an ID, and places a loading GIF image  *
* in the container with that ID. Is used by many different pages*
\***************************************************************/
function insertLoadingImage(containerID) {
	//set this to the name of the image to insert
	var image = "loading.gif";

	$("#" + containerID).html("<img src='/assets/images/" + image + "' alt='Loading... please wait' title='Loading... please wait' class='loadingImage' style='border:0;' />");
}

/***************************************************************\
* Scripts from item_list.cfm                                    *
\***************************************************************/
var injectCounter = 1;

function addParamToExtras(param, name, extras) {
    if (param  != "") {
        return extras + "&" + name + "=" + param;
    }
    else {
        return extras;
    }
}

$(document).ready(function() {
    $("#injectMoreItems a").live("click", function() {
        var $parentDiv = $(this).parent();
        $parentDiv.find(".loadingImage").remove();
        $parentDiv.append("<img src='/assets/images/loading.gif' alt='Serving... please wait' title='Serving... please wait' class='loadingImage' />");

    	var extras = "";
    	if (action == "find") {
            extras = "&content_id=" + content_id;
        }
        extras = addParamToExtras(search_criteria, "search_criteria", extras);
        extras = addParamToExtras(country, "country", extras);
        extras = addParamToExtras(filter_people, "filter_people", extras);
        extras = addParamToExtras(filter_location, "filter_location", extras);
        extras = addParamToExtras(filter_type, "filter_type", extras);
        extras = addParamToExtras(filter_distance, "filter_distance", extras);
        extras = addParamToExtras(filter_list, "filter_list", extras);
        extras = addParamToExtras(user_name, "user_name", extras);

        $.ajax({
            url: "/assets/pagelet/getMoreItems.cfm",
            data: {action:action, page:page, offset:injectCounter, extras:extras},
            success: function(data) {
            	$("#injectMoreItems .loadingImage").remove();
                data = $.trim(data);
                if (data == "false") {
                	$("#injectMoreItems a").fadeOut(animationSpeed, function() {
                        $(this).before("<strong>There are no more items to display</strong>").remove();
                	});
                }
                else {
                	$("#injectMoreItems").before("<div id='inject" + injectCounter + "'>" + data + "</div>").remove();
                	$("#inject" + injectCounter + " .ItemList:first").addClass("firstItem");
                	var scrollOffset = ($(window).height() / 4) * -1;
                	$.scrollTo("#inject" + injectCounter + " .ItemList:first", {speed:1500, offset:scrollOffset});
                	injectCounter = injectCounter + 1;
                }
            }
        });
        return false;
    });
});

$(document).ready(function() {
	$("a[rel^='prettyPhoto']").prettyPhoto({
		animationSpeed: 'normal', /* fast/slow/normal */
		padding: 40, /* padding for each side of the picture */
		opacity: 0.35, /* Value betwee 0 and 1 */
		showTitle: false, /* true/false */
		allowresize: true, /* true/false */
		counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
		theme: 'light_rounded' /* light_rounded / dark_rounded / light_square / dark_square */
	});
});

/*START OF TWIT THIS*/
function twitThis( itemID, itemTitle ) {
	$("#twitThis").fadeOut("slow", function () {
		$("#twitThis").remove();
	});

	thisItem = $("#twitThis-" + itemID);
	positionTop = thisItem.offset().top;
	positionLeft = thisItem.offset().left + 81;

	insertLoadingImage("twitThis-" + itemID);

	$.ajax({
		type: "GET",
		url: "/assets/pagelet/checkAlreadyTweeted.cfm?userID=" + user_id + "&contentID=" + itemID,
		cache: false,
		success: function(result) {
			result = $.trim(result);

			resultArray = new Array();
			resultArray = result.split("||");
			status = resultArray[0];
			params = resultArray[1];

			if (status == "true") {
				//the user has already tweeted this item, show it to them
				paramsArray = new Array();
				paramsArray = params.split("~");

				var alreadyTweet = "<div id='heading'><h1>You have already tweeted this item!</h1></div><div id='tweet'><span class='tweetLabel'>Twitter account: </span>" + paramsArray[1] + "<br /><span class='tweetLabel'>Tweet date: </span>" + paramsArray[2] + "<br /><span class='tweetLabel'>Tweet message: </span>" + paramsArray[3] + "<br /><br /><a href='#' onclick='closeTwitThis(); return false;'>[Close]</a></div>";

				$(document.body).append("<div id='twitThis' style='top:" + ( positionTop + 20 ) + "px; left:" + positionLeft + "px;'></div>");
				$("#twitThis").html(alreadyTweet).fadeIn("fast");

				$("#twitThis-" + itemID).html("Already tweeted!");
			}
			else {
				//the user hasn't tweeted this item yet
				//check if the user has already saved their twitter details in the dbase
				$.ajax({
					type: "GET",
					url: "/assets/pagelet/checkTwitterDetailsPresent.cfm",
					cache: false,
					success: function(result){
						result = $.trim(result);
						//if the details are already present...
						if (result == "true") {
							//pop up the twitter message box
							$(document.body).append("<div id='twitThis' style='top:" + positionTop + "px; left:" + positionLeft + "px;'></div>");
							$.get("/assets/pagelet/twitThis.cfm?action=getform&title=" + itemTitle + "&itemID=" + itemID, function(data) {
								$("#twitThis").html(data).fadeIn("fast");
								$("#twitThisMessage").focus();
								$("#twitThis-" + itemID).html("Twit-this");
							});
						}
						//but if we don't already have both the username and password of the user's twitter account
						else {
							//show the facebox with the form to get and store the user's twitter details
							jQuery.facebox( function() {
								jQuery.get("/assets/pagelet/getUsersTwitterDetails.cfm", function(data) {
									jQuery.facebox(data);
									$("#username").focus();
									//try and make it open the twitter message box when the user submits this form
									$("#twitThis-" + itemID).html("Twit-this");
								});
							});
						}
					}
				});
			}
		}
	});
}

function closeTwitThis() {
	$("#twitThis").fadeOut("slow", function () {
		$("#twitThis").remove();
	});
}

function loggedOutTweet( itemID ) {
	closeTwitThis();

	thisItem = $("#twitThis-" + itemID);
	positionTop = thisItem.offset().top;
	positionLeft = thisItem.offset().left + 81;

	$(document.body).append("<div class='loggedOutTweetMessage' style='top:" + positionTop + "px; left:" + positionLeft + "px;'>You must be logged in to use this feature!</div>");
	$(".loggedOutTweetMessage").fadeOut(7000);
}

function removeItem( itemID ) {
    jConfirm("Are you sure you want to delete this item?<br /><br />This cannot be undone.", "Are you sure?", function(response) {
        if(response) {
            //user has confirmed that they wish to delete, do it!
            $.ajax({
                url: "/assets/pagelet/deleteTableItem.cfm?itemID=" + itemID,
                success: function(data){
                    $("#item" + itemID).slideUp();
                }
            });
        }
    });
    return false;
}

function getComments(contentID) {
    $("#DisplayComments" + contentID).load("/assets/pagelet/getComments.cfm?content_id=" + contentID, function() {
        $("#DisplayComments" + contentID).fadeIn("slow");
    });
    return false;
}

function getVideo(contentID) {
    $("#DisplayVideo" + contentID).slideDown("slow");
    $("#WatchVideoBtn" + contentID).fadeOut("slow");  
}

function addFavourite(contentID) {
    $("#FavMessage" + contentID).load("/assets/pagelet/AddFavourite.cfm?content_id=" + contentID);
    $("#FavMessage" + contentID).css("position", "absolute");
    $("#FavMessage" + contentID).css("margin-top", "-28px");
    return false;
}

function reBlog(contentID) {
    $("#ReBlogMessage" + contentID).load("/assets/pagelet/ReBlog.cfm?content_id=" + contentID);
    $("#ReBlogMessage" + contentID).css("position", "absolute");
    $("#ReBlogMessage" + contentID).css("margin-top", "-28px");
    return false;
}

function showMap(contentID) {
    $.facebox(function() {
        $.get('/assets/pagelet/getItemMap.cfm?itemID=' + contentID, function(data) {
            $.facebox(data);
            resizeFaceboxMap(maps[0]);
        });
    });
}

/* Settings > Add Business Type */
$(document).ready(function() {
    var businessTypeSelect = $("select[name='place_type_select']");
    var selectedBusinessTypes = $("#selected_place_types");

    $.each(selectedBusinessTypes.find("ul li"), function(index, value) {
        var selectedText = $(this).text().trim();
        $.each(businessTypeSelect.find("option"), function(index, value) {
            var optionText = $(this).text().trim();
            if (selectedText == optionText) {
                $(this).remove();
                return false;
            }
        });
    });

    $("#AddTypeButton").click(function() {
        var businessTypeOption = $(businessTypeSelect).find(":selected");
        var newBusinessType = businessTypeSelect.val();
        var newBusinessValue = businessTypeOption.text();

        businessTypeOption.remove();

        if (newBusinessType != "") {
            //create a hidden input with this value
            selectedBusinessTypes.after("<input type='hidden' name='place_type_ids' value='" + newBusinessType + "'>");

            //add the new selected text to the list div
            if (selectedBusinessTypes.is(":hidden")) {
                selectedBusinessTypes.show();
            }
            selectedBusinessTypes.find("ul").append("<li id='place_type_" + newBusinessType + "'>" + newBusinessValue + " <img src='/assets/images/icons/stockholm/mini/close.gif' title='Remove this Place Type' onclick='removePlaceType(" + newBusinessType + ")' /></li>");
        }

        return false;
    });
});

function removePlaceType(placeTypeID) {
    $.each($("input[type='hidden']"), function(index, value) {
        if (($(this).attr("name") == "place_type_ids") && ($(this).attr("value") == String(placeTypeID))) {
            $(this).remove();
            return false;
        }
    });
    $("#place_type_" + placeTypeID).fadeOut("slow", function() {
        $(this).remove();
    });
}

function setCookie(name, value, expireDays) {
	var expireDate = new Date();
	expireDate.setDate(expireDate.getDate() + expireDays);
	document.cookie = name + "=" + escape(value) + ";expires=" + expireDate.toUTCString() + ";path=/;domain=." + document.domain;
}