// JavaScript Document utf-8

//ini
var d = document;

$(d).ready(function(){
	pngfix();
	marginAdjust();
	bgNone();
	tblEven();
	borderAdjust();
	floatSetting();
	slideToggle();
	tabSwitcher();
	layerToggle();
	recommendJSON();
	backtotop();
	tobSkip();
});

//pngFix
function pngfix(){
	$(d).pngFix();
}

//marginAdjust
function marginAdjust(){
	$("ul.indexList > li:last-child").addClass("mb_none");
	$("ul.recommendSchool > li:not(:last-child)").css("margin-right","14px");
	$("ul.imageSchoolList > li:not(:last-child)").css("margin-right","14px");
	$("ul.messageBox > li:not(:last-child)").css("margin-right","18px");
}

//bgNone
function bgNone(){
	$("ul.bottomBorder > li:last-child").addClass("bg_none");
}

//TableRows
function tblEven(){
	$('table#memberTbl tr:even').addClass('even');
	$('table#requestTbl tr:even').addClass('even');
}

//borderAdjust
function borderAdjust(){
	$("dl.newsList > dt:not(:first-child)").addClass("bdr_cccccc");	
	$("ul#resultImageBlock > li:last-child").addClass("bdrNone");	
}
//floatSet
function floatSetting(){
	$("ul.facultyList > li:even").addClass("left");
	$("ul.facultyList > li:odd").addClass("right");	
	$("ul#sitemap > li > ul >li > ul").addClass("clearfix");
}

//slideToggle
function slideToggle(){
	$("div#detailSelect > dl > dt").click(function () {
		var thisId = $(this).attr('id');
		if($(this).hasClass('close')){
			$(this).removeClass('close');
			$(this).addClass('open');
		} else if($(this).hasClass('open')){
			$(this).removeClass('open');
			$(this).addClass('close');		
		}
		if(thisId == "ttlType"){			
     		$("dd#detailType").slideToggle();			
		} else if(thisId == "ttlArea"){
      		$("dd#detailArea").slideToggle();
		} else if(thisId == "ttlField"){
     		$("dd#detailField").slideToggle();
		}								
    });
	$("form#searchNarrow > h4").click(function () {
		var thisId = $(this).attr('id');
		if($(this).children().hasClass('close')){
			$(this).children().removeClass('close');
			$(this).children().addClass('open');
		} else if($(this).children().hasClass('open')){
			$(this).children().removeClass('open');
			$(this).children().addClass('close');		
		}
		if(thisId == "ttltypeSearch"){			
     		$("div#typeSearch").slideToggle();			
		} else if(thisId == "ttlareaSearch"){
      		$("div#areaSearch").slideToggle();
		} else if(thisId == "ttlfieldSearchA"){
     		$("div#fieldSearchA").slideToggle();
		} else if(thisId == "ttlfieldSearchB"){
     		$("div#fieldSearchB").slideToggle();
		} else if(thisId == "ttlfeatureSearch"){
     		$("div#featureSearch").slideToggle();
		}										
    });
	$("div#featureGeneralArea > p.btnFeatureGeneral > span").click(function () {
		if($(this).hasClass('close')){
			$(this).removeClass('close');
			$(this).addClass('open');
			$(this).html("もっと見る");
		} else if($(this).hasClass('open')){
			$(this).removeClass('open');
			$(this).addClass('close');	
			$(this).html("閉じる");	
		}
     	$("ul#featureGeneralList").slideToggle();
    });
    $("div#recommendArea > div#btnRecommend").click(function () {
		if($(this).hasClass('close')){
			$(this).removeClass('close');
			$(this).addClass('open');
		} else if($(this).hasClass('open')){
			$(this).removeClass('open');
			$(this).addClass('close');	
		}
     	$("div#divRecommend").slideToggle('fast');
    });
    $("div#recommendArea > div#btnCheck").click(function () {
		if($(this).hasClass('close')){
			$(this).removeClass('close');
			$(this).addClass('open');
		} else if($(this).hasClass('open')){
			$(this).removeClass('open');
			$(this).addClass('close');	
		}
     	$("div#divCheck").slideToggle('fast');
    });
}

//tabSwitcher
function tabSwitcher(){
	$("div#popularTab > ul > li > a").click(function () {
	    if ($(this).hasClass("tabOff")) {
    		$("div#popularTab > ul > li > a.active").removeClass("active");
    		$("div#popularTab > ul > li > a.tabOn").addClass("tabOff");
    		$("div#popularTab > ul > li > a.tabOn").addClass("tabOn");
    		$(this).addClass("active");
    		$(this).removeClass("tabOff");
    		$(this).addClass("tabOn");
    		var targetId = $(this).attr('title');
    		$("div#popularTab > div.tabContent").slideUp();
    		$("#" + targetId).slideDown();
        }
	});
	$("div#newsTab > ul > li > a").click(function () {
	    if ($(this).hasClass("tabOff")) {
    		$("div#newsTab > ul > li > a.active").removeClass("active");
    		$("div#newsTab > ul > li > a.tabOn").addClass("tabOff");
    		$("div#newsTab > ul > li > a.tabOn").addClass("tabOn");
    		$(this).addClass("active");
    		$(this).removeClass("tabOff");
    		$(this).addClass("tabOn");
    		var targetId = $(this).attr('title');
    		$("div#newsTab > div.tabContent").slideUp();
    		$("#" + targetId).slideDown();
        }
	});
	$("ul#tabDispArea > li > a").click(function () {
	    if ($(this).hasClass("tabOff")) {
    		$("ul#tabDispArea > li > a.active").removeClass("active");
    		$("ul#tabDispArea > li > a.tabOn").addClass("tabOff");
    		$("ul#tabDispArea > li > a.tabOn").addClass("tabOn");
    		$(this).addClass("active");
    		$(this).removeClass("tabOff");
    		$(this).addClass("tabOn");
    		var hideId = $("ul#tabDispArea > li > a.tabOff").attr('title');
    		var targetId = $(this).attr('title');
    		$("#" + hideId).slideUp();
    		$("#" + targetId).slideDown();
    	}
	});
	$("div.tabArea > ul.tab > li > a").click(function () {
	    if ($(this).hasClass("tabOff")) {
    		$("div.tabArea > ul.tab > li > a.active").removeClass("active");
    		$("div.tabArea > ul.tab > li > a.tabOn").addClass("tabOff");
    		$("div.tabArea > ul.tab > li > a.tabOn").addClass("tabOn");
    		$(this).addClass("active");
    		$(this).removeClass("tabOff");
    		$(this).addClass("tabOn");
    		var targetId = $(this).attr('title');
    		$("div.tabArea > div.contents > div.tabContent").slideUp();
    		$("#" + targetId).slideDown();
        }
	});
	
	// 学校検索（初期設定）
	var str = window.location.hash;
	
	if (str != ""){
		str = str.replace("#tab", "");
		str = "schoolSearch" + str;
	}	else	{
		str = "schoolSearch01";
	}
	
	var tTab = "div.tabArea > ul.tab > li#" + str + "> a";
	if ($(tTab).hasClass("tabOff")) {
		$("div.tabArea > ul.tab > li > a.active").removeClass("active");
		$("div.tabArea > ul.tab > li > a.tabOn").addClass("tabOff");
		$("div.tabArea > ul.tab > li > a.tabOn").addClass("tabOn");
		$(tTab).addClass("active");
		$(tTab).removeClass("tabOff");
		$(tTab).addClass("tabOn");
		var targetId = $(tTab).attr('title');
		$("div.tabArea > div.contents > div.tabContent").css("display", "none");
		$("#" + targetId).css("display", "block");
  }
}

//layerToggle
function layerToggle(){
	$("ul#guideNavi > li").click(function () {
		var thisId = $(this).attr('id');
		if($(this).children().hasClass('close')){
			$(this).children().removeClass('close');
			$(this).children().addClass('open');
		} else if($(this).children().hasClass('open')){
			$(this).children().removeClass('open');
			$(this).children().addClass('close');
		}
		if(thisId == "guideLogin"){			
     		$("div#resistLayer").slideToggle();	
			if($("li#guideSearch").children().hasClass('open')){
      			$("div#searchLayer").slideUp();
				$('li#guideSearch').children().removeClass('open');
				$('li#guideSearch').children().addClass('close');
			}
		} else if(thisId == "guideSearch"){
      		$("div#searchLayer").slideToggle();
			if($("li#guideLogin").children().hasClass('open')){
      			$("div#resistLayer").slideUp();
				$('li#guideLogin').children().removeClass('open');
				$('li#guideLogin').children().addClass('close');				
			}
		}								
    });
}
function layerSlider(id){
	var layerId = "#"+id;
	$(layerId).slideUp();
	if(layerId == "#resistLayer"){
		$('li#guideLogin').children().removeClass('open');
		$('li#guideLogin').children().addClass('close');	
	}else if(layerId == "#searchLayer"){
		$('li#guideSearch').children().removeClass('open');
		$('li#guideSearch').children().addClass('close');
	}
}

//sideRecommendArea_getJSON
function recommendJSON(){
	sideLatestCheck();
	sideExactly();
	sideRecommend();
}
function sideLatestCheck(){
	var objName = $('#sideLatestCheck');
	var frameData = '/_common/data/sideLatestCheck.json';
	$.getJSON(frameData, {dataType: objName, ajax: 'true'}, function(json){
		dataLoad(frameData,objName,json);
	});
}
function sideExactly(){
	var objName = $('#sideExactly');
	var frameData = '/_common/data/sideExactly.json';
	$.getJSON(frameData, {dataType: objName, ajax: 'true'}, function(json){
		dataLoad(frameData,objName,json);
	});
}
function sideRecommend(){
	var objName = $('#sideRecommend');
	var frameData = '/_common/data/sideRecommend.json';
	$.getJSON(frameData, {dataType: objName, ajax: 'true'}, function(json){
		dataLoad(frameData,objName,json);
	});
}

function dataLoad(data,name,j){
	var targetId = name;
	var hideId = $(targetId).attr('id') + "B";
	var innerHTML = "";
	var openHTML = '<ul id="' + hideId + '" class="indexList" style="display:none;">';
	var dataCount = j.length;
	for(var i = 0 ; i < dataCount; i++){
		if(i <= 1){
			if(i == 0){
				innerHTML += '<li>';
			}else if(i != 0){
				innerHTML += '<li class="bdr_e0dbc5">';
			}
			innerHTML += '<span class="imgFrame">';
			innerHTML += '<img src="' + j[i].imgPath + '" width="' + j[i].imgWidth + '" height="' + j[i].imgHeight + '" alt="' + j[i].datatitle + '" />';
			innerHTML += '</span>';
			innerHTML += '<dl>';
			innerHTML += '<dt><a href="' + j[i].dataURL + '">' + j[i].datatitle + '</a></dt>';
			innerHTML += '<dd>';
			innerHTML += j[i].dataText;
			if(j[i].textMore == true){
				innerHTML += '<span class="more"><a href="' + j[i].dataURL + '">More</a></span>';
			}
			innerHTML += '</dd>';
			innerHTML += '</dl>';
			innerHTML += '</li>';
		}else if(i > 1){
			openHTML += '<li class="bdr_e0dbc5">';
			openHTML += '<span class="imgFrame">';
			openHTML += '<img src="' + j[i].imgPath + '" width="' + j[i].imgWidth + '" height="' + j[i].imgHeight + '" alt="' + j[i].datatitle + '" />';
			openHTML += '</span>';
			openHTML += '<dl>';
			openHTML += '<dt><a href="' + j[i].dataURL + '">' + j[i].datatitle + '</a></dt>';
			openHTML += '<dd>';
			openHTML += j[i].dataText;
			if(j[i].textMore == true){
				openHTML += '<span class="more"><a href="' + j[i].dataURL + '">More</a></span>';
			}
			openHTML += '</dd>';
			openHTML += '</dl>';
			openHTML += '</li>';
		}
	}
	openHTML += '</ul>';
	$(targetId).append(innerHTML);
	$(openHTML).appendTo($(targetId));
	if(dataCount > 2){
		var shutter = '<p class="' + hideId + ' mb_10 open pointer"><img src="/_common/img/btn-recommendOpen_001.gif" width="300" height="18" alt="もっと見る" /></p>';
		$(shutter).appendTo($(targetId));
		$("p[class^='" + hideId + "']").click(function(){
			if($(this).hasClass('close')){
				$(this).removeClass('close');
				$(this).addClass('open');
				$(this).html('<img src="/_common/img/btn-recommendOpen_001.gif" width="300" height="18" alt="もっと見る" />');
			} else if($(this).hasClass('open')){
				$(this).removeClass('open');
				$(this).addClass('close');	
				$(this).html('<img src="/_common/img/btn-recommendClose_001.gif" width="300" height="18" alt="閉じる" />');
			}
			$("ul[id^='" + hideId + "']").slideToggle();
		});
	}
}

//back to top
function backtotop(){
    $("a[href^='#headerWrap']").click(function () {
        $('html,body').animate({ scrollTop: 0 }, 'slow');
        return false;
    });
}

//School Top Flash
function FlashAreaOpen(){
	$('div#schoolFlaArea').animate({
		height: "330px"
	},500);
}
function FlashAreaClose(){
	$('div#schoolFlaArea').animate({
		height: "180px"
	},500);
}


//TakeOverBunner
function tobSkip(){
	$('div#TakeoverBunner a.skip').click(function() {
		$('div#TakeoverBunner').fadeOut("slow");
	});
}

jQuery.timerCommon = function (interval, callback)
{
    var interval = interval || 100;

    if (!callback) return false;
	
    _timer = function (interval, callback) {
        this.stop = function () {
            clearInterval(self.id);
        };
        
        this.internalCallback = function () {
            callback(self);
        };
        
        this.reset = function (val) {
            if (self.id) clearInterval(self.id);
            
            var val = val || 100;
            this.id = setInterval(this.internalCallback, val);
        };
        
        this.interval = interval;
        this.id = setInterval(this.internalCallback, this.interval);
        
        var self = this;
    };
    
    return new _timer(interval, callback);
};

if ($('div#TakeoverBunner')) {
    $('div#TakeoverBunner').ready(function(){
        $.timerCommon(5000, function (timer) {
            $('div#TakeoverBunner').fadeOut("slow");
        });
    });
}


//2010.3.1 cart counter
/*function cartCount(){
	$(function(){
//			var phpPath = "/lab/school/cart_counter.php"
			$("span#cart").load('/lab/school/cart_counter.php');
			$("span#cart", parent.document).load('/lab/school/cart_counter.php');
	})
}
*/
function cartCount(){
        $.getJSON('/lab/school/cart_counter.php'
		,function(data){
//				alert(data);
				$("span#cart").html(data);
				$("span#cart", parent.document).html(data);
		}
	);
}