﻿//====================================================================================================
// [插件名称] jQuery GCN-SH-CMSAD
//----------------------------------------------------------------------------------------------------
// [描    述] 用于GAMA CMS后台生成的JSON广告对象的显示。
//----------------------------------------------------------------------------------------------------
// [作者网名] 可乐瓶	
// [邮    箱] waynechen@gamania.com
// [作者博客] www.colaping.com(被和谐了)
// [版 本 号] verN.XXX
//====================================================================================================

;(function ($) {
$.fn.Advertisement=function(options){
    var settings = {	
			adid:0,
            random:false
	};	
options = options || {};
        $.extend(settings, options);
var filePath="/Static/3/Advertisement/Json/" + settings.adid + ".js";
    var adData = {"ADFile":null,"ADID":0,"ADMaxPage":0,"ADName":null,"ADSiteId":0,"ADStatus":0,"ADType":0,"ADWidth":400,"ADheight":300,"Items":[{"AIADID":0,"AIEndTime":"\/Date(1258522001829+0800)\/","AIHref":"http:\/\/www.sina.com.cn\/?test=1&dsa=2","AIID":0,"AIImagePath":"http:\/\/www.sina.com.cn","AIIndex":0,"AIPushTime":"\/Date(1258522001829+0800)\/","AIPusher":null,"AISiteID":0,"AIStartTime":"\/Date(1258522001829+0800)\/","AIStatus":0,"AITitle":"test","AIbryImagPath":null}]};
    var i=-1;
    var handler;
    var container = $(this);
    var ChangeIndex = function(index) {
        if (index != null) i = index;
        if (i >= adData.Items.length) i = 0;
        var item = adData.Items[i];
        var adImage = "<a href=\"" + item.aIHref + "\" style=\"width:"+adData.ADWidth+"px;\" target=\"_blank\"\"></a>";
        container.html(adImage);
        
        if (item.Image == null) {
            var image = document.createElement("img");
            image.src = "/"+item.aIImagePath;
            image.alt = item.aITitle;
            image.style.width = adData.ADWidth + "px";
            image.style.height = adData.ADheight + "px";
            item.Image = image;
            container.children("a").append(image);
        }
        else {
            container.children("a").append(item.Image);
        }

        if (adData.Items.length == 1) return; 
        if(settings.random){
        var min = 1;
	         var max = adData.Items.length;
	         var rand = parseInt(Math.random() * (max - min + 1) + min);

             var ritem = adData.Items[rand-1];
        var adrImage = "<a href=\"" + ritem.aIHref + "\" style=\"width:"+adData.ADWidth+"px;\" target=\"_blank\"\"></a>";
        container.empty();
        container.html(adrImage);
        
        if (ritem.Image == null) {
            var rimage = document.createElement("img");
            rimage.src = "/"+ritem.aIImagePath;
            rimage.alt = ritem.aITitle;
            rimage.style.width = adData.ADWidth + "px";
            rimage.style.height = adData.ADheight + "px";
            ritem.Image = rimage;
            container.children("a").append(rimage);
        }
        else {
            container.children("a").append(item.Image);
        }
        }
        else{
        container.append("<div class=\"Adpagers\"></div>");
        var pager = container.children("div");
        for (var k = 0; k < adData.Items.length; k++) {
            var p = document.createElement("a");
            p.href = "javascript:;";
            p.innerHTML = k + 1;
            if (k == i) p.className = "selected";
            p.onclick = function() { if (handler != null) window.clearTimeout(handler); ChangeIndex(Math.ceil(this.innerHTML) - 1); };
            pager.append(p);
        }
        handler = setTimeout(function() { ChangeIndex(++i); }, 2000);}
    }

    var callBack = function(data, textStatus) {
        adData = data;
        ChangeIndex(0);
    }

    $.getJSON(filePath, null, callBack);
};
})(jQuery);
