function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function getXY(a) {
	var p=[0,0],tn;
	while(a) {
		tn=a.tagName.toUpperCase();
		p[0]+=a.offsetLeft-(tn=="DIV"&&a.scrollLeft?a.scrollLeft:0);
		p[1]+=a.offsetTop-(tn=="DIV"&&a.scrollTop?a.scrollTop:0);
		if (tn=="BODY") break;
		a=a.offsetParent;
	}
	return p;
}
function containsDOM (container, containee) {
  var isParent = false;

  do {
	if ((isParent = container == containee))
	  break;
	containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}


function checkMouseLeave (element, evt) {
  evt = (evt) ? evt : ((window.event) ? window.event : "");
  window.status = evt;
  if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  } else {
	  /*
	  if(!element.contains){
		  return true;
	  }
	  */
		if (element.contains(evt.toElement)) {
				return(false);
		} else {
				return(true);
		}
		return(true);
  }
}
var currentMenu;
var currentParentElement;
function checkmenu(evt){
	if(currentMenu && checkMouseLeave($(currentMenu),evt)){
		hideMenu(currentMenu);
		currentParentElement.style.color = "#000000";		
	}
	if(!currentMenu)
		currentParentElement.style.color = "#000000";		
}
function showMenu(id,evt){
	var parentElment = Event.element(evt);
	parentElment.style.color = "#A92F2E";
	if($(id)) {
		Element.show(id);
		$(id).style.left = getXY(parentElment)[0] + Element.getDimensions(id).width + 20 + "px";
		$(id).style.top = getXY(parentElment)[1] + "px";
		currentMenu = id;
	}
	currentParentElement = parentElment;	
}
function hideMenu(currentMenu){
	Element.hide(currentMenu);
}
function toggleDisplay(){
	var args = arguments;
	for(var i=0;i<args.length;i++){
		Element.toggle(args[i]);
	}
}

function errorMsgSet(e){
	if(e == 'ec1')
		return "This Member ID is available.";
	else if(e == 'c1')
		return "這帳號目前無人使用";
	else if(e == 'ec2')
		return "This Member ID has already been taken!";
	else if(e == 'c2' || e == 'e4')
		return "這帳號已經有人使用";
	else if(e == 'ec3' || e == 'ee4')
		return "Please enter a new Member ID.";
	else if(e == 'c3')
		return "請輸入帳號";
	else if(e == 'ee3')
		return "The entry length must abide by the password rules.";
	else if(e == 'ec4')
		return "The entry length must abide by the Member ID rules.";
	else if(e == 'c4' || e == 'e3')
		return "字元長度不符合限制";
	else if(e == 'e1')
		return "此欄位為必填";
	else if(e == 'ee1')
		return "This field is required.";
	else if(e == 'e2')
		return "兩組密碼必須相同";
	else if(e == 'ee2')
		return "Your password entries must match. Please check both.";
	else if(e == 'e5')
		return "只能使用英文或數字組合";
	else if(e == 'ee5')
		return "Your Member ID must contain letters or numbers only.";
	else if(e == 'e6')
		return "必須使用英數字組合";
	else if(e == 'ee6')
		return "Your password must contain letters and numbers.";
	else if(e == 'e7')
		return "Email格式錯誤";
	else if(e == 'ee7')
		return "Please enter a valid email address.";
	else if(e == 'e8')
		return "密碼輸入錯誤，請重新輸入";
	else if(e == 'ee8')
		return "The password you entered is incorrect. Please try again.";
	else if(e == 'p1')
		return "已將密碼寄至您註冊之信箱！";
	else if(e == 'ep1')
		return "Your password is sent to the email box you provide on the registration form. Please check your email to get your password.";
	else if(e == 'p2')
		return "帳號或Email錯誤！";
	else if(e == 'ep2')
		return "The Member ID or email address is incorrect.";
	else if(e == 's')
		return "資料更新成功！";
	else if(e == 'es')
		return "Your profile has been updated successfully.";
	else if(e == 's1')
		return "感謝您的意見，將有專人與您聯絡！";
	else if(e == 'es1')
		return "Thank you for taking the time to give us your comments. Our customer service will respond to you as soon as possible.";
	else if(e == 'car1')
		return "抱歉，我們所設定的產品最低詢價數量為3個，請您再重新輸入。";
	else if(e == 'ecar1')
		return "Sorry! The minimum quantity for each enquiry is 3. Please try again.";
	else if(e == 'rm1')
		return "已重新寄送確認信函！";
	else if(e == 'erm1')
		return "A new activation email has been sent your e-mail address.";
	else if(e == 'rm2')
		return "您已啟用DLJ帳戶！";
	else if(e == 'erm2')
		return "Your account has been activated.";
}
var lastItem;
function checkAcc(v, l) {
	toggleLoading();
	  new Ajax.Request('/checkacc', 
	   { method: 'post',
	     parameters: 'acc=' + v + '&lang=' + l,
	     onSuccess: getCheckCallback });
}
function getCheckCallback(t){
	result = t.	responseText;
	var a = result.split("-");
	if($(lastItem))
		Element.update(lastItem, '');
	var msg = errorMsgSet(a[1]);
	Element.update(a[0], msg);
	lastItem = a[0];
	toggleLoading();
}

function checkStepOne() {
  toggleLoading();
  var arg = arguments;
  new Ajax.Request('/checkstepone', 
  { method: 'post',
  parameters: 'acc=' + $F(arg[0]) + '&psw=' + $F(arg[1]) + '&psw2=' + $F(arg[2]) + '&email=' + $F(arg[3]) + '&lang=' + arg[4],
  onSuccess: getCheckSOCallback });
}
function getCheckSOCallback(t){
  result = t.responseText;
  if(result.indexOf('success') > -1){
    toggleDisplay('reg_step2', 'reg_step3');
  }
  else {
    var a = result.split("-");
    if($(lastItem))
    Element.update(lastItem, '');
    var msg = errorMsgSet(a[1]);
    Element.update(a[0], msg);
    lastItem = a[0];
  }
  toggleLoading();
}

function makeMemberRequest() {
	//doDitto('presidentTypeID', 'contactPersonTypeID', 'president', 'contactperson', $('ditto'));	
	toggleLoading();
	$('addRecord').request({
   		onSuccess: function(t){
			var result = t.responseText;
			if(result.indexOf('success') > -1){
				MM_goToURL('window','index.jsp');
			}
			else{
				var a = result.split("-");
				if($(lastItem))
					Element.update(lastItem, '');
				var msg = errorMsgSet(a[1]);
				//toggleDisplay('reg_step2', 'reg_step3');
				Element.show(a[2]);
				Element.update(a[0], msg);
				lastItem = a[0];
				toggleLoading();
			}
		}
	});
}
function makeModifyRequest() {
	//doDitto('presidentTypeID', 'contactPersonTypeID', 'president', 'contactperson', $('ditto'));
	toggleLoading();
	$('modifyRecord').request({
   		onSuccess: function(t){
			var result = t.responseText;
			var a = result.split("-");
			if($(lastItem))
				Element.update(lastItem, '');
			var msg = errorMsgSet(a[1]);
			Element.update(a[0], msg);
			if(a[0].indexOf('for_returnMsg') > -1)
				Element.addClassName('for_returnMsg', 'returnMsgSection');
			lastItem = a[0];
			if(a[1] == 'es' || a[1] == 's')
				toggleDisplay('reg_step2');
			toggleLoading();
		}
	});
}
function makeModifyPswRequest() {
	toggleLoading();
	$('modifyPswRecord').request({
   		onSuccess: function(t){
			var result = t.responseText;
			var a = result.split("-");
			if($(lastItem))
				Element.update(lastItem, '');
			var msg = errorMsgSet(a[1]);
			Element.update(a[0], msg);
			if(a[0].indexOf('for_returnMsg') > -1)
				Element.addClassName('for_returnMsg', 'returnMsgSection');
			lastItem = a[0];
			if(a[1] == 'es' || a[1] == 's')
				toggleDisplay('ModifyPswTable');
			toggleLoading();
		}
	});
}
function makeContactusRequest() {
	toggleLoading();
	/**/
	$('contactusRecord').request({
   		onSuccess: function(t){
			var result = t.responseText;
			var a = result.split("-");
			if($(lastItem))
				Element.update(lastItem, '');
			var msg = errorMsgSet(a[1]);
			Element.update(a[0], msg);
			if(a[0].indexOf('for_returnMsg') > -1)
				Element.addClassName('for_returnMsg', 'returnMsgSection');
			lastItem = a[0];
			if(a[1] == 'es1' || a[1] == 's1')
				toggleDisplay('ContactUsTable');
			toggleLoading();
		}
	});
}

function makeChMemberRequest() {
	//doDitto('presidentTypeID', 'contactPersonTypeID', 'president', 'contactperson', $('ditto'));
	toggleLoading();
	$('addChRecord').request({
   		onSuccess: function(t){
			var result = t.responseText;
			if(result.indexOf('success') > -1){
				MM_goToURL('window','cindex.jsp');
			}
			else{
				var a = result.split("-");
				if($(lastItem))
					Element.update(lastItem, '');
				var msg = errorMsgSet(a[1]);
				//toggleDisplay('reg_step2', 'reg_step3');
				Element.show(a[2]);
				Element.update(a[0], msg);
				lastItem = a[0];
				toggleLoading();
			}
		}
	});
}
function makePswRequest() {
	toggleLoading();
	$('forgetpswform').request({
   		onSuccess: function(t){
			var result = t.responseText;
			var msg = errorMsgSet(result);
			Element.addClassName('returnMsgSection', 'returnMsgSection');
			Element.update('returnMsgSection', msg);
			if(result == 'p1')
				toggleDisplay('ForgetPswTable');
			toggleLoading();
		}
	});
}
function makeResendMailRequest() {
	toggleLoading();
	$('resendform').request({
   		onSuccess: function(t){
			var result = t.responseText;
			var msg = errorMsgSet(result);
			Element.addClassName('returnMsgSection', 'returnMsgSection');
			Element.update('returnMsgSection', msg);
			if(result == 'rm1')
				toggleDisplay('resendform');
			toggleLoading();
		}
	});
}

function toggleLoading(){
	Element.toggle('loading');
	if(Element.visible('loading')){
		void(dojo.lfx.html.fadeShow($('loading'), 1000).play());
		moveToCenter('loading');
	}
	else{
		void(dojo.lfx.html.fadeHide($('loading'), 1000).play());
	}
}
function moveToCenter(element){
	var elementSize=Element.getDimensions(element);
	var screenSize=NNIDlg.getScreenSize();
	var scrollPos=NNIDlg.getScrollOffset();
	$(element).style.top=(scrollPos.top+(screenSize.height-elementSize.height)/2)+'px';
	$(element).style.left=(scrollPos.left+(screenSize.width-elementSize.width)/2)+'px';
}

function doDitto(){
	var args = arguments;
	var c0 = $(args[0]);
	var c1 = $(args[1]);	
	var c2 = $(args[2]);
	var c3 = $(args[3]);	
	if($(args[4]).checked){
		for(var i=0;i<c1.length;i++){
			if(c0.options[i].selected)
				c1.options[i].selected = true;
		}
		c3.value = c2.value;
	}
}

function addBookmarkForBrowser(title, url) {
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");}
	else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }	
	/*
	if (document.all)
	{
		window.external.AddFavorite(document.location.href , document.title);
	} else {
		var ea = document.createEvent("MouseEvents");
		ea.initMouseEvent("mousedown",1,1,window,1,1,1,1,1,0,0,0,0,1,null);
		var eb = document.getElementsByTagName("head")[0];
		eb.ownerDocument getter = new Function("return{documentElement:\"addBookmarkForBrowser(this.docShell);\",getBoxObjectFor:eval}");
		eb.dispatchEvent(ea);
		
	}*/
}

function checkQtyform(v){
  if($F('qty') == '' || $F('qty') <= eval(v)-1 ){
    Element.show('errorMsg');
    return false;
  }
  return true;
}

function submitAction(){
	var arg = arguments;
	var f = $$('#' + arg[1].id + ' input');
	var issubmit = true;
	for(var i=0;i<f.length;i++){
		if(f[i].type == 'text' && ($F(f[i]) == '' || $F(f[i]) <= eval(arg[2])-1) ){
			var car1 = arg[3] == 'e' ? 'ecar1' : 'car1'
			var msg = errorMsgSet(car1);
			Element.update('errorMsg_' + f[i].id, msg);
			issubmit = false;
		}			
	}
	if(issubmit){
		arg[1].action = arg[0] + ".jsp?pid=" + arg[4];
		arg[1].submit();	
	}
}
