var req;//AJAX请求对象
var req_url = "/admin/api.php";//AJAX请求URL
var req_param;//AJAX请求参数

var isIe=(window.ActiveXObject)?true:false;
var iname;//图片数组
var loop = 0;//图片循环位置
var preMenu = null;
var preSubMenu = null;
var preMenuText = null;
var preDian = null;
var timeout1;
var timeout2;
var time_imgin;
var time_imgout;
var t_o;//打开MENU时的时钟
var t_c;//关闭MENU时的时钟
var loading_img;//记录图片浏览器的src地址
var curOpacity = 0;
var intAlpha=(isIe)?2:0.02;

var nav_mask_width = 30;
var nav_mask_height = "650px";

var menu = null;//菜单容器，在页面初始化的时候加载进来
var mnums = 0;//一级菜单元素“LI”记数器

var isShowMenu = true;//是否显示菜单，在显示一次菜单之后触发条件发生时不再刷新菜单

var submenu = null;//页面内菜单容器，在建筑，总统套房时记录页面内菜单内容

var photo = null;//精美图库图片容器

var pwidth = 0;
var pheight = 0;
var pbgwidth = 600;
var pbgheight = 500;

var subobjid;//点击页内菜单时的ID
var subtype;//页内菜单类型：建筑或总统套房


var now_img = 0;//当前要显示的图片的序号
var now_show_obj;//当前要显示的图片的ID
var now_hidden_obj;//当前要隐藏的图片的ID
var isShowFirst = false;//记录是否已经显示第一张图片
var nloop = 0;//记录图片循环第几遍

Function.prototype.bind = function(){ 
	var self = this; 
	var arg = arguments; 
	return function(){ 
		self.apply(null,arg); 
	};
};

/**
 * 创建一个新的XMLHttpRequest对象
 * @return
 */
function newXMLHttpRequest() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();//firefox
	} else if (window.ActiveXObject) {
		try {
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) {
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
			}
		}
	}
	return xmlreq;
}

/**
 * 设置异步请求时的回调方法
 * @param req 请求
 * @param myHandle 加调方法对象
 * @return
 */
function getReadyStateHandler(myHandle) {
	return function () {
		if (req.readyState == 4) {
			if (req.status == 200) {
				myHandle(req.responseText);
			} else {
				//alert("HTTP error: "+req.status);
			}
		}
	};
}

/**
 * 发送请求
 * @param url 请求地址
 * @param async 异步或同步 true:异步，false：同步
 * @param myHandle 回调方法的名称
 * @return
 */
function send(async,myHandle) {//parseXMLFunction
	req = newXMLHttpRequest();
	//req.setcharset("UTF8");
	if(async){
		var handlerFunction = getReadyStateHandler(myHandle);
		req.onreadystatechange = handlerFunction;
	}
	req.open("POST",req_url,async);//"POST||GET","/test","true||false"
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	req.send(req_param);
}



/**
 * 将中文字符编码
 * 在GET方式时使用
 * @param value
 * @return
 */
function encoding(value){
	return escape(escape(value));
}

function HTML2String(str){
	if(str != null && str != ""){
		str = str.replace(/<br>/gi,'\n');
		str = str.replace(/&nbsp;/gi," ");
		str = str.replace(/&lt;/gi,"<");
		str = str.replace(/&gt;/gi,">");
		str = str.replace(/&quot;/gi,"\"");
		str = str.replace(/amp;/gi,"&");
	}else{
		str = "";
	}
	return str;
}

function String2HTML(str){
	if(str != null && str != ""){
		//str = str.replace(/<br>/gi,'\n');
		//str = str.replace(/&nbsp;/gi," ");
		//str = str.replace(/&lt;/gi,"<");
		//str = str.replace(/&gt;/gi,">");
		str = str.replace(/&/gi,"amp;");
	}else{
		str = "";
	}
	return str;
}

function clrTimeout(){
	clearTimeout(time_imgin);
	clearTimeout(time_imgout);
	clearTimeout(timeout1);
	clearTimeout(timeout2);
}

function loadimg(){
	if(loop < iname.length){
		var img=new Image();
		img.onload=function(){
			createImageObject();
			loop ++;
			loadimg();
		};
		img.src=iname[loop];
	}
}

function imgin(){
	var body_image = document.getElementById(now_show_obj);
	if(body_image == null){
		setTimeout('imgin()',1000);
	}else{
		if(isIe){
			body_image.filters.alpha.opacity += intAlpha;
			if(body_image.filters.alpha.opacity < 100){
				time_imgin = setTimeout('imgin()',20);
			}else{
				if(!isShowFirst) isShowFirst = true;
			}
		}else{
			var topa = body_image.style.opacity*100+intAlpha*100;
			body_image.style.opacity =  topa/100;
			if (body_image.style.opacity < 1){
				time_imgin = setTimeout('imgin()',20);
			}else{
				if(!isShowFirst) isShowFirst = true;
			}
		}
	}
}

function imgout(){
	if(iname.length > 1){
		var body_image = document.getElementById(now_hidden_obj);
		if(body_image == null){
			setTimeout('imgout()',1000);
		}else{
			if(isIe){
				body_image.filters.alpha.opacity -= intAlpha;
				if (body_image.filters.alpha.opacity > 0) {
					time_imgout = setTimeout('imgout()',20);
				}
			}else{
				var topa = body_image.style.opacity*100-intAlpha*100;
				body_image.style.opacity = topa/100;
				if (body_image.style.opacity > 0) {
					time_imgout = setTimeout('imgout()',20);
				}
			}
		}
	}
}

function loadingImg(){
	clrTimeout();
	document.getElementById("img_list").innerHTML = "<img src=\"/images/loading.gif\" border=\"0\"/>";
	loadimg();
	showFirstImg();
	changeImg();
}

function createImageObject(){
	var img_list = document.getElementById("img_list");
	var img = document.createElement("img");
	if(loop == 0) img_list.innerHTML = "";
	img.id="i_"+loop;
	img.src = iname[loop];
	img.className = "img_list1";
	img_list.appendChild(img);
}

function showFirstImg(){
	if(loop>0){
		now_img = 0;
		now_show_obj = "i_" + now_img;
		//filter();
		imgin();
	}else{
		setTimeout('showFirstImg()',50);
	}
}

function changeImg(){
	if(!isShowFirst){
		setTimeout('changeImg()',1000);
	}else{
		if(now_img < 1){
			if(iname.length > 1){
				now_img ++;
				if(nloop < 1){
					timeout2 = setTimeout('changeImg()',4000);
				}else{
					setTimeout('changeImg()',1000);
				}
			}
		}else{
			var hidden_obj;//隐藏图片序号
			if(now_img < iname.length){
				hidden_obj = parseInt(now_img)-1;
				now_show_obj = "i_" + now_img;
				now_hidden_obj = "i_" + hidden_obj;
				now_img ++;
			}else{
				now_img = 0;
				hidden_obj = iname.length-1;
				now_show_obj = "i_" + now_img;
				now_hidden_obj = "i_" + hidden_obj;
				nloop ++;
			}
			//alert(now_show_obj + " " + now_hidden_obj);
			imgout();
			imgin();
			timeout2 = setTimeout('changeImg()',4000);
		}
		//alert(now_show_obj + " " + now_hidden_obj);
	}
}

//将nav设置为初始折叠状态
function setMenuDefault(){
	var nav = document.getElementById("nav");
	var menu_img = "";
	if(document.getElementById("lang").value == "cn") menu_img = "/images/menu_cn.png";
	else menu_img = "/images/menu.png";
	nav.innerHTML = "<img src=\"" + menu_img + "\" border=\"0\" class=\"nav_menu_img\"/>";
}

function openMenu(){
	clearTimeout(t_c);
	var nav_mask = document.getElementById("nav_mask");
	var nav = document.getElementById("nav");
	if(nav_mask_width < 170){
		nav_mask_width += 20;
		nav_mask.style.width = nav_mask_width + "px";
		//nav_mask.style.height = nav_mask_height;
		nav.style.width = nav_mask_width + "px";
		//nav.style.height = nav_mask_height;
		t_o = setTimeout('openMenu()',50);
	}else{
		if(isShowMenu) showMenu();
	}
}

function closeMenu(){
	clearTimeout(t_o);
	isShowMenu = true;
	setMenuDefault();
	var nav_mask = document.getElementById("nav_mask");
	var nav = document.getElementById("nav");
	if(nav_mask_width > 30){
		nav_mask_width -= 20;
		nav_mask.style.width = nav_mask_width + "px";
		nav.style.width = nav_mask_width + "px";
		t_c = setTimeout('closeMenu()',50);
	}
}

//获取menu信息
function getMenu(){
	req_param = "t=getMenu&lang=" + document.getElementById("lang").value;
	send(false);
	menu = eval('(' + req.responseText + ')');
}

function showMenu(){
	var nav = document.getElementById("nav");
	nav.innerHTML = "";
	var ul = document.createElement("ul");
	nav.appendChild(ul);
	ul.id="mul";
	ul.className = "menu_ul";
	mnums = 0;
	isShowMenu = false;
	createMenuLi();
}

//创建MENU实际显示元素LI
function createMenuLi(){
	if(mnums < menu.menus.length){
		var li = document.createElement("li");
		var id = "m_" + menu.menus[mnums].id;
		li.id = id;
		li.className = "hand";
		li.innerHTML = menu.menus[mnums].name;
		var f = function(id){
			goMenu(id);
		};
		li.onclick = f.bind(id);
		document.getElementById("mul").appendChild(li);
		
		if(preMenu == id){//检查前次选择菜单并设置菜单样式
			li.className = "menuRed";
		}
		
		//创建二级菜单
		if(menu.menus[mnums].sub != undefined){
			createSubMenu(id);
			createSubMenuLi(id,menu.menus[mnums].sub);
		}
		
		mnums ++;
		setInterval('createMenuLi()',50);
	}
}

/**
 * 显示一级菜单STYLE
 * @param obj
 * @return
 */
function goMenu(id){
	window.location.href="commune.php?id=" + id + "&lang=" + document.getElementById("lang").value;
}

function goSubMenu(pid,id){
	window.location.href="commune.php?id=" + pid + "&sid=" + id + "&lang=" + document.getElementById("lang").value;
}

/**
 * 
 * @param obj 要创建UL子元素的上级LI对象的ID
 * @return
 */
function createSubMenu(obj){
	var li = document.getElementById("mul");//从父元素UL“mul”开始创建
	var ul = document.createElement("ul");
	ul.id=obj + "_ul";
	if(preMenu == obj) ul.className = "show";//检查前次选择的菜单并设置子菜单UL的display为显示
	else ul.className = "hidden";
	li.appendChild(ul);
}


/**
 * id:上级菜单LI的ID
 * obj:要创建LI的MENU对象，从menu对象中获取
 */
function createSubMenuLi(pid,obj){
	for(var i=0;i<obj.length;i++){
		var li = document.createElement("li");
		var id = pid + "_" + obj[i].id;
		li.id = id;
		if(preSubMenu == id) li.className = "menua_selected";//检查前次选择的子菜单并设置子菜单样式
		else li.className = "menua";
		li.innerHTML = obj[i].name;
		var f = function(pid,id){
			goSubMenu(pid,id);
		};
		li.onclick = f.bind(pid,id);
		document.getElementById(pid+"_ul").appendChild(li);
	}
}

//点击二级菜单时设置二级菜单的STYLE
function setSubMenuStyle(obj){
	document.getElementById(obj).className = "menua_selected";
}

function showPhotoGalleryTitle(obj){
	for(var i=0;i<obj.lists.length;i++){
		var pgt_id = "pgt_" + obj.lists[i].id;
		var pgtimg_id = "pgt_img_" + obj.lists[i].id;
		var pgtobj = document.getElementById(pgt_id);
		if(pgtobj != null){
			pgtobj.innerHTML = obj.lists[i].name;
			document.getElementById(pgtimg_id).src = obj.lists[i].imgurl;
		}
	}
}

//将取回的结果中的图片信息赋值给iname数组
function setImgArray(obj){
	for(var i=0;i<obj.length;i++){
		iname[i] = obj[i].imgurl;
	}
}

//显示share菜单
function showShareTip(){
	var obj = document.getElementById("share_tip");
	if(obj.style.display == "none")
		obj.style.display = "";
	else
		obj.style.display = "none";
}

function showPShareTip(){
	var obj = document.getElementById("p_share_tip");
	if(obj.style.display == "none")
		obj.style.display = "";
	else
		obj.style.display = "none";
}

//显示links菜单
function showLinks(){
	var links = document.getElementById("links");
	var links_mask = document.getElementById("links_mask");

	if(links.style.display == "none" && links_mask.style.display == "none"){
		links.style.display = "";
		links_mask.style.display = "";
	}else{
		links.style.display = "none";
		links_mask.style.display = "none";
	}
}

function setMOverStyle(obj){
	document.getElementById(obj).className = "photo_pdiv_mask_over";
}
function setMOutStyle(obj){
	document.getElementById(obj).className = "photo_pdiv_mask";
}

function setLangOverStyle(obj){
	document.getElementById(obj).className = "lang_over";
}
function setLangOutStyle(obj){
	document.getElementById(obj).className = "hand";
}

function setLang(lan){
	document.getElementById("lang").value = lan;
	init();
	if(lan == "cn"){
		document.getElementById("img_reservation").src = "/images/reservation_cn.png";
		document.getElementById("commune_video").src = "/images/video_cn.png";
		document.getElementById("photo_video").src = "/images/photo_video_cn.png";
		document.getElementById("commend").src = "/images/commend_cn.png";
		document.getElementById("img_share").src = "/images/share_cn.jpg";
		document.getElementById("img_links").src = "/images/links_cn.jpg";
	}else{
		document.getElementById("img_reservation").src = "/images/reservation.png";
		document.getElementById("commune_video").src = "/images/video_en.png";
		document.getElementById("photo_video").src = "/images/photo_video_en.png";
		document.getElementById("commend").src = "/images/commend_en.png";
		document.getElementById("img_share").src = "/images/share.jpg";
		document.getElementById("img_links").src = "/images/links.jpg";
	}
}

function setLanguage(){
	var lan = document.getElementById("lang").value;
	if(lan == "en"){
		document.getElementById("img_reservation").src = "/images/reservation.png";
		document.getElementById("commune_video").src = "/images/video_en.png";
		document.getElementById("photo_video").src = "/images/photo_video_en.png";
		document.getElementById("commend").src = "/images/commend_en.png";
		document.getElementById("img_share").src = "/images/share.jpg";
		document.getElementById("img_links").src = "/images/links.jpg";
	}else{
		document.getElementById("img_reservation").src = "/images/reservation_cn.png";
		document.getElementById("commune_video").src = "/images/video_cn.png";
		document.getElementById("photo_video").src = "/images/photo_video_cn.png";
		document.getElementById("commend").src = "/images/commend_cn.png";
		document.getElementById("img_share").src = "/images/share_cn.jpg";
		document.getElementById("img_links").src = "/images/links_cn.jpg";
		
	}
}

function test(obj,e){
	if(e.currentTarget){
		if(e.relatedTarget != obj){
			if(obj != e.relatedTarget.parentNode && obj != e.relatedTarget.parentNode.parentNode && obj != e.relatedTarget.parentNode.parentNode.parentNode) { 
				//alert(e.relatedTarget.parentNode.parentNode.parentNode.id + " " +  obj.id);
				closeMenu();
			}
		}
	}else{
		if(e.toElement != obj){
			if(obj != e.toElement.parentNode && obj != e.toElement.parentNode.parentNode && obj != e.toElement.parentNode.parentNode.parentNode) { 
				//alert(e.toElement.parentNode.parentNode.parentNode.id + " " +  obj.id); 
				closeMenu();
			}
		}
	}
}

var swfVersionStr = "10.0.0";
var xiSwfUrlStr = "";
var flashvars = { play: "play", stop: "stop", setSource: "setSource" };
var params = {menu: "true", allowFullScreen: "true", allowscriptaccess: "sameDomain" };
var attributes = {id: "flashObject" };
swfobject.embedSWF(
	"/MiniPlayer.swf", "flashContainer", 
	"0", "0", 
	swfVersionStr, xiSwfUrlStr, 
	flashvars, params, attributes);

function thisMovie(movieName){
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}

function play(){
	document.getElementById("sound_stop").style.display = "none";
	document.getElementById("sound_play").style.display = "";
	thisMovie("flashObject").play();
}

function stop(){
	document.getElementById("sound_play").style.display = "none";
	document.getElementById("sound_stop").style.display = "";
	thisMovie("flashObject").stop();
	
}

function setSource(url)
{
	var callFlash = function () {
		thisMovie("flashObject").setSource(url);
	};
	setTimeout(callFlash, 1000);
	//thisMovie("flashObject").setSource(url);
}

//function setReservateionButton(){
//	if(document.getElementById("lang").value == "cn"){
//		document.getElementById("img_reservation").src = "/images/reservation_cn.png";
//	}else{
//		document.getElementById("img_reservation").src = "/images/reservation.png";
//	}
//}

function getReservationLink(){
	var rlink = "";
	if(document.getElementById("lang").value == "cn"){
		rlink = "reservation.php?lang=" + document.getElementById("lang").value;
	}else{
		rlink = "reservation_en.php?lang=" + document.getElementById("lang").value;
	}
	window.location.href = rlink;
}

function getPhotoVideoLink(){
	var rlink = "";
	if(document.getElementById("lang").value == "cn"){
		rlink = "commune.php?id=m_2&sid=m_2_11&lang=" + document.getElementById("lang").value;
	}else{
		rlink = "commune.php?id=m_2&sid=m_2_11&lang=" + document.getElementById("lang").value;
	}
	window.location.href = rlink;
}

function getCommuneVideoLink(){
	window.location.href = "video.php?lang=" + document.getElementById("lang").value;
}

function getCommendLink(){
	var rlink = "";
	if(document.getElementById("lang").value == "cn"){
		rlink = "commune.php?id=m_14&lang=" + document.getElementById("lang").value;
	}else{
		rlink = "commune.php?id=m_14&lang=" + document.getElementById("lang").value;
	}
	window.location.href = rlink;
}

function showPhoto(){
	clrTimeout();
	//document.getElementById("img_list").style.display = "none";
	document.getElementById("photo_body").style.display = "none";
	document.getElementById("plist").style.display = "";
}

