function ajax_request(url, data) {
    var myAjax = new Ajax.Request(
        url,
        {method: 'post', parameters: data, onComplete: ajax_response}
    );
}


function ajax_response(originalRequest) {
    if(!bHasRedirect) {
        //process originalRequest.responseText;
    }
    else {
        bHasRedirect = false;
        ajax_request(originalRequest.responseText, "");
    }
}



function showPayWindow() {
	ViewMoovie.showPayWindow();
}

function ViewMoovie() {
	
	this.playcontent = null;
	this.active = false;
	this.activeSend = false;
	this.timer = null;
	
	
	// заказ фильма по подписке
	this.subscribe = function () {
		// if ( this.activeSend ) return;
		var IdMoovie = getIdMoovie();
		
		Content.ajJson("subscribe_moovie", {IdMoovie: IdMoovie}, ViewMoovie.subscribe_callback);
		this.activeSend = true;
	};
	
	this.subscribe_callback = function (data) {
		if ( data.Error ) {
			
			var pos = GetPosition($('butSubscribe'));
			
			$('errorType_1').style.top = pos.top - 70 + 'px';
			$('errorType_1').style.left = pos.left + pos.width + 30 + 'px';
			$('errorType_1_message').innerHTML = data.Error;
			
			$('errorType_1').style.display = 'block';
			
			setTimeout("$('errorType_1').hide()", 2000);
			return;
		}	
		
		// обновление подписки
		document.location.href = document.location;
	};
	
	// Показываем форму оплаты
	this.showPayWindow = function () {
		
		if ( this.active ) return;
		
		// Останавливаем видео
		stop_moovie();
		
		$('placeViewFilm').innerHTML = $('formPayMoovie').innerHTML;
		$('formPayMoovie').remove();
		this.active = true;
	};
	
	this.selectTypeSms = function() {
		var IdMoovie = getIdMoovie();
		
		Content.ajJson("payTypeSms", {ajax: 1, IdMoovie: IdMoovie}, ViewMoovie.selectType_callback);
	};

	this.selectTypeBalanse = function() {
		var IdMoovie = getIdMoovie();
		
		Content.ajJson("payTypeBalanse", {IdMoovie: IdMoovie}, ViewMoovie.selectType_callback);
	};
	
	this.selectType_callback = function(data) {
		$('placeViewFilm').update(data.Text);
		$('formPayMoovie').setStyle({display: 'block'});
	};
	
	// Проверка валидности смс ключа	
	this.checkSmsPay = function () {
		
		if ( ViewMoovie.activeSend ) return; 

		var smsKey   = $('_smsKey').value;
		var IdMoovie = getIdMoovie();
		var sms_operator = $('sms_operator') ? $('sms_operator').value : ''; 
		
		$("_payDisplay").innerHTML = 'проверка кода...';
		
		ViewMoovie.activeSend = true;
		
		// Запуск таймера
		ViewMoovie.timer = setTimeout("ViewMoovie.timeOut();", 5000);
		
		Content.ajJson('checkSmsPay', {smsKey: smsKey, IdMoovie: IdMoovie, sms_operator: sms_operator}, ViewMoovie.checkSmsPay_Callback);
	};
	
	// Результат проверки смс платежа
	this.checkSmsPay_Callback = function (data) {
		
		// Отключение таймера
		clearTimeout(ViewMoovie.timer);
		
		ViewMoovie.activeSend = false;
		
		$("_payDisplay").innerHTML = '';
		
		if ( data.Error ) {
			
			var pos = GetPosition($('_smsKey'));
			
			$('errorType_1').style.top = pos.top - 70 + 'px';
			$('errorType_1').style.left = pos.left + pos.width + 30 + 'px';
			$('errorType_1_message').innerHTML = data.Error;
			
			$('errorType_1').style.display = 'block';
			
			setTimeout("$('errorType_1').hide()", 2000);
			return;
		}
		
		$('placeViewFilm').innerHTML = data.TextHTML;
		
		// Запускаем фильм для дальнейшего просмотра или же уводим на форму авторизации
	};
	
	this.timeOut = function () {
		ViewMoovie.checkSmsPay_Callback({Error: 'Превышен интервал ожидания.<br />Повторите попытку позже.'});
	}
	
}
var ViewMoovie = new ViewMoovie();



var nowActive = null;
function activateSmsLogin(nameActive) {
	if ( nowActive == nameActive ) return;
	
	if ( nameActive != 'smsRegister' ) {
		$('smsRegister').className = 'none';
		$('smsLogin').className    = 'selected';
		
		$('smsRegister_table').style.display = 'none';
		$('smsLogin_table').style.display    = 'block';
	} else {
		$('smsLogin').className    = 'none';
		$('smsRegister').className = 'selected';
		
		$('smsLogin_table').style.display    = 'none';
		$('smsRegister_table').style.display = 'block';
	}
	
	nowActive = nameActive;
}


function SMSLogin() {
	
	var Login    = $('f_Login').value;
	var Passwd   = $('f_Passwd').value;
	var smsKey = $('f_smsKey').value;
	var IdMoovie = getIdMoovie();
	
	Content.ajJson('SMSLogin', {Login: Login, Passwd: Passwd, smsKey: smsKey, IdMoovie: IdMoovie}, SMSLogin_Callback);
	
}


function SMSLogin_Callback(data) {
	if ( data.Error ) {

		var pos = GetPosition($('f_Passwd'));
		
		$('errorType_1').style.top = pos.top - 70 + 'px';
		$('errorType_1').style.left = pos.left + pos.width + 100 + 'px';
		$('errorType_1_message').innerHTML = data.Error;
		
		$('errorType_1').style.display = 'block';
		
		setTimeout("$('errorType_1').hide()", 2000);
		
		return;
	}
	
	if ( $('butByMoovie') !== null ) $('butByMoovie').hide();
	$('placeViewFilm').innerHTML = data.TextHTML;
}


var register_work = false;
function RegisterUser() {
	
	if ( register_work ) return;
	
	if ( !$('service').checked ) {
		
		var pos = GetPosition($('service'));
		
		$('errorType_1').style.top = pos.top - 80 + 'px';
		$('errorType_1').style.left = pos.left + pos.width + 10 + 'px';
		$('errorType_1_message').innerHTML = 'Вы не согласны с условиями сервиса';
		
		$('errorType_1').style.display = 'block';
		
		setTimeout("$('errorType_1').hide()", 2000);

		return;
	}
	
	var Login = $('register_login').value;
	var Password = $('register_password').value;
	var PasswordCheck = $('register_password_check').value;
	var smsKey = $('f_smsKey').value;
	var IdMoovie = getIdMoovie();
	
	Content.ajJson('RegisterUser', {Login: Login, Password: Password, PasswordCheck: PasswordCheck, smsKey: smsKey, IdMoovie: IdMoovie}, RegisterUser_Callback);
	
	register_work = true;
}


function RegisterUser_Callback(data) {
	register_work = false;
	
	if ( data.Error ) {
		
		var pos = GetPosition($(data.Field));
		
		$('errorType_1').style.top = pos.top - 80 + 'px';
		$('errorType_1').style.left = pos.left + pos.width + 10 + 'px';
		$('errorType_1_message').innerHTML = data.Error;
		
		$('errorType_1').style.display = 'block';
		
		setTimeout("$('errorType_1').hide()", 2000);
		
		
		return;
	}
	
	$('placeViewFilm').innerHTML = data.TextHTML;
}


function UserLogin() {
	
	var Login = $('login').value;
	var Password = $('passwd').value;
	
	as({action: 'UserLogin', data: {Login: Login, Password: Password}, callback: UserLogin_Callback});
}





function UserLogin_Callback(data) {
	
	if ( data.Error ) {
		var pos = GetPosition($('butLogin'));
		
		$('errorType_2').style.top = pos.top + 5 + 'px';
		$('errorType_2').style.left = pos.left + pos.width - 320 + 'px';
		$('errorType_2_message').innerHTML = data.Error;
		
		$('errorType_2').style.display = 'block';
		
		setTimeout("$('errorType_2').hide()", 2000);
		
		return;		
	}
	
	var url = ( typeof(_REGISTER_PAGE) == 'undefined' ) ? document.location : '/index.php';
	document.location.href = url;
}




function showFormChangePassword() {
	$('NowPassword').value = '';
	$('NewPassword').value = '';
	$('NewPassword2').value = '';

	jq('#lblChangePassword').slideDown(300);
	
	// $('lblChangePassword').style.display = ( $('lblChangePassword').style.display == 'none' ) ? 'block' : 'none';	
}

function ChangePassword() {
	var NowPassword = $('NowPassword').value;
	var NewPassword = $('NewPassword').value;
	var NewPassword2 = $('NewPassword2').value;
	
	Content.ajJson('ChangePassword', {NowPassword: NowPassword, NewPassword: NewPassword, NewPassword2: NewPassword2}, ChangePassword_Callback);
}

function ChangePassword_Callback(data) {
	
	var pos = GetPosition($(data.Field));
	
	if ( data.Error ) {
		
		$('errorType_1').style.top = pos.top - 80 + 'px';
		$('errorType_1').style.left = pos.left + pos.width + 10 + 'px';
		$('errorType_1_message').innerHTML = data.Error;
		
		$('errorType_1').style.display = 'block';
		
		setTimeout("$('errorType_1').hide()", 2000);

		return;
	}
	
	$('lblChangePassword').style.display = 'none';
	
	$('messageType_1').style.top = pos.top - 80 + 'px';
	$('messageType_1').style.left = pos.left + pos.width + 10 + 'px';
	$('messageType_1_message').innerHTML = data.Text;
	
	$('messageType_1').style.display = 'block';
	
	setTimeout("$('messageType_1').hide()", 2000);
	
	$('NowPassword').value = '';
	$('NewPassword').value = '';
	$('NewPassword2').value = '';
}

var pay_timer = null;
function PayFromBalans() {
	
	$('pay-moovie').hide();
	$('pay-display').update('процесс оплаты ...').setStyle({display: 'block'});
	
	var IdMoovie = getIdMoovie();
	
	
	
	Content.ajJson('PayFromBalans', {IdMoovie: IdMoovie}, PayFromBalans_Callback);
}

function PayFromBalans_Callback(data) {
	if ( data.Error ) {
		
		$('pay-display').hide();
		$('pay-moovie').setStyle({display: 'block'});
		
		
		var pos = GetPosition($('pay-moovie'));

		$('errorType_1').style.top = pos.top - 80 + 'px';
		$('errorType_1').style.left = pos.left + pos.width + 10 + 'px';
		$('errorType_1_message').innerHTML = data.Error;
		
		$('errorType_1').style.display = 'block';
		
		return;
	}
	
	$('placeViewFilm').innerHTML = data.TextHTML;
	$('place-balans').update(data.newBalans);
}

	function RegisterMain() {
		if (!$('service').checked) {
			var pos = GetPosition($('service'));
			
			$('errorType_1').style.top = pos.top - 80 + 'px';
			$('errorType_1').style.left = pos.left + pos.width + 10 + 'px';
			$('errorType_1_message').innerHTML = 'Вы не согласны с условиями сервиса';
			
			$('errorType_1').style.display = 'block';
			
			setTimeout("$('errorType_1').hide()", 2000);
			return;
		}
		
		
		// $('regform').submit();
		setTimeout("$('regform').submit();", 100);
		
	}
	
	var SMSCOIN = {
		ChangeCountry: function(country) {
			Content.ajJson("payTypeSms", {ajax: 1, IdMoovie: getIdMoovie(), country: country}, ViewMoovie.selectType_callback);
		}, 
		
		ChangeOperator: function (provider) {
			
			if ( provider == 0 ) {
				$('lbl_smscoin_provider').update();
				return;
			}
			
			Content.ajJson("payTypeSms", {ajax: 1, IdMoovie: getIdMoovie(), provider: provider}, ViewMoovie.selectType_callback);
									
		}

		
	};
	
	var SMSCOIN_Subscribe = {
		ChangeCountry: function(country) {
			Content.ajJson("payTypeSms", {ajax: 1, country: country}, SMSCOIN_Subscribe.UpdateContent);
		}, 
		
		ChangeOperator: function (provider) {
			
			if ( provider == 0 ) {
				$('lbl_smscoin_provider').update();
				return;
			}
			
			Content.ajJson("payTypeSms", {ajax: 1, provider: provider}, SMSCOIN_Subscribe.UpdateContent);
		},
		
		UpdateContent: function (data) {
			$('smsInfo').update(data.Text);
		}

		
	};	
	
	/**
	 * Google transaction
	 * 
	 * @param data
	 * @return void
	 */
	function google_track(data) {
	
		pageTracker._addTrans(
				data.order_id,
				data.title,
				data.amount,
				0,
				0,
				data.city,
				data.state,
				data.country
		  );
		
		pageTracker._addItem(
		    data.order_id,
		    data.film_id,
		    data.film_name, 
		    data.category,
		    data.amount,  
		    data.count
		  );
		
		  pageTracker._trackTrans();
	};

	