function is_userid(user) {
	var len = user.length;
	if (len < 4 || len > 12) return false;
	var flags = 0, c, i = 0;
	for (; flags!=7&&i<len; i++) {
		c = user.charCodeAt(i);
		if (c>=48 && c<=57) {
			flags |= 1;
		}else if ((c>=65&&c<=90) ||(c>=97&&c<=122)) {
			flags |= (flags&2)?4:2;
		}
	}
	if(flags < 7) return false; 
	return /^\w+$/.test(user);
}
function is_passwd(pass) {
	var len = pass.length;
	if (len < 8 || len > 12) return false;
	var flags = 0, c, i = 0;
	for (; flags!=7&&i<len; i++) {
		c = pass.charCodeAt(i);
		if (c>=48 && c<=57) {
			flags |= 1;
		}else if ((c>=65&&c<=90) ||(c>=97&&c<=122)) {
			flags |= (flags&2)?4:2;
		}
	}return flags == 7;
}
function is_email(email) {
	if (email.length < 6) return false;
	return /^([\w\.-]+)@([a-zA-Z0-9-]+)(\.[a-zA-Z\.]+)$/.test(email);
}
function is_date(date) {
    var date = /^\d{4}-\d{1,2}-\d{1,2}$/;
    return reg.test(date);
}
function is_leap(year) {
	if (year % 400 == 0) return true;
	return (year%4==0)&&(year%100!=0);
}
function limitInput(input) {
	if(!input || input.length<=0) return;
	return input.replace(/[^\w@.\-_]/ig,'');
}
function radioValue(radio) {
	for (var i=0; i<radio.length; i++)
		if (radio[i].checked) return radio[i].value;
	return false;
}
function radioChecked(radio, val) {
	for (var i=0; i<radio.length; i++){
		if (radio[i].value == val)
			radio[i].checked = true;
	}
}
function selectValue(id, value, defindex) {
	var obj = getById(id);
	if (!obj) return;
	if (value == '' && defindex) {
		obj.options[defindex].selected = true;
		return;
	}
	for (var i=0; i<obj.options.length; i++) {
		if (obj.options[i].value == value) {
			obj.options[i].selected = true;
			return;
		}
	}
}
function selectCancel(id, value, defindex) {
	var obj = getById(id);
	if (!obj) return;
	if (value == '' && defindex) {
		obj.options[defindex].selected = false;
		return;
	}
	for (var i=0; i<obj.options.length; i++) {
		if (obj.options[i].value == value) {
			obj.options[i].selected = false;
			return;
		}
	}
}
function selectNode() {
	//var range = document.createRange();
	//range.selectNode(node);
	var text = getById('web').innerHTML;
	var ret = /amp;/gi;
	copyToClipboard(text.replace(ret,''));
}
function copyToClipboard(meintext)
{
	if (window.clipboardData)
	{
		window.clipboardData.clearData();
		window.clipboardData.setData("Text", meintext);
	} else if(navigator.userAgent.indexOf("Opera") != -1) {
          window.location = txt;
	}else if (window.netscape){
		try 
		{
		  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
		} 
		catch (e) 
		{
		  alert('您的firefox安全限制限制您進行剪貼板操作，請在地址欄中輸入"about:config" 將"signed.applets.codebase_principal_support"設置為"true"之後重試');
		  return false;
		}
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip) return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans) return;
		trans.addDataFlavor('text/unicode');
		var str = new Object();
		var len = new Object();
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
		var copytext=meintext;
		str.data=copytext;
		trans.setTransferData("text/unicode",str,copytext.length*2);
		var clipid=Components.interfaces.nsIClipboard;
		if (!clip) return false;
		clip.setData(trans,null,clipid.kGlobalClipboard);
	}
	return false;
}
function opacityState(state) {
	return 1-Math.sin(Math.PI*(5-state)/10);
}
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, '');
};
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] == value) {
			return true;
		}
	}return false;
}
function windowSize() {
	if (typeof(window.innerWidth) == 'number')
		return {'width':window.innerWidth, 'height':window.innerHeight};
	var base = null;
	if (!document.compatMode || document.compatMode == 'BackCompat')
		base = document.body;
	else
		base = document.documentElement;
	return {'width':base.clientWidth, 'height':base.clientHeight};
}
function windowScroll() {
	if (typeof(window.pageYOffset) == 'number')
		return {'x':window.pageXOffset, 'y':window.pageYOffset};
	var base = null;
	if (!document.compatMode || document.compatMode == 'BackCompat')
		base = document.body;
	else
		base = document.documentElement;
	return {'x':base.scrollLeft, 'y':base.scrollTop};
}
function byId(id) {
	if (typeof id == 'object') return id;
	return document.getElementById(id);
}
function createModal() {
	var modal = byId('modal');
	if (modal) return null;
	modal = document.createElement("div");
	modal.id = "modal";
	with (modal.style) {
		position = 'absolute';
		backgroundImage = 'url(.png)';
		left = '0px';
		top = '0px';
		width = '100%';
		height = '100%';
		zIndex = 999;
	}
	document.body.appendChild(modal);
	return modal;
}
function destroyModal(modal) {
	if (!modal) return;
	document.body.removeChild(modal);
}
function openWindow(url, width, height, modal) {
	var popup = byId('popup');
	if (!popup) {
		popup = document.createElement('iframe');
		popup.id = 'popup';
		popup.style.display = 'none';
		popup.style.position = 'absolute';
		popup.setAttribute('frameborder', '0');
		document.body.appendChild(popup);
	}
	popup.src = url;
	popup.width = width;
	popup.height = height;
	if (modal)
		popup.modal = createModal();
	else
		popup.modal = null;
	var size = windowSize();
	popup.style.left = (size.width-width)/2+"px";
	var value = size.height - height;
	value = value*0.4 + windowScroll().y;
	popup.style.top = parseInt(value) + "px";
	with (popup.style) {
		zIndex = 10001;
		opacity = 1;
		filter = "alpha(opacity=100)";
	}popup.tick = 5;
	popup.style.zIndex = 1000;
}
function showWindow() {
	var popup = byId('popup');
	if (!popup) return;
	with (popup.style) {
		if (display != 'none') return;
		opacity = 1;
		filter = "alpha(opacity=100)";
		display = 'block';
	}
	popup.tick = 5;
	popup.focus();
}
function closeWindow() {
	var popup = byId('popup');
	if (!popup) return;
	if (popup.style.display=='none') return;
	if (--popup.tick > 0) {
		var opacity = opacityState(popup.tick);
		popup.style.opacity = opacity;
		opacity = opacity * 100;
		popup.style.filter = "alpha(opacity="+opacity+")";
		setTimeout('closeWindow()', 50);
	}else {
		destroyModal(popup.modal);
		popup.modal = null;
		if (window.reload) {
			window.location = location.href;
			window.reload = false;
		}else popup.style.display = 'none';
	}
}
function titleDialog(title) {
	byId('dlg_title').innerHTML = title;
}
var imagePath = '/admin/';
function showDialog(text) {
	var btnOk = byId('dlg_ok');
	var btnNo = byId('dlg_no');
	var btnClose = byId('dlg_close');
	var img = byId('dlg_icon');
	var popup = byId('dialog');
	if (arguments.length > 2) {
		var yes_callback = arguments[1];
		img.src = imagePath + "question.gif";
		btnOk.innerHTML = '是(<u>Y</u>)';
		btnOk.style.display = '';
		btnOk.onclick = function() {
			yes_callback();
			if (!btnClose.disabled)
				closeDialog(true);
		}
		if(arguments[2] == 1){
			btnClose.disabled = true;
			btnClose.style.display = 'none';
			btnNo.disabled = true;
			btnNo.style.display = 'none';
		}else {
			btnNo.style.display = '';
			var no_callback = arguments[2];
			btnNo.onclick = function() {
				no_callback();
				closeDialog(true);
			}
			btnClose.disabled = false;
			btnClose.style.display = '';
			btnClose.onclick = closeDialog;
		}
	}else if (arguments.length < 2 ||
		typeof arguments[1] == 'number') {
		img.src = imagePath + "info.gif";
		btnNo.style.display = 'none';
		btnClose.style.display = 'none';
		btnOk.innerHTML = '確定(<u>O</u>)';
		btnOk.style.display = '';
		btnOk.onclick = closeDialog;
		if (arguments.length > 1)
			setTimeout('closeDialog()', arguments[1]);
	}else if (typeof arguments[1] == 'string') {
		if (arguments[1] == 'warn')
			img.src = imagePath + "warning.gif";
		else if (arguments[1] == 'error')
			img.src = imagePath + "error.gif";
		else if (arguments[1] == 'wait')
			img.src = imagePath + "waiting.gif";
		else
			img.src = imagePath + "info.gif";
		window.reload = false;
		btnNo.style.display = 'none';
		if (arguments[1] == 'wait') {
			btnClose.style.display = '';
			btnClose.disabled = true;
			btnOk.style.display = 'none';
		}else {
			btnClose.style.display = 'none';
			btnOk.innerHTML = '確定(<u>O</u>)';
			btnOk.style.display = '';
			btnOk.onclick = closeDialog;
		}
	}else {
		img.src = imagePath + "question.gif";
		btnOk.innerHTML = '確定(<u>O</u>)';
		btnOk.style.display = '';
		var callback = arguments[1];
		btnOk.onclick = function() {
			callback();
			if (!btnClose.disabled)
				closeDialog(true);
		}
		btnClose.disabled = false;
		btnClose.style.display = '';
		window.reload = false;
		btnClose.innerHTML = '取消(<u>C</u>)';
		btnClose.onclick = closeDialog;
		btnNo.style.display = 'none';
	}
	byId('dlg_info').innerHTML = text;
	if (popup.style.display == 'none') {
		popup.modal = createModal();
		var size = windowSize();
		popup.style.left = (size.width-400)/2+"px";
		var value = size.height - 160;
		value = value*0.4 + windowScroll().y;
		popup.style.top = parseInt(value) + "px";
		with (popup.style) {
			zIndex = 10001;
			opacity = 1;
			filter = "alpha(opacity=100)";
			display = 'block';
		}
	}
	popup.tick = 5;
	popup.focus();
}
function closeDialog(fast) {
	var popup = byId('dialog');
	if (typeof fast == 'number') {
		setTimeout('closeDialog()', fast);
	}else if (fast) {
		popup.style.display = 'none';
		destroyModal(popup.modal);
		popup.modal = null;
	}else if (--popup.tick > 0) {
		var opacity = opacityState(popup.tick);
		popup.style.opacity = opacity;
		opacity = opacity * 100;
		popup.style.filter = "alpha(opacity="+opacity+")";
		setTimeout('closeDialog()', 50);
	}else {
		destroyModal(popup.modal);
		popup.modal = null;
		if (!window.reload) {
			popup.style.display = 'none';
		}else if (typeof window.reload == 'function') {
			window.reload();
			window.reload = false;
		}else {
			window.location = location.href;
			window.reload = false;
		}
	}
}
function XmlHttp() {
	if(window.XMLHttpRequest)
		this.objXmlHttp = new XMLHttpRequest();
	else if(window.ActiveXObject) {
		var success = false;
		try {
			this.objXmlHttp = new ActiveXObject('MSXML2.XMLHTTP');
			success = true;
		}catch(e) {}
		if (!success)
			this.objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}else {
		this.objXmlHttp = null;
		throw "XmlHttp Error!";
	}
	this.async = true;
	this.typeXml = false;
	this.onsuccess = null;
	this.doGet = function(url, callback) {
		var self = this.objXmlHttp;
		this.objXmlHttp.onreadystatechange = function() {
			if (self.readyState != 4 || !callback) return;
			var text = self.responseText;
			if (self.status != 200)
				callback(false, text);
			else if (text=='' || text.substr(0,3)=='ok:')
				callback(true, text.substr(3));
			else {
				if (text.substr(0,9) == "<!DOCTYPE")
					text = '';
				callback(false, text);
			}
		}
		this.objXmlHttp.open("GET", url, callback?true:false);
		this.objXmlHttp.setRequestHeader("If-Modified-Since","0");
		this.objXmlHttp.send("");
		return callback?"":self.responseText;
	}
	this.doPost = function(callback, url, form) {
		var self = this.objXmlHttp;
		var ajax = this;
        this.objXmlHttp.onreadystatechange = function() {
			if (self.readyState != 4) return;
			var text = self.responseText;
			if (self.status != 200)
				callback(false, text);
			else if (text=='') {
				if (ajax.onsuccess)
					ajax.onsuccess('');
				callback(true, '');
			}else if (text.substr(0,3)=='ok:') {
				var str = text.substr(3);
				if (ajax.onsuccess)
					ajax.onsuccess(str);
				callback(true, str);
			}else
				callback(false, text);
		}
        this.objXmlHttp.open("POST", url, this.async);
		if (this.typeXml)
			this.objXmlHttp.setRequestHeader("Content-Type", "text/xml");
		else
			this.objXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        this.objXmlHttp.setRequestHeader("If-Modified-Since","0");
		if (typeof form != 'string')
			this.objXmlHttp.send(this.strForm(form));
		else if (this.typeXml)
			this.objXmlHttp.send("<?xml version='1.0' encoding='UTF-8'?>" + form);
		else
			this.objXmlHttp.send(form);
		if (!this.async && this.onsuccess) {
			var text = self.responseText;
			if (text=='') {
				callback(true, '');
				this.onsuccess(text);
			}else if (text.substr(0,3)=='ok:') {
				var str = text.substr(3);
				if (this.onsuccess)
					this.onsuccess(str);
				callback(true, str);
			}else
				callback(false, text);
		}
	}
	this.postForm = function(url, str) {
		var form = document.createElement("FORM");
		form.method = "post";
		form.action = url;
		str = str.replace(/\+/g, ' ');
		var args = str.split('&');
		for (var i=0; i<args.length; i++) {
			var pair = args[i].split('=');
			if (pair.length < 2) pair[1] = '';
			var input = document.createElement("INPUT");
			input.type = 'hidden';
			input.name = pair[0];
			input.value = pair[1];
			form.appendChild(input);
		}
		document.body.appendChild(form);
		form.submit();
	}
    this.strForm = function(form) {
        var params = '';
        for (var i=0; i<form.length; i++) {
			var type = form[i].type.toLowerCase();
			if ((type=="radio"||type=="checkbox")
				&& !form[i].checked) continue;
			if (params != '') params += "&";
			params += form[i].name + "=" + encodeURIComponent(form[i].value);
		}
		return params;
	}
}
var rmrfState = 0;
function creaCheck(form) {
	var form = document.forms[form];
	rmrfState = (rmrfState == 0)?1:0;
	form.cdhave.checked = false;
	var rm = form.rm;
	var rf = form.rf;
	if(rmrfState == 1){
		rm.checked = true;
		rf.checked = true;
	}else {
		rm.checked = false;
		rf.checked = false;
	}
	if(form.editable){
		var edit = form.editable;
		if(edit.checked == true) 
			edit.checked = false;
	}
	form.action = "search.php";
}
function editCheck(form,member,type) {
	var form = document.forms[form];
	if(!member) {
		form.editable.checked = false;
		alert('編輯客戶才可以勾選此項目!');
		return false;
	}
	form.cdhave.checked = false;
	var rm = form.rm;
	var rf = form.rf;
	rm.checked = false;
	rf.checked = false;
	var creat = form.creative;
	if(creat.checked == true) 
		creat.checked = false;
	rmrfState = 0;
	form.action = "search.php";
}
function rmrfCheck(form) {
	var form = document.forms[form];
	form.cdhave.checked = false;
	if(form.creative.checked == false)
		form.creative.checked = true;
	if(form.editable){
		if(form.editable.checked == true)
			form.editable.checked = false;
	}rmrfState = 1;
	form.action = "search.php";
}
function cd_search(form){
	var form = document.forms[form];
	form.creative.checked = false;
	if(form.editable){
		form.editable.checked = false;
	}
	form.rm.checked = false;
	form.rf.checked = false;
	rmrfState = 0;
	form.action = "search_cd.php";
}	
DataTree = new Array();
function dealTree(item, lang) {
	var key = item+'_tw';
	if(!DataTree[key]){
		var ajax = new XmlHttp;
		var url = "info.php?id="+item;
		var text = ajax.doGet(url);
		if(text.substr(0,3) == "ok:" && text.length > 3 && text != "ok:[]"){
			DataTree[key] = eval(text.substr(3));
		}else DataTree = new Array();
	}else DataTree = new Array();
	return DataTree[key];
}
function checkNode(obj,item) {
	if(obj[0].name == 'catagory')
		catagory.checkNode(item);
	else if (obj[0].name == 'BrandTree')
		BrandTree.checkNode(item);
}
function checkAll(item,obj) {
	if(item == 'catagory')
		catagory.checkAll(obj.checked);
	else if (item == 'BrandTree')
		BrandTree.checkAll(obj.checked);
}
function set_form(item) {
	$("#form")[0].value = item;
}
if(document.addEventListener){
	document.addEventListener("keypress",tachEvent, true);
}else{
	document.attachEvent("onkeypress",tachEvent);
}
function tachEvent(e) {
	if(e.keyCode == 13)
		sub_seach();
}
function sub_seach() {
	var fname = getById('form').value;
	var form = document.forms[fname];
	var catagorys = '';
	if(fname == 'basic'){
		if(form.display) catagorys = strChecked(form.display);
	}else if (fname == 'advance'){
		catagorys = strChecked(form.catagory);
		if(form.BrandTree){
			form.brands.value = strChecked(form.BrandTree);
		}
		if(form.sBrandTree) form.series.value = strChecked(form.sBrandTree);
	}
	if($("#keyword")[0].value)
		form.keyword.value = $("#keyword")[0].value;
	if(catagorys)
		form.catagorys.value = catagorys;
	form.submit();
}
function pop_search(form) {
	var Pform = popup = document.createElement('form');
	Pform.action = form.action;
	Pform.mehtod = form.method;
	form.action = "search.php";
	Pform.submit();
}
function strChecked(form) {
	if(!form) return;
	var items=0, name='', ids='';
	for (var i=0; i<form.length; i++) {
		var e = form[i];
		if (e.type!='checkbox') continue;
		if (!e.checked||!e.value) continue;
		if (ids) ids += ';';
		ids += e.value;
	}return ids;
}
function getById(id) {
	if (typeof id == 'object') return id;
	return document.getElementById(id);
}
function getByName(name) {
	return document.getElementsByName(name);
}
function decimalRound(num,v) //四舍五入
{
    var vv = Math.pow(10,v);
    return Math.round(num*vv)/vv;
}
function numberUnRound(num, v) {	//不四舍五入
	return num.toFixed(v);
}
var Price = new Array();
var RMPRICE = new Array();
var PRICE = TAXRAT = null;
function rmphotoPrice(id,catalog){
	var url = "pop_photo_rm.php?cmd=priceLoad";
	url += "&id="+id;
	var ajax = new XmlHttp;
	var text = ajax.doGet(url);
	var i = 0;
	text = text.substr(3);
	Price[catalog-1] = text;
	RMPRICE[catalog-1] = id;
	if(catalog == 1){
		Price = new Array();
		Price[catalog-1] = text;
		RMPRICE = new Array();
		RMPRICE[catalog-1] = id;
	}
	if(id == -1) {
		Price.splice(catalog,6-catalog);
	}
	PRICE = 1;
	for(i;i<6;i++){
		if(Price[i])
			PRICE *= Price[i];
	}
	if(id == -1 && catalog == 1) {
		RMPRICE = new Array();
		Price = new Array();
		PRICE = 0;
	}
	if(!TAXRAT || TAXRAT<=0) {
		var url = "info.php?id=check";
		var tax = ajax.doGet(url);
		if (tax.substr(0,3)=='ok:' && tax.length > 3){
			TAXRAT = eval(tax.substr(3));
		}else TAXRAT = null;
	}
	if(TAXRAT) PRICE *= TAXRAT.tax;
	PRICE = numberUnRound(PRICE, TAXRAT.pdecimal);
	if( id< 0 && catalog == 1) PRICE = 0;
}
var Data = new Array();
var FRONT = new Array();
var local = new Array('useof','scope','picsize','quantity','during','regional');
function selectChange(obj,catalog) {
	var parent = obj.value;
	var ShowLocation1 = getById(local[0]);
	var ShowLocation2 = getById(local[1]);
	var ShowLocation3 = getById(local[2]);
	var ShowLocation4 = getById(local[3]);
	var ShowLocation5 = getById(local[4]);
	var ShowLocation6 = getById(local[5]);
	var locations = [ShowLocation1,ShowLocation2,ShowLocation3,ShowLocation4,ShowLocation5,ShowLocation6];
	var ajax = new XmlHttp;
	var id = "PARENT"+parent;
	var i = j = 0, flags=-1;
	rmphotoPrice(parent,catalog);
	if(parent > 0) {
		if(!FRONT[id]) {
			var url = "info.php?id=getFront&key="+parent;
			text = ajax.doGet(url);
			if (text.substr(0,3)=='ok:' && text.length > 3){
				FRONT[id] = eval(text.substr(3));
			}else
				FRONT[id] = new Array();
		}
	}else FRONT[id] = new Array();
	if(FRONT[id]) {
		for(i=0;i<FRONT[id].length;i++){
			item = FRONT[id][i];
			if(item <=0) {
				locas = locations[i];
				locas.options.length = 0;
				locas.options[0] = new Option('請選擇', flags);
			}
		}
	}
	if(catalog == 6) checkRmPrice(true);
	if(catalog >=6) return;
	var url = "pop_photo_rm.php?cmd=priceLocl";
	url += "&pid="+parent;
	url += "&colnum="+local[catalog-1];
	if(catalog <5)
		url += "&next="+local[catalog];
	if(parent>0){
		var text = '';
		if(!Data[id]) {
			var i = catalog;
			for(i;i<6;i++){
				text = ajax.doGet(url);
				if(text) break; 
			}
			if (text.substr(0,3)=='ok:' && text.length > 3){
				Data[id] = eval(text.substr(3));
			}else
				Data[id] = new Array();
		}
	}else {
		Data[id] = new Array();
	}
	var item1 = new Array();
	var item2 = new Array();
	var item3 = new Array(); 
	var item4 = new Array();
	var item5 = new Array();
	var item6 = new Array();
	for (var i=0; i<Data[id].length; i++) {
		var item = Data[id][i];
		var cata = parseInt(item.catalog)+1;
		if(cata == 1)
			item1.push(item);
		if(cata == 2)
			item2.push(item);
		if(cata == 3)
			item3.push(item);
		if(cata == 4)
			item4.push(item);
		if(cata == 5)
			item5.push(item);
		if(cata == 6)
			item6.push(item);
	}
	var items = [item2, item3, item4, item5, item6];
	var current, item, locas;
	for(i=1;i<7;i++) {
		if(catalog == i) {
			if(i >= 6) break;
			j = i+1;
			for(j;j<7;j++) {
				locas = locations[j-1];
				locas.options.length = 0;
				locas.options[0] = new Option('請選擇', flags);
			}
		}
	}

	if(item2.length >0) {
		ShowLocation2.options.length = 0;
		ShowLocation2.options[0] = new Option('請選擇', -2);
		for (var i=0; i<item2.length; i++) {
			var item = item2[i];
			ShowLocation2.options[i+1] = new Option(item.title, item.id);
		}
	}
	if(item3.length >0) {
		ShowLocation3.options.length = 0;
		ShowLocation3.options[0] = new Option('請選擇', -2);
		for (var i=0; i<item3.length; i++) {
			var item = item3[i];
			ShowLocation3.options[i+1] = new Option(item.title, item.id);
		}
	}
	if(item4.length >0) {
		ShowLocation4.options.length = 0;
		ShowLocation4.options[0] = new Option('請選擇', -2);
		for (var i=0; i<item4.length; i++) {
			var item = item4[i];
			ShowLocation4.options[i+1] = new Option(item.title, item.id);
		}
	}
	if(item5.length >0) {
		ShowLocation5.options.length = 0;
		ShowLocation5.options[0] = new Option('請選擇', -2);
		for (var i=0; i<item5.length; i++) {
			var item = item5[i];
			ShowLocation5.options[i+1] = new Option(item.title, item.id);
		}
	}
	if(item6.length >0) {
		ShowLocation6.options.length = 0;
		ShowLocation6.options[0] = new Option('請選擇', -2);
		for (var i=0; i<item6.length; i++) {
			var item = item6[i];
			ShowLocation6.options[i+1] = new Option(item.title, item.id);
		}
	}
	checkRmPrice(true);
}
function checkRmPrice(set) {
	var useof = getById(local[0]).value;
	var scope = getById(local[1]).value;
	var picsize = getById(local[2]).value;
	var quantity = getById(local[3]).value;
	var during = getById(local[4]).value;
	var regional = getById(local[5]).value;
	var flags = true;
	if((useof==-2)||
		(scope==-2)||
		(picsize==-2)||
		(quantity==-2)||
		(during==-2)||
		(regional==-2)){
		flags = false;
	}
	if(set){
		if(flags) getById("price").innerHTML = PRICE;
		else getById("price").innerHTML = 0;
	}
	return flags;
}
var AreaSpots = new Array();
function changeCity(obj,select) {
	var id = 'AREA' + obj.value;
	if (!AreaSpots[id]) {
		var ajax = new XmlHttp;
		var text = ajax.doGet("info.php?id=getCounty&cityid="+obj.value);
		if (text.substr(0,3)=='ok:' && text.length > 3)
			AreaSpots[id] = eval(text.substr(3));
		else
			AreaSpots[id] = new Array();
	}
	var county = getById('county');
	county.options.length = 0;
	//county.options[0] = new Option('--請選擇--', "0");
	for (var i=0; i<AreaSpots[id].length; i++) {
		var item = AreaSpots[id][i];
		county.options[i] = new Option(item.county, item.id);
	}
	setZipcode(obj);
}
function setZipcode(obj) {
	var ajax = new XmlHttp;
	var text = ajax.doGet("info.php?id=getZip&key="+obj.value);
	if (text.substr(0,3)=='ok:' && text.length > 3){
		var zip = text.substr(3);
		if(zip != '[]') {
			getById('zipcodes').value = zip;
		}
	}
}
function reload() {
	window.location.reload();
}
function orderSearch() {
	var form = document.forms['order'];
	form.action = "member_order.php";
	form.submit();
}	
function goToPage(url) {
	if(!url) url = location.href;
	var pages = getById('page').value;
	if(pages) url += '&page='+pages;
	location = url;
}
function setRedirect(url) {
	return location = url;
}
function setConsignee(form) {
	var form = document.forms[form];
	var chek = getById('chek');
	var localed = getById('localed').value;
	var city = getById('city').value;
	var county = getById('county').value;
	var country = getById('country').value;
	var address = getById('address').value;
	if(chek.checked == true){
		form.shipname.value = getById('nickname').value;
		form.shiptel.value = getById('phone').value;
		form.zipcode.value = getById('zipcode').value;
		if(localed == 0) {
			selectValue(form.city, city);
			selectValue(form.county,county);
			form.address0.value = address;
		}else{
			selectValue(form.country,country);
			form.address1.value = address;
		}
		radioChecked(form.locales, localed);
	} else {
		form.shipname.value = '';
		form.shiptel.value = '';
		form.zipcode.value = '100';
		if(localed == 0) {
			selectCancel(form.city, city);
			selectCancel(form.county, county);
			form.address0.value = '';
		}else {
			selectCancel(form.country, country);
			form.address1.value = '';
		}
		radioChecked(form.locales, 0);
	}
}
function Switcher(id, times) {
	var switcher = id;
	if (!switcher) return switcher;
	if (!times) times = 3000;
	switcher.current = null;
	switcher.active = null;
	switcher.timer = null;
	if (switcher.style.position != 'absolute')
		switcher.style.position = 'relative';
	switcher.control = document.createElement('DIV');
	var height = parseInt(switcher.style.height);
	with (switcher.control) {
		className = "control";
		style.zIndex = 100;
		style.top = (height - 24) + "px";
	}
	switcher.addImage = function(image) {
		if (!this.current)
			this.current = image;
		else
			image.style.zIndex = -1;
		with (image.style) {
			position = "absolute";
			width = "100%";
			height = "100%";
			overflow = "hidden";
		}
		image.random = -1;
		var span = document.createElement('SPAN');
		var href = image.getAttribute('href');
		if (href) {
			image.style.cursor = 'pointer';
			image.onclick = function() {location=this.getAttribute('href');}
			span.onclick = function() {location=image.getAttribute('href');}
		}
		span.innerHTML = image.title;
		span.style.cursor = 'pointer';
		image.span = span;
		span.onmouseover = function(e) {switcher.switchTo(image);}
		this.control.appendChild(span);
	}
	switcher.addItem = function(photo, link, title) {
		var image = document.createElement('IMG');
		image.title = title;
		image.setAttribute('href', link);
		this.appendChild(image);
		this.addImage(image);
	}
	switcher._reset = function(image) {
		var random = image.random;
		if (random < 0) return;
		var style = image.style;
		if (random == 0) {
			style.opacity = 1;
			style.filter = "";
		}else if (random < 3) {
			style.left = "0px";
		}else if (random < 5) {
			style.top = "0px";
		}else {
			style.left = "0px";
			style.top = "0px";
			style.width = "100%";
			style.height = "100%";
			var img = image.firstChild;
			img.style.left = "0px";
			img.style.top = "0px";
		}
		image.random = -1;
	}
	switcher.switchTo = function(image) {
		if (image == this.current) return;
		if (!image) image = this.active;
		if (image) {
			this.current.style.zIndex = -1;
			this.current.span.className = '';
			if (this.active)
				this.active.style.zIndex = -1;
			this.current = image;
		}else image = this.current;
		image.span.className = 'hover';
		this._reset(image);
		image.style.zIndex = 0;
		this.active = this.nextItem();
		if (this.active == image) return;
		this._reset(this.active);
		var random = Math.floor(Math.random() * 6);
		var style = this.active.style;
		if (random == 0) {//alpha
			style.opacity = 0;
			style.filter = "alpha(opacity=0)";
		}else {
			style.opacity = 1;
			style.filter = "";
			if (random == 1) {//right
				style.left = (-this.offsetWidth) + "px";
			}else if (random == 2) {//left
				style.left = this.offsetWidth + "px";
			}else if (random == 3) {//bottom
				style.top = (-this.offsetHeight) + "px";
			}else if (random == 4) {//top
				style.top = this.offsetHeight + "px";
			}else if (random == 5) {//box out
				style.left = parseInt(this.offsetWidth/2) + "px";
				style.top = parseInt(this.offsetHeight/2) + "px";
				style.width = "0px";
				style.height = "0px";
				var img = this.active.firstChild;
				img.style.width = this.offsetWidth + "px";
				img.style.height = this.offsetHeight + "px";
			}else return;
		}
		style.zIndex = 1;
		this.active.random = random;
		clearTimeout(this.timer);
		this.timer = setTimeout(function() {switcher._action();}, times);
	}
	switcher._action = function() {
		var type = this.active.random;
		var style = this.active.style;
		var finish = false;
		if (type == 0) {//alpha
			var opacity = parseFloat(style.opacity) - 0.1;
			if (opacity >= 0.9)
				finish = true;
			else {
				opacity += 0.2;
				style.opacity = opacity;
				opacity = opacity * 100;
				style.filter = "alpha(opacity="+opacity+")";
			}
		}else if (type == 1) {//right
			var left = parseInt(style.left) + 10;
			if (left >= 0)
				finish = true;
			else style.left = left + 'px';
		}else if (type == 2) {//left
			var left = parseInt(style.left) - 10;
			if (left <= 0)
				finish = true;
			else style.left = left + 'px';
		}else if (type == 3) {//bottom
			var top = parseInt(style.top) + 10;
			if (top >= 0)
				finish = true;
			else style.top = top + 'px';
		}else if (type == 4) {//top
			var top = parseInt(style.top) - 10;
			if (top <= 0)
				finish = true;
			else style.top = top + 'px';
		}else if (type == 5) {//box out
			var img = this.active.firstChild;
			var left = parseInt(style.left) - 5;
			if (left <= 0) {
				style.left = "0px";
				style.width = "100%";
				img.style.left = "0px";
			}else {
				style.left = left + 'px';
				var width = parseInt(style.width) + 10;
				style.width = width + 'px';
				img.style.left = (-left) + 'px';
			}
			var top = parseInt(style.top) - 5;
			if (top <= 0) {
				style.top = "0px";
				style.height = "100%";
				img.style.top = "0px";
			}else {
				style.top = top + 'px';
				var height = parseInt(style.height) + 10;
				style.height = height + 'px';
				img.style.top = (-top) + 'px';
			}
			if (left < 1 && top < 1) {
				finish = true;
				this.active.random = -1;
			}
		}else return;
		clearTimeout(this.timer);
		if (finish) {
			this._reset(this.active);
			this.current.span.className = '';
			this.active.span.className = 'hover';
			this.timer = setTimeout(function() {switcher.switchTo();}, times);
		}else
			this.timer = setTimeout(function() {switcher._action();}, type?50:300);
	}
	switcher.nextItem = function() {
		var image = this.current.nextSibling;
		while (image != this.current) {
			if (!image) image = this.firstChild;
			if (image.tagName && image != this.control) return image;
			image = image.nextSibling;
		}
		return null;
	}
	var image = switcher.firstChild;
	while (image) {
		if (image.tagName)
			switcher.addImage(image);
		image = image.nextSibling;
	}
	switcher.appendChild(switcher.control);
	switcher.switchTo();
	return switcher;
}

function on_result(succ, info) {
	if (succ) {
		showDialog('<b>恭喜您，本次操作執行成功！</b>', 1200);
	}else
		showDialog(info, 'error');
}

var dhtmlgoodies_tooltip = false;
var dhtmlgoodies_tooltipShadow = false;
var dhtmlgoodies_shadowSize = 4;
var dhtmlgoodies_tooltipMaxWidth = 200;
var dhtmlgoodies_tooltipMinWidth = 100;
var dhtmlgoodies_iframe = false;
var tooltip_is_msie = (navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('opera')==-1 && document.all)?true:false;
function showTooltip(e,tooltipTxt)
{
	
	var bodyWidth = Math.max(document.body.clientWidth,document.documentElement.clientWidth) - 20;

	if(!dhtmlgoodies_tooltip){
		dhtmlgoodies_tooltip = document.createElement('DIV');
		dhtmlgoodies_tooltip.id = 'dhtmlgoodies_tooltip';
		dhtmlgoodies_tooltipShadow = document.createElement('DIV');
		dhtmlgoodies_tooltipShadow.id = 'dhtmlgoodies_tooltipShadow';
		
		document.body.appendChild(dhtmlgoodies_tooltip);
		document.body.appendChild(dhtmlgoodies_tooltipShadow);	
		
		if(tooltip_is_msie){
			dhtmlgoodies_iframe = document.createElement('IFRAME');
			dhtmlgoodies_iframe.frameborder='5';
			dhtmlgoodies_iframe.style.backgroundColor='#FFFFFF';
			dhtmlgoodies_iframe.src = '#'; 	
			dhtmlgoodies_iframe.style.zIndex = 100;
			dhtmlgoodies_iframe.style.position = 'absolute';
			document.body.appendChild(dhtmlgoodies_iframe);
		}
		
	}
	
	dhtmlgoodies_tooltip.style.display='block';
	dhtmlgoodies_tooltipShadow.style.display='block';
	if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='block';
	
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
	var leftPos = e.clientX + 10;
	dhtmlgoodies_tooltip.style.width = null;	// Reset style width if it's set 
	dhtmlgoodies_tooltip.innerHTML = tooltipTxt;
	dhtmlgoodies_tooltip.style.left = leftPos + 'px';
	dhtmlgoodies_tooltip.style.top = e.clientY + 10 + st + 'px';
	dhtmlgoodies_tooltipShadow.style.left =  leftPos + dhtmlgoodies_shadowSize + 'px';
	dhtmlgoodies_tooltipShadow.style.top = e.clientY + 10 + st + dhtmlgoodies_shadowSize + 'px';
	if(dhtmlgoodies_tooltip.offsetWidth>dhtmlgoodies_tooltipMaxWidth){	/* Exceeding max width of tooltip ? */
		dhtmlgoodies_tooltip.style.width = dhtmlgoodies_tooltipMaxWidth + 'px';
	}
	var tooltipWidth = dhtmlgoodies_tooltip.offsetWidth;		
	if(tooltipWidth<dhtmlgoodies_tooltipMinWidth)tooltipWidth = dhtmlgoodies_tooltipMinWidth;
	dhtmlgoodies_tooltip.style.width = tooltipWidth + 'px';
	dhtmlgoodies_tooltipShadow.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
	dhtmlgoodies_tooltipShadow.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';		
	if((leftPos + tooltipWidth)>bodyWidth){
		dhtmlgoodies_tooltip.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth)) + 'px';
		dhtmlgoodies_tooltipShadow.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth) + dhtmlgoodies_shadowSize) + 'px';
	}
	if(tooltip_is_msie){
		dhtmlgoodies_iframe.style.left = dhtmlgoodies_tooltip.style.left;
		dhtmlgoodies_iframe.style.top = dhtmlgoodies_tooltip.style.top;
		dhtmlgoodies_iframe.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
		dhtmlgoodies_iframe.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';
	}
}
function hideTooltip()
{
	dhtmlgoodies_tooltip.style.display='none';
	dhtmlgoodies_tooltipShadow.style.display='none';		
	if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='none';		
}
function checkID(idStr){
	// 依照字母的編號排列，存入陣列備用。
	var letters = new Array('A', 'B', 'C', 'D',
		'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
		'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
		'X', 'Y', 'W', 'Z', 'I', 'O');
	// 儲存各個乘數
	var multiply = new Array(1, 9, 8, 7, 6, 5,
						 4, 3, 2, 1);
	var nums = new Array(2);
	var firstChar;
	var firstNum;
	var lastNum;
	var total = 0;
	// 撰寫「正規表達式」。第一個字為英文字母，
	// 第二個字為1或2，後面跟著8個數字，不分大小寫。
	var regExpID=/^[a-z](1|2)\d{8}$/i;
	// 使用「正規表達式」檢驗格式
	if (idStr.search(regExpID)==-1) {
		// 基本格式錯誤
		//alert("請仔細填寫身份證號碼");
		return false;
	} else {
		// 取出第一個字元和最後一個數字。
		firstChar = idStr.charAt(0).toUpperCase();
		lastNum = idStr.charAt(9);
	}
		// 找出第一個字母對應的數字，並轉換成兩位數數字。
	for (var i=0; i<26; i++) {
		if (firstChar == letters[i]) {
			firstNum = i + 10;
			nums[0] = Math.floor(firstNum / 10);
			nums[1] = firstNum - (nums[0] * 10);
			break;
		}
	}
	// 執行加總計算
	for(var i=0; i<multiply.length; i++){
		if (i<2) {
			total += nums[i] * multiply[i];
		} else { 
			total += parseInt(idStr.charAt(i-1)) * multiply[i];  
		}
	}
	// 和最後一個數字比對
	if ((10 - (total % 10))!= lastNum) {
		return false;
	}
	return true;
}
function checkTwID(id){  
    //建立字母分數陣列(A~Z)  
     var city = new Array(  
          1,10,19,28,37,46,55,64,39,73,82, 2,11,  
         20,48,29,38,47,56,65,74,83,21, 3,12,30  
     )  
    id = id.toUpperCase();  
    // 使用「正規表達式」檢驗格式  
     if (id.search(/^[A-Z](1|2)\d{8}$/i) == -1) {  
         return false;  
     } else {  
         //將字串分割為陣列(IE必需這麼做才不會出錯)  
        id = id.split('');  
         //計算總分  
        var total = city[id[0].charCodeAt(0)-65];  
        for(var i=1; i<=8; i++){  
            total += eval(id[i]) * (9 - i);  
         }
         //補上檢查碼(最後一碼)  
         total += eval(id[9]);  
         //檢查比對碼(餘數應為0);  
         return ((total%10 == 0 ));  
     }
}  

function setKeyWord(key,type) {
	var fname = getById('form').value;
	var form = document.forms[fname];
	if(type == 'rf'){
		form.rf.checked = true;
		form.rm.checked = false;
	}else if(type == 'rm') {
		form.rf.checked = false;
		form.rm.checked = true;
	}
	form.action = "search.php";
	form.keyword.value = key;
	form.submit();
}

function go_back(flags) {
	if(flags){
		alert("操作錯誤");
		history.back();
	}
}
