// JavaScript Document

var clickPrint = false;

//Print document function
function printForm() {
	var Form = $("#floorplanForm");
	if(clickPrint)
	{
		window.open('about:blank', 'Popup_Window', 'width=800,height=600');
		Form.attr('target', 'Popup_Window');
		//Popup_Window.print();
		/*
		$(Popup_Window).ready(function ()
		{
			//$(this).print();
		});
		*/
		/*
				Popup_Window = window.open('about:blank', 'Popup_Window', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left = 0,top = 0');
		Form.attr('target', 'Popup_Window');
		//Popup_Window.print();
		$(Popup_Window).ready(function ()
		{
			$(this).print();
		});
		*/
		return true;
	} else {
		return false;	
	}
	clickPrint = false;
}



function checkBoxCheck(objectName)
{
	var optionId = objectName.val();

	if(objectName.is(':checked'))
	{
		if($("#reverse").is(':checked'))
		{
			$("#option_" + optionId + "_r").show();
		} else {
			$("#option_" + optionId).show();
		}
	} else {
		$("#option_" + optionId).hide();
		$("#option_" + optionId+"_r").hide();
	}
}

function refreshListing()
{
	if($("#reverse").is(':checked'))
	{
		$(".mediaImage").hide();
		$(".mediaImage_r").show();
	} else {
		$(".mediaImage_r").hide();
		$(".mediaImage").show();
	}
	$(".optionHolder").children().trigger("change");
	$(".chooseFloor div input[type=radio]").each(function(i)
	{
		if($(this).is(':checked'))
		{
			//alert('checked');
			$(this).trigger("click");
		}
	});
	
	$(".optionHolder input[type=radio]").add(".renderings input[type=radio]").each(function(i)
	{
		if($(this).is(':checked'))
		{
			$(this).trigger("click");
		}
	});
	//$(".floorplanBoxHolder").show();
}
	
var showRender = false;
function showRenderTrue()
{
	if(showRender == false)
		showRender = true;	
}
	
	
function zoomFunction(rate)
{
	$(".optionImage").add(".floorplanBoxHolder").add(".optionImage_r").add(".floorplanImages").show();

	var zoomRate = rate;
	switch(rate)
	{
		case 1:
			zoomRate = 0.5;
			break;
		case 2:
			zoomRate = 0.75;
			break;
		case 3:
			zoomRate = 1;
			break;
		default:
			zoomRate = 0.5;
			break;
	}

	//var floorplanWidth_before = $(".fplanimg").attr("width");
	
	$(".optionImage").add(".optionImage_r").add(".fplanimg").each(function(i)
	{
		//$(this).removeAttr('width'); // 
		//$(this).attr('width', $(this).attr('width')*zoomRate);
		var oldSource = $(this).attr("src");
		var newSource = oldSource.replace(/x1/, "x" + rate);
		newSource = newSource.replace(/x2/, "x" + rate);
		newSource = newSource.replace(/x3/, "x" + rate);
		
		$(this).attr("src", newSource);
	});
	//var floorplanWidth_after = $(".fplanimg").attr("width");
	//var difference = (floorplanWidth_after/floorplanWidth_before);
	//alert(difference);
	//alert(zoomRate + " : " + difference);
	$(".optionImage").each(function(i)
	{
		/*
		imageObject = $(this);
		var imageOffset = imageObject.offset();
		var holderOffset = imageObject.parent().offset();
		var relativeOffesetLeft = imageOffset.left - holderOffset.left -1;
		var relativeOffesetTop = imageOffset.top - holderOffset.top -1;
		*/
		var leftVal = $("#" + $(this).attr('id') + "Left").val();
		var topVal = $("#" + $(this).attr('id') + "Top").val();
		$(this).css({'margin-left': Math.round(leftVal*zoomRate), 'margin-top': Math.round(topVal*zoomRate)})
		//alert(leftVal + 'x' + zoomRate + ' = ' + Math.round(leftVal*zoomRate));
	});
	
	$(".optionImage_r").each(function(i)
	{
		/*
		imageObject = $(this);
		var imageOffset = imageObject.offset();
		var holderOffset = imageObject.parent().offset();
		var relativeOffesetLeft = imageOffset.left - holderOffset.left -1;
		var relativeOffesetTop = imageOffset.top - holderOffset.top -1;
		*/
		var leftVal = $("#" + $(this).attr('id').replace(/_r/, "") + "Left_r").val();
		var topVal = $("#" + $(this).attr('id').replace(/_r/, "") + "Top_r").val();
		//alert(leftVal);
		$(this).css({'margin-left': Math.round(leftVal*(zoomRate)), 'margin-top': Math.round(topVal*(zoomRate))})
	});
	
	$(".mediaImage").each(function(i)
	{
		/*
		imageObject = $(this);
		var imageOffset = imageObject.offset();
		var holderOffset = imageObject.parent().offset();
		var relativeOffesetLeft = imageOffset.left - holderOffset.left -1;
		var relativeOffesetTop = imageOffset.top - holderOffset.top -1;
		*/
		var leftVal = $("#" + $(this).attr('id') + "Left").val();
		var topVal = $("#" + $(this).attr('id') + "Top").val();
		//alert("#" + $(this).attr('id') + "Top");
		$(this).css({'margin-left': Math.round(leftVal*zoomRate), 'margin-top': Math.round(topVal*zoomRate)})
		//alert(leftVal + 'x' + zoomRate + ' = ' + Math.round(leftVal*zoomRate));
	});
	
	$(".mediaImage_r").each(function(i)
	{
		/*
		imageObject = $(this);
		var imageOffset = imageObject.offset();
		var holderOffset = imageObject.parent().offset();
		var relativeOffesetLeft = imageOffset.left - holderOffset.left -1;
		var relativeOffesetTop = imageOffset.top - holderOffset.top -1;
		*/
		var leftVal = $("#" + $(this).attr('id').replace(/_r/, "") + "Left_r").val();
		var topVal = $("#" + $(this).attr('id').replace(/_r/, "") + "Top_r").val();
		//alert(leftVal);
		$(this).css({'margin-left': Math.round(leftVal*(zoomRate)), 'margin-top': Math.round(topVal*(zoomRate))})
	});
	
	$(".optionImage").add(".floorplanBoxHolder").add(".optionImage_r").add(".mediaImage").add(".mediaImage_r").hide();
	refreshListing();
	
	//Recenter it if they zoom back to 1x1 ration
	if(zoomRate==0.5)
	{
		$(".floorplan").css({'left': 0, 'top': 0});
	}
}


//For Media images fade in
function fadeInLargeRender()
{
	$("#largerRender").fadeIn('normal', function ()
	{
		$("#largerRender").redrawShadow({color: '#000000'});	
	});
}
	
$(document).ready(function ()
{
	
	$("#floorplanForm").submit(function ()
	{
		return printForm();
	});
	$(".optionHolder input[type=radio]").click(function ()
	{
		$(".img_radio").hide();
		$(".img_radio").hide();
		var optionId = $(this).val();
		if($("#reverse").is(':checked'))
		{
			$("#option_" + optionId+"_r").show();
		} else {
			$("#option_" + optionId).show();
		}
		//alert(optionId);

	});
	

	
	$(".optionHolder input[type=checkbox]").change(function ()
	{
		checkBoxCheck($(this));
	});

	$(".optionHolder input[type=checkbox]").click(function ()
	{
		checkBoxCheck($(this));
	});

	$(".chooseFloor input[type=radio]").click(function ()
	{
		//$("#reverse").is(':checked')
		$(".floorplanBoxHolder").add(".optionHolder").add(".optionHolder_r").hide();
		var optionId = $(this).val();
		$("#floor" + optionId).add("#options" + optionId).show();
		
	});
	
	//$('.renderings a').lightBox({fixedNavigation:true});
	//refreshListing();
	
	$(".renderNumber").click(function ()
	{
		if($("#reverse").is(':checked'))
		{
			$("#render_preview").attr('src', 'floorplanImages/renderImages/' + $(this).val() + '_r.jpg');
		} else {
			$("#render_preview").attr('src', 'floorplanImages/renderImages/' + $(this).val() + '.jpg');
		}

	});
	
	$("#largerRender").dropShadow({top:1, left:1, blur:4});
	$("#largerRender").removeShadow();
	$(".renderings img").click(function ()
	{
		if(!showRender)
		{
			var renderNum = $('.renderNumber:checked').val();
			if($("#reverse").is(':checked'))
			{
				$("#largerRender img").attr('src', 'floorplanImages/renderImages/' + renderNum + '_r.jpg');
			} else {
				$("#largerRender img").attr('src', 'floorplanImages/renderImages/' + renderNum + '.jpg');
			}
			
			$("#largerRender").fadeIn(function()
			{
				$("#largerRender").redrawShadow({color: '#000000'});	
			});
			setTimeout("showRenderTrue()", 500);
		}
	});

	$(document).click(function ()
	{
		if(showRender)
		{
			$("#largerRender").fadeOut();
			$("#videoBox").fadeOut();
			$("#largerRender img").attr('src', 'images/blank.gif');
			$("#largerRender").removeShadow();
			showRender = false;
		}
	});

	$(".floorplan").draggable();
	
	$("#reverse").click(function ()
	{
		//alert('r');
		if($(this).is(':checked'))
		{
			$(".optionImage").add(".optionImage_r").add("mediaImage").add("mediaImage_r").hide();
			refreshListing();
			$(".fplanimg").each(function(i) { $(this).attr('src', $(this).attr('src').replace(".jpg", "_r.jpg")); });
			$(".renderings img").each(function(i) { $(this).attr('src', $(this).attr('src').replace(".jpg", "_r.jpg")); });
			$(".fplanimg").each(function(i) { $(this).attr('src', $(this).attr('src').replace("_r_r.jpg", "_r.jpg")); });
			$(".renderings img").each(function(i) { $(this).attr('src', $(this).attr('src').replace("_r_r.jpg", "_r.jpg")); });
		} else {
			$(".optionImage").add(".optionImage_r").add("mediaImage").add("mediaImage_r").hide();
			refreshListing();
			$(".fplanimg").each(function(i) { $(this).attr('src', $(this).attr('src').replace("_r.jpg", ".jpg")); });
			$(".renderings img").each(function(i) { $(this).attr('src', $(this).attr('src').replace("_r.jpg", ".jpg")); });
		}
	});

	
       $('#slider').slider({
						   min: 1,
						   max: 3,
						   steps: 2,
						   change: function(e,ui) { zoomFunction(ui.value); }
						   });
	   
	$("#printPage").click(function ()
	{
		clickPrint = true;
		$("#floorplanForm").submit();
	});
	
	refreshListing();
	
	$(".mediaImage").add(".mediaImage_r").click(function ()
	{
		if(!showRender)
		{
			if($(this).attr('title') == "photo")
			{
				$("#largerRender img").attr('src', 'floorplanMedia/photos/' + $(this).attr('alt') + '.jpg');
				setTimeout('fadeInLargeRender()', 300);

			} else if($(this).attr('title') == "video") {
				var vidId = $(this).attr('alt');
				$("#videoBox").media({src:'flash/playflv.swf', flashvars: {vidfile:'../floorplanMedia/videos/' + vidId + '.flv', wmode: 'transparent'}, width: 550, height: 350, caption: false, autoplay: true, autostart: true });
				$("#videoBox").fadeIn();
			} else { //Assume flash
				var vidId = $(this).attr('alt');
				$("#videoBox").media({src:'floorplanMedia/flash/' + vidId + '.swf', width: 550, height: 350, caption: false, autoplay: true, autostart: true });
				$("#videoBox").fadeIn();
			}
			setTimeout("showRenderTrue()", 500);
		}
	});
});
