

  var NickAdAPI = {
    oGlobalDefaults:          {leader: '0',mpu: '1',halfmpu: '0',sky: '0',demo: 'null',event: 'null',search_kw: 'null',vid: 'null',vid_type: 'null',show_id: 'null',artist_id: 'null',dcove: 'null'},
    oAPISettings:             {account: 'nickaus.com.au',defaultZone: 'hp',defaultType: 'adj',ordCreate: 'page',outputAdTag: '1'},
    oAdPlacements:            {P0: 'Array',P1: {sz: '728x90',leader: '1'},P2: {sz: '300x250'},P3: {sz: '120x600'},P4: {sz: '180x145'},P5: {sz: '1x1'},P6: {sz: '120x90'},P7: {sz: '120x240'},P8: {sz: '120x50'}},
    oSections:                {sec0: 'js',sec1: 'nickadapijs',secN: 'null',url: '/js/nickadapijs'},
    sZone:                    'hp',
    iOrd:                     67523397,
    iTile:                    1,
    

    NickAdTag:                function( iPlacement , oOptions, oAPISettings ) {
      var sHTML = '';
      var sSize     = eval( 'NickAdAPI.oAdPlacements.P'+iPlacement+'.sz' );
      var oDefaults    = NickAdAPI.extend( NickAdAPI.oGlobalDefaults , oOptions );
      var oAPISettings = NickAdAPI.extend( NickAdAPI.oAPISettings , oAPISettings );
      if ( oDefaults.sz ) {
        sSize = oDefaults.sz;
      }
      if ( sSize ) {
        var iOrd = NickAdAPI.iOrd;
        if ( oAPISettings.ordCreate && oAPISettings.ordCreate == "ad" ) {
          iOrd = Math.rand(10000000, 99999999);
        }
        var sZone     = NickAdAPI.sZone;
        if ( oDefaults.zone ) {
          sZone = oDefaults.zone;
        }
        var sAccount  = oAPISettings.account;
        var sType     = oAPISettings.defaultType;
        var oSections = NickAdAPI.oSections;
        var iTile     = NickAdAPI.iTile;
	      if ( oDefaults.iTile ) {
	        var iTile = oDefaults.iTile
	      }
        
	      var sSrc = "sec0="+  oSections.sec0  +";sec1="+  oSections.sec1  +";secN="+  oSections.secN  +";";
	      sSrc += "leader=1;mpu=1;halfmpu=0;sky=0;demo=null;";
	      sSrc += "event=null;search_kw=null;vid=null;vid_type=null;show_id=null;";
	      sSrc += "artist_id=null;url="+  oSections.url +";dcove=d;tile="+  iTile  +";sz="+  sSize  +";ord="+  iOrd  +"?";
        
        




        var sSizeHTML = sSize.split( 'x' );
        var sHTML = "";
        sHTML += "<iframe src=\"http://ad.doubleclick.net/adi/"+  sAccount  +"/"+  sZone +";"+ sSrc  +"\" width=\""+ sSizeHTML[0] +"\" height=\""+ sSizeHTML[1] +"\" marginwidth=\"0\" marginheight=\"0\" hspace=\"0\" vspace=\"0\" frameborder=\"0\" scrolling=\"no\">";
        sHTML += "<script language=\"JavaScript\" type=\"text\/javascript\" src=\"";
        sHTML += "http://ad.doubleclick.net/adj/"+sAccount+"/"+sZone+";"+sSrc;
        sHTML += "\"></script>";
        sHTML += "</iframe>";

        if ( !oDefaults.iTile ) {
          sHTML = '<span id="id_AdPlacement_'+  iTile  +'">'+sHTML+'</span>';
          NickAdAPI.iTile++;
        }
      }
      return sHTML;
    },
    
    /** Really a testing function to allow for the replacement of nick ads with new refreshed ones. **/
    
    NickRefreshAdTag:        function( iTileNumber , iPlacement , oOptions, oAPISettings ) {
      //console.log( 'refreshed' );
      if ( !oOptions ) {
        var oOptions = {iTile: iTileNumber};
      }
      if ( !oAPISettings ) {
        var oAPISettings = {};
      }
      var sCall = NickAdAPI.NickAdTag( iPlacement , oOptions , oAPISettings );
      document.getElementById( 'id_AdPlacement_'+iTileNumber ).innerHTML = sCall;
    },

    /**
     * Extends objects.
     *
     * Destination is the original object and source is the object values to 
     * override the original object
     */
    extend: function( destination , source ) {
      for (var property in source) {
        destination[property] = source[property];
      }
      return destination;
    }
	
	};

