﻿/// <reference path="jquery-1.4.1-vsdoc.js" />

var _isie = !!document.all;
var _d = document;
var _$ = function (eleid) {
    return (typeof eleid == 'object') ? eleid : (_d.getElementById(eleid) ? _d.getElementById(eleid) : null);
}
var _box = _$("box_l"), _btn = _$("btn");

function loadwave() {
    var boxhig = $("#content").height();
    var box = $("#box_l");
    box.css("height",boxhig);
    var count = Math.floor(boxhig / 130);
    $.ajax({
        url: "/RaidsantService.asmx/AjaxSideHover",
        type: "POST",
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: '{count: "' + count + '"}',
        success: function (data, textStatu) {
            var realobj = eval('(' + data.d + ')');
            box.append(realobj.moreHTML);
            var spbox = box.find(".spbox");
            var ctbox = box.find(".ctbox");
            var a_ct = box.find(".a_ct");
            for (var i = 0; i < spbox.length; i++) {
                var rdn = Math.floor(Math.random() * 85 - 15);
                var rdnH = Math.floor(Math.random() * 50 + 1);
                $(spbox[i]).css("top", rdnH + i * 130);
                $(spbox[i]).css("left", rdn);
                $(ctbox[i]).css("top", rdnH + i * 130 + 40);
                $(a_ct[i]).css("top", rdnH + i * 130 + 40);
                $(ctbox[i]).css("left", rdn-30);
                $(a_ct[i]).css("left", rdn-30);
            }
            initCenter();
            bindHoverBox();
        }
    });
}

var _r = 100; //范围半径
var _minr = 20; //小矩形半径
var _spboxs = []; //保存活动点信息
var _flag = false; //标志是否执行#box的mousemove绑定函数

var bindHoverBox = function () {
    $("#box_l").bind("mousemove", function (event) {
        event = !_isie ? event : (window.event ? window.event : null);
        var x, y;
        var sleft, stop;

        //兼容ie,chrome;opera safari moz
        sleft = (_isie || /chrome/.test(window.navigator.userAgent.toLowerCase())) ? document.body.scrollLeft : document.documentElement.scrollLeft;
        stop = (_isie || /chrome/.test(window.navigator.userAgent.toLowerCase())) ? document.body.scrollTop : document.documentElement.scrollTop;

        x = _isie ? event.x : (event.clientX + sleft - _box.offsetLeft);
        y = _isie ? event.y : (event.clientY + stop - _box.offsetTop);

        x = (isNaN(x)) ? 0 : x;
        y = (isNaN(y)) ? 0 : y;
        if (!_flag) {
            for (var i = 0; i < _spboxs.length; i++) {
                if (ifShow(x, y, _spboxs[i])) {
                    _spboxs[i].qel.stop().fadeTo(30, 0.6);
                    //bindHover(_spboxs[i].qel);
                } else {
                    _spboxs[i].qel.stop().fadeOut(50);
                }
            }
        }
    });
};
//初始化中心点位置
var initCenter = function () {
    var obj;
    $(".spbox").each(function () {
        obj = new Object();
        obj.qel = $(this);
        // obj.nel=$(this).next(".a_ct");
        obj.p = $(this).position();
        obj.x = $(this).position().left + _minr;
        obj.y = $(this).position().top + _minr;
        _spboxs.push(obj);

        //绑定
        bindHover(obj.qel);
        bindCtHover(obj.qel);

        $(this).fadeOut();
    });
};
//判断是否在触发范围内
var ifShow = function (x, y, box) {
    var r1 = Math.abs(x - box.x);
    var r2 = Math.abs(y - box.y);

    // _btn.value=r1+"#|"+r2;//debugline

    if (r1 < _r && r2 < _r) {
        return true;
    } else {
        return false;
    }
};
//绑定小box
function bindHover(obj) {
    obj.hover(function () {
        $(this).next().next().stop().fadeTo(100, 0.6, function () {
            $(this).prev().stop().fadeTo(150, 1);
        });
    },
         function () {
             $(this).next().stop().fadeOut(150);
             $(this).next().next().stop().fadeOut(150);
         });
}
//绑定内容背景
function bindCtHover(obj) {
    obj.next().bind("mousemove", function () {
        $(this).stop().fadeTo(10, 1);
        $(this).next().stop().fadeTo(10, 0.6);
        $(this).prev().stop().fadeTo(10, 0.6);
        _flag = true;
    });
    obj.next().bind("mouseout", function () {
        _flag = false;
        $(this).stop().fadeOut(150);
        $(this).next().stop().fadeOut(150);
        // $(this).prev().stop().fadeOut(150);
    });
}
initCenter();
bindHoverBox();
