﻿/****************************************************************************
名称:Advert Library

编写:jack

功能:动态提取当前对象

实现:
通过循环广告位,动态找到用户在每个页面配置的<div id='广告位名称'></div>
传入广告位ID到广告Json中,找到属于该广告位的广告

注意事项:
<div id='advert_广告位名称'></div>         广告位名称请全部用小写
    
****************************************************************************/

//$(document).ready(loadadvert);

function loadadvert() {
    if (AdvertLocationsJson != '') {
        //Advert Location
        for (var i = 0; i < AdvertLocationsJson.length; i++) {
            var AdvertLocation = AdvertLocationsJson[i];

            var locationName = replacestr(AdvertLocation.LocationName).toLowerCase();
            //Find div
            var s = "advert_" + locationName;
            var locationDiv = document.getElementById(s);
            
            if (locationDiv != null) {                
                var locationhtml = "";
                var DisplayMode = AdvertLocation.DisplayMode == 0 ? "Random" : "Carousel";
                locationhtml = $.validator.format('<ul displaymode="{0}" rollingtime="{1}">', DisplayMode, AdvertLocation.Seconds);

                //Advert
                for (var j = 0; j < AdvertLocation.Adverts.length; j++) {
                    var advert = AdvertLocation.Adverts[j];
                    var adverthtml = "";

                    //1.如果当前广告的html不为空 使用html
                    //2.如果当前广告的外部图片url不为空 使用外部图片url
                    //3./如果html和外部图片url都为空取内部图片

                    if (advert.Html != '')
                        adverthtml += $.validator.format('<a title="{0}">{1}</a>', advert.AltText, advert.Html);
                    else if (advert.ExternalImageUrl != '')
                        adverthtml += $.validator.format('<a title="{0}"><img src="{1}" alt="{2}" /></a>', advert.AltText, advert.ExternalImageUrl, advert.AltText);
                    else
                        adverthtml += $.validator.format('<a title="{0}">{1}</a>', advert.AltText, advert.Image);


                    //如果当前点击次数大于最大点击次数               
                    if (advert.ClicksCount < advert.MaxClicks) {
                        locationhtml += $.validator.format('<li name="AdvertLi" url="{0}" id="{1}" style="cursor: pointer;" counts="{2}" onclick="ClickAdvert(\'{3}\')">', advert.Link, advert.ID, advert.ClicksCount, advert.ID);
                    }
                    else {
                        locationhtml += $.validator.format('<li name="AdvertLi" id="{0}">', advert.ID);
                    }

                    locationhtml += adverthtml;
                    locationhtml += "</li>";

                }
                locationhtml += "</ul>";
                $("#" + s).append(locationhtml);
                //alert(adverthtml);
                //alert(locationhtml);
            }
        }
    }
}

//去掉所有空格
function replacestr(str) {
    var spa = /\040/g;
    str = str.replace(spa, "");
    return str;
}

//去左空格
function ltrim(s) {
    return s.replace(/^\s*/, "");
}
//去右空格;
function rtrim(s) {
    return s.replace(/\s*$/, "");
}
//去左右空格;
function trim(s) {
    return rtrim(ltrim(s));
}
