/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var Cookie_Domain = '.zhidetuan.com'
var realUpdateTime = function(){
    var getTimeInfo = function(remainTime){
        return{
            second:remainTime%60,
            minute:Math.floor(remainTime/60)%60,
            hour:Math.floor(remainTime/3600)%24,
            day:Math.floor(remainTime/86400)
        }
    };

    var updateDIV = function(ele,timeInfo){
        ele.html("<em>"+timeInfo.day+"</em>天<em>"+timeInfo.hour+"</em>小时<em>"+timeInfo.minute+"</em>分<em>"+timeInfo.second+"</em>秒");
    };

    var updateTime = function(){
        var currentTime = (new Date()).getTime();
        $('span.time_div[alt]').each(function(){
            var remainTime = Math.floor((parseInt($(this).attr('alt')) - currentTime)/1E3);
            if( remainTime >= 0){
                updateDIV($(this),getTimeInfo(remainTime));
            }
        }
        );
    }
    $(document).ready(function(){
        //updateTime();
        //setInterval(updateTime,1000);
    });
}

function ifLogin(){
    return _if_login && _if_login == 'yes'
}

function LoginUrl(){
    return _login_url;
}

function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toUTCString()) + ';domain=' + Cookie_Domain + '; path=/';
}

function getCookie(name) {
    if (document.cookie.length>0){
        var start = document.cookie.indexOf(name + "=");
        var len = start + name.length + 1;
        if (( !start ) && ( name != document.cookie.substring(0, name.length) )) {
            return null;
        }
        if (start == -1) return null;
        var end = document.cookie.indexOf(';', len);
        if (end == -1) end = document.cookie.length;
        return unescape(document.cookie.substring(len, end));
    }
    return "";
}

function open_site_description(){
    var exptime = new Date();
    exptime.setDate(exptime.getDate()+70000);
    $("#site_description_div").hide();
    document.cookie = "close_site_desc_new=true; expires=" + exptime.toGMTString() + ';domain=' + '<%= Cookie_Domain %>' + '; path=/';
    $("#site_description_div").hide();
    return false;
}

//切换tab
function use_tab(arr){
    var dis_arr = [];
    $(arr).each(function(){
        dis_arr.push(this[1])
    });
    $(arr).each(function(){
        var i = this;
        $(i[0]).click(function(){
            $(arr).each(function(){
                $(this[0]).removeClass("on");
                $(this[1]).hide();
            });
            $(i[0]).addClass('on');
            $(i[1]).show();
        })
    })
}

//user_guide page
function jump_inner_page_tabs(arr){
    var dis_arr = [];
    $(arr).each(function(){
        dis_arr.push(this)
    });
    $(arr).each(function(){
        var i = this;
        $(i).click(function(){
            $(arr).each(function(){
                $(this).removeClass("on");
            });
            $(i).addClass('on');
            return true;
        })
    })
}

//site page 历史团够切换城市
function get_deals_by_city_and_site(select){
    var url = $(select).val();
    $.get(url, function(data) {
        $('#deals_by_city_and_site').html(data);
    });
}

//个人定制
function csst_add_site(site_id) {
    site_id = parseInt(site_id);
    if (exist_site_ids.indexOf(site_id) == -1) {
        exist_site_ids.push(site_id);
    }
    if(del_site_ids.indexOf(site_id) == -1 && add_site_ids.indexOf(site_id) == -1){
        add_site_ids.push(site_id);
    }else if (del_site_ids.indexOf(site_id) != -1 && add_site_ids.indexOf(site_id) == -1){
        del_site_ids.splice(del_site_ids.indexOf(site_id) , 1)
    }
}

function csst_del_site(site_id) {
    site_id = parseInt(site_id);
    if (exist_site_ids.indexOf(site_id) != -1) {
        exist_site_ids.splice(exist_site_ids.indexOf(site_id) , 1);
    }
    if(del_site_ids.indexOf(site_id) == -1 && add_site_ids.indexOf(site_id) == -1){
        del_site_ids.push(site_id);
    }else if (del_site_ids.indexOf(site_id) == -1 && add_site_ids.indexOf(site_id) != -1){
        add_site_ids.splice(add_site_ids.indexOf(site_id) , 1)
    }
}

//给评论打分
function i_like_this_comment(comment_type, comment_id , dom) {
    var value = parseInt($(dom).html());
    var parent = $(dom).parent();
    $(dom).after("<span class='promote_vote'>" + value + "</span>").remove();
    $.post("/comment_votes/promote_vote", {
        comment_type:comment_type ,
        comment_id:comment_id
    }, function(data) {
        if (data == "voted") {
            alert("您已经投票过该评论,感谢您的关注")
        } else {
            parent.find(".promote_vote").html(value + 1);
        }
    });
}

// 定制change_city的行为，如果不传callback，切换城市后还回到当前页面。
function retargetChangeCity(callback){
    $(document).ready(function(){
        $('#city_list').find('a').each(function(){
            var link = $(this);
            var arr = link.attr('href').split('/');
            var city = arr[arr.length-1];
            if(callback){
                callback(link, city);
            }else{
                var href = window.location.href;
                href = href.replace(/(\&)?change_city=\w+/, "");
                if(href.indexOf("?") == -1){
                    href = href + "?";
                }else{
                    if(href.lastIndexOf('?') != (href.length-1)  && href.lastIndexOf("&") != (href.length -1)){
                        href = href + "&";
                    }
                }
                href = href + "change_city=" + encodeURIComponent(city);
                link.attr("href", href);
            }
        });
    });
}

//把class为scrollableAds的元素当作滚动广告条容器，期望它的直接子元素为多个链接（A标签）。依次循环显示这些链接
function enableScrollableAds(){
    var containers = $('.scrollableAds');
    containers.css('position', 'relative');

    containers.each(function(){
        var container = $(this);
        var ads = container.find('.ads .ad');
        if(ads.length <= 1){
            return;
        }
        var pager = $("<div class='pager'></div>");
        $(ads).each(function(ad_index, ad){
            var anchor = $("<span>" + (ad_index+1) + "</span>");
            if(ad_index == 0){
                anchor.addClass('current');
            }
            anchor.data('ad', ad);
            pager.append(anchor);
        });
        var pagerHover = function(event){
            var ad = $(event.target).data('ad');
            if(!ad){
                return;
            }
            var adAnchor = $(event.target);
            if(window.scrollAdsInterval){
                clearInterval(window.scrollAdsInterval);
            }
            switchToAd(adAnchor);
        };
        pager.click(pagerHover);
        container.append(pager);

        container.mouseover(function(){
            container.data('reading', true);
        }).mouseout(function(){
            container.data('reading', false);
        });

        ads.hide();
        ads.eq(0).show();
    //ads.eq(0).css('display','block');
    });
    window.scrollAdsInterval = setInterval(scrollAds, 4000);
}

function scrollAds(){
    var containers = $('.scrollableAds');
    $(containers).each(function(){
        var container = $(this);
        if(container.data('reading') || container.find('.ads a').length <= 1){
            return;
        }
        var currentAnchor = container.find('.pager span.current');
        if(currentAnchor.length == 0){
            currentAnchor = container.find('.pager span:first');
        }
        currentAnchor = currentAnchor.next();
        if(currentAnchor.length == 0){
            currentAnchor = container.find('.pager span:first')
        }
        switchToAd(currentAnchor);
    });
}

function switchToAd(adAnchor){
    var anchor = $(adAnchor);
    var coming = $(anchor.data('ad'));
    var current = $(coming).siblings(':visible');

    anchor.siblings().removeClass('current');
    anchor.addClass('current');

    current.hide();
    coming.show();
//coming.css('display','block');
}

(function($){
    $.fn.extend({
        center: function (options) {
            var options =  $.extend({
                inside:window,
                transition: 0,
                minX:0,
                minY:0,
                vertical:true,
                withScrolling:true,
                horizontal:true
            }, options);
            return this.each(function() {
                var props = {
                    position:'absolute'
                };
                if (options.vertical) {
                    var top = ($(options.inside).height() - $(this).outerHeight()) / 2;
                    if (options.withScrolling) top += $(options.inside).scrollTop() || 0;
                    top = (top > options.minY ? top : options.minY);
                    $.extend(props, {
                        top: top+'px'
                    });
                }
                if (options.horizontal) {
                    var left = ($(options.inside).width() - $(this).outerWidth()) / 2;
                    if (options.withScrolling) left += $(options.inside).scrollLeft() || 0;
                    left = (left > options.minX ? left : options.minX);
                    $.extend(props, {
                        left: left+'px'
                    });
                }
                if (options.transition > 0) $(this).animate(props, options.transition);
                else $(this).css(props);
                return $(this);
            });
        }
    });
})(jQuery);
//end  scrollAds

function init_deal_list_button(){
    $('.list .deal').mouseover(function(){
        $(this).addClass("deal_hover")
    });
    $('.list .deal').mouseout(function(){
        $(this).removeClass("deal_hover")
    });
    $("a.new_plshc_a2").mouseout(function(){
        hide_concern_and_buy();
    })
    $("a.new_plshc_a2").mouseover(function(){
        var deal_id = $(this).attr('id').match(/\d+/);
        show_concern_and_buy(this,deal_id);
    })
}

// change view mode and order in deal list page
function change_to_grid_mode(){
    setCookie('page_layout_new','grid',100);
    $('.list').removeClass('row').addClass('grid');
    $('.grid_button').addClass('on');
    $('.row_button').removeClass('up');
}

function change_to_row_mode(){
    setCookie('page_layout_new','row',100);
    $('.list').removeClass('grid').addClass('row');
    $('.row_button').addClass('up');
    $('.grid_button').removeClass('on');
}

function change_to_order_by_type(object){
    //    setCookie('order_by_type_new',$(object).val(),30);
    var current_order = $(object).val();
    var base_url = location.href.split('#');
    var url_array = base_url[0].split('?');
    var has_order = 0;
    var params_array;
    if(url_array.length == 2){
       params_array = url_array[1].split('&'); 
    }
    else{
        params_array = [];
    }
    if(params_array.length > 0){
        for(var index= 0;index < params_array.length;index++){
            if(params_array[index].split('=')[0] == 'sort'){
                params_array[index] = "sort="+current_order;
                has_order = 1;
            }
            
    		// fix by dalu 2011-03-10
            if(params_array[index].split('=')[0] == 'page'){
                params_array[index] = "";
            }
        }
    }
    if(has_order == 0 ){
        params_array.push("sort="+current_order);
    }
    var r_params_array = [];
    for(var idex= 0;idex < params_array.length;idex++){
        if( params_array[idex] != 'sort=hot'){
            r_params_array.push(params_array[idex])
        }
    }
    var rurl = url_array[0];
    if (r_params_array.length > 0){
        rurl = url_array[0] + '?' + r_params_array.join('&');
    }
    if(base_url.length > 1){
        rurl = rurl + '#' + base_url[1];
    }
    location.href = rurl;
}

function concern_group_ajax(dom , type){
    var target = $(dom);
    var url = target.attr("href");
    var deal_id = url.match(/\d+/);
    $.post(url, {}, function(data) {
        if (data == "failure" || data == "none") {
            alert("您已经添加过此团购信息,感谢您的关注");
        }else if(data == 'login'){
            window.location.href = LoginUrl();
            return false;
        }else{
            var change_dom = $('#concern_links_'+deal_id);
            var num = parseInt(change_dom.html().match(/\d+/));
            change_dom.html('('+(num+1)+')');
        }
    });
    return false;
}

var Concern_and_buy = 0;
function show_concern_and_buy(dom,deal_id){
    if(Concern_and_buy == 0){
        var concern_and_buy_str = "<div id='concern_and_buy' onmouseout='$(this).hide()' onmouseover='$(this).show()' class='links radius_5'>\
                                     <a class='preserve' title='收藏此团购' href='javascript:void(0)' onclick=\"concern_group_ajax(this , 'preserve');return false;\">收藏</a>\
                                     <a class='purchased' title='我已购买此团购' href='javascript:void(0)' onclick=\"concern_group_ajax(this , 'purchased');return false;\">买过</a>\
                                    </div>"
        $('body').append(concern_and_buy_str);
        Concern_and_buy = 1;
    }
    $('#concern_and_buy').show();
    var offset = $(dom).offset();
    $('#concern_and_buy').css('left', offset.left);
    $('#concern_and_buy').css('top', offset.top + 20);
    $('#concern_and_buy .preserve').attr("href", "/concern/add_concern/" + deal_id);
    $('#concern_and_buy .purchased').attr("href", "/concern/add_buy/" + deal_id);
}

function hide_concern_and_buy(){
    $('#concern_and_buy').hide();
}

function ajax_ding(url, element_id){
    $.get(url, function(reply){
        if(isNaN(Number(reply))){
            alert(reply);
        }else{
            $(element_id).replaceWith("<span class='ms_an01'>顶<span>"+reply+"</span></span>");
        }

    })
}

/*deal详细页*/
function deal_ajax_ding(url, element_id){
    $.get(url, function(reply){
        if(isNaN(Number(reply))){
            alert(reply);
        }else{
            $(element_id).replaceWith("<span class='list_ding'>顶<font>"+reply+"</font>次</span>");
        }
    })
}

function bindDealConcern(){
    $(".deal_block div a.concerned_deal").live("click",function(){
        if(!ifLogin()){
            window.location.href = LoginUrl();
            return false;
        }
        var target = $(this);
        var parent = target.parent();
        var num_dom = target.find("font");
        var num = parseInt(num_dom.html().match(/\d+/));
        target.replaceWith("<span class='concerned_deal'>收藏<font>"+ num + "</font>次</span>");
        $.get($(this).attr("value") , function(data){
            if(data == "OK"){
                parent.find(".concerned_deal").html("收藏<font>"+ (num+1)+"</font>次")
            }else if(data == "not login"){
                window.location.href = "/user_sessions/new"
            }else if(data == "failure"){
                alert("您已经添加过此团购,感谢您的关注");
            }
        })
    })
}
bindDealConcern();

function bindBuy(){
    $(".deal_block div a.purchased_deal").live("click",function(){
        if(!ifLogin()){
            window.location.href = LoginUrl();
            return false;
        }
        var target = $(this);
        var parent = target.parent();
        var num_dom = target.find("font");
        var num = parseInt(num_dom.html().match(/\d+/));
        target.replaceWith("<span class='purchased_deal'>买了<font>"+ num + "</font>次</span>");
        $.get($(this).attr("value") , function(data){
            if(data == "OK"){
                parent.find(".purchased_deal").html("买了<font>"+ (num+1)+ "</font>次")
            }else if(data == "not login"){
                window.location.href = "/user_sessions/new";
            }else if(data == "failure"){
                alert("您已经添加过此团购,感谢您的关注");
            }
        })
    })
}
bindBuy();

var deal_tips_time;
function time_show_deal_tips(){
    deal_tips_time = setTimeout("show_deal_tips()",500);
}

function time_hide_deal_tips(){
    clearTimeout(deal_tips_time);
    hide_deal_tips();
}

function show_deal_tips(){
    $("#tips_content").css({
        display:'block'
    });
}

function hide_deal_tips(){
    $("#tips_content").css({
        display:'none'
    });
}


/*秀二手页面*/
function change_to_secondhand_deals_city(object){
    var current_city = $(object).val();
    var base_url = $(object).attr('url');
    var rurl = base_url+ current_city
    location.href = rurl;
}

function refreshUserLoingInfo(reply){
    if(reply == ''){
        $('.login_infos').html($('#non-login-info-template').html());
    }else{
        _if_login   = 'yes';
        var text = $('#login-info-template').html();
        text = text.replace(/^\s*<!--/,'').replace(/-->\s*$/,'');
        login_status = reply.split('+:');
        var msg_count = parseInt(login_status[2]);
        if(msg_count !=null && msg_count !="" && !isNaN(msg_count)){
            text = text.replace(/--mil-img--/mg,'http://s0.tuan800.net/imagesmail.gif');
            text = text.replace(/--msg-cnt--/mg,msg_count)
        }else{
            text = text.replace(/--mil-img--/mg,'http://s0.tuan800.net/images/mail_hui.gif');
            text = text.replace(/--msg-cnt--/mg,0)
        }
        text = text.replace(/--unm--/mg,login_status[0]);
        var img_host = 'http://s0.tuan800.net';
        text = text.replace(/--avatar--/mg,img_host + login_status[1]);
        $('.login_infos').html(text);
    }
}

$(document).ready(function() {
    init_deal_list_button();
});

function display_hidden_deals_for_tag(parent_id,deals){
    var template = '<div><div  class="deal"><div class="new_time"></div>\
    <div class="new_plshc"><a href="javascript:void(0);" id="concern_links_43494" class="new_plshc_a2"></a><a title="对此团购发表评论" target="_blank" href=""  class="new_plshc_a1"></a></div>\
    <div class="new_ms_imgbox"> <a href="" target="_blank" class="image_link"></a></div>\
    <div class="new_ms_bt"><h4><a href="" target="_blank" class="from"></a></h4> | <p><a  href="" target="_blank" class="title"></a></p></div>\
    <div class="new_ms_jq"></div>\
    <div class="new_ns_gm"><p> </p><a target="_blank" rel="nofollow" href="" class="buy"></a></div></div></div>'
    var htmls = [];
    $(deals).each(function(index,deal){
        var deal_div = $(template);
        deal_div.find('.deal').attr('id','deal_'+deal['id']).addClass(display_deal_class(deal));
        deal_div.find('.new_time').append(display_deal_expire_time(deal));
        var buycount = deal['cnct'] + deal['byct'];
        deal_div.find('.new_plshc_a2').attr('id','concern_links_'+deal['id']).text('('+ buycount +')');
        var deal_url = '/deal/'+deal['urlnm'] + '_' + deal['id'];
        var deal_comment_url = deal['cmtct'] > 0 ? deal_url + '#deal_comments' : deal_url
        deal_div.find('.new_plshc_a1').attr('href',deal_comment_url).text('('+ deal['cmtct'] +')');
        var img_info = '<img class="normal_image"  src="'+ deal['dlimg'] +'" />';
        if(deal['isexpr']){
            img_info += '<span class="expire_span"></span>';
        }
        else if(deal['oos']){
            img_info += '<img src="http://s0.tuan800.net/images/out_of_stock.png" alt="卖光了" class="out_of_stock"/>';
        }
        else if(deal['istd']){
            img_info += '<span class="new_deal"></span>';
        }
        deal_div.find('.image_link').attr('href',deal_url).html(img_info);
        deal_div.find('.image_link').attr('href');
        var site_url = '/tuangou/'+deal['sturlnm'];
        deal_div.find('.from').attr('href',site_url).text(deal['stnm']);
        deal_div.find('.title').attr('href',deal_url).text(deal['ttl']);
        var price_info = '<span>团购价：<strong>'+deal['prc']+'</strong></span><span>折扣：<em>'+deal['disct']+'</em></span><span>原价：'+deal['lstprc'] + '</span>'
        if(deal['slvlum'] > 0){
            price_info += ('<span>已售：' + deal['slvlum']+ '</span>')
        }
        deal_div.find('.new_ms_jq').html(price_info);
        deal_div.find('.new_ns_gm p').text(deal['bdnm']);
        deal_div.find('.buy').attr('href','/out/deal/'+deal['id']);
        htmls.push(deal_div.html())
    });
    $("#"+parent_id).append(htmls.join(''));
}

function display_deal_class(deal){
    var deal_class = '';
    if(deal['isexpr']){
        deal_class =  'deal_expired';
    }else if(deal['oos']){
        deal_class = 'deal_oos';
    }
    return deal_class;
}

function display_deal_expire_time(deal){
    var expire_info = '';
    if(deal['isexpr']){
        expire_info = '<span class="expire_sign">过期</span>';
        if(deal['pblstm']){
            expire_info += ('<span>'+ deal['pblstm']+ '发布</span>');
        }
    }else{
        expire_info = deal['stattm'] + '前开始，还有<span alt="'+ deal['lfttm'] +'" class="time_div timeleft"><em>0</em>天<em>0</em>小时<em>0</em>分<em>0</em>秒</span>';
    }
    return expire_info;
}

function get_tag_deals_by_id(tag_id){
    switch(tag_id){
        case 1     : {

            return typeof(meishitianxia)  == "undefined" ? [] : meishitianxia;
        }
        case 2     : {

            return typeof(shenghuo)   == "undefined" ? [] : shenghuo;
        }
        case 3     : {

            return typeof(shenghuoyule)   == "undefined" ? [] : shenghuoyule;
        }
        case 4     : {

            return typeof(wanggoujingpin) == "undefined" ? [] : wanggoujingpin;
        }
        case 6     : {

            return typeof(qitatuangou)    == "undefined" ? [] : qitatuangou;
        }
        case 10000 : {

            return typeof(bendituangou)   == "undefined" ? [] : bendituangou;
        }
        default: {

            return [];
        }
    }
}

var loaded = new Object();
function loadHtml(tag_id){
    if(loaded[tag_id]){
        return false;
    }
    display_hidden_deals_for_tag("more_"+tag_id+"_content",get_tag_deals_by_id(tag_id));
    var deals_div = $("#more_"+tag_id+"_content .list");
    deals_div.removeClass('grid').removeClass('row').addClass(getCookie('page_layout_new'));
    init_deal_list_button();
    loaded[tag_id]=1;
    return true;
}

function load_and_show_deals(more_link,tag_id){
    loadHtml(tag_id);
    var html = $(more_link).html();
    if($(more_link).hasClass('closed')){
        $(more_link).html(html.replace('关闭','展开'));
        $('#more_'+tag_id).hide();
        $(more_link).removeClass('closed');
    }
    else{
        $(more_link).html(html.replace('展开','关闭'));
        $('#more_'+tag_id).show();
        $(more_link).addClass('closed');
    }
}

function abstractDomainFromUrl(url){
    var match_segments = url.match(/^https?:\/\/(?:www)?.(\w+?).c/);
    return match_segments && match_segments.length == 2 ? match_segments[1] : '';
}

function isFromSearchEngine(){
    var refererDomain = abstractDomainFromUrl(document.referrer);
    return refererDomain.match(/baidu/) || refererDomain.match(/google/);
}

function abstractSearchKeywords(){
    var refererDomain = abstractDomainFromUrl(document.referrer);
    var skywd = '';
    if(refererDomain.match(/baidu/)){
        skywd = document.referrer.match(/[?|&]wd=([^&]*)/)[1];
    }else if(refererDomain.match(/google/)){
        skywd = document.referrer.match(/[?|&]q=([^&]*)/)[1];
    }else{
        skywd = '';
    }
    return skywd;
}

function shouldPopupDivForStranger(){
    if(isFromSearchEngine()){
        skywd = abstractSearchKeywords();
        return !skywd.match(/800|tuan800|800tuan/);
    }
    return false;
}

