document.write('<script src="http://www.google.com/jsapi"></script>');
document.write('<script type="text/javascript" charset="utf-8" src="http://bit.ly/javascript-api.js?version=latest&login=unionstmedia&apiKey=R_061f4d68e4ed51633b7ae4fe2ec959d9"></script>');
document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/jquery.form.js"></script>');
document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/jquery.galleria.js"></script>');
document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/jquery.boxy.js"></script>');
if(!window.google){
	document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/ui.core.js"></script>');
	document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/ui.tabs.js"></script>');
	document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/ui.mouse.js"></script>');
	document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/ui.slider.js"></script>');
}
else{
	document.write('<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.6/jquery-ui.min.js"></script>');
	//google.load("jqueryui", "1.6");
}
document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/jquery.validate.js"></script>');
document.write('<script language="javascript" type="text/javascript" src="http://www.unionstreetmedia.com/data/js/jquery.selectboxes.js"></script>');
var $ie;
if($.browser.msie && $.browser.version.substr(0,1)<7) $ie = true;

$(document).ready(function() {
		
		  ////////////////////////
		 ///   Share Action   ///
		////////////////////////
		
		$("#btn-share").mouseover(function(){
			$("#share-this-box").show();			 
		});
		$("#share-this-box").mouseover(function(){
			$("#share-this-box").show();			 
		});
		$("#btn-share").mouseout(function(){
			$("#share-this-box").hide();			 
		});
		$("#share-this-box").mouseout(function(){
			$("#share-this-box").hide();			 
		});
		
		  ////////////////////
		 ///   Galleria   ///
		////////////////////

		//Set Default Gelleria Image
		$("ul.gallery li:first").addClass('active');
		var ssli;
		var ssoffset;
		var boxyopen = 0;
		function galleriaBig(direction){
			if(direction == "next") li = ssli.next("li");
			if(direction == "prev") li = ssli.prev("li");
			check = li.is("li");
			if(direction == "prev" && !check){ 
				li = ssli.siblings("li:last");
			}
			if(direction == "next" && !check){ 
				li = ssli.siblings("li:first");
			}
			bigi = li.attr("rel");
			image = $("#sslarge");
			image.hide();
			$("#sspreload").show();
			image.load(function(){
				$(this).show();
				$("#sspreload").hide();
			}).attr("src",bigi);
			ssli = li;
		}
		$('ul.gallery').galleria({
			history   : false, // activates the history object for bookmarking, back-button etc.
			clickNext : true, // helper for making the image clickable
			insert    : '#main_image', // the containing selector for our main image
			onImage   : function(image,caption,thumb) { // let's add some image effects for demonstration purposes
				
				// fade in the image & caption
				image.css('display','none').fadeIn(250);
				caption.css('display','none').fadeIn(250);
				
				// fetch the thumbnail container
				var _li = thumb.parents('li');
				
				// fade out inactive thumbnail
				_li.siblings().children('img.selected').fadeTo(250,0.7);
				
				// fade in active thumbnail
				thumb.fadeTo('fast',1).addClass('selected');
				
				// add a title for the clickable image
				image.attr('title','View Next');
				$("#large-image").unbind("click");
				$("#main_image").hover(function(){
					height = $(this).height();
					$("#large-image").addClass("big").height(height);
				},function(){
					$("#large-image").removeClass("big").height("");
				});
				$("#large-image").click(function(){
					bigi = _li.attr("rel");
					ssli = _li;
					if(bigi){
						bigimage = '<div id="boxy-slide"><img src="'+bigi+'" id="sslarge" /><a href="#" id="ssprev">Back</a><a href="#" id="ssnext">Next</a><div id="sspreload"></div></div>'
						if(!boxyopen){
							new Boxy(bigimage,{title:"Large Image",fixed:false,center:true,afterShow: function() {
									boxyopen = 1;
									$("#ssnext").click(function(){ galleriaBig("next");return false; });
									$("#ssprev").click(function(){ galleriaBig("prev");return false; });
									ssoffset = $("#boxy-slide").offset();
									sswidth = $("#boxy-slide").width();
									ssheight = $("#boxy-slide").height();
									$().mousemove(function(e){
										 if(e.pageX < (ssoffset.left + ( sswidth/2 )) && e.pageX > ssoffset.left && e.pageY > ssoffset.top && e.pageY < (ssoffset.top + ssheight) ) $("#ssprev").show();
										 else $("#ssprev").hide();
										 if(e.pageX > (ssoffset.left + ( sswidth/2 )) && e.pageX < (ssoffset.left + sswidth)  && e.pageY > ssoffset.top && e.pageY < (ssoffset.top + ssheight) ) $("#ssnext").show();
										 else $("#ssnext").hide();
									});
								},afterHide:function(){
									this.unload();
								},
								afterDrop:function(){
									ssoffset = $("#boxy-slide").offset();
									boxyopen = 0;
								}
							});
						}
					}
				})
			},
			onThumb : function(thumb) { // thumbnail effects goes here
				
				// fetch the thumbnail container
				var _li = thumb.parents('li');
				
				// if thumbnail is active, fade all the way.
				var _fadeTo = _li.is('.active') ? '1' : '0.7';
				
				// fade in the thumbnail when finnished loading
				thumb.css({opacity:_fadeTo}).fadeIn(250);
				if(!$ie) $("#large-image").show();
				
				// hover effects
				thumb.hover(
					function() { thumb.fadeTo('fast',1); },
					function() { _li.not('.active').children('img').fadeTo('fast',0.7); } // don't fade out if the parent is active
				)
			}
		});

}); 
  /////////////////////
 ///   Add tabs   ////
/////////////////////
$(document).ready(function() {
	$('.tabmenu').tabs();
});

  //////////////////////////////
 ///   RE2 Favorites Ajax   ///
//////////////////////////////

function saveToFavorite(FeedID,ObjectID,MLSNumber){
	var url = "/realestate/parseAjax/addfavorite/"+FeedID+"/"+ObjectID+"/"+MLSNumber;
	$.post(url,{nositedesign:"true"},addFavorite);
	urchinTracker('/complete/registered/save-favorite/');
}

function removeMyFavorite(mlfav){
	mlfav = "#"+mlfav;
	var dest = $(mlfav).val();
	var url = "/realestate/parseAjax/removefavorite/"+dest;
	$.post(url,{nositedesign:"true"},removeFavorite);
}

function parseAjax(dest,functionname) {
    $.post(dest,{nositedesign:"true"},functionname);
}

  /////////////////////
 ///     Boxy     ////
/////////////////////

jQuery(document).ready(function($) {
$("a[rel='boxy']").boxy({
	unloadOnHide: true,
	modal:true,
	fixed:false,
	draggable:true,
	afterShow:addValidation
  });
});

  ///////////////////////
 ///   Form Ajax    ////
///////////////////////

function formAssignAjax(id,text){
	var options = {
		beforeSubmit:formBeforeSubmit,
		success:function(){
				formSuccess(id,text);
			},
		error:function(x,e){
			if(x.status == 0) formSuccess(id,text);			
		}
		}
	$(id).ajaxForm(options); 
}
function formSuccess(id,text){
		$('.boxySending').remove();
		$(".boxy-content").find(id).empty();
		$('.boxy-content').find(id).append('<p>'+text+'</p>');
		
}

  //////////////////////////////
 ///   Form Ajax validation ///
//////////////////////////////
function addValidation(){
	$('.boxy-content form').each(function(){
		id = "#"+$(this).attr("id");
		ajaxFormValidation(id);
		formAssignAjax(id,'Thank you for contacting us, we\'ll be in touch.');
	});
}
function ajaxFormValidation(id){
	$(id).each(function(){
		$(this).validate({debug: true,errorClass:"errorForm",errorElement: "div"});
	});
}
function formBeforeSubmit(){
	var checkIt = $(id).validate().form()
	if(checkIt == true){$('body').prepend('<div class="boxySending">Loading...</div>');}
	else{return false;}
}

/* Share this */
$(function(){
	$('#share-this-box #share-this-menu #share-twit a, #Twitter').each(function(e){
		url = document.location.href;
		var $link = $(this);
		BitlyCB.shortenResponse = function(data) {
			result = data.results[url].shortUrl;
			$link.attr("href","http://twitter.com/home?status=" +encodeURIComponent("Check out this great property "+result));
        }
        BitlyClient.shorten(url, 'BitlyCB.shortenResponse');
	});
});

/* utility */
function removeNL(s) { // grabbed from /data/iepc/js/res-premium.min.js, apparently now required to save listings on the detail view
  /*
  ** Remove NewLine, CarriageReturn and Tab characters from a String
  **   s  string to be processed
  ** returns new string
  */
  r = "";
  for (i=0; i < s.length; i++) {
    if (s.charAt(i) != '\n' &&
        s.charAt(i) != '\r' &&
        s.charAt(i) != '\t') {
      r += s.charAt(i);
      }
    }
  return r;
}

