
// This is used to count banner system 'instances'
var var_banner_count = 0;

var banner_system_data = new Array();


function invoke_banners(thisAdBanner){
	banner_system_data[var_banner_count]=thisAdBanner;
	var banner_data_number = var_banner_count;
	var_banner_count = var_banner_count + 1;
	//alert(thisAdBanner['banner_target']);
	// Load Jquery if not already loaded
	load_jquery = function(banner_data_number) {
		if ("https:" == document.location.protocol) {
		    /* secure */
		   load_jquery.getScript("https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
		} else {
		    /* unsecure */
		   load_jquery.getScript("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
		}

	  load_jquery.tryReady(0,banner_data_number); // We will write this function later. It's responsible for waiting until jQuery loads before using it.
	}

	// dynamically load any javascript file.
	load_jquery.getScript = function(filename) {
		var_loading_jq = 1;
	  var script = document.createElement('script')
	  script.setAttribute("type","text/javascript")
	  script.setAttribute("src", filename)
	  if (typeof script!="undefined")
	  document.getElementsByTagName("head")[0].appendChild(script)
	}

	load_jquery.tryReady = function(time_elapsed, banner_data_number) {
	  // Continually polls to see if jQuery is loaded.
	  if (typeof $ == "undefined") { // if jQuery isn't loaded yet...
	    if (time_elapsed <= 5000) { // and we havn't given up trying...
	      setTimeout("load_jquery.tryReady(" + (time_elapsed + 200) + "," + banner_data_number + ")", 200); // set a timer to check again in 200 ms.
	    }
	  } else {
	    // Any code to run after jQuery loads goes here!
	   	//alert("Detection Win");
		ajax_load_banners(banner_data_number);
	  }
	}

	if(typeof jQuery != 'function'){
		load_jquery(banner_data_number);
	}else{
		//jquery already loaded
		ajax_load_banners(banner_data_number);
	}

	// Once jquery has been loaded check to see if there are banners

}// end function invoke_banners




function ajax_load_banners(banner_data_number){
var thisAdBanner = banner_system_data[banner_data_number];
//var soapMessage = '{"pageID":'+ 8937 +',"debugMode":false}';

var soapMessage = "";
	// Build the data call
	for(thisAdBannerSetting in thisAdBanner){
		var thisAdBannerSettingValue=thisAdBanner[thisAdBannerSetting];

		if(thisAdBannerSettingValue!="" && thisAdBannerSettingValue!=null){
			if(soapMessage !== '{'){
				soapMessage = soapMessage + '&';
				}			
			soapMessage = soapMessage + '' + thisAdBannerSetting + '=' + escape(thisAdBannerSettingValue) + '';
			}
		}

// Check for a time override
if(typeof current_date == 'undefined'){
	var current_date = getQueryVariable("current_date");
	}

if(current_date!="NoExistence"){
	soapMessage = soapMessage + "&current_date=" + current_date;
}

// Check for 'client-side' time
if(current_date=="NoExistence" && thisAdBanner['time'] == "client"){
	var d = new Date();
	current_date = d.getFullYear() + "-" + zeroPad((d.getMonth() + 1),2) + "-" + zeroPad(d.getDate(),2) + " " + zeroPad(d.getHours(),2) + ":" + zeroPad(d.getMinutes(),2) + ":" + zeroPad(d.getSeconds(),2);
	soapMessage = soapMessage + "&current_date=" + escape(current_date);
}

var bannerServerURL = thisAdBanner['bannerServer'] + "/banners/bannerlist/";
var new_div = $('<div class=""></div>');

	
		$.ajax({
			url: bannerServerURL,
			type: "GET",
			async: true,
			dataType: "jsonp",
			data: soapMessage,
			traditional: true,
			global: false,
			complete: function(){
			},
			error: function(){
				$(thisAdBanner['banner_target']).css("display","block");
			},

			success: function(data) {

				if(data['success']==1){
				
				//empty target container
				$(thisAdBanner['banner_target']).children().each(
					function( intIndex ){
						$( this ).detach();
					}
				);

				// Get the data
				
				
				
				
				
				
				
				
				
				new_div.insertBefore($(thisAdBanner['banner_target']));
				new_div.html(data['embed']);
				
				
				new_class = $(thisAdBanner['banner_target']).attr("class");
				
				old_container = $(thisAdBanner['banner_target']).detach();
				
				new_div.addClass(new_class);
				new_div.css("display","block");
				
				//$(thisAdBanner['banner_target']).html(" ");
				//$(thisAdBanner['banner_target']).html(data['embed']);
				//$(thisAdBanner['banner_target']).css("display","block");

				// Trigger the flash embed if needed
				if(thisAdBanner['displayEngine']=="flash"){

							  var flashvars = {};
							flashvars = data['flashvars'];

							 var params = {};
							  params.wmode = "opaque";
							  params.allowScriptAccess = "always";
							  params.play = "true";
							  params.bgcolor = "#ffffff";
							  params.allowfullscreen  = "false";
							  params.allownetworking ="true";
							 
							  var attributes = {};
							  attributes.styleclass  = "lego20_flash_rotation_engine_v4_swf_generatedflash";
							  attributes.name = "lego20_flash_rotation_engine_v4_swf_generatedflash";
							 
							  var minimumVersion = 9;
							  var playerVersion = swfobject.getFlashPlayerVersion(); // returns a JavaScript object

						if(playerVersion.major>=minimumVersion){
						    $(".lego20_flash_rotation_engine_v4_alternative_content").css("display","none");
							var rotation_engine_swf = thisAdBanner['bannerServer'] + "/core_elements/flash_engines_core/lego20_re4/lego20_flash_rotation_engine_v4.swf";
						    swfobject.embedSWF(rotation_engine_swf, flashvars.displayEngineImageClass, flashvars.displayEngineController_width, flashvars.displayEngineController_height,"9.0.0","", flashvars, params, attributes);
						  }else{
						    $(".lego20_flash_rotation_engine_v4_alternative_content").css("display","block");
						  }

				}

				}else{
					// Data has failed to load.  Show the block containing the static backup
					//$(thisAdBanner['banner_target']).css("display","block");
					new_div.css("display","block");
				}

			}// end success function
		});
		soapMessage = '';

}

if(typeof getQueryVariable != 'function'){
	function getQueryVariable(variable) {
	  var query = window.location.search.substring(1);
	  var fn_output = "";
	  var vars = query.split("&");
	  for (var i=0;i<vars.length;i++) {
	    var pair = vars[i].split("=");
	    if (pair[0] == variable) {
	       fn_output = pair[1];
	    }
	  } 
	  
		if(fn_output==""){
			return "NoExistence";
		}else{
			return fn_output;
		}

	} // end getQueryVariable()
}

if(typeof zeroPad != 'function'){
	function zeroPad(num, numZeros) {
		var n = Math.abs(num);
		var zeros = Math.max(0, numZeros - Math.floor(n).toString().length );
		var zeroString = Math.pow(10,zeros).toString().substr(1);
		if( num < 0 ) {
		        zeroString = '-' + zeroString;
		}

		return zeroString+n;
	}
}
var var_jyn30_remote_banner_engine = 1;

