var Expo = {
	//移动
	'move' : function($direction, $length) {
		var $top = parseInt($("#container").css("top"));
		var $left = parseInt($("#container").css("left"));
		$length = parseInt($length);
	
		switch($direction) {
			case 'up' :		//上
				$top = $top + $length;
				break;
			case 'down' :	//下
				$top = $top - $length;
				break;
			case 'left' :	//左
				$left = $left + $length;
				break;
			case 'right' :	//右
				$left = $left - $length;
				break;
			default :			//还原
				$top = 0;
				$left = 0;
		}

		//确定上下不能超出
		if($top > 0 || $("#container").height() < $("#exhibitor").height()) {
			$top = 0;			
		} else if($top < $("#exhibitor").height() - $("#container").height()) {
			$top = $("#exhibitor").height() - $("#container").height();
		}


		//确定左右不能超出
		if($left > 0  || $("#container").width() < $("#exhibitor").width()) {
			$left = 0;
		} else if($left < $("#exhibitor").width() - $("#container").width()) {
			$left = $("#exhibitor").width() - $("#container").width();
		}
		
		//移动
		$("#container").css("top", $top+"px").css("left", $left+"px");
	},

	//连续移动
	moveRow : function($direction) {
		switch($direction) {
		case 'up' :		//上
		case 'down' :	//下
			$length = $("#container").height() - $("#exhibitor").height();
			break;
		case 'left' :	//左
		case 'right' :	//右
			$length = $("#container").width() - $("#exhibitor").width();
			break;
		}

		Expo.timer = setInterval("Expo.move('"+$direction+"', 2)", 90);
	},

	//停止移动
	moveStop : function() {
		clearInterval(Expo.timer);
	},

	//读取并生成数据
	load : function($type) {
		//显示载入中...
		Expo.viewClose();
		$("#loading").show();
		$("#container").children(".eachBlock").remove();		//清除旧数据
		$("#container").css("top", "0px").css("left", "0px");	//重新定位至左上角

		//通过AJAX查询数据并生成HTML
		var $data = {namespace:"expo", controller:"default", action:"find", type:$type};
		$.getJSON("./", $data, function($result){
			if($result.success) {
				$(".boothHead").find(".select").removeClass("select");
				$("[id='show_" + $type+"']").addClass("select");
				Expo.make($result.data);
			} else {
				alert($result.info);
			}
		});
	},

	//生成数据
	make : function($result) {
		$display = "";

		for(var $i in $result) {
			$display += '<div class="eachBlock">';
			for(var $j in $result[$i]) {
				var $val = $result[$i][$j];
				
				$display += '<div class="each cursor" onclick="Expo.view('+$val.id+', this)">';
				$display += '	<div class="imgCon">';
				$display += '		<img src="attachments/school/'+$val.small_img+'" alt="'+$val.name_cn+'" title="'+$val.name_cn+'" onerror="this.src=\'img/expo/space.gif\'" />';
				$display += '	</div>';
				$display += '	<p>';
				$display += '		<a href="javascript:;">'+$val.name_cn+'</a>';
				$display += '	</p>';
				$display += '</div>';
			}
			$display += '</div>';
		}

		//是否隐藏方向盘
		/*
		if($result.length <= 1) {
			$("#wheel").hide();
		} else {
			$("#wheel").show();
		}
		*/

		$("#loading").hide();
		$("#container").width(560*Math.ceil(Math.sqrt($result.length))).append($display);
	},

	//显示一所院校
	view : function($id, obj) {
		//确定上下使用对象
		if($(obj).offset().top - $("#exhibitor").offset().top < $("#exhibitor").height()/2) {	//在上面
			var $view = $("#view");
			var $top = $(obj).position().top+$(obj).height()-50
			
			if($(obj).offset().left < $("body").width()/2) {	//在左侧显示
				var $class = "goLeft";
				var $left = $(obj).position().left + 30;
			} else {	//在右侧显示
				var $class = "goRight";
				var $left = $(obj).position().left - 130;
			}
		} else {	//在下面
			var $view = $("#viewDown");
			var $top = $(obj).position().top+$(obj).height()-248;

			if($(obj).offset().left < $("body").width()/2) {	//在左侧显示
				var $class = "goDownLeft";
				var $left = $(obj).position().left + 30;
			} else {	//在右侧显示
				var $class = "goDownRight";
				var $left = $(obj).position().left - 130;
			};
		}
		
		Expo.viewClose();
		$("#loading").show();

		var $data = {namespace:"expo", controller:"default", action:"view", id:$id};
		$.getJSON('./', $data, function($result){
			//处理内容
			$view.find("h4 > a").attr("href", $result.url).attr("title", $result.name_cn).html($result.name_cn);
			$view.find("p.goText").children("a").attr("href", $result.url).html($result.overview);
			$view.find("a.apply").attr("href", $result.apply);
			$view.find("a.compare").attr("href", "javascript:Expo.compare.add("+$result.id+", '"+$result.name_cn+"', '"+$result.url+"')");
			$view.find("a.more").attr("href", $result.url);

			$view.find(".goHead").attr("style", "");	//去掉PNG加入的样式
			
			//处理样式，显示内容
			$view.css("left",$left).css("top",$top);
			$view.removeClass().addClass($class).show().pngFix();
			

			
			$("#loading").hide();
		})
		
	},

	//关闭显示院校框
	viewClose : function() {
		$("#view").hide();
		$("#viewDown").hide();
	},
	
	//对比对象
	compare : {
		//加入对比
		add : function($id, $title, $url) {
			if($("#compareForm").find(":hidden[name='id[]']").length >= 4) {
				$.hint("一次最多只可以比较四个。");
				return;
			}
			if($("#compareForm").find(":hidden[name='id[]'][value='"+$id+"']").length) {
				$.hint("该院校已在比较列表中。");
				return;
			}
		
			//加入样式
			var $display = '<div class="each">';
			$display += '	<div class="left">·<a target="_blank" href="'+$url+'">'+$title+'</a></div><div class="close"><a href="javascript:;" onclick="Expo.compare.remove('+$id+',this)">&nbsp;</a></div>';
			$display += '<div class="clear"></div>';
			$display += '</div>';			
			$("#compareFrame").children(".con").prepend($display);
			
			//加入隐藏域
			$("#compareForm").append('<input type="hidden" name="id[]" value="'+$id+'" />');
			
			$("#compareFrame").show().pngFix();;
		},
		
		//移除对比
		remove : function($id, obj) {
			$(obj).parents(".each:first").remove();
			$("#compareForm").find(":hidden[name='id[]'][value='"+$id+"']").remove();

		},
		
		//移除全部对比
		removeAll : function() {
			$("#compareForm").find(":hidden[name='id[]']").remove();
			$("#compareFrame").find(".each").remove();
			$("#compareFrame").hide();
		}		
	}
};

$(document).ready(function(){
	var $hash = location.hash.replace("#", "").replace("+", " ");


	//自动加载A馆
	Expo.load($hash ? $hash : "_A_");
	
	//加入对比自动滚动并且IE6透明
	//$("#compareFrame").pngFix();
	$(window).scroll(function(){
		$("#compareFrame").css("top", $.scroll().top + 130);
	})
});
