MovieBuybox.hasPurchased = false;
MovieBuybox.isCustomerRecognized = false;
MovieBuybox.currentASIN = null;
MovieBuybox.purchaseASIN = null;
MovieBuybox.rentalASIN = null;
MovieBuybox.currentFormPrefix = "";
MovieBuybox.showPepsiDialog = false;

function MovieBuybox() {}

MovieBuybox.Initialize = function(purchaseASIN, rentalASIN, isCustomerRecognized) {
	MovieBuybox.isCustomerRecognized = isCustomerRecognized;

	if (purchaseASIN && purchaseASIN.length > 0) {
		var purchaseButton = getElem("movie_button_" + purchaseASIN);

		var movieButtonParams = new Array();
		movieButtonParams[0] = purchaseASIN;
		movieButtonParams[1] = '';

		addHandler(purchaseButton, "click", createClosure(null, MovieBuybox.StartMoviePurchase, movieButtonParams));
		MovieBuybox.purchaseASIN = purchaseASIN;

		var pepsiButtonParams = new Array();
		pepsiButtonParams[0] = purchaseASIN;
		pepsiButtonParams[1] = 'pepsi_';
		var pepsiButton = getElem("pepsi_movie_button_" + purchaseASIN);
		if (pepsiButton) { addHandler(pepsiButton, "click", createClosure(null, MovieBuybox.StartMoviePurchase, pepsiButtonParams)); }
	}

	if (rentalASIN && rentalASIN.length > 0) {
		var rentalButton = getElem("movie_button_" + rentalASIN);
		var movieButtonParams = new Array();
		movieButtonParams[0] = rentalASIN;
		movieButtonParams[1] = '';
		addHandler(rentalButton, "click", createClosure(null, MovieBuybox.StartMoviePurchase, movieButtonParams));

		var pepsiButton = getElem("pepsi_movie_button_" + rentalASIN);
		var pepsiButtonParams = new Array();
		pepsiButtonParams[0] = rentalASIN;
		pepsiButtonParams[1] = 'pepsi_';
		if (pepsiButton) { addHandler(pepsiButton, "click", createClosure(null, MovieBuybox.StartMoviePurchase, pepsiButtonParams)); }
		MovieBuybox.rentalASIN = rentalASIN;
	}

	var continueButton = getElem("movie_continue");
	if (continueButton) { addHandler(continueButton, "click", createClosure(null, MovieBuybox.SubmitMoviePurchase)); }

	var cancelButton = getElem("movie_cancel");
	if (cancelButton) { addHandler(cancelButton, "click", createClosure(null, MovieBuybox.CancelMoviePurchase)); }

	var downloadSelector = getElem("download_to_selector");
	if (downloadSelector) { downloadSelector.style.display = "block"; }
}

MovieBuybox.StartMoviePurchase = function(params) {
	var ASIN;
	var formPrefix;

	if (params) {
		ASIN = params[0];
		formPrefix = params[1]; 
	}

	if (MovieBuybox.hasPurchased) { return; }
	MovieBuybox.currentASIN = ASIN;
	MovieBuybox.hasPurchased = true;
	MovieBuybox.currentFormPrefix = formPrefix;

	if (MovieBuybox.isCustomerRecognized) {
		var button = getElem(formPrefix + "movie_button_" + ASIN);
		var position = findPos(button);

		if (getElem("movie_offset_container")) {
			var offset = findPos(getElem("movie_offset_container"));

			var selector = getElem("movie_selector_container");
			selector.style.display = "block";
			selector.style.left = position[0] - offset[0] + (button.offsetWidth / 2) - selector.offsetWidth;
			selector.style.top = position[1] - offset[1] + (button.offsetHeight / 2);

			MovieBuybox.AdjustTabIndex(false);
		} else {
			MovieBuybox.SubmitMoviePurchase();
		}
	} else {
		MovieBuybox.SubmitMoviePurchase();
	}
}

MovieBuybox.SubmitMoviePurchase = function() {
	var form = getElem(MovieBuybox.currentFormPrefix + "movie_form_" + MovieBuybox.currentASIN);

	var clientSelect = getElem("client.atv.clientid");

	if (clientSelect) {
		form['ref.atv.clientid'].value = clientSelect.value
		form['forceUnrec'].value = 0;
	}

	if (MovieBuybox.showPepsiDialog && MovieBuybox.isCustomerRecognized == true && MovieBuybox.currentFormPrefix == "pepsi_") {
		var button = getElem(MovieBuybox.currentFormPrefix + "movie_button_" + MovieBuybox.currentASIN);
		var position = findPos(button);
		var offset = findPos(getElem("pepsi_offset_container"));
		var pepsiDialog = getElem("pepsi_info_container");
		pepsiDialog.style.display = "block";
		pepsiDialog.style.left = position[0] - offset[0] + (button.offsetWidth / 2) - pepsiDialog.offsetWidth;
		pepsiDialog.style.top = position[1] - offset[1] + (button.offsetHeight / 2);
		MovieBuybox.CancelMoviePurchase();
	} else {
		form.submit();
	}
}

MovieBuybox.CancelMoviePurchase = function() {
	MovieBuybox.hasPurchased = false;
	MovieBuybox.currentASIN = null;
	if (getElem("movie_selector_container")) {
		getElem("movie_selector_container").style.display = "none";
	}
	MovieBuybox.AdjustTabIndex(true);
}

MovieBuybox.AdjustTabIndex = function(turnOn) {
	var tabValue = -1;

	if (turnOn) {
		tabValue = null;
	}

	if (MovieBuybox.purchaseASIN != null) {
		getElem("movie_button_" + MovieBuybox.purchaseASIN).tabIndex = tabValue;
	}
	
	if (MovieBuybox.rentalASIN != null) {
		getElem("movie_button_" + MovieBuybox.rentalASIN).tabIndex = tabValue;
	}
}
