function	MM_swapImage(aa,ss,dd){

}

function	MM_swapImgRestore(){

}

function	spWinOpen(href,ww,wh,ws){
	var wsx="width="+ww+",height="+wh;
	if(ws) wsx +=","+ws;
	var spwin=window.open(href,"spwin",wsx); spwin.focus();
}
function	spAddOkini(id){
	new Ajax.Request("index.php?module=open&action=AjxMnb&op=ao&id="+id,
		{	onLoading:	spAjxOki1,	
			onSuccess:	spAjxOki2,
			onFailure:	spAjxOki3
		});
}
function	spAjxOki1(req){	return;	}
function	spAjxOki2(req){	alert("お気に入りに追加しました");	}
function	spAjxOki3(req){	alert("AJax access error");	}
function	spAjxOki4(req){	alert("お気に入りから削除しました");	}
function	spDelOkini(id){
	new Ajax.Request("index.php?module=open&action=AjxMnb&op=do&id="+id,
		{	onLoading:	spAjxOki1,
			onSuccess:	spAjxOki4,
			onFailure:	spAjxOki3
		});
}

//	Default Setting...

var	SPForm		='SPForm';
var	StBlock		='stblock';
var	StPrefix	='st_';
var	Type		='type';
var	addkey		='add';
var delkey		='del';

function	stIO( item, namespace )
{
	var	op	='';

	if( item.checked )	op	=addkey;
	else				op	=delkey;
	StRequest( item.value, op, namespace );
}

function	StRequest( st, op, namespace )
{
	new Ajax.Request('http://219.94.149.16/index.php?module=open&action=schX&type='+$F( Type )+'&st='+st+'&op='+op+'&namespace='+namespace,
					{	onSuccess:	cnfSt,
						onFailure:	ErrSt
					});
}


function	stDisp( item, namespace )
{

	if( item.checked )	Element.show( $( StBlock+ item.value ) );
	else				drpSt( item, namespace );
	return;
}

function	cnfSt( req )
{
	return;
}

function	drpSt( item, namespace )
{
	var	elem		=$( StBlock+ item.value );
	var chkname		=StPrefix+ item.value+ '[]';
	var frmelem		=getElements( chkname );
	if( elem )
	{
		var	chkcnt =frmelem.length;
		if( chkcnt ){
			for( var i=0; i < chkcnt; i++ )
			{
				if( frmelem[i].checked )
				{
					StRequest( frmelem[i].value, delkey, namespace );
					frmelem[i].checked	=false;
				}
			}
		}
		else
		{
			if( frmelem.checked )
			{
				StRequest( frmelem.value, delkey,namespace );
				frmelem.checked	=false;
			}
		}
		Element.hide( elem );
	}
}

function	allChk( name, namespace, chk )
{
	var	elem	=getElements(  name );
	if( !( elem ) )	return;
//	var chkkey	=(chk)?	addkey:	delkey;
	if( chk )	var chkkey	=addkey;
	else		var chkkey	=delkey;
	if( elem.length )
	{
		var	stations	=new Array();
		for( var i = 0; i < elem.length; i++ )
		{
			if( elem[i].checked == chk )		continue;
			//	サーバ不可を考慮し、一度に全てリクエストしてみる
			stations.push( elem[i].value );
			elem[i].checked		=chk;
		}
		StRequest( stations.join( ',' ), chkkey, namespace );
	}
	else
	{
		if( elem.checked == chk )		return;
		StRequest( elem.value, chkkey, namespace );
		elem.checked	=chk;
	}
}

function	ErrSt(req){
	alert('エラーが発生しました');
}

function	getElements( elem_name )
{
	elem	=$( SPForm ).elements[elem_name];
	if( elem )	return	elem;
	else		return	false;
}


//	とりあえずのバリデートロジック
function validate()
{
	var elements	=$( 'mb_name1', 'mb_name2', 'mb_kana1', 'mb_kana2', 'mb_address', 'mb_email', 'mb_email1', 'mb_tel', 'mb_psw', 'mb_psw_check' );
	var chkelements	=$( "mb_r_type11-0", "mb_r_type22-1", "mb_r_type22-2", "mb_r_type33-1", "mb_r_type33-2", "mb_r_type44-0" );
	var err			=0;

	for( var i = 0; i < elements.length; i++ )
	{
		if( !inpChk( elements[i].value ) )
		{
			elements[i].style.backgroundColor	="#FFCCCC";
			err++;
		}
		else
		{
			elements[i].style.backgroundColor	="";
		}
	}

	if( !chkValidate( chkelements ) )
	{
		err++;
	}

	if( err )
	{
		alert( '必須項目が入力されていません。' );
		return	false;
	}

	if( trim( $F( 'mb_email' ) ) != trim( $F( 'mb_email1' ) ) )
	{
		alert( 'メールアドレスが一致しません。' );
		return false;
	}

	if( !emailValid( trim( $F( 'mb_email' ) ) ) )
	{
		alert( 'メールアドレスが不正です。' );
		return	false;
	}

	if( trim( $F( 'mb_psw' ) ) != trim( $F( 'mb_psw_check' ) ) )
	{
		alert( 'パスワードが一致しません。' );
		return	false;
	}

	else		$( 'SPForm' ).submit();
}

function inpChk( val )
{
	if( val == '' )	return	false;
	else			return	true;
}

function	chkValidate( elements )
{
	var chk		=0;
	var	color	='';
	for( var i = 0; i < elements.length; i++ )
	{
		if( elements[i].checked )	chk++
	}
	if( !chk )	color	='#FFCCCC';
	for( var i = 0; i < elements.length; i++ )
	{
		elements[i].style.backgroundColor	=color;
	}
	if( !chk )	return	false;
	else		return	true;

}

function	emailValid( val )
{
	if( !val.match( /^[a-z0-9\-\._]+@[a-z0-9]([0-9a-z\-]*[a-z0-9]\.){1,}[a-z]{1,4}$/i ) )	return false;
	else	return true;
}

function   NumError(item){
     item.style.backgroundColor   ="#FFCCCC";
//     item.style.color             ="white";
     item.focus();					// firefox 未対応
     return      false;
}
/*
      chkFloor : 渡されたオブジェクトのvalueが数値であるかどうかをチェックし、
                 数値であればprecで指定された小数桁を有効桁数とし、切り捨てを行ったうえで値をセット
                 有効な数値であれば、背景色を白に、数値でなければ赤にする
*/
function   chkFloor(item,prec){
		
		var		numVal		=item.value;
		
		for(i =0;i < numVal.length;i++){ 	numVal	=numVal.replace(',','');	}
		
		numVal	=String(parseFloat(numVal));
		
		if(item.value){
			if(isNaN(numVal))		return	NumError(item);
			item.value				=get_floor_value(numVal,prec);
		}
		item.style.backgroundColor	="";
		item.style.color			="";
		return;
}
/*
      get_floor_value : 渡された値をprecで指定された小数桁を有効桁数とし、切り捨てをして返す
*/
function   get_floor_value(numVal,prec){

//						丸め誤差のため変更
//            if (prec==0)            return      Math.floor(parseFloat(numVal));
//            else                    return      Math.floor(numVal * Math.pow(10,prec)) / Math.pow(10,prec);

              var          del      =numVal.indexOf('.');

              if(prec==0){
                      if(del>0)    return     numVal.substr(0,del);
                      else         return     numVal;
              }else{
                      if(del>0){
                         var     num    =numVal.substr(0,del);
                         var     len    =num.length + prec + 1;
                       
                         return          numVal.substr(0,len);
                      }
                      else               return    numVal;
              }
}

function	trim( val )
{
   return	val.replace(/^[ 　]*/gim, "").replace(/[ 　]*$/gim, "");
}
function reinput()
{
$('op').value='';
$('SPForm').submit();
}

/**
 *	stringにtrimメソッドを拡張
 */
String.prototype.trim = function() {
   return	this.replace(/^[ 　]*/gim, "").replace(/[ 　]*$/gim, "")
	//   return	this.replace(/^\s+|\s+$/g, '');	//	半角のみversion
}

/**
 *	<select>の選択中の<option>のvalueを返す
 */
function	selectedValue(selname){
	if ($(selname) && ($(selname).options.length > $(selname).selectedIndex)){
		return	$(selname).options[$(selname).selectedIndex].value;
	}
	return	null;
}
/**
 *	config.phpの設定に基づいてフォーマット変換されたURLを返す
 */
function	modRewriteUrl(url){
	if (2 !=2)	return	url;
	var r1=new RegExp("\\x3f","g");	url=url.replace(r1,'/');
	var r2=new RegExp("&","g");		url=url.replace(r2,'/');
	var r3=new RegExp("=","g");		url=url.replace(r3,'/');
	return	url;
}
function InqDel(id){
	$('op').value='del';
	$('delid').value=id;
	$('SPForm').submit();
}



