﻿/* 页签 for 班级页面 */
var map = null;

$(document).ready(function() {
    var a = $("#productTab01"), b = $("#productTab02"), c = $("#productTab03"), d = $("#productTab04");
    var wp = 0, hp = 0;
    a.click(function() {
        a.addClass("this");
        b.removeClass("this");
        c.removeClass("this");
        d.removeClass("this");
        $("#productTabContentBox").show();
        $("#reviewListBox").show();
        $("#reviewListTitle").show();
        $("#referListBox").show();
        $("#referListTitle").show();
        $("#productMapBox").hide();
    });
    b.click(function() {
        a.removeClass("this");
        b.addClass("this");
        c.removeClass("this");
        d.removeClass("this");
        $("#productTabContentBox").hide();
        $("#referListBox").hide();
        $("#reviewListBox").show();
        $("#reviewListTitle").hide();
        $("#productMapBox").hide();
    });
    c.click(function() {
        a.removeClass("this");
        b.removeClass("this");
        c.addClass("this");
        d.removeClass("this");
        $("#productTabContentBox").hide();
        $("#reviewListBox").hide();
        $("#referListBox").show();
        $("#referListTitle").hide();
        $("#productMapBox").hide();
    });
    function ResizeMap(x,y) {
        if (map == null) {
            map = new BMap.Map("eMap");                     

            if (x != 0 && y != 0) {
                map.centerAndZoom(new BMap.Point(y, x), 18);
                map.disableScrollWheelZoom();
                map.addControl(new BMap.NavigationControl());
                //map.addControl(new BMap.ScaleControl());
                //map.addControl(new BMap.OverviewMapControl());
                //map.addControl(new BMap.MapTypeControl());

                var marker = new BMap.Marker(new BMap.Point(y, x));
                map.addOverlay(marker); 
            }
            else
            {
                map.centerAndZoom(new BMap.Point(121.435913, 31.194483), 18);
                map.disableScrollWheelZoom();
                map.addControl(new BMap.NavigationControl());
                //map.addControl(new BMap.ScaleControl());
                //map.addControl(new BMap.OverviewMapControl());
                //map.addControl(new BMap.MapTypeControl());

                var marker = new BMap.Marker(new BMap.Point(121.435913, 31.194483));
                map.addOverlay(marker); 
             }
        }
        else
        {
            var newZoom = map.getZoom();
            if (wp == 0 && hp == 0) {
                wp = gmMap.getCenter().lat();
                hp = gmMap.getCenter().lng();
            }
            map.setCenter(new BMap.Point(hp, wp), newZoom);
        }     
    }
    d.click(function() {
        a.removeClass("this");
        b.removeClass("this");
        c.removeClass("this");
        d.addClass("this");
        $("#productTabContentBox").hide();
        $("#reviewListBox").hide();
        $("#referListBox").hide();
        $("#referListTitle").hide();
        $("#productMapBox").show();

        ResizeMap(this.attributes["x"].nodeValue, this.attributes["y"].nodeValue);
    });
    var ss = $("#showProductMapBox");
    ss.click(function() {
        a.removeClass("this");
        b.removeClass("this");
        c.removeClass("this");
        d.addClass("this");
        $("#productTabContentBox").hide();
        $("#reviewListBox").hide();
        $("#referListBox").hide();
        $("#productMapBox").show();

        ResizeMap(this.attributes["x"].nodeValue, this.attributes["y"].nodeValue);
    });
});

(function($) {
    $.ui = $.ui || {}; $.fn.extend({ accordion: function(options, data) {
        var args = Array.prototype.slice.call(arguments, 1); return this.each(function() {
            if (typeof options == "string") { var accordion = $.data(this, "ui-accordion"); accordion[options].apply(accordion, args); } else if (!$(this).is(".ui-accordion"))
                $.data(this, "ui-accordion", new $.ui.accordion(this, options));
        });
    }, activate: function(index) { return this.accordion("activate", index); } 
    }); $.ui.accordion = function(container, options) {
        this.options = options = $.extend({}, $.ui.accordion.defaults, options); this.element = container; $(container).addClass("ui-accordion"); if (options.navigation) { var current = $(container).find("h5").filter(options.navigationFilter); if (current.length) { if (current.filter(options.header).length) { options.active = current; } else { options.active = current.parent().parent().prev(); current.addClass("current"); } } }
        options.headers = $(container).find(options.header); options.active = findActive(options.headers, options.active); if (options.fillSpace) { var maxHeight = $(container).parent().height(); options.headers.each(function() { maxHeight -= $(this).outerHeight(); }); var maxPadding = 0; options.headers.next().each(function() { maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height()); }).height(maxHeight - maxPadding); } else if (options.autoheight) { var maxHeight = 0; options.headers.next().each(function() { maxHeight = Math.max(maxHeight, $(this).outerHeight()); }).height(maxHeight); }
        options.headers.not(options.active || "").next().hide(); options.active.parent().andSelf().addClass(options.selectedClass); if (options.event)
            $(container).bind((options.event) + ".ui-accordion", clickHandler);
    }; $.ui.accordion.prototype = { activate: function(index) { clickHandler.call(this.element, { target: findActive(this.options.headers, index)[0] }); }, enable: function() { this.options.disabled = false; }, disable: function() { this.options.disabled = true; }, destroy: function() {
        this.options.headers.next().css("display", ""); if (this.options.fillSpace || this.options.autoheight) { this.options.headers.next().css("height", ""); }
        $.removeData(this.element, "ui-accordion"); $(this.element).removeClass("ui-accordion").unbind(".ui-accordion");
    } 
    }
    function scopeCallback(callback, scope) { return function() { return callback.apply(scope, arguments); }; }
    function completed(cancel) {
        if (!$.data(this, "ui-accordion"))
            return; var instance = $.data(this, "ui-accordion"); var options = instance.options; options.running = cancel ? 0 : --options.running; if (options.running)
            return; if (options.clearStyle) { options.toShow.add(options.toHide).css({ height: "", overflow: "" }); }
        $(this).triggerHandler("change.ui-accordion", [options.data], options.change);
    }
    function toggle(toShow, toHide, data, clickedActive, down) {
        var options = $.data(this, "ui-accordion").options; options.toShow = toShow; options.toHide = toHide; options.data = data; var complete = scopeCallback(completed, this); options.running = toHide.size() == 0 ? toShow.size() : toHide.size(); if (options.animated) { if (!options.alwaysOpen && clickedActive) { $.ui.accordion.animations[options.animated]({ toShow: jQuery([]), toHide: toHide, complete: complete, down: down, autoheight: options.autoheight }); } else { $.ui.accordion.animations[options.animated]({ toShow: toShow, toHide: toHide, complete: complete, down: down, autoheight: options.autoheight }); } } else {
            if (!options.alwaysOpen && clickedActive) { toShow.toggle(); } else { toHide.hide(); toShow.show(); }
            complete(true);
        } 
    }
    function clickHandler(event) {
        var options = $.data(this, "ui-accordion").options; if (options.disabled)
            return false; if (!event.target && !options.alwaysOpen) { options.active.parent().andSelf().toggleClass(options.selectedClass); var toHide = options.active.next(), data = { instance: this, options: options, newHeader: jQuery([]), oldHeader: options.active, newContent: jQuery([]), oldContent: toHide }, toShow = options.active = $([]); toggle.call(this, toShow, toHide, data); return false; }
        var clicked = $(event.target); if (clicked.parents(options.header).length)
            while (!clicked.is(options.header))
            clicked = clicked.parent(); var clickedActive = clicked[0] == options.active[0]; if (options.running || (options.alwaysOpen && clickedActive))
            return false; if (!clicked.is(options.header))
            return; options.active.parent().andSelf().toggleClass(options.selectedClass); if (!clickedActive) { clicked.parent().andSelf().addClass(options.selectedClass); }
        var toShow = clicked.next(), toHide = options.active.next(), data = { instance: this, options: options, newHeader: clicked, oldHeader: options.active, newContent: toShow, oldContent: toHide }, down = options.headers.index(options.active[0]) > options.headers.index(clicked[0]); options.active = clickedActive ? $([]) : clicked; toggle.call(this, toShow, toHide, data, clickedActive, down); return false;
    }; function findActive(headers, selector) { return selector != undefined ? typeof selector == "number" ? headers.filter(":eq(" + selector + ")") : headers.not(headers.not(selector)) : selector === false ? $([]) : headers.filter(":eq(0)"); }
    $.extend($.ui.accordion, { defaults: { selectedClass: "selected", alwaysOpen: true, animated: 'slide', event: "click", header: "h5", autoheight: true, running: 0, navigationFilter: function() { return this.href.toLowerCase() == location.href.toLowerCase(); } }, animations: { slide: function(options, additions) {
        options = $.extend({ easing: "swing", duration: 300 }, options, additions); if (!options.toHide.size()) { options.toShow.animate({ height: "show" }, options); return; }
        var hideHeight = options.toHide.height(), showHeight = options.toShow.height(), difference = showHeight / hideHeight; options.toShow.css({ height: 0, overflow: 'hidden' }).show(); options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({ height: "hide" }, { step: function(now) {
            var current = (hideHeight - now) * difference; if ($.browser.msie || $.browser.opera) { current = Math.ceil(current); }
            options.toShow.height(current);
        }, duration: options.duration, easing: options.easing, complete: function() {
            if (!options.autoheight) { options.toShow.css("height", "auto"); }
            options.complete();
        } 
        });
    }, bounceslide: function(options) { this.slide(options, { easing: options.down ? "bounceout" : "swing", duration: options.down ? 1000 : 200 }); }, easeslide: function(options) { this.slide(options, { easing: "easeinout", duration: 700 }) } }
    });
})(jQuery); $(document).ready(function() { $("#classFilterOptionList li:odd").addClass('b1'); $("#referList .list:odd").addClass('b1'); }); $(document).ready(function() {
    function JT_init() { $("a.jqTips01").hover(function() { JT_show(this.rel, this.id, this.name) }, function() { $('#JT').remove() }) }
    JT_init(); function JT_show(url, linkId, title) {
        if (title == false) title = "&nbsp;"; var de = document.documentElement; var w = self.innerWidth || (de && de.clientWidth) || document.body.clientWidth; var hasArea = w - getAbsoluteLeft(linkId); var clickElementy = getAbsoluteTop(linkId) - 3; var queryString = url.replace(/^[^\?]+\??/, ''); var params = parseQuery(queryString); if (params['width'] === undefined) { params['width'] = 250 }; if (params['link'] !== undefined) { $('#' + linkId).bind('click', function() { window.location = params['link'] }); $('#' + linkId).css('cursor', 'pointer'); }
        if (hasArea > ((params['width'] * 1) + 75)) { $("body").append("<div id='JT' style='width:" + params['width'] * 1 + "px'><div id='JT_copy'><div class='JT_loader'><div></div></div>"); var arrowOffset = 0; var clickElementx = getAbsoluteLeft(linkId) + arrowOffset; } else { $("body").append("<div id='JT' style='width:" + params['width'] * 1 + "px'><div id='JT_copy'><div class='JT_loader'><div></div></div>"); var clickElementx = getAbsoluteLeft(linkId) - ((params['width'] * 1) + 15); }
        $('#JT').css({ left: clickElementx + "px", top: clickElementy + "px" }); $('#JT').show(); $('#JT_copy').load(url);
    }
    function getElementWidth(objectId) { x = document.getElementById(objectId); return x.offsetWidth; }
    function getAbsoluteLeft(objectId) {
        o = document.getElementById(objectId)
        oLeft = o.offsetLeft
        while (o.offsetParent != null) {
            oParent = o.offsetParent
            oLeft += oParent.offsetLeft
            o = oParent
        }
        return oLeft
    }
    function getAbsoluteTop(objectId) {
        o = document.getElementById(objectId)
        oTop = o.offsetTop + 22
        while (o.offsetParent != null) {
            oParent = o.offsetParent
            oTop += oParent.offsetTop
            o = oParent
        }
        return oTop
    }
    function parseQuery(query) {
        var Params = new Object(); if (!query) return Params; var Pairs = query.split(/[;&]/); for (var i = 0; i < Pairs.length; i++) { var KeyVal = Pairs[i].split('='); if (!KeyVal || KeyVal.length != 2) continue; var key = unescape(KeyVal[0]); var val = unescape(KeyVal[1]); val = val.replace(/\+/g, ' '); Params[key] = val; }
        return Params;
    }
    function blockEvents(evt) { if (evt.target) { evt.preventDefault(); } else { evt.returnValue = false; } } 
}); 

$(document).ready(function() { var a = $(".productRelation .ttl"), b = $(".productRelation .ttl img"), c = $(".productRelation .ctn"); a.toggle(function() { c.animate({ height: 'hide', opacity: 'hide' }, 'fast'); b.addClass("s1"); a.attr("title", "展开班级"); }, function() { c.animate({ height: 'show', opacity: 'show' }, 'fast'); b.removeClass("s1"); a.attr("title", "收起班级"); }); }); 

//$(document).ready(function() { var a = $("#productTab01"), b = $("#productTab02"), c = $("#productTab03"); a.click(function() { a.addClass("this"); b.removeClass("this"); c.removeClass("this"); $("#productTabContentBox").show(); $("#reviewListBox").show(); $("#reviewListTitle").show(); $("#referListBox").show(); $("#referListTitle").show(); }); b.click(function() { a.removeClass("this"); b.addClass("this"); c.removeClass("this"); $("#productTabContentBox").hide(); $("#referListBox").hide(); $("#reviewListBox").show(); $("#reviewListTitle").hide(); }); c.click(function() { a.removeClass("this"); b.removeClass("this"); c.addClass("this"); $("#productTabContentBox").hide(); $("#reviewListBox").hide(); $("#referListBox").show(); $("#referListTitle").hide(); }); }); 
  
/* gotop for 班级  */
function gotop(){
	window.onscroll=function(){
		var scrolltop=$(window).scrollTop();
		var controlx=$(window).scrollLeft() + $(window).width()/2 + 350;
		var a=$(document).height()-$(window).height()-170;
		if (scrolltop <= 1580) {
			$("#gotop").get(0).style.display="none";
		}
		else if ((scrolltop > 1580) && (scrolltop <= a)) {
			$("#gotop").get(0).style.display="";
			$("#gotop").get(0).style.left=controlx+"px";
			$("#gotop").get(0).style.position="fixed";
			$("#gotop").get(0).style.top="";
			$("#gotop").get(0).style.bottom=160+"px";
			if ($.browser.msie&&($.browser.version == "6.0")&&!$.support.style){
				$("#gotop").get(0).style.position="absolute";
				$("#gotop").get(0).style.top=getPosition(250);
			}
		}
		else if(scrolltop>a){
			$("#gotop").get(0).style.display="";
			$("#gotop").get(0).style.left=controlx+"px";
			$("#gotop").get(0).style.bottom="";
			$("#gotop").get(0).style.position="absolute";
			$("#gotop").get(0).style.top=a+$(window).height()-250+"px";
		}
	}
}
function getPosition(currObjH){
	return $(window).scrollTop()+$(window).height()-currObjH+"px";
}

/* 关闭过期班级提示泡泡 */
$(function(){
	$(".productName div .close").click(function(){
		$(this).parent().parent().hide();
		return false;
	});	
});

/* 显示团购价 for 课程详细 */
$(function(){
	$(".productDetailBox .productDetail .team dd").hover(function(){
		$(this).find("span").addClass("hover")												  
		$(this).find("div").show();
	}, function(){
		$(this).find("span").removeClass("hover")												  
		$(this).find("div").hide();
	});
});

