function wait( hideElement, showElement ){
	if( navigator.cookieEnabled == true ){
		document.getElementById( hideElement ).style.display = "none";
		document.getElementById( showElement ).style.display = "block";
		return true;
	}else{
		alert( "Cookie（クッキー）が無効のため処理を進める事ができません。\n"
			+ "ブラウザーのCookieの機能を有効にしてから再度アクセスしてください。" );
		return false;
	}
}

function getMetaValueOf( name ){
	var nodes = document.getElementsByTagName( "meta" );

	for( var index = 0; index < nodes.length; index++ ){
    if( name == nodes[ index ].name ){
				return nodes[ index ].content;
		}
	}
	
	return null;
}

function retrieveCookie( key ){
	if( navigator.cookieEnabled == false ){
		return "";
	}

	var tmp = document.cookie + ";";
	var index1 = tmp.indexOf( key, 0 );
	if( index1 != -1 ){
		tmp = tmp.substring( index1, tmp.length );
		var index2 = tmp.indexOf( "=", 0 ) + 1;
		var index3 = tmp.indexOf( ";", index2 );
	
		return unescape( tmp.substring( index2, index3 ) );
	}else{
		return "";
	}
}

function saveCookie( key, value ){
	var expired = new Date();
  expired.setTime( expired.getTime() + 31536000000 );
  expired = expired.toGMTString();
	
	document.cookie = key + "=" + escape( value ) + ";expires=" + expired;
}

function isCookieAvailable(){
	return navigator.cookieEnabled ? true : false;
}

function trim( string ){
	if( string != null ){
		return string.replace( /^\s*/, "" ).replace( /\s*$/, "" );
	}else{
		return null;
	}
}

function isValidEmailAddress( emailAddress ){
	if( emailAddress != null ){
		//return emailAddress.match( /^\S+\@([-_a-zA-Z0-9]+\.)*[-_a-z]+|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/ ); // テスト用
		return emailAddress.match( /^[A-Za-z0-9]+[\w-\.]+@[\w\.-]+\.\w{2,}$/ );
	}else{
		return false;
	}
}

function isKeitaiEmailAddress( emailAddress ){
	if( isDocomoEmaillAddress( emailAddress ) ){
		return true;
	}else if( isAuEmaillAddress( emailAddress ) ){
		return true;
	}else if( isSoftbankEmaillAddress( emailAddress ) ){
		return true;
	}else if( isTukaEmaillAddress( emailAddress ) ){
		return true;
	}else if( isDdiPocketEmaillAddress( emailAddress ) ){
		return true;
	}else if( isAstelEmaillAddress( emailAddress ) ){
		return true;
	}else{
		return false;
	}
}

function isDocomoEmaillAddress( emailAddress ){
	if( emailAddress != null ){
		return emailAddress.match( /(\S+\@.*docomo.ne.jp)|(\S+\@.*nttpnet.ne.jp)|(\S+\@.*mopera.ne.jp)/i );
	}else{
		return false;
	}
}

function isSoftbankEmaillAddress( emailAddress ){
	if( emailAddress != null ){
		return emailAddress.match( /(\S+\@.*softbank.ne.jp)|(\S+\@.*vodafon.ne.jp)|(\S+\@.*jp-[a-zA-Z]{1}?.ne.jp)/i );
	}else{
		return false;
	}
}

function isAuEmaillAddress( emailAddress ){
	if( emailAddress != null ){
		return emailAddress.match( /\S+\@.*ezweb.ne.jp/ );
	}else{
		return false;
	}
}

function isTukaEmaillAddress( emailAddress ){
	if( emailAddress != null ){
		return emailAddress.match( /(\S+\@.*tu-ka.ne.jp)|(\S+\@.*tkc.ne.jp)|(\S+\@.*tkk.ne.jp)/i );
	}else{
		return false;
	}
}

function isDdiPocketEmaillAddress( emailAddress ){
	if( emailAddress != null ){
		return emailAddress.match( /\S+\@.*pdx.ne.jp/i );
	}else{
		return false;
	}
}

function isAstelEmaillAddress( emailAddress ){
	if( emailAddress != null ){
		return emailAddress.match( /(\S+\@.*phone.ne.jp)|(\S+\@.*mozio.ne.jp)/i );
	}else{
		return false;
	}
}

function openYahooBookmarkWindow( title, permalink ){
	var url = "http://bookmarks.yahoo.co.jp/bookmarklet/showpopup?t=" + encodeURIComponent( title ) + "&u=" + encodeURIComponent( permalink ) + "&opener=bm&ei=UTF-8";
	var option = "width=550px,height=480px,status=1,location=0,resizable=1,scrollbars=0,left=100,top=50";
	window.open( url, "bookmark", option );
}

