jQuery.noConflict();

function uwmCheckAvailability(vinArray) {
	var url = "http://www.dealervideos.com/integration.svc/availability?ctx=4WY&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=4WY&vid=" + vehicle.contentId, ele.attr("id"), 320, 240, "9.0.0", null, null, params)
	} else {
		swfobject.embedSWF("null", ele.attr("id"), 10, 10, "9.0.0", null, null, params) //stupid flash wont empty unless re-written over....
	}
	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=320,height=240,resizable=no,scrollbars=no,status=no");
		win.focus()

		var flashObject = "<html><head></head><body marginwidth=\"0\" marginheight=\"0\" leftmargin=\"0\" topmargin=\"0\"><object width=\"320\" height=\"240\">" +
		"<param name=\"movie\" value=\"http://www.dealervideos.com/xspfPlayer/xspfPlayer.swf?ctx=4WY&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=4WY&vid="+vehicle.contentId+"\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\"  wmode=\"transparent\" swfLiveconnect=\"true\" allowFullScreen=\"true\" width=\"320\" height=\"240\"></embed>" +
		"</object></body></html>";

		win.document.open();
		win.document.write(flashObject);
		win.document.close();
	});
	ele.show();
}

jQuery(document).ready(function() {
	jQuery("body").append("<div id=\"uwmDialog\" ><span id=\"uwmSwfObject\"/></div>");
		var d = jQuery("#uwmDialog");
		d.addClass("uwmDialogClass").dialog({ autoOpen: false, draggable: true, width: 350, height: 295, show: "slow", hide: "puff" });
	if (typeof (uwmInit) != "undefined")
		vinArray = uwmInit();
	var vinArray;
	if (typeof (uwmGetVinArray) != "undefined")
		vinArray = uwmGetVinArray();
	else
		vinArray = uwmDefaultGetVinArray();
	uwmCheckAvailability(vinArray);
});
