var loadingCompleted = false;

var TextInputs = function(opt){
  var o = opt;
  var load = function() {
    $A(o.selector).each(function(s) {
      $$(s).each(
        function(i) {
          i.autocomplete = "off";
        }
      );
    });
  };
  if(window.FastInit) {
  	FastInit.addOnLoad(load);
  } else {
  	Event.observe(window, 'load', load);
  }
}
TextInputs({
  selector : ['input.inputText2','input.inputText3']
});

/*if(window.FastInit) {
	FastInit.addOnLoad(function() {loadingCompleted=true;if($("FrontLargePic"))$("FrontLargePic").style.display = "block";});
} else {*/
	Event.observe(window, 'load', function() {loadingCompleted=true;/*if($("FrontLargePic"))$("FrontLargePic").style.display = "block";*/});
//}

var lightbox;
Event.observe(window,'load',function() {
	Event.observe(document,'keypress',function(e){ 
		var code;
		if(!e) var e = window.event;
		if(e.keyCode) code = e.keyCode;
		else if(e.which) code = e.which;
		if(code == 27) {
			if(typeof lightbox == "function" && $('lbContent')) {
				Element.remove($('lbContent'));
		
				if (browser == "Internet Explorer" && navigator.appVersion.match(/MSIE 6/)){
					window.scrollTo(0,lightbox.yPos); 
					bod = document.getElementsByTagName('body')[0];
					bod.style.height = 'auto';
					bod.style.overflow = 'auto';
					htm = document.getElementsByTagName('html')[0];
					htm.style.height = 'auto';
					htm.style.overflow = 'auto';
					selects = document.getElementsByTagName('select');
					for(i = 0; i < selects.length; i++) {
						selects[i].style.visibility = 'visible';
					}
				}
				$('overlay').style.display = 'none';
				$('lightbox').style.display = 'none';
			}
		}
	});
});

//mouseover display movie
function displayMovie(id) {
	//clearTimeout(hideObj[id]);
	$("movieDetail"+id).style.display = "block";
}

//var hideObj = new Array();
function hideMovie(id) {
	//hideObj[id] = setTimeout("doHideMovie("+id+")", 1000);
	$("movieDetail"+id).style.display = "none";
}

//function doHideMovie(id) {
//	$("movieDetail"+id).style.display = "none";
//}

//new ver display movie
var lastdmid = '';
var dmlocked = false;
var hmO;
var ie6check = -1;
var storedE;
function displayMovie2(e, id, str, mode, delaying) {
	if(!loadingCompleted) {clearTimeout(hmO); if(!str){hmO = setTimeout("hideMovie2()", 1000);} else { storedE = e; hmO = setTimeout("displayMovie2(0,'"+id+"','"+str+"','"+mode+"',1)", 1000);} return;}
	if(dmlocked && !delaying) return;
	if(ie6check == -1) {
		if(navigator.appVersion.match(/MSIE 6/)) {
			ie6check = true;
			$('movieDetailNewTop').style.display="none";
			$('movieDetailNewBottom').style.display="none";
			$('movieDetailNewDiv').style.background="white";
			$('movieDetailNewDiv').style.padding="3px 6px";
			$('movieDetailNewDiv').style.border="1px solid #999";
		}
		else ie6check = false;
	}
	clearTimeout(hmO);
	if($('queuePopDiv')) {
		if($('queuePopDiv').style.display=='block') {
			hideMovie2();
			return;
		}
	}
	if(!str) {
		hmO = setTimeout("hideMovie2()", 1000);
		return;
	} else if (id == lastdmid)
		return;
	lastdmid = id;
	$("movieDetailNewHTML").innerHTML = str;
	if(!e) e = storedE;
	var el = Element.viewportOffset(e);
	var sc = document.viewport.getScrollOffsets();
	var vp = document.viewport.getDimensions();
	var x = el['left'] + sc['left'] + 70;
	var y = el['top'] + sc['top'] - 50;
	if(mode == 4 || mode == 5 || mode == 11 || mode == 50 || browser == "Microsoft Internet Explorer")
	{
		if(browser == "Microsoft Internet Explorer") x += 25;
		y += 100;
	}
	if(el['left'] > vp['width'] / 2) {
		x -= 370;
		if(mode == 4 && browser != "Microsoft Internet Explorer") x -= 30;
		if(browser == "Microsoft Internet Explorer") x -= 100;
		$("movieDetailNewArrow2").style.display = ie6check?"none":"block";
		$("movieDetailNewArrow").style.display = "none";
	} else {
		$("movieDetailNewArrow").style.display = ie6check?"none":"block";
		$("movieDetailNewArrow2").style.display = "none";
	}
	if(el['top'] > vp['height'] - 200) {
		y -= 150;
		$('movieDetailNewArrow').style.top = "100px";
		$('movieDetailNewArrow2').style.top = "100px";
	} else {
		$('movieDetailNewArrow').style.top = "15px";
		$('movieDetailNewArrow2').style.top = "15px";
	}
	$("movieDetailNew").style.left = x+"px";
	$("movieDetailNew").style.top = y+"px";
	$("movieDetailNew").style.display = "block";
}
function hideMovie2() {
	if(dmlocked || !loadingCompleted) return;
	$("movieDetailNew").style.display = "none";
	lastdmid = '';
}

//show movie menu
function showMovieMenu(id) {
	$("MovieMenu"+id).style.display = $("MovieMenu"+id).style.display == "block" ? "none" : "block";
}

//form field valid
function fieldCheck(id, errM, fType) {
	if(!$(id)) return false;
	if(!$F(id) || ($F(id) == "0" && fType != "0+ integer")) {
		alert(errM);
		if($(id).type != "hidden")
			$(id).focus();
		return false;
	}
	return true;
}

//valid registration form
function validRegForm(closeIt) {
	var i = 0, t = true;
	if(!closeIt)
	{
		var f = new Array(
		new Array(1, "Ename", (Lang=='en'?'Please input name':"請輸入真實姓名")),
		new Array(1, "Enickname", (Lang=='en'?'Please input nickname':"請輸入暱稱")),
		new Array(1, "Eemail", (Lang=='en'?'Please input email':"請輸入電郵地址"), "email"),
		new Array(1, "Epassword", (Lang=='en'?'Please input password':"請輸入密碼"), "password"),
		new Array(1, "EDid", (Lang=='en'?'Please choose district':"請選擇地區")),
		//new Array(1, "Ebuilding", (Lang=='en'?'Please input building':"請輸入大廈")),
		//new Array(1, "Estreetno", (Lang=='en'?'Please input street no':"請輸入街號")),
		//new Array(1, "Estreet", (Lang=='en'?'Please input street name':"請輸入街名")),
		new Array(1, "Ephone", (Lang=='en'?'Please input tel no':"請輸入電話號碼")),
		new Array(1, "EPid", "請選擇服務計劃")
		);
		while(i < f.length) {
			if(f[i][0]) {
				t = fieldCheck(f[i][1], f[i][2], (f[i].length>3?f[i][3]:""));
				if(!t) break;
			}
			if(f[i].length > 3 && $F(f[i][1])) {
				var failedMsg = "";
				switch(f[i][3])
				{
					case "email":
						if(!$F(f[i][1]).match(/^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/)) {
							failedMsg = (Lang=='en'?'Email format invalid':"電郵格式不正確");
						}
						break;
					case "password":
						if($F(f[i][1]).length < 6 || $F(f[i][1]).length > 24) {
							failedMsg = (Lang=='en'?'Password require 6 ~ 24 letters':"密碼必須由 6 至 24 個字母或數字或符號組成");
						}
						else if($F(f[i][1]) != $F(f[i][1]+"2")) {
							failedMsg = (Lang=='en'?'Please input same password twice':"兩次密碼輸入不一樣");
						}
						break;
				}
				if(failedMsg != "") {
					alert(failedMsg);
					if($(f[i][1]).type != "hidden")
						$(f[i][1]).focus();
					return false;
				}
			}
			i ++;
		}
		if(!$('Agreement').checked) {
			alert(Lang=='en'?'Please tick "I confirm that I am at least 18 years old and that I have accepted to be bound by the MoviEx Terms of Use."':'請點選"本人已經年滿18歲及同意接受MoviEx的使用條款。"');
			return false;
		}
	}
	if(closeIt || t) {
		//confirm for registration
		// insert data
		$("confirmDivP").innerHTML = '<h1>'+(Lang=='en'?'Hi '+$("Egender_"+$F("Egender")+"_label").innerHTML+' '+$F("Ename")+', PLEASE KINDLY CHECK AND CONFIRM YOUR INFORMATION':"您好，"+$F("Ename")+$("Egender_"+$F("Egender")+"_label").innerHTML+"，請確定您的個人資料")+'</h1>';
		var EDname = "";
		if($F("EDid"))
		{
			for(var i = 0; i < $("EDid").options.length; i ++)
			{
				if($("EDid").options[i].value == $F("EDid"))
				{
					EDname = $("EDid").options[i].innerHTML;
					break;
				}
			}
		}
		$("confirmDivP").innerHTML += "<table><tr><td style=\"width:80px;\">"+(Lang=='en'?'Name':'真實姓名')+":</td><td>"+$F("Ename")+"</td></tr><tr><td>"+(Lang=='en'?'Email':'電郵地址')+":</td><td>"+$F("Eemail")+"</td></tr><tr><td>"+(Lang=='en'?'Tel':'電話號碼')+":</td><td>"+$F("Ephone")+"</td></tr><tr><td>"+(Lang=='en'?'Mobile':'手機號碼')+":</td><td>"+$F("Emobile")+"</td></tr><tr><td style=\"vertical-align:top;\">"+(Lang=='en'?'Address':'郵寄地址')+":</td><td>"+($F("Eroom")?"Rm"+$F("Eroom")+", ":"")+($F("Efloor")?$F("Efloor")+"/F, ":"")+($F("Eblock")?"Block "+$F("Eblock")+", ":"")+($F("Ebuilding")?$F("Ebuilding")+", ":"")+($F("Estage")?"Phase "+$F("Estage")+", ":"")+($F("Eestate")?$F("Eestate")+", ":"")+($F("Estreetno")?$F("Estreetno")+", ":"")+($F("Estreet")?$F("Estreet")+", ":"")+EDname+"</td></tr><tr><td>"+(Lang=='en'?'Service Plan':'服務計劃')+":</td><td>"+($F("EPid")!="0"?$("EPid_"+$F("EPid")+"_label").innerHTML:"")+"</td></tr></table>";
		//$("confirmDivP").innerHTML += "<p>基於保安理由，信用卡授權手續需於15分鐘內完成，請按\"確定\"鍵之前，準備閣下的信用卡及網上驗證密碼(如有)，以便於限時內須利完成。</p>";
		$("confirmDivP").innerHTML += "<div style=\"margin-top:15px;text-align:center\"><input type=\"button\" value=\""+(Lang=='en'?'Confirm':'確定')+"\" onclick=\"\$('regForm').submit();\" /> &nbsp; <input type=\"button\" value=\""+(Lang=='en'?'Cancel':'取消')+"\" onclick=\"validRegForm(1);\" /></div>";
		displayConfirmDiv(closeIt);
	}
	return false;
}

function displayConfirmDiv(closeIt) {
	top.location = "#";
	if(browser == "Microsoft Internet Explorer")
	{
		// unknown bug for IE 6 select show over z-index 5
		if(navigator.appVersion.match(/MSIE 6/))
		{
			$$('select').each(
				function(i) {
					i.style.background = closeIt ? "" : "#808080";
					i.disabled = closeIt ? "" : "disabled";
				}
			);
		}
	}
	$("confirmDiv").style.display = closeIt ? "none" : "block";
	$("confirmDivP").style.display = closeIt ? "none" : "block";
}

//disable select for IE 6 bug
var browser = navigator.appName;

//search field locked? form submit
function formSubmit() {
	if(keySearchNo) {
		keySearchNo = 0;
		return false;
	}
	return true;
}

//Auto complete movie search

//onkeydown event of search field
var keySearchNo = 0;
var keySearchID = "";
function searchSimilarLock(E, id) {
	if(!E)var E=window.event;
	if(E.keyCode)code=E.keyCode;
	else if(E.which)code=E.which;
	if(code == 38 || code == 40) {
		//38 = up, 40 = down
		if($(id+"_floatdiv").style.display == "block") {
			keySearchID = id;
			var c = 10;
			while(c && !$(id+"_textExtFloatDivTd_"+c)) c --;
			if(code == 38) n = (keySearchNo == 0 ? c : keySearchNo - 1);
			if(code == 40) n = (keySearchNo == c ? 0 : keySearchNo + 1);
			if(n < 0) n = 0;
			if(n > c) n = c;
			keySearching(n, id);
		}
	}
	if(code == 13) {
		if($(id+"_floatdiv").style.display == "block" && keySearchNo) {
			if($(id+"_textExtFloatDivTd_"+keySearchNo))
				setSearchValue(id,0,$(id+"_textExtFloatDivTd_"+keySearchNo).innerHTML,1);
				setSearchValue(id,2,0,1);
				setSearchValue(id,3,0,1);
		}
	}
	return false;
}

//search similar data
var currentSID = 0;
var slocking = false;
function searchSimilar(E, id) {
	if(slocking) return;
	if(!E)var E=window.event;
	if(E.keyCode)code=E.keyCode;
	else if(E.which)code=E.which;
	if(code == 13)
	{
		//enter
		//slocking = true;
		//var v = $F(id);
		//v = v.replace("\r", "");
		//v = v.replace("\n", "");
		//$(id).value = v;
		//slocking = false;
		if($(id+"_floatdiv").style.display == "block" && keySearchNo) {
			if($(id+"_textExtFloatDivTd_"+keySearchNo))
				setSearchValue(id,0,$(id+"_textExtFloatDivTd_"+keySearchNo).innerHTML);
			setSearchValue(id,2);
			setSearchValue(id,3);
		} else {
			if($(id+"Form"))$(id+"Form").submit();
			//setSearchValue(id,2);
			//setSearchValue(id,3);
		}
		return false;
	}
	if(code > 36 && code < 41) {
		return false;
	}
	if($F(id) == "") {
		setSearchValue(id,2);
		setSearchValue(id,3);
		return;
	}
	currentSID = Math.random();
	var thisSID = currentSID+0;
	var rURL = "ajax_search.php";
	var searchSimilarVar = {
		method: "post",
		postBody: "mode=search&id="+id+"&s="+encodeURIComponent($F(id))+"&"+Math.random(),
		onSuccess: function(t) {
			if(thisSID != currentSID) return;
			if(t.responseText != "No Result")
			{
				$(id+"_floatdiv").style.display = "block";
				$(id+"_floatdiv").innerHTML = t.responseText;
			}
			else
			{
				setSearchValue(id,2);
				setSearchValue(id,3);
			}
		},
		on404: function(t) {
			setSearchValue(id,2);
			setSearchValue(id,3);
		},
		onFailure: function(t) {
			setSearchValue(id,2);
			setSearchValue(id,3);
		}
	}
	new Ajax.Request(rURL, searchSimilarVar);
	return false;
}

//set search float div status
var searchMouseOvering = false;
function setSearchValue(id,mouseover,v,z) {
	if(mouseover == 1) searchMouseOvering = true;
	if(mouseover == 2) searchMouseOvering = false;
	if(mouseover == 3 && !searchMouseOvering) {
		$(id+"_floatdiv").style.display = "none";
		if(!z) keySearchNo = 0;
	}
	if(!mouseover) {
		slocking = true;
		$(id).value = v;
		$(id+"_floatdiv").style.display = "none";
		$(id).focus();
		if(!z) keySearchNo = 0;
		slocking = false;
		if(id == "m") $(id+"Form").submit();
	}
}

//switching items in search float div
function keySearching(n, id) {
	var oldkeySearchNo = keySearchNo;
	keySearchNo = n;
	if(keySearchNo) {
		if($(id+"_textExtFloatDivTd_"+keySearchNo))
			$(id+"_textExtFloatDivTd_"+keySearchNo).className = "textExtFloatDivTdOver";
	}
	if($(id+"_textExtFloatDivTd_"+oldkeySearchNo))
		$(id+"_textExtFloatDivTd_"+oldkeySearchNo).className = "";
}

//calculate checkbox total value
var checkboxLocked = false;
function calCheckBoxValue(id, ida) {
	if(checkboxLocked) return;
	var v = new BigInt($F(id));
	if($(ida).checked) {
		//if(bigint_and($F(id), $(ida).value) == '0')
			v = bigint_plus(v, new BigInt($(ida).value));
	} else {
		//if(bigint_and($F(id), $(ida).value) != '0')
			v = bigint_minus(v, new BigInt($(ida).value));
	}
	$(id).value = v;
	//highLightCheck(ida);
}
var checkboxUnique = new Array();
function uniqueClick(id, ida) {
	for(var c = 0; c < checkboxUnique[id].length; c ++) {
		var j = checkboxUnique[id][c];
		if($(id+"_"+j)) {
			if(id+"_"+j == ida) {
				//$(id+"_"+j).checked = $(id+"_"+j).checked == "checked" || $(id+"_"+j).checked == true ? "checked" : "";
			} else
				$(id+"_"+j).checked = "";
		}
	}
}

//radio + Select
var radioSelect = new Array();
var radioSelectArray = new Array();
var radioSelectLock = false;

//radio + Select, Check back radio
function radioSelectCheckBack(id, val) {
	if(radioSelectLock) return;
	if(!radioSelectArray[id]) return;
	var j = 1;
	radioSelectLock = true;
	while($("sub"+id+"_"+j)) {
		$("sub"+id+"_"+j).checked = (j == radioSelectArray[id][val] ? "checked" : "");
		j ++;
	}
	$("sub"+id).value = radioSelectArray[id][val];
	radioSelectLock = false;
	radioSelectSelectBack(id, val);
}

//radio + Select, radio rebuild Select
function radioSelectSelectBack(id, val) {
	if(radioSelectLock) return;
	radioSelectLock = true;
	$(id).options.length = 0;
	$(id).options[$(id).options.length] = new Option("--"+(Lang=="zh"?"請選擇":"Please Choose")+"--", 0);
	for(var k = 0; k < radioSelect[id].length; k ++) {
		if(radioSelect[id][k][0] == $F("sub"+id)) {
			$(id).options[$(id).options.length] = new Option(radioSelect[id][k][1],radioSelect[id][k][2]);
		}
	}
	if(val) $(id).value = val;
	radioSelectLock = false;
}

//radio + Detail
var radioDetailA = new Array();
function doRadioDetail(id, val, raw) {
	if(!$(id+"_radioDetail")) return;
	if(!radioDetailA[id]) radioDetailA[id] = new Array();
	var bHaveRecord = false;
	for(var ri = 0; ri < radioDetailA[id].length; ri ++)
		if(radioDetailA[id][ri] == val) bHaveRecord = true;
	if(!bHaveRecord) radioDetailA[id][radioDetailA[id].length] = val;

	if($(id+"_"+val+"_text")) {
		$(id+"_"+val+"_text").disabled = "";
		if(raw) {
			if($(id+"_radioDetail"))
				if($($F(id+"_radioDetail")))
					$(id+"_"+val+"_text").value = $F($F(id+"_radioDetail"));
		}
	}

	for(var ri = 0; ri < radioDetailA[id].length; ri ++)
		if(radioDetailA[id][ri] != val && $(id+"_"+radioDetailA[id][ri]+"_text"))
			$(id+"_"+radioDetailA[id][ri]+"_text").disabled = "disabled";
}

//non ajax queue
var maxQueue = 0;
function validQueueNo(v, v2) {
	v = parseInt(v);
	if(isNaN(v) || v < 1 || v > maxQueue) {
		alert((Lang=="zh"?"排名範圍是":"The Range is")+" 1 ~ "+maxQueue);
		return false;
	}
	if(v == v2) {
		alert((Lang=="zh"?"排名未有更變":"The Queue Number has No Change"));
		return false;
	}
	return true;
}

//scoring
function displayAddScore(n) {
	for(var i = 1; i < 11; i ++)
		$('scoreImg'+i).src = 'images/4/en/' + (n >= i ? 'score1.png' : 'score0.png');
}

function setAddScore(mi, n) {
	if(!confirm(Lang=="zh"?'你是否想為這套電影評'+n+'粒星？':'Are you sure to rate '+n+' stars?')) return false;
	$("scoreSpan1").innerHTML = Lang=="zh"?"載入中...":"Loading...";
	$("scoreSpan2").innerHTML = Lang=="zh"?"載入中...":"Loading...";
	if(ajaxing[0] != "") {setTimeout("setAddScore("+mi+","+n+")", 1000);return false;}
	var rURL = "ajax_custom.php";
	var sendRequestVar = {
		method: "post",
		postBody: "action=score&mi="+mi+"&s="+n+"&"+Math.random(),
		onSuccess: function(t) {
			ajaxing = new Array("", 0);
			var tr = t.responseText.split("\t");
			$("scoreSpan1").innerHTML=tr[0];
			$("scoreSpan2").innerHTML=tr[1];
		},
		on404: function(t) {
			$("scoreSpan2").innerHTML="<span class=\"errMsg\">伺服器找不到檔案，請重新整理！</span>";
		},
		onFailure: function(t) {
			$("scoreSpan2").innerHTML="<span class=\"errMsg\">伺服器未能回應！請重新整理！</span>";
		}
	}
	doAjaxing(rURL, sendRequestVar);
	new Ajax.Request(rURL, sendRequestVar);
}

function loadAddComment(mi) {
	$("commentDiv").innerHTML = Lang=="zh"?"載入中...":"Loading...";
	if(ajaxing[0] != "") {setTimeout("loadAddComment("+mi+")", 1000);return false;}
	var rURL = "ajax_custom.php";
	var sendRequestVar = {
		method: "post",
		postBody: "action=display&mi="+mi+"&"+Math.random(),
		onSuccess: function(t) {
			ajaxing = new Array("", 0);
			$("commentDiv").innerHTML = t.responseText;
		},
		on404: function(t) {
			$("commentDiv").value="<span class=\"errMsg\">伺服器找不到檔案，請重新整理！</span>";
		},
		onFailure: function(t) {
			$("commentDiv").value="<span class=\"errMsg\">伺服器未能回應！請重新整理！</span>";
		}
	}
	doAjaxing(rURL, sendRequestVar);
	new Ajax.Request(rURL, sendRequestVar);
}

function setAddComment(mi) {
	var n = $("addCommentT").value;
	$("addCommentT").disabled = "disabled";
	$("addCommentS").disabled = "disabled";
	if(ajaxing[0] != "") {setTimeout("setAddComment("+mi+")", 1000);return false;}
	var rURL = "ajax_custom.php";
	var sendRequestVar = {
		method: "post",
		postBody: "action=comment&mi="+mi+"&n="+n+"&"+Math.random(),
		onSuccess: function(t) {
			ajaxing = new Array("", 0);
			$("addCommentT").disabled='';
			$("addCommentS").disabled='';
			$("addCommentT").value='';
			loadAddComment(mi);
		},
		on404: function(t) {
			$("addCommentT").value="伺服器找不到檔案，請重新整理！";
		},
		onFailure: function(t) {
			$("addCommentT").value="伺服器未能回應！請重新整理！";
		}
	}
	doAjaxing(rURL, sendRequestVar);
	new Ajax.Request(rURL, sendRequestVar);
	return false;
}

function editCommentSetUp(id) {
	$(id).style.display=$(id).style.display=='none'?'block':'none';
	$(id+'_text').style.display=$(id+'_text').style.display=='none'?'block':'none';
	$(id+'_but').style.display=$(id+'_but').style.display=='none'?'inline':'none';
}

function editCommentDone(mi, ma, id) {
	var n = $(id+'_text').value;
	$(id+'_text').disabled = "disabled";
	$(id+'_but').disabled = "disabled";
	if(ajaxing[0] != "") {setTimeout("editCommentDone("+mi+","+ma+",'"+id+"')", 1000);return false;}
	var rURL = "ajax_custom.php";
	var editCommentDoneVar = {
		method: "post",
		postBody: "action=editcomment&mi="+mi+"&ma="+ma+"&n="+n+"&"+Math.random(),
		onSuccess: function(t) {
			ajaxing = new Array("", 0);
			loadAddComment(mi);
		},
		on404: function(t) {
			$(id+'_text').value="伺服器找不到檔案，請重新整理！";
		},
		onFailure: function(t) {
			$(id+'_text').value="伺服器未能回應！請重新整理！";
		}
	}
	doAjaxing(rURL, editCommentDoneVar);
	new Ajax.Request(rURL, editCommentDoneVar);
	return false;
}

var lastMovieTab = 'trailer';
function movieTab(n) {
	$('mTab'+lastMovieTab+'1').style.display = 'none';
	$('mTab'+lastMovieTab+'2').style.display = 'inline';
	$('mTab'+n+'1').style.display = 'inline';
	$('mTab'+n+'2').style.display = 'none';
	$('movieTab'+lastMovieTab).style.display = 'none';
	$('movieTab'+n).style.display = 'block';
	lastMovieTab = n;
	location.hash = n;
}

var lastFrontTab = 'new_release';
function frontTab(n,i) {
	if(!loadingCompleted) return;
	$('fTab'+lastFrontTab+'1').style.display = 'none';
	$('fTab'+lastFrontTab+'2').style.display = 'inline';
	$('fTab'+n+'1').style.display = 'inline';
	$('fTab'+n+'2').style.display = 'none';
	$('frontTab'+lastFrontTab).style.display = 'none';
	$('frontTab'+n).style.display = 'block';
	lastFrontTab = n;
	loadMain(i);
}


//front end main shifting
var maxShiftRecord = new Array();
var shiftReady = true;
var originalW = new Array();
function shiftMainPage(dir) {
	if(typeof(maxShiftRecord[lastFrontTab]) == 'undefined') return;
	var factor = 133;
	var factor2 = 133.3;
	if(navigator.appVersion.match(/MSIE 6/)) {factor = 131; factor2 = 131.3;}
	if($('frontTab'+lastFrontTab+'inside') && shiftReady) {
		var p = parseInt($('frontTab'+lastFrontTab+'inside').style.left);
		var q = 0;
		var w = $('frontTab'+lastFrontTab+'inside').getWidth();
		if(p >= 0 && dir > 0) return;
		if(typeof originalW[lastFrontTab] != "undefined") {
			if(w == originalW[lastFrontTab] && dir < 0) return;
		}
		if(maxShiftRecord[lastFrontTab] * factor == w && dir < 0) return;
		//$('frontTab'+lastFrontTab+'inside').style.left = (p + dir * factor)+"px";
		shiftReady = false;
		new Effect.Move($('frontTab'+lastFrontTab+'inside'), {x:(p + dir * factor2), y:q, mode:'absolute', afterFinish: function() { shiftReady = true; checkShift('frontTab'+lastFrontTab+'inside',w,p,q); }});
		originalW[lastFrontTab] = w;
	}
}

function checkShift(id, w, p, q) {
	if($(id).getWidth() == w) {
		$(id).style.left = p+"px";
		//setTimeout("new Effect.Move($('"+id+"'), {x:"+p+", y:"+q+"});alert(\"new Effect.Move($('"+id+"'), {x:"+p+", y:"+q+"})\");", 100);
	}
}

// front end main more
function mainPageMore() {
	switch(lastFrontTab) {
		case 'hit_movie':
			str = 'f=1';
			break;
		case 'blu_ray':
			str = 'p=BluRay';
			break;
		case 'coming':
			str = 'p=ComingSoon';
			break;
		case 'popview':
			str = 'p=HitsReview';
			break;
		case 'recommend':
			str = 'r=4';
			break;
		default:
			str = 'p=NewRelease';
			break;
	}
	top.location = 'movieSearch.php?'+str;
}

var hCo;
var lastshowcate = 0;
function showCategory(arg) {
	clearTimeout(hCo);
	if(arg == -1) $('cateFloatDiv').style.display = 'block';
	else if(!arg) {
		//$('cateFloatDiv').style.display = 'none';
		hCo = setTimeout("hideCategory()", 1000);
		return;
	}
	else {
		if(lastshowcate) $('cateFloatDivItem'+lastshowcate).style.display = 'none';
		var fDl = 0;
		switch(arg) {
			case 2:
				fDl = 72;
			break;
			case 3:
				fDl = Lang=="zh"?186:235;
			break;
			case 4:
				fDl = Lang=="zh"?299:367;
			break;
			case 5:
				fDl = Lang=="zh"?412:525;
			break;
		}
		$('cateFloatDiv').style.left = (fDl-26)+'px';
		$('cateFloatDiv').style.display = 'block';
		$('cateFloatDivItem'+arg).style.display = 'block';
		lastshowcate = arg;
	}
}

function hideCategory() {
	$('cateFloatDiv').style.display = 'none';
}

//member favor movie type
var MTid_order = new Array();
function eFavorMTidCheck(t) {
	if(MTid_order.length > 4 && t.checked) {
		t.checked = "";
		return false;
	}
	if(t.checked) {
		bRepeat = false;
		for(var i = 0; i < MTid_order.length; i ++)
			if(t.value == MTid_order[i]) bRepeat = true;
		if(!bRepeat) MTid_order[MTid_order.length] = t.value;
	} else {
		var temp = new Array();
		for(var i = 0; i < MTid_order.length; i ++)
			if(t.value != MTid_order[i]) temp[temp.length] = MTid_order[i];
		MTid_order = temp;
	}
	showEfavorMTid();
}

function showEfavorMTid() {
	var sresult = ''; var dresult = '';
	for(var i = 0; i < MTid_order.length; i ++) {
		sresult += (i?',':'')+MTid_order[i];
		dresult += (i+1)+". "+$('MTid_'+MTid_order[i]+'_label').innerHTML+" ";
	}
	$('EfavorMTid').value = sresult;
	$('EfavorMTidResult').innerHTML = dresult+"&nbsp;<a href=\"?\" onclick=\"resetEfavorMTid();return false;\">"+(dresult?"["+(Lang=="zh"?"重設":"Reset")+"]</a>":"");
}

function resetEfavorMTid() {
	MTid_order = new Array();
	$('EfavorMTid').value = "";
	$('EfavorMTidResult').innerHTML = "&nbsp;";
	$$('#EfavorMTidCheckbox input').each(function(t){t.checked='';});
}

function displayRightList(id) {
	var bOpened = $(id+"Main").style.display == "block" ? true : false;
	$(id+"Main").style.display = bOpened ? "none" : "block";
	$(id).src = bOpened ? "images/4/"+Lang+"/"+id+".jpg" : "images/4/"+Lang+"/"+id+"_-.jpg";
}

var swapCount = new Array();
function movieSwap(id,a,b,d) {
	var cc = 0;
	while($('movieSwap_'+id+'_'+cc)) {
		$('movieSwap_'+id+'_'+cc).innerHTML = Lang=='zh'?'下載中...':'Loading...';
		cc++;
	}
	if(ajaxing[0] != "") {setTimeout("movieSwap("+id+",'"+a+"','"+b+"','"+d+"')", 1000);return false;}
	if(!swapCount[id]) swapCount[id] = 0;
	swapCount[id] += d;
	var rURL = "ajax_search.php";
	var editCommentDoneVar = {
		method: "post",
		postBody: "mode=swap&id="+id+"&tab="+a+"&p="+b+"&c="+swapCount[id]+"&"+Math.random(),
		onSuccess: function(t) {
			//alert(t.responseText);
			ajaxing = new Array("", 0);
			var re = t.responseText.split("\tRAS\t");
			var cc = 0;
			while($('movieSwap_'+id+'_'+cc)) {
				var ree = new Array('','');
				if(re.length>cc) ree = re[cc].split("\tRAS_AJAX\t");
				$('movieSwap_'+id+'_'+cc).innerHTML = ree[0];
				if(ree[1]) eval(ree[1]);
				cc++;
			}
			//<script type=\"text/javascript\">Event.observe(window, \"load\", function () {});</script>
		},
		on404: function(t) {
			$(id+'_text').value="伺服器找不到檔案，請重新整理！";
		},
		onFailure: function(t) {
			$(id+'_text').value="伺服器未能回應！請重新整理！";
		}
	}
	doAjaxing(rURL, editCommentDoneVar);
	new Ajax.Request(rURL, editCommentDoneVar);
	return false;
}

var tab_array = new Array('new_release','hit_movie','blu_ray','coming','popview','recommend');
var tab_loaded = new Array(0,0,0,0,0,0,0,0);
function loadMain(i) {
	if(tab_loaded[i]) return false;
	if(ajaxing[0] != "") {setTimeout("loadMain("+i+")", 1000);return false;}
	var rURL = "ajax_main.php";
	var loadMainVar = {
		method: "post",
		postBody: "action=main&i="+i+"&"+Math.random(),
		onSuccess: function(t) {
			ajaxing = new Array("", 0);
			var r = t.responseText.split("\t");
			$('frontTab'+tab_array[i-1]).innerHTML = r[0];
			eval(r[1]);
			tab_loaded[i] = true;
		},
		on404: function(t) {
			$(id+'_text').value="伺服器找不到檔案，請重新整理！";
		},
		onFailure: function(t) {
			$(id+'_text').value="伺服器未能回應！請重新整理！";
		}
	}
	doAjaxing(rURL, loadMainVar);
	new Ajax.Request(rURL, loadMainVar);
	return false;
}

var lastFade = 1;
var lockingFade = false;
function switchFade(n, m) {
	n = parseInt(n);
	if(n == lastFade || lockingFade) return;
	lockingFade = true;
	for(var i = 1; i < 6; i ++) {
		$('fadingDiv'+i).style.zIndex = (i==n?3:(lastFade==i?2:1));
	}
	$('fadingDiv'+n).style.display="none";
	$('fadingDiv'+n).appear({duration: 1.0});
	$('fadingLi'+n).className='selected609';
	if(lastFade) {
		$('fadingDiv'+lastFade).fade({duration: 1.0});
		$('fadingLi'+lastFade).className='';
	}
	lastFade = n;
	setTimeout("lockingFade=false;", 1200);
	if(m) {
		clearTimeout(sflO);
		sflO = setTimeout("switchFadeLoop()", fadeSec*1000);
	}
}

var fadeSec = 10;
var sfl = 2;
var sflO;
function switchFadeLoop() {
	clearTimeout(sflO);
	setTimeout("switchFade("+sfl+")", 1);
	sflO = setTimeout("switchFadeLoop()", fadeSec*1000);
	sfl = sfl + 1 > 5 ? 1 : sfl + 1;
}

//on load check Movie Tab
function checkMovieTab() {
	if(!$('mTabtrailer1') || !location.hash) return;
	var h = location.hash.substring(1, location.hash.length);
	if($('mTab'+h+'1')) movieTab(h);
}