/*!
 * Isometric Callcott
 * http://www.chriscummings.net
 *
 * Sloppy enough that I'm a little ashamed =)
 */

// VARS
//#################################################################################################
	var callcottJSON = 'callcott_data.json';
	var flr;
	var animations = 0;
	var layermenu = 0;
		var officelayer = 1;
		var classroomlayer = 1;
		var restroomlayer = 1;
		var lablayer = 1;
		var loungelayer = 1;
		var utilitylayer = 1;
		var spriteslayer = 1;
	var aboutmenu = 0;
	var legendmenu = 0;
	var officemenu = 0;
	var roommenu = 0;
	var locatepref = 1; //1=office, 0=room
	var helpmenu = 0;
	var popup_x =335; //DEFUALT POSITION FOR POPUPS
	var popup_y = 50; //DEFUALT POSITION FOR POPUPS
	var startingMap = 0;
	var people = ['cummings','ellett','battersby','hodgson','mock','kupfer','sigrist','yetti'];

	// SPRITE POSITIONS
	//'floor-class-x-y'
	cummings = ['0-cummings_r-111-232','0-cummings_l-251-86','1-cummings_r-594-218','3-cummings_r-789-58','3-cummings_r-450-278','3-cummings_r-469-199'];
	ellett = ['0-ellett_l-305-262','1-ellett_l-204-60','1-ellett_l-285-1','1-ellett_l-518-190','3-ellett_r-775-57','3-ellett_r-401-167','3-ellett_l-538-182'];
	battersby = ['0-battersby_r-165-119','0-battersby_r-301-131','0-battersby_l-438-213','1-battersby_r-305-117','1-battersby_r-675-142','1-battersby_r-879-20','3-battersby_r-368-148','3-battersby_r-433-247','3-battersby_l-930-72'];
	hodgson = ['0-hodgson_r-872-245','1-hodgson_r-691-104','1-hodgson_r-655-3','1-hodgson_l-501-195','2-hodgson_r-714-46','2-hodgson_l-582-286','3-hodgson_r-212-69','3-hodgson_r-343-132','3-hodgson_l-482-230'];
	mock = ['0-mock_l-263-126','1-mock_l-517-234','2-mock_r-688-117','1-mock_r-544-231','2-mock_l-468-211','2-mock_r-188-54','3-mock_l-488-220'];
	kupfer = ['0-kupfer_l-872-245','0-kupfer_l-656-232','1-kupfer_l-480-179','1-kupfer_l-492-239','2-kupfer_r-728-47','3-kupfer_l-508-190','3-kupfer_r-331-129'];
	sigrist = ['0-sigrist_r-149-54','0-sigrist_l-338-161','0-sigrist_l-447-211','1-sigrist_l-732-47','2-sigrist_r-442-229','3-sigrist_l-890-54','3-sigrist_l-744-77','3-sigrist_r-446-240'];
	yetti = ['0-yetti-19-78','0-yetti-676-93','1-yetti-459-108','1-yetti-786-106','2-yetti-714-129','2-yetti-669-230','3-yetti-294-194','3-yetti-576-241','3-yetti-843-107'];


// FUNCTIONS
//#################################################################################################

// GRAB JSON#######################################################################################
	function getCallcottJSON(){
		$.ajax({
			type: "GET",
			url: callcottJSON,
			dataType: "script",
			success: function(){
				startMap();
			},
			error: function(){
				alert('Error: failed to load '+callcottJSON+'!');
			}
		});
	}

// BULLET HANDLEING, ROOM AND OFFICE POPULATING####################################################
	function bulletHandle(){
		$('.bullet').each(function(){
			var id = $(this).attr('id') + ""; //001A
			var xy = $(this).attr('rel').split('-'); //[345][32]
			var x = xy[0] -5; // ADJUST FOR ICON
			var y = xy[1] -5; // ADJUST FOR ICON
			var roomtype = callcott['_'+id].room_type; //restroom
			var descriptor;
			
			// ASSIGN CUBE ICONS AND PREPARE NAME======================================
			if(typeof callcott['_'+id].room_type !== 'undefined'){
				if(roomtype === 'office'){
					if(typeof callcott['_'+id].owner !== 'undefined'){
						descriptor = id +" - Office of "+ callcott['_'+id].owner;
					}else{
						descriptor = id +" - Office";
					}
					$(this).addClass("orange");
				}
					else if(roomtype.toLowerCase() === 'class'){
						descriptor = id +" - Class Room";
						$(this).addClass("blue");
					} 
						else if(roomtype.toLowerCase() === 'restroom'){
							if(typeof callcott['_'+id].sex !== 'undefined'){
								if(callcott['_'+id].sex === 'm'){
									descriptor = id +" - Restroom ( Mens )";
								}else if(callcott['_'+id].sex === 'f'){
									descriptor = id +" - Restroom ( Womens )";
								}else if(callcott['_'+id].sex === 'u'){
									descriptor = id +" - Restroom ( Unisex )";
								}
							}else{
								descriptor = id +" - Restroom";
							}
							$(this).addClass("green");
						} 
						//	else if(roomtype.toLowerCase() === 'lounge'){
						//		descriptor = id +" - Lounge";
						//		$(this).addClass("purple");
						//	} 
								else if(roomtype.toLowerCase() === 'lab'){
									if(typeof callcott['_'+id].room_name !== 'undefined'){
										descriptor = id+' - '+callcott['_'+id].room_name;
									}else{
										descriptor = id +" - Lab";
									}
									$(this).addClass("yellow");
								} 
									else if(roomtype.toLowerCase() === 'utility'){
										if(typeof callcott['_'+id].util_type !== 'undefined'){
											descriptor = id +" - Utility Room ( "+callcott['_'+id].util_type+" )" ;
										}else{
											descriptor = id +" - Utility Room" ;
										}
										$(this).addClass("gray");
									}
										else if(roomtype.toLowerCase() === 'auditorium'){
											descriptor = id +' - Auditorium' ;
											$(this).addClass("blue");
										}else{
											descriptor = id +' - '+callcott['_'+id].room_type ;
											$(this).addClass("purple");
										}
			}else{
				descriptor = id +' - Unknown room type';
				$(this).addClass("purple");
			}
	
			// ASSIGN ANCHOR TAG NAME==================================================
			$(this).attr({name: descriptor});
	
			// MOVE TO XY LOCATION=====================================================
			$(this).css({'left' : x, 'top' : y, 'position': 'absolute'});
		
			// POPULATE THE ROOM MENU==================================================
			$('#rooms').append('<a href="#" name="'+id+'" class="locatelink">'+id+'</a><br/>');
			
			// POPULATE OFFICE MENU====================================================
			if(callcott['_'+id].room_type === 'office' || callcott['_'+id].room_type === 'lab'){
				if(typeof callcott['_'+id].owner !== 'undefined'){
					if(typeof callcott['_'+id].staff_or_fac !== 'undefined'){
						var fac_staff = callcott['_'+id].staff_or_fac;
						fac_staff = fac_staff.toLowerCase();
		
						var splitName = callcott['_'+id].owner.split('/');
						var ownerName = '';
						if(splitName.length > 1){ //if there are two people to an office -broken apart by a "/"
								for(i=0;i<splitName.length;i++){
									if(i == splitName.length - 1){ //avoids extra <br/>
										ownerName += splitName[i];
									}else{
										ownerName += splitName[i] + '<br/>';
									}
								}
						}else{
							ownerName = callcott['_'+id].owner;
						}

						if(fac_staff === 'faculty'){
							$('#fac').append('<a href="#" name="'+id+'" class="locatelink">'+ownerName + '</a><br/>');
						}else if(fac_staff === 'staff'){
							$('#staff').append('<a href="#" name="'+id+'" class="locatelink">'+ownerName + '</a><br/>');
						}else{
							$('#other').append('<a href="#" name="'+id+'" class="locatelink">'+ownerName + '</a><br/>');
						}
					}else{
						$('#other').append('<a href="#" name="'+id+'" class="locatelink">'+ownerName + '</a><br/>');
					}
				}
			}
		});
	}

// DISPLAY FLOOR###################################################################################
	function displayFloor(newflr){
		clearMenus(); // GET RID OF OF BIG MENUS

		if(newflr === 0){
			$('#btn_0').css({'background-position':'0 -16px'});
			$('#btn_1').css({'background-position':'-15px 0px'});
			$('#btn_2').css({'background-position':'-28px 0px'});
			$('#btn_3').css({'background-position':'-41px 0'});
		}
			else if(newflr === 1){
				$('#btn_1').css({'background-position':'-15px -16px'});
				$('#btn_0').css({'background-position':'0 0px'});
				$('#btn_2').css({'background-position':'-28px 0px'});
				$('#btn_3').css({'background-position':'-41px 0'});
			}
				else if(newflr === 2){
					$('#btn_2').css({'background-position':'-28px -16px'});
					$('#btn_0').css({'background-position':'0 0px'});
					$('#btn_1').css({'background-position':'-15px 0px'});
					$('#btn_3').css({'background-position':'-41px 0'});
				}
					else if(newflr === 3){
						$('#btn_3').css({'background-position':'-41px -16px'});
						$('#btn_0').css({'background-position':'0 0px'});
						$('#btn_1').css({'background-position':'-15px 0px'});
						$('#btn_2').css({'background-position':'-28px 0px'});
					}

		$('.crosshair').stop().hide(); //kill incase user changes maps too quickly
	
		if(newflr !== flr){
			$('.floor').hide();
			flr = newflr;
			$('#f' + flr).show();
		}
	}

// RANDOM SPRITE###################################################################################
// Determine Number of Sprites---------------------------------------------------------------------
	function decideSprites(){
		var numOfSprites = Math.floor(Math.random()*3); //Generate random number of sprites 1-3
		while(numOfSprites > -1){ //Get sprites, trim array and call createSprite();
			pickNumber = Math.floor(Math.random()*people.length);
			personPicked = people[pickNumber];
			people.splice(pickNumber,1);
			createSprite(personPicked);
			numOfSprites--;
		}
	}

// Create the Sprites------------------------------------------------------------------------------
	function createSprite(personPicked){ //Place sprites
		if(personPicked === 'cummings'){
			pickedChris = (cummings[Math.floor(Math.random()*cummings.length)]).split('-');
			$('#f'+pickedChris[0]).append('<div class="'+pickedChris[1]+' sprite" name="cummings" style="position:absolute;left:'+pickedChris[2]+'; top:'+pickedChris[3]+'"></div>');
		}
			else if(personPicked === 'ellett'){
				pickedEllett = (ellett[Math.floor(Math.random()*ellett.length)]).split('-');
				$('#f'+pickedEllett[0]).append('<div class="'+pickedEllett[1]+' sprite" name="ellett" style="position:absolute;left:'+pickedEllett[2]+'; top:'+pickedEllett[3]+'"></div>');
			}
				else if(personPicked === 'battersby'){
					pickedBattersby = (battersby[Math.floor(Math.random()*battersby.length)]).split('-');
					$('#f'+pickedBattersby[0]).append('<div class="'+pickedBattersby[1]+' sprite" name="battersby" style="position:absolute;left:'+pickedBattersby[2]+'; top:'+pickedBattersby[3]+'"></div>');
				}
					else if(personPicked === 'hodgson'){
						pickedHodgson = (hodgson[Math.floor(Math.random()*hodgson.length)]).split('-');
						$('#f'+pickedHodgson[0]).append('<div class="'+pickedHodgson[1]+' sprite" name="hodgson" style="position:absolute;left:'+pickedHodgson[2]+'; top:'+pickedHodgson[3]+'"></div>');
					}
						else if(personPicked === 'mock'){
							pickedMock = (mock[Math.floor(Math.random()*mock.length)]).split('-');
							$('#f'+pickedMock[0]).append('<div class="'+pickedMock[1]+' sprite" name="mock" style="position:absolute;left:'+pickedMock[2]+'; top:'+pickedMock[3]+'"></div>');
						}
							else if(personPicked === 'kupfer'){
								pickedKupfer = (kupfer[Math.floor(Math.random()*kupfer.length)]).split('-');
								$('#f'+pickedKupfer[0]).append('<div class="'+pickedKupfer[1]+' sprite" name="kupfer" style="position:absolute;left:'+pickedKupfer[2]+'; top:'+pickedKupfer[3]+'"></div>');
							}
								else if(personPicked === 'sigrist'){
									pickedSigrist = (sigrist[Math.floor(Math.random()*sigrist.length)]).split('-');
									$('#f'+pickedSigrist[0]).append('<div class="'+pickedSigrist[1]+' sprite" name="sigrist" style="position:absolute;left:'+pickedSigrist[2]+'; top:'+pickedSigrist[3]+'"></div>');
								}else if(personPicked === 'yetti'){
									pickedYetti = (yetti[Math.floor(Math.random()*yetti.length)]).split('-');
									$('#f'+pickedYetti[0]).append('<div class="'+pickedYetti[1]+' sprite" name="yetti" style="position:absolute;left:'+pickedYetti[2]+'; top:'+pickedYetti[3]+'"></div>');
								}
	}

// jQUERY ACTIONS##################################################################################
	function actions(){
		//LINKS UNDER LOCATE MENU------------------------------------------------------------------
		$('.locatelink').click(function(){
			$('#btn_locate').css({'background-position':'-55px 0px'}); //TOGGLES DISPLAY STATE OF LOCATE BUTTON
			var roomclicked = $(this).attr('name');
			$('#roommenu').hide();
			roommenu = 0;
			$('#officemenu').hide();
			officemenu = 0;
			
			if(layermenu === 1){
				$('#btn_control').css({'background-position':'-104px 0px'});
				layerMenuControl();
			}
	
			locate(roomclicked);
		});
		//CHANGE FLOOR BUTTONS---------------------------------------------------------------------
		$('#btn_0').click(function(){
				displayFloor(0);
				$('#btn_1').css({'background-position':'-15px 0px'});
				$('#btn_2').css({'background-position':'-28px 0px'});
				$('#btn_3').css({'background-position':'-41px 0'});
			})
			.mouseover(function(){
				$(this).css({'background-position':'0 -16px'});
			})
			.mouseout(function(){
				if(flr !== 0){
					$(this).css({'background-position':'0 0px'});
				}
			});
		$('#btn_1').click(function(){
				displayFloor(1);
				$('#btn_0').css({'background-position':'0 0px'});
				$('#btn_2').css({'background-position':'-28px 0px'});
				$('#btn_3').css({'background-position':'-41px 0'});
			})
			.mouseover(function(){
				$(this).css({'background-position':'-15px -16px'});
			})
			.mouseout(function(){
				if(flr != 1){
					$(this).css({'background-position':'-15px 0px'});
				}
			});
		$('#btn_2').click(function(){
				displayFloor(2);
				$('#btn_0').css({'background-position':'0 0px'});
				$('#btn_1').css({'background-position':'-15px 0px'});
				$('#btn_3').css({'background-position':'-41px 0'});
			})
			.mouseover(function(){
				$(this).css({'background-position':'-28px -16px'});
			})
			.mouseout(function(){
				if(flr != 2){
					$(this).css({'background-position':'-28px 0px'});
				}
			});
		$('#btn_3').click(function(){
				displayFloor(3);
				$('#btn_0').css({'background-position':'0 0px'});
				$('#btn_1').css({'background-position':'-15px 0px'});
				$('#btn_2').css({'background-position':'-28px 0px'});
			})
			.mouseover(function(){
				$(this).css({'background-position':'-41px -16px'});
			})
			.mouseout(function(){
				if(flr != 3){
					$(this).css({'background-position':'-41px 0px'});
				}
			});
		//LOCATE MENU BUTTON-----------------------------------------------------------------------
		$('#btn_locate').click(function(){
			if(locatepref === 1){
				officeMenuControl();
			}else{
				roomMenuControl();
			}
		})
			.mouseover(function(){
				$(this).css({'background-position':'-55px -16px'});
			})
			.mouseout(function(){
				if(officemenu === 0 && roommenu === 0){
						$(this).css({'background-position':'-55px 0px'});
				}
			});
		//ROOM/OFFICE RADIO SWITCH BUTTONS---------------------------------------------------------
		$('#office_room_radio').click(function(){
			locatepref=0;
			document.getElementById("office_office_radio").checked=true;
			document.getElementById("office_room_radio").checked=false;
			officeMenuControl();
			roomMenuControl();
		});
		$('#room_office_radio').click(function(){
			locatepref=1;
			document.getElementById("room_office_radio").checked=false;
			document.getElementById("room_room_radio").checked=true;
			officeMenuControl();
			roomMenuControl();
		});
		//MOUSEOVER/OUT MAIN MENU BUTTONS----------------------------------------------------------
		$('#btn_control').click(function(){layerMenuControl();})
			.mouseover(function(){
				$(this).css({'background-position':'-104px -16px'});
			})
			.mouseout(function(){
				if(layermenu === 0){
					$(this).css({'background-position':'-104px 0px'});
				}
			});
		//ABOUT BUTTON-----------------------------------------------------------------------------
		$('#btn_about').click(function(){aboutMenuControl();})
			.mouseover(function(){
				$(this).css({'background-position':'-157px -16px'});
			})
			.mouseout(function(){
				$(this).css({'background-position':'-157px 0px'});
			});
		//ABOUT CLOSE BUTTON-----------------------------------------------------------------------
		$('#in_about_close').click(function(){aboutMenuControl();});
		//HELP BUTTON------------------------------------------------------------------------------
		$('#btn_help').click(function(){helpMenuControl();})
		.mouseover(function(){
			$(this).css({'background-position':'-204px -16px'});
		})
		.mouseout(function(){
			$(this).css({'background-position':'-204px 0px'});
		});
		//HELP MENU CLOSE BUTTON-------------------------------------------------------------------
		$('#in_help_close').click(function(){helpMenuControl();});
		//TOGGLE LAYERS UNDER THE LOCATE MENU------------------------------------------------------
		$('#layermenu a').click(function(){	// LINKS IN LAYER MENU
			var layerclicked = $(this).attr('name');
			layerBulletControl(layerclicked);
		});
		//BULLET CLICKS & MOUSEOVER/OUT------------------------------------------------------------
		$('#maparea a.bullet').click(function()
		{
			var sender = $(this).attr('id');
			popup(sender);
		});
		$('#maparea a.bullet').mouseover(function()
		{
			var description = $(this).attr('name');
			$('#description').empty();
			$('#description').append(description);
		})
		.mouseout(function()
		{
			$('#description').empty();
			$('#description').append(" &nbsp; ");
		});
		//CLOSE POPUP BUTTON-----------------------------------------------------------------------
		$('.closepop').click(function(){
			$('#popup').fadeOut(400);
		});
		//HIGHLIGHT POPUP ON MOUSEOVER-------------------------------------------------------------
		$('#popup').mouseover(function(){
			$('#poptit').css({'background-position':'-276px 0', 'color':'#333333'});
		}).mouseout(function(){
			$('#poptit').css({'background-position':'0px 0', 'color':'#666666'});
		});
		//SPRITE MOUSEOVER/OUT/CLICK---------------------------------------------------------------
		$('.sprite').click(function(){
			var spriteSelected = $(this).attr('name');
			if(spriteSelected == 'cummings'){popup('999','yes','Chris Cummings');}
				else if(spriteSelected == 'ellett'){popup('998','yes','Karen Ellet');}
					else if(spriteSelected == 'battersby'){popup('997','yes','Sarah Battersby, PhD');}
						else if(spriteSelected == 'hodgson'){popup('996','yes','Michael E. Hodgson, PhD');}
							else if(spriteSelected == 'mock'){popup('995','yes','Cary Mock, PhD');}
								else if(spriteSelected == 'kupfer'){popup('994','yes','John Kupfer, PhD');}
									else if(spriteSelected == 'sigrist'){popup('993','yes','Ben Sigrist');}
										else if(spriteSelected == 'yetti'){popup('992','yes','The SkiFree Yeti');}
		})
		.mouseover(function(){
			var spriteSelected = $(this).attr('name');
			if(spriteSelected == 'cummings'){spriteSelected = 'Chris Cummings';}
				else if(spriteSelected == 'ellett'){spriteSelected = 'Karen Ellett';}
					else if(spriteSelected == 'battersby'){spriteSelected = 'Dr. Sarah Battersby';}
						else if(spriteSelected == 'hodgson'){spriteSelected = 'Dr. Michael E. Hodgson';}
							else if(spriteSelected == 'mock'){spriteSelected = 'Dr. Cary Mock';}
								else if(spriteSelected == 'kupfer'){spriteSelected = 'Dr. John Kupfer';}
									else if(spriteSelected == 'sigrist'){spriteSelected = 'Ben Sigrist';}
										else if(spriteSelected == 'yetti'){spriteSelected = 'The SkiFree Yeti';}
			$('#description').empty();
			$('#description').append(spriteSelected);
		}).mouseout(function(){
			$('#description').empty();
			$('#description').append(" &nbsp; ");
		});
		//POPUPS ARE DRAGGABLE---------------------------------------------------------------------
		$('#popup').draggable(); //Make popups daggable
		//LEGEND TOGGLE BUTTON---------------------------------------------------------------------
		$('#legend_btn')
		.click(function(){
			legendMenuControl();
		})
		.mouseover(function(){
			if(legendmenu === 0){
				$('#legend_btn').css({'background-position':'-16px 0'}); //good
			}else{
				$('#legend_btn').css({'background-position':'-16px -16px'});
			}
		})
		.mouseout(function(){
			if(legendmenu === 0){
				$('#legend_btn').css({'background-position':'0px 0'});
			}else{
				$('#legend_btn').css({'background-position':'0px -16px'});
			}
		});
		//COPYRIGHT DIV FADE-----------------------------------------------------------------------
		$('#copy').mouseover(function(){
			$('#copy').css({'color':'#666666'});
			$('#copy a:link').css({'color':'#081fff'});
			$('#copy a:visited').css({'color':'#081fff'});
			$('#copy a:hover').css({'color':'#081fff'});
			$('#copy a:active').css({'color':'#081fff'});
		})
		.mouseout(function(){
			$('#copy').css({'color':'#a9aba1'});
			$('#copy a:link').css({'color':'#a1a2ab'});
			$('#copy a:visited').css({'color':'#a1a2ab'});
			$('#copy a:hover').css({'color':'#a1a2ab'});
			$('#copy a:active').css({'color':'#a1a2ab'});
		});
	}

// MY EMAIL OBSCURER###############################################################################
	function myEmail(){
		$('#myEmail').append('<a href="mailto:iso@chri'+'scummings.net">iso@chriscummings.net</a>');
	}

// CLEAR MENUS#####################################################################################
	function clearMenus(){
		if(aboutmenu === 1){ // GET RID OF HELP AND ABOUT MENUS IF OPEN
			$('#aboutmenu').hide();
			aboutmenu = 0;
		}
		else if(helpmenu ===1){
			$('#helpmenu').hide();
			helpmenu = 0;
		}
	}

// LAYER CONTROL###################################################################################
	// Layer Menu Control======================================================================
	function layerMenuControl(){
		clearMenus(); // GET RID OF OF BIG MENUS

		if(layermenu === 0){ //if closed open it
			layermenu = 1;
			if(animations === 1){$('#layermenu').fadeIn();} 
			else {$('#layermenu').show();}
		} else{
			layermenu = 0;
			if(animations === 1){$('#layermenu').fadeOut();}
			else{$('#layermenu').hide();}
		}
	}

	// Layer Control===========================================================================
	function layerBulletControl(layerclicked){
		if(layerclicked === 'layer_offices'){
			if(officelayer === 1){ // if on turn off
				officelayer = 0;
				$('.orange').hide();
				$('#layer_offices_span').empty().removeClass('on').append('Off').addClass('off');
			} else {
				officelayer = 1;
				$('.orange').show();
				$('#layer_offices_span').empty().removeClass('off').append('On').addClass('on');
			}
		}else
		if(layerclicked === 'layer_classrooms'){
			if(classroomlayer === 1){ // if on turn off
				classroomlayer = 0;
				$('.blue').hide();
				$('#layer_classrooms_span').empty().removeClass('on').append('Off').addClass('off');
			} else {
				classroomlayer = 1;
				$('.blue').show();
				$('#layer_classrooms_span').empty().removeClass('off').append('On').addClass('on');
			}
		}else
		if(layerclicked === 'layer_restrooms'){
			if(restroomlayer === 1){ // if on turn off
				restroomlayer = 0;
				$('.green').hide();
				$('#layer_restrooms_span').empty().removeClass('on').append('Off').addClass('off');
			} else {
				restroomlayer = 1;
				$('.green').show();
				$('#layer_restrooms_span').empty().removeClass('off').append('On').addClass('on');
			}
		}else
		if(layerclicked === 'layer_labs'){
			if(lablayer === 1){ // if on turn off
				lablayer = 0;
				$('.yellow').hide();
				$('#layer_labs_span').empty().removeClass('on').append('Off').addClass('off');
			} else {
				lablayer = 1;
				$('.yellow').show();
				$('#layer_labs_span').empty().removeClass('off').append('On').addClass('on');
			}
		}else
		if(layerclicked === 'layer_lounges'){
			if(loungelayer === 1){ // if on turn off
				loungelayer = 0;
				$('.purple').hide();
				$('#layer_lounges_span').empty().removeClass('on').append('Off').addClass('off');
			} else {
				loungelayer = 1;
				$('.purple').show();
				$('#layer_lounges_span').empty().removeClass('off').append('On').addClass('on');
			}
		}else
		if(layerclicked === 'layer_utility'){
			if(utilitylayer === 1){ // if on turn off
				utilitylayer = 0;
				$('.gray').hide();
				$('#layer_utility_span').empty().removeClass('on').append('Off').addClass('off');
			} else {
				utilitylayer = 1;
				$('.gray').show();
				$('#layer_utility_span').empty().removeClass('off').append('On').addClass('on');
			}
		}else
		if(layerclicked === 'layer_sprite'){
			if(spriteslayer === 1){ // if on turn off
				spriteslayer = 0;
				$('.sprite').hide();
				$('#layer_sprite_span').empty().removeClass('on').append('Off').addClass('off');
			} else {
				spriteslayer = 1;
				$('.sprite').show();
				$('#layer_sprite_span').empty().removeClass('off').append('On').addClass('on');
			}
		}
	}

// LEGEND CONTROL##################################################################################
	function legendMenuControl(){
		//clearMenus(); // GET RID OF OF BIG MENUS

		if(legendmenu === 0){ //if closed open it
			legendmenu = 1;
			$('#btn_legend').css({'background-position':'0 -23px'});
	
			if(animations === 1){$('#legendmenu').fadeIn();}
			else{$('#legendmenu').show();}
		} else{
			legendmenu = 0;
			$('#btn_legend').css({'background-position':'0 -46px'});
			if(animations === 1){$('#legendmenu').fadeOut();}
			else{$('#legendmenu').hide();}
		}
	}

// ABOUT CONTROL###################################################################################
	function aboutMenuControl(){
		if(aboutmenu === 0){ //if closed open it
			aboutmenu = 1;
	
			if(helpmenu === 1){ //if help is open close it and quick show about
				$('#helpmenu').hide();
				helpmenu = 0;
				$('#aboutmenu').show();
			} else { //otherwise open normally
				if(animations === 1){$('#aboutmenu').fadeIn();}
				else{$('#aboutmenu').show();}
			}
		} else{ //if open close it
			aboutmenu = 0;
			if(animations === 1){$('#aboutmenu').fadeOut();}
			else{$('#aboutmenu').hide();}
		}
	}

// HELP CONTROL####################################################################################
	function helpMenuControl(){
		if(helpmenu === 0){ //if closed open it
			helpmenu = 1;

			if(aboutmenu === 1){ //if about is open close it and quick show help
				$('#aboutmenu').hide();
				aboutmenu = 0;
				$('#helpmenu').show();
			} else {//otherwise open normally
				if(animations === 1){$('#helpmenu').fadeIn();}
				else{$('#helpmenu').show();}	
			}
		} else{//if open close it
			helpmenu = 0;
			if(animations === 1){$('#helpmenu').fadeOut();}
			else{$('#helpmenu').hide();}
		}
	}

// OFFICE CONTROL##################################################################################
	function officeMenuControl(){
		//clearMenus(); // GET RID OF OF BIG MENUS

		if(officemenu === 0){ //if closed open it
			officemenu = 1;
			if(animations === 1){$('#officemenu').fadeIn();} 
			else {$('#officemenu').show();}
		} else{
			officemenu = 0;
			if(animations === 1){$('#officemenu').fadeOut();}
			else{$('#officemenu').hide();}
		}
	}

// ROOM CONTROL####################################################################################
	function roomMenuControl(){
		//clearMenus(); // GET RID OF OF BIG MENUS

		if(roommenu === 0){ //if closed open it
			roommenu = 1;
			if(animations === 1){$('#roommenu').fadeIn();} 
			else {$('#roommenu').show();}
		} else{
			roommenu = 0;
			if(animations === 1){$('#roommenu').fadeOut();}
			else{$('#roommenu').hide();}
		}
	}

// POPUPS##########################################################################################
	function popup(sender, sprite, whichSprite){
		$('#popup').fadeOut(400,
			function(){
				var titName;
				if(sprite == 'yes'){
					titName = whichSprite;
				}else{
					titName = $('#'+sender).attr('name');
				}
				if(titName.length > 38){	//If name is too long to fit into popname
					titName = titName.split('');
					var newName ='';
					for(i=0;i<38;i++){
						newName += titName[i];
					}
				$('#popname').empty().append(newName+'...');
				}else{
					$('#popname').empty().append(titName);
				}
				$('#popcont').empty();
	
				if(typeof callcott['_'+sender].room_type !== 'undefined'){
					if(callcott['_'+sender].room_type === 'office'){	//IF THIS IS AN OFFICE
						if(typeof callcott['_'+sender].photo_path !== 'undefined'){
							$('#popcont').append('<img src="'+callcott['_'+sender].photo_path+'" alt="'+callcott['_'+sender].owner+'" title="'+callcott['_'+sender].owner+'" class="facstaff">');
						}else{
							$('#popcont').append('<img src="images/facstaff/noimage.jpg" class="facstaff">');
						}
						if(typeof callcott['_'+sender].owner !== 'undefined'){
							$('#popcont').append('<b>'+callcott['_'+sender].owner + '</b><br>');
						}
						if(typeof callcott['_'+sender].staff_or_fac !== 'undefined'){
							$('#popcont').append(callcott['_'+sender].staff_or_fac + '<br>');
						}
						if(typeof callcott['_'+sender].title !== 'undefined'){
							$('#popcont').append(callcott['_'+sender].title + '<br>');
						}
						$('#popcont').append('<br/>');
						if(typeof callcott['_'+sender].page !== 'undefined'){
							$('#popcont').append('<a href="'+callcott['_'+sender].page + '" target="_blank">Web Page</a><br>');
						}
						if(typeof callcott['_'+sender].phone !== 'undefined'){
							$('#popcont').append('P: '+callcott['_'+sender].phone + '<br>');
						}
						if(typeof callcott['_'+sender].fax !== 'undefined'){
							$('#popcont').append('F: '+callcott['_'+sender].fax + '<br>');
						}
						if(typeof callcott['_'+sender].email !== 'undefined'){
							$('#popcont').append('<a href="mailto:'+callcott['_'+sender].email + '">'+callcott['_'+sender].email+'</a><br>');
						}
						if(typeof callcott['_'+sender].details !== 'undefined'){
							$('#popcont').append('<br/>'+callcott['_'+sender].details);
						}
					}else
					if(callcott['_'+sender].room_type.toLowerCase() === 'utility'){	//IF THIS IS A UTILITY
						if(typeof callcott['_'+sender].room_name !== 'undefined'){
							$('#popcont').append('<b>'+callcott['_'+sender].room_name+'</b><br/>');
						}
						if(typeof callcott['_'+sender].util_type !== 'undefined'){
							$('#popcont').append('Utility type: '+callcott['_'+sender].util_type+'<br/>');
						}
						if(typeof callcott['_'+sender].details !== 'undefined'){
							$('#popcont').append('<br/>Details: '+callcott['_'+sender].details);
						}
					}else
					if(callcott['_'+sender].room_type.toLowerCase() === 'lab'){	//IF THIS IS A LAB
						
						if(typeof callcott['_'+sender].room_name !== 'undefined'){
							$('#popcont').append('<b>'+callcott['_'+sender].room_name+'</b><br/>');
						}
						if(typeof callcott['_'+sender].owner !== 'undefined'){
							$('#popcont').append('<br/><b>'+callcott['_'+sender].owner + '</b><br>');
						}
						if(typeof callcott['_'+sender].staff_or_fac !== 'undefined'){
							$('#popcont').append(callcott['_'+sender].staff_or_fac + '<br>');
						}
						if(typeof callcott['_'+sender].details !== 'undefined'){
							$('#popcont').append('<br/>Details: '+callcott['_'+sender].details);
						}
					}else
					//if(callcott['_'+sender].room_type.toLowerCase() === 'lounge'){	//IF THIS IS A LOUNGE
					//	
					//	if(typeof callcott['_'+sender].room_name !== 'undefined'){
					//		$('#popcont').append('<b>'+callcott['_'+sender].room_name+'</b><br/>');
					//	}
					//	if(typeof callcott['_'+sender].details !== 'undefined'){
					//		$('#popcont').append('<br/>Details: '+callcott['_'+sender].details);
					//	}
					//}else
					if(callcott['_'+sender].room_type.toLowerCase() === 'class'){	//IF THIS IS A CLASS
						
						if(typeof callcott['_'+sender].room_name !== 'undefined'){
							$('#popcont').append('<b>'+callcott['_'+sender].room_name+'</b><br/>');
						}
						if(typeof callcott['_'+sender].details !== 'undefined'){
							$('#popcont').append('<br/>Details: '+callcott['_'+sender].details);
						}
					}else
					if(callcott['_'+sender].room_type.toLowerCase() === 'restroom'){	//IF THIS IS A RESTROOM
						if(typeof callcott['_'+sender].sex !== 'undefined'){
							if(callcott['_'+sender].sex === 'm'){
								$('#popcont').append("Men's Room");
							}else if(callcott['_'+sender].sex === 'f'){
								$('#popcont').append("Womens's Room");
							}else if(callcott['_'+sender].sex === 'u'){
								$('#popcont').append('Unisex Restoom');
							}
						}
						if(typeof callcott['_'+sender].wheel_chair_accessible !== 'undefined'){
							if(callcott['_'+sender].wheel_chair_accessible.toLowerCase() === 'y' || callcott['_'+sender].wheel_chair_accessible.toLowerCase() === 'yes'){
								$('#popcont').append('<br/><br/><span class="on">Wheelchair accessible</span><br/>');
							}else if(callcott['_'+sender].wheel_chair_accessible.toLowerCase() === 'n' || callcott['_'+sender].wheel_chair_accessible.toLowerCase() === 'no'){
								$('#popcont').append('<br/><br/><span class="off">Not wheelchair accessible</a><br/>');
							}
						}
						if(typeof callcott['_'+sender].details !== 'undefined'){
							$('#popcont').append('<br/>Details: '+callcott['_'+sender].details);
						}
					}else{
						if(typeof callcott['_'+sender].photo_path !== 'undefined'){
							$('#popcont').append('<img src="'+callcott['_'+sender].photo_path+'" alt="'+callcott['_'+sender].owner+'" title="'+callcott['_'+sender].owner+'" class="facstaff">');
						}
						if(typeof callcott['_'+sender].owner !== 'undefined'){
							$('#popcont').append('<b>'+callcott['_'+sender].owner + '</b><br>');
						}
						if(typeof callcott['_'+sender].staff_or_fac !== 'undefined'){
							$('#popcont').append(callcott['_'+sender].staff_or_fac + '<br>');
						}
						if(typeof callcott['_'+sender].title !== 'undefined'){
							$('#popcont').append(callcott['_'+sender].title + '<br>');
						}
						$('#popcont').append('<br/>');
						if(typeof callcott['_'+sender].page !== 'undefined'){
							$('#popcont').append('<a href="'+callcott['_'+sender].page + '" target="_blank">Web Page</a><br>');
						}
						if(typeof callcott['_'+sender].phone !== 'undefined'){
							$('#popcont').append('P: '+callcott['_'+sender].phone + '<br>');
						}
						if(typeof callcott['_'+sender].fax !== 'undefined'){
							$('#popcont').append('F: '+callcott['_'+sender].fax + '<br>');
						}
						if(typeof callcott['_'+sender].email !== 'undefined'){
							$('#popcont').append('<a href="mailto:'+callcott['_'+sender].email + '">'+callcott['_'+sender].email+'</a><br>');
						}
						if(typeof callcott['_'+sender].details !== 'undefined'){
							$('#popcont').append('<br/>'+callcott['_'+sender].details);
						}
					}
				}else{
					if(typeof callcott['_'+sender].details !== 'undefined'){
						$('#popcont').append('<br/>Details: '+callcott['_'+sender].details);
					}
				}
				//for(n in callcott['_'+sender].office_info){ //place office info if it exists
				//	$('#popcont').append(callcott['_'+sender].office_info[n] + '<br>'); 
				//}
	
				$('#popup').animate({'left': popup_x, 'top': popup_y},1,
					function(){
						$('#popup').fadeIn();
					}
				);
			}
		);
	}

// LOCATE##########################################################################################
	function locate(sentfrom){
		var xy = $('#'+sentfrom).attr('rel').split('-');
		var x = xy[0];
		var y = xy[1];
	
		if(sentfrom.length == 4){ //gets floor from room number
			sentfrom = sentfrom.split("");
			sentfrom.pop();
			sentfrom = sentfrom.join("");
		}
		var floorwanter = Math.floor(sentfrom/100);
	
		

		displayFloor(floorwanter);
	
		if(animations === 1){crossHair(x,y,'slow');}
		else{crossHair(x,y,'fast');}
	}

// CROSSHAIR#######################################################################################
	function crossHair(x,y,speed){
		$('.crosshair').stop();
		$('.crosshair').css({'display':'none','top':'0px','left':'0px'}); //RESET
		$('.crosshair').css({'display':'block'});
		$('#crosshair_x').animate({'left':x},1000);
		$('#crosshair_y').animate({'top':y},1000,
			function(){
				$('.crosshair').effect("pulsate", { times:2 }, 500,
					function(){
						$('.crosshair').fadeOut();
					}
				);
			}
		);
	}

// START!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	$(document).ready(function(){
		window.onload=function(){
			getCallcottJSON();
		};
	});

// START MAP#######################################################################################
	function startMap(){
		bulletHandle();
		$('#loading').hide();
		$('#innercontainer').show();
		$('#mapspace').show();
		displayFloor(startingMap);
		decideSprites();
		actions();
		legendMenuControl();
		myEmail();
		addLazyCounter();
	}

function addLazyCounter(){
	$('body').append('<!-- Start of StatCounter Code -->'+
	'<script type="text/javascript">'+
	'var sc_project=4646338; '+
	'var sc_invisible=1; '+
	'var sc_partition=56; '+
	'var sc_click_stat=1; '+
	'var sc_security="dac98336"; '+
	'</script>'+
	'<script type="text/javascript"'+
	'src="http://www.statcounter.com/counter/counter.js"></script><noscript><div'+
	'class="statcounter"><a title="hit counter"'+
	'href="http://www.statcounter.com/" target="_blank"><img'+
	'class="statcounter"'+
	'src="http://c.statcounter.com/4646338/0/dac98336/1/"'+
	'alt="hit counter" ></a></div></noscript>'+
	'<!-- End of StatCounter Code -->')
}
// EOF
//####
