﻿//--------------------------------------------------------------------------------------------------//
//																									//
//	Functions																						//
//	copyright(C)2009 lcc inc. all rights reserved													//
//--------------------------------------------------------------------------------------------------//
var httpObj		= null;

var xmlModule 		= "./_xml.asp";
var xmlRetry		= new Array(99);	//xml RetryCount
var xmlRetryLimt	= 3;				//xml Retry Limit
var xmlRetryTimeout	= 20000;			//xml Retry Timeout

//================================================================================================== ready
$().ready(function() {
	for (i=0; i<xmlRetry.length; i++) xmlRetry[i]=0 ;

	//------------------------------------------------------------ iniLogin
	iniLoginEvt();
});



//================================================================================================== iniLoginEvt
	function iniLoginEvt() {
		//------------------------------------------------------------ login表示
		$("#login_Win").jqDrag(".jqDrag").jqm({
			modal: true,
			overlay: 80,
			trigger:"#loginTrigger",
			onShow: function(h) {
				$("#flscrpt").hide();								//TopのFlashを非表示
				$("#zMap").css({ width:"650px", height: "320px" });	//リンクのFlashを非表示
				if ($.browser.msie && $.browser.version=="6.0") $("select").css("visibility","hidden");	//IE6のみselectを非表示
				chkCookie();				//Cookieを取得
				h.w.css("opacity",1).fadeIn();
				revDialog("#login_Win");	//画面外へ出た時に画面内に戻す
			},
			onHide: function(h) {
				$("#flscrpt").show();					//TopのFlashを表示
				$("#zMap").css("visibility","visible");	//リンクのFlashを表示
				if ($.browser.msie && $.browser.version=="6.0") $("select").css("visibility","visible");
				h.w.fadeOut("normal",function() { if(h.o) h.o.remove(); }); }
		});
	}



//================================================================================================== ログイン関係
	function loginChk() {
		var sv;
		if ($("#CSave")[0].checked) sv="ON"; else sv="";
		$.ajax({
			url: xmlModule+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=login_check" + 
				"&_mID="+encodeURI($("#ID").val()) + 
				"&_mPass="+encodeURI($("#Password").val()) + 
				"&_CSave="+encodeURI(sv) + 
				"&cache=" + (new Date()).getTime(),
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry[4]++ ;
				if(xmlRetry[4]>(xmlRetryLimt-1)) {
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed loginChk");
				} else {
					alert("情報の取得に失敗しました8");
					loginChk();
				}
			},  
			success: function(httpObj){
				xmlRetry[4]=0;
				var xmlRes = httpObj.getElementsByTagName("result");
				var resVal = xmlRes[0].getElementsByTagName("res")[0].firstChild.nodeValue;
				if (resVal != 1) {
					$("#ErrMsg").html(resVal);
				} else {
					document.btn.submit() ;
				}
			}
		});
	}

	function reqPass() {
		$("#ErrMsg").html("");
		$.ajax({
			url: xmlModule+'?'+"_xsid="+$("#_xsid").val() + 
				 "&_fn=req_Pass"+ 
				 "&_email="+encodeURI($("#email").val()) + 
				 "&cache=" + (new Date()).getTime(),
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry[5]++ ;
				if(xmlRetry[5]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed reqPass");
				else{
					alert("情報の取得に失敗しました9");
					reqPass();
				}
			},success: function(httpObj){
				xmlRetry[5]=0;
				var xmlRes = httpObj.getElementsByTagName("result");
				var resVal = xmlRes[0].getElementsByTagName("res")[0].firstChild.nodeValue;
				//$("ErrMsg").innerHTML = resVal;
				$("#ErrMsg").html(resVal);
			}
		});
	}

	function allClear() {
		$.ajax({
			url: xmlModule+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=all_Clear",
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry[14]++ ;
				if(xmlRetry[14]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed all_Clear");
				else{
					alert("情報の取得に失敗しました15");
					allClear();
				}
			},success: function(httpObj){
				xmlRetry[14]=0;
				$("#ID").val("");
				$("#Password").val("");
				$("#email").val("");
				$("#CSave").attr("checked",false);
				$("#CSave").val("");
			}
		});
	}

	function chkCookie() {
		$.ajax({
			url: xmlModule+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=chk_cookie",
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry[15]++ ;
				if(xmlRetry[15]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed chk_cookie");
				else{
					alert("情報の取得に失敗しました16");
					chkCookie();
				}
			},success: function(httpObj){
				xmlRetry[15]=0;
				var xmlRes = httpObj.getElementsByTagName("result");
				var mID = xmlNull_chk(xmlRes[0], "mID", "");
				var pass = xmlNull_chk(xmlRes[0], "pass", "");
				var sv = xmlNull_chk(xmlRes[0], "sv", "");
				$("#ID").val(mID);
				$("#Password").val(pass);
				if (sv=="ON") {
					$("#CSave").attr("checked",true);
					$("#CSave").val("ON");
				} else {
					$("#CSave").attr("checked",false);
					$("#CSave").val("");
				}
			}
		});
	}

	//------------------------------------------------------------ reverse Dialog
	function revDialog(elm) {											//revDialog   ダイアログが画面外へ出た時に画面内に戻す
		var e = $(elm+":first");
		var offset = e.offset();
		var position = e.position();
		if (offset.top <0) e.css("top",(position.top-offset.top)+"px");
		return ;
	}

