/****************************************************************************
 * 変数の宣言
 ****************************************************************************/

var targetElementID;
var scheduleFlag = false;

/****************************************************************************
 * prototype.jsとjQuery競合対策
 ****************************************************************************/

jQuery.noConflict();

/****************************************************************************
 * Shadowbox
 ****************************************************************************/

Shadowbox.init({
    language: 'ja',
    players:  ['img', 'html', 'iframe', 'qt', 'wmp', 'swf', 'flv']
});

/****************************************************************************
 * Shadowboxの子からページ移動
 ****************************************************************************/
 
function openTheWindow(url){
	window.open(url , "_blank");
	//parent.Shadowbox.close();
}

/****************************************************************************
 * サイトマップの高さを調節
 ****************************************************************************/

function sitemapAdjuster(){
	/*
	var elements = document.getElementsByClassName("subcategory02");
	var girlsListHeight = elements[0].offsetHeight;
	if(girlsListHeight >= 700){
		elements = document.getElementsByClassName("sitemap")
		elements[0].style.height = (220 + girlsListHeight) +"px";
	}
	*/
	
	var girlsListHeight = jQuery("#girlsList ul").height();
	if(girlsListHeight >= 700){
		var destH = (220 + girlsListHeight) +"px";
		jQuery(".sitemap").css('height', destH);
	}
}

/****************************************************************************
 * openableAnswer
 ****************************************************************************/

function openableAnswer(targetID){
	jQuery("#"+targetID).next().slideToggle("fast");
	var element = document.getElementById(targetID).className;
	if(element == "qAndAOpen"){
		document.getElementById(targetID).className = "qAndAClose";
	} else {
		document.getElementById(targetID).className = "qAndAOpen";
	}
}

/****************************************************************************
 * openAndShut
 ****************************************************************************/

function openAndShut(targetID){
	jQuery("#"+targetID).slideToggle("fast");
}

/****************************************************************************
 * 女の子一覧の切り替え
 ****************************************************************************/

function girlsSort(parameter) {
	var tempTargetId = "lady";
	
	jQuery("#"+tempTargetId).fadeOut("normal",function(){
		var a = new Ajax.Updater(
			tempTargetId,
			"./girls_list.php",
			{
				"method": "post",
				"parameters": parameter,
				onSuccess: function(request) {
					// 成功時の処理を記述
					// alert('成功しました');
					// jsonの値を処理する場合↓↓
					//  var json;
					//  eval("json="+request.responseText);
				},
				onComplete: function(request) {
					// 完了時の処理を記述
					// alert('読み込みが完了しました');
					jQuery("#"+tempTargetId).fadeIn("normal",function(){
						scheduleAdjuster();
					});
				},
				onFailure: function(request) {
					alert('読み込みに失敗しました');
				},
				onException: function (request) {
					alert('読み込み中にエラーが発生しました');
				}
			}
		);
	});
}

/****************************************************************************
 * 地図の表示
 ****************************************************************************/

function setMap(id){
	var lat = 33.549264;
	var lng = 133.527918;
	var targetMap = new GMap(document.getElementById(id));
	targetMap.addControl(new GLargeMapControl());
	var point = new GPoint(lng, lat);
	targetMap.centerAndZoom(point,4);
}

/****************************************************************************
 * 出勤表の切り替え(本日の出勤・明日以降の出勤)
 ****************************************************************************/
 
function scheduleSwitch(parameter) {
	if(!scheduleFlag){
		scheduleFlag = true;
	} else {
		scheduleFlag = false;
	}
	
	var a = new Ajax.Updater(
		"todaysSchedule",
		"./ajax_schedule.php",
		{
			"method": "post",
			"parameters": parameter,
			onSuccess: function(request) {
				// 成功時の処理を記述
				// alert('成功しました');
			},
			onComplete: function(request) {
				// 完了時の処理を記述
				// alert('読み込みが完了しました');
				scheduleSwitchRewrite("scheduleSwitch")
				//scheduleAdjuster();
			},
			onFailure: function(request) {
				alert('読み込みに失敗しました');
			},
			onException: function (request) {
				alert('読み込み中にエラーが発生しました');
			}
		}
	);
}

function scheduleSwitchRewrite(targetId){
	var tempHtml;
	
	if(!scheduleFlag){
		tempHtml = '<h3>本日の出勤</h3>';
		tempHtml += '<p id="scheduleSwitchOther"><a href="javascript:scheduleSwitch(\'view_flg=1\')">明日以降の出勤</a></p>';
	} else {
		tempHtml = '<h3 id="otherSchedule">明日以降の出勤</h3>';
		tempHtml += '<p id="scheduleSwitchToday"><a href="javascript:scheduleSwitch()">本日の出勤</a></p>';	
	}
	document.getElementById(targetId).innerHTML = tempHtml;
	//jQuery("#"+targetId).innerHTML = tempHtml;
	scheduleAdjuster();
}


/****************************************************************************
 * 出勤表の長さ調整
 ****************************************************************************/
 
function scheduleAdjuster(){
	var maxHeight = 2000;
	var minHeight = 280;
	var destHeight;
	var targetHeight;
	
	targetHeight = getHight(targetElementID);
	destHeight = targetHeight - getHight("todaysScheduleInformation") - 246 - getHight("toBlog");

	if(destHeight < 0 || destHeight > getHight("ladys")){
		destHeight = getHight("ladys") + 4;
	}

	//高さのmaxを規定
	if(destHeight > maxHeight){
		destHeight = maxHeight;
	} else if(destHeight < minHeight){
		destHeight = minHeight;
	}

	var element = document.getElementById("todaysScheduleList");
	element.style.height = destHeight+"px";
}


/****************************************************************************
 * 高さを取得
 ****************************************************************************/

function getHight(idName){
	var element = document.getElementById(idName);
	return element.offsetHeight;
}

/****************************************************************************
 * ブラウザ判定
 ****************************************************************************/

function checkUserAgent(){
	var myAgent = navigator.userAgent;
	myTop = myAgent.indexOf("MSIE",0);
	if(myTop != -1){
		var myLast = myAgent.indexOf(";",myTop);
		var myVer = myAgent.substring(myTop+5,myLast);
	}
	return myVer;
}

/****************************************************************************
 * 初期設定
 ****************************************************************************/

window.onload = function(){
	if(!scheduleFlag){
		//出勤表の高さ調整
		if(document.getElementById("todaysScheduleInformation")){
			scheduleAdjuster();
		}
	} else {
		scheduleSwitch('view_flg=1');
	}
	
	//地図の表示
	if(document.getElementById("sphereOfBusinessMap")){
		setMap("sphereOfBusinessMap");
	}
	
	//サイトマップの高さ調節
	if(targetElementID == "sitemap"){
		sitemapAdjuster();
	}
}