jQuery.noConflict();

function uwmCheckAvailability(vinArray) {
	var url = "http://www.dealervideos.com/integration.svc/availability?ctx=BXH&callback=?";
	var vin = vinArray;
	jQuery.getJSON(url, { "vin": vin }, uwmCheckAvailabilityCompleted);
};

function uwmCheckAvailabilityCompleted(data, textStatus) {
	if (!(data instanceof Array)) return false;
	for (i = 0; i < data.length; i++) {
		var vehicle = data[i];
		var ele = jQuery("#uwm_" + vehicle.vin);
		if (ele.length == 0) 
			ele = jQuery("#uwm_video");
		if (ele.length > 0) {
			if (vehicle.available) {
				if (typeof(uwmVideoAvailableHandler) != "undefined")
					uwmVideoAvailableHandler(vehicle, ele);
				else
					uwmDefaultVideoAvailableHandler(vehicle, ele);
				}
			else {
				if (typeof (uwmVideoUnavailableHandler) != "undefined")
					uwmVideoUnavailableHandler(vehicle, ele);
				else
					uwmDefaultVideoUnavailableHandler(vehicle, ele);
			}
		}
	}
};

function uwmEmbedVideo(vehicle, ele) {
	var params = { "wmode": "transparent", "allowFullScreen": "true" };
	if(vehicle != "null") {
		swfobject.embedSWF("http://www.dealervideos.com/xspfPlayer/xspfPlayer.swf?ctx="+vehicle.ctx+"&vid=" + vehicle.contentId, ele.attr("id"), uwmWidth, uwmHeight, "9.0.0", null, null, params)
	} else {
		swfobject.embedSWF("null", ele.attr("id"), 10, 10, "9.0.0", null, null, params) 
	}
	ele.empty();
}

function uwmDefaultGetVinArray() {
	var vinArray = new Array();
	jQuery("[id^='uwm_']").each(function() {
		var vin = jQuery(this).attr("id").substring(4);
		vinArray[vinArray.length] = vin;
		});
	return vinArray;
}

function uwmDefaultVideoAvailableHandler(vehicle, ele) {
	uwmEmbedVideo(vehicle, ele);
}
function uwmDefaultVideoUnavailableHandler(vehicle, ele) {
	ele.text("Video Unavailable");
	ele.hide();
}

function uwmDialogVideo(vehicle, ele) {
	if (!vehicle.available)
		{ ele.hide(); return; }

	ele.click(function() {
		uwmEmbedVideo(vehicle, jQuery("#uwmDialog > *"));
		var d = jQuery("#uwmDialog");
		d.dialog("open");
		d.bind('dialogbeforeclose', function(event, ui) {
			uwmEmbedVideo("null", jQuery("#uwmDialog > *"));
		});
	});
	ele.show();
}

function uwmExternalPopUp(vehicle, ele) {
	if (!vehicle.available)
		{ ele.hide(); return; }

	ele.click(function() {
		var win = window.open("","uwm_video","width=" + uwmWidth + ",height=" + uwmHeight + ",resizable=no,scrollbars=no,status=no");
		win.focus()

		var flashObject = "<html><head></head><body marginwidth=\"0\" marginheight=\"0\" leftmargin=\"0\" topmargin=\"0\"><object width=\""+uwmWidth+"\" height=\""+uwmHeight+"\">" +
		"<param name=\"movie\" value=\"http://www.dealervideos.com/xspfPlayer/xspfPlayer.swf?ctx="+vehicle.ctx+"&vid="+vehicle.contentId+"\"></param>" +
		"<param name=\"wmode\" value=\"transparent\"></param><param name=\"allowFullScreen\" value=\"true\">" +
		"<param name=\"allowScriptAccess\" value=\"always\"><param name=\"swfLiveconnect\" value=\"true\" >" +
		"<embed src=\"http://www.dealervideos.com/xspfPlayer/xspfPlayer.swf?ctx="+vehicle.ctx+"&vid="+vehicle.contentId+"\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\"  wmode=\"transparent\" swfLiveconnect=\"true\" allowFullScreen=\"true\" width=\""+uwmWidth+"\" height=\""+uwmHeight+"\"></embed>" +
		"</object></body></html>";

		win.document.open();
		win.document.write(flashObject);
		win.document.close();
	});
	ele.show();
}

	var uwmWidth = null;
	var uwmHeight = null;

jQuery(document).ready(function() {
		if(uwmWidth == null) { uwmWidth = 320; }
		if(uwmHeight == null) { uwmHeight = 240; }
		if(uwmWidth < 320) { uwmWidth = 320; }
		if(uwmHeight < 240) { uwmHeight = 240; }
	jQuery("body").append("<div id=\"uwmDialog\" title=\"Video Player\"><span id=\"uwmSwfObject\"/></div>");
		var d = jQuery("#uwmDialog");
		d.addClass("uwmDialogClass").dialog({ autoOpen: false, draggable: true, width: uwmWidth + 30, height: uwmHeight+ 55, show: "slow", modal: true, hide: "puff" });
	if (typeof (uwmInit) != "undefined")
		vinArray = uwmInit();
	var vinArray;
	if (typeof (uwmGetVinArray) != "undefined")
		vinArray = uwmGetVinArray();
	else
		vinArray = uwmDefaultGetVinArray();
	uwmCheckAvailability(vinArray);
});
