function PageLoad(){
	
	Call_Login();	//ユーザーログイン状態エリア
}

function Login(){
	
	if( $F('email').length == 0 )
	{
		alert('メールアドレスを入力してください');
		$('email').focus();
		return;
	}	
	if( $F('passwd').length == 0 )
	{
		alert('パスワードを入力してください');
		$('passwd').focus();
		return;			
	}
	
	var sess		= $F('s');
	var call_url	= $F('root_path') + 'customer/login.php';
	
	var param		=	'&mode='		+ 'login'
					+	'&email='		+ $F('email')
					+	'&passwd='		+ $F('passwd')	
					+	'&root_path='	+ $F('root_path')	
					+	'&s='			+ sess				;
	var objUpdater = new Ajax.Request(
		call_url, 
		{
			 method		: 'get'
			,parameters	: param
			,onSuccess	: LoginSuccess
			,onFailure	: failDIV
		});
	
	
}
function Forget(){
	
	if( $F('email').length == 0 )
	{
		alert('会員登録時に入力したメールアドレスを入れてください');
		$('email').focus();
		return;
	}	
	
	var sess		= $F('s');
	var call_url	= $F('root_path') + 'customer/login.php';
	
	var param		=	'&mode='		+ 'forget'
					+	'&email='		+ $F('email')
					+	'&root_path='	+ $F('root_path')	
					+	'&s='			+ sess				;
	var objUpdater = new Ajax.Request(
		call_url, 
		{
			 method		: 'get'
			,parameters	: param
			,onSuccess	: ForgetSuccess
			,onFailure	: failDIV
		});
	
	
}
function Logout(){
		
	var sess	= $F('s');
	
	var call_url	= $F('root_path') + 'customer/logout.php';
	var param		= 's=' + sess;
	var target_div	= 'result';

	var objUpdater = new Ajax.Updater(
		{ success: target_div }, 
		call_url, 
		{
			 method		: 'get'
			,parameters	: param
			,onSuccess	: Reload
			,onFailure	: logout_failDIV
		});
	
	
}
function Call_Login(){
	
	var sess		= $F('s');	
	
	var call_url	= $F('root_path') + 'customer/sw_login.php';
	var param		=	'&s='			+ sess
					+	'&root_path='	+ $F('root_path');
	var target_div	= 'userarea';

	var objUpdater = new Ajax.Updater(
		{ success: target_div }, 
		call_url, 
		{
			 method		: 'get'
			,parameters	: param
			,onSuccess	: login_loadingDIV
			,onFailure	: login_failDIV
		});
}

function LoginSuccess(objReturn){
	if( objReturn.responseText != '' ){
		//エラーの場合のみメッセージ
		alert(objReturn.responseText);
	}
	PageLoad();
}
function ForgetSuccess(objReturn){
	alert(objReturn.responseText);
}
function failDIV(){
//	alert('ログイン処理に失敗しました');
}
function login_loadingDIV(){
//	alert('ログインエリア取得成功');
}
function login_failDIV(){
	alert('ログインエリア取得に失敗しました');
}
function logout_failDIV(){
//	alert('ログアウトに失敗しました');
}


function Reload(){
	location.href = $F('root_path');
}

function NewAccount(){
	
	var frmMe	= document.frmMain;	
	var sess	= $F('s');

	if( frmMe.mode != null ){
		frmMe.mode.value = 'CUST_INPUT';
	}
	frmMe.method = 'post';
	frmMe.action = $F('root_path') + 'customer/cust.php?s=' + sess;
	frmMe.target = '_self';
	frmMe.submit();
}
function EditAccount(){
	
	var frmMe	= document.frmMain;	
	var sess	= $F('s');
	
	if( frmMe.mode != null ){
		frmMe.mode.value = 'CUST_INPUT';
	}
	frmMe.method = 'post';
	frmMe.action = $F('root_path') + 'customer/cust.php?s=' + sess;
	frmMe.target = '_self';
	frmMe.submit();
}

//【機能】郵便番号から住所を検索する
function CallGetAddress(prefix, surfix){	
//【引数】prefix：コントロール名の接頭語（例：invoice_postalcode3→'invoice_'）
//　　　　surfix：コントロール名の接尾語
//【戻値】住所文字列　pref_id：pref：city：address
//【備考】
//【履歴】
//obj	date		auther		comment
//-------------------------------------------
//1.00	2010-03-13	K.Ariakta	New
//1.01	2010-03-25	K.Ariakta	共通化

	var postalcode3, postalcode4;
	var obj_pref, obj_address;
					
	postalcode3 = $F(prefix + 'postalcode3' + surfix);
	if( postalcode3 == '' ){ return; }
	postalcode4 = $F(prefix + 'postalcode4' + surfix);
	if( postalcode4 == '' ){ postalcode4 = '0000'; }
	
	obj_pref	= $(prefix + 'pref'		+ surfix);
	obj_address	= $(prefix + 'address'	+ surfix);
	
	GetAddress(
				 postalcode3
				,postalcode4
				,obj_pref.name
				,obj_address.name
	);

//--- START 1.01 --------------
//	var call_url	=	$F('root_path') + 'customer/sw_postalcode.php';
//	var param		=	 'postalcode3=' + postalcode3
//					+	'&postalcode4=' + postalcode4
//						;
//					
//	var objRequest = new Ajax.Request(
//		call_url, 
//		{
//			 method		:	'get'
//			,parameters	:	param
//			,onComplete	:	function(request) { 
//								var ret = request.responseText;								
//								if( ret == 'param error' || ret == 'address get error' ){
//									alert(ret);
//								}
//								else{
//									var ary = ret.split(':');
//									//pref_id:pref:city:address
//									var pref_id = ary[0];
//									var pref = ary[1];
//									var city = ary[2];
//									var address = ary[3];
//									
//									$(obj_pref).value = pref_id;
//									$(obj_address).value = city + address;
//								}
//							}
//		});
//--- END   1.01 --------------------------------------------------
}

//--- TEXTARE可変化 -----------------------
var ElementResizer = {
   moveNode: false,

   add: function(elm) {
      var obj = new this._ChildElement(this, elm);

      addEvent(elm, 'mousedown', function (e) {
         if(obj.resizePoint(e)) {
            ElementResizer.moveNode = obj;
         }
      });

      return obj;
   },

   start: function() {
      var self = this;
      addEvent(document.body, 'mouseup', function (e) {
         if(self.moveNode) self.moveNode = false;
      });

      addEvent(document.body, 'mousemove', function (e) {
         if(self.moveNode) self.moveNode.doResize(e);
      });
   },

   resizePoint: function(e, elm) {
      var offset = TargetPos.offset(elm);
      var page   = TargetPos.page(e);

      offset.y += elm.offsetHeight;
      offset.x += elm.offsetWidth;

      if(offset.y - 32 < page.y && page.y < offset.y &&
         offset.x - 32 < page.x && page.x < offset.x - 8) {
         return true;
      }
   },

   doResize: function(e, elm) {
      var offset = TargetPos.offset(elm);
      var page   = TargetPos.page(e);

      var width  = page.x - offset.x + 24;
      var height = page.y - offset.y + 16;
      if (width  < 50) width  = 50;
      if (height < 50) height = 50;

      elm.style.height = height + 'px';
//      elm.style.width  = width  + 'px';
   }
}

ElementResizer._ChildElement = function() {
   this.initialize.apply(this, arguments);
}

ElementResizer._ChildElement.prototype = {
   initialize: function(base, elm) {
      this.base = base;
      this.elm  = elm;
   },

   resizePoint: function(e) {
      return this.base.resizePoint(e, this.elm);
   },

   doResize: function(e) {
      return this.base.doResize(e, this.elm);
   }
}

var TargetPos = {
   offset: function(elm) {
      var pos = {};
      pos.x = this.getOffset('Left', elm);
      pos.y = this.getOffset('Top', elm);
      return pos;
   },

   getOffset: function(prop, el) {
      if(!el.offsetParent || el.offsetParent.tagName.toLowerCase() == "body")
         return el['offset'+prop];
      else
         return el['offset'+prop]+ this.getOffset(prop, el.offsetParent);
   },

   page: (document.all) ?
      (function() {
         var pos = {};
         pos.x = event.x + (document.body.scrollLeft || document.documentElement.scrollLeft);
         pos.y = event.y + (document.body.scrollTop  || document.documentElement.scrollTop);
         return pos;
      })
      :
      (function(e) {
         var pos = {};
         pos.x = e.pageX;
         pos.y = e.pageY;
         return pos;
      })
}

var addEvent = (window.addEventListener) ?
   (function(elm, type, event) {
      elm.addEventListener(type, event, false);
   }) : (window.attachEvent) ?
   (function(elm, type, event) {
      elm.attachEvent('on'+type, event);
   }) :
   (function(elm, type, event) {
      elm['on'+type] = event;
   }) ;


addEvent(window, 'load', function() {
   var textareas = document.getElementsByTagName('textarea');

   for(var i = 0;elm = textareas[i];i++) {
      (function(elm) {
         var obj = ElementResizer.add(elm);
         var cursor = false;

         addEvent(elm, 'mousemove', function (e) {
            if(!cursor && obj.resizePoint(e)) {
               elm.style.cursor = 'se-resize';
               cursor = true;
            } else if(cursor && !obj.resizePoint(e)) {
               elm.style.cursor = 'default';
               cursor = false;
            }
         });
      })(elm);
   }

   ElementResizer.start();
});
//--- TEXTARE可変化 -----------------------

