var vmix_login = Class.create();
vmix_login.prototype = {
        initialize: function(){
        },
        check_upload_login_required: function(dest_url){
		this.dest_url = dest_url;
                var ajax = new Ajax.Request('/get_ads', {method:'get', onComplete:this.check_upload_login_required_cb.bind(this)});
        },
        check_upload_login_required_cb: function(o){
                var data = o.responseText.evalJSON();
                this.login_url = data.login_url;
                this.redir_var_name = data.redir_var_name;
                if (data.upload_login_required == 1){
                        // check login
                        var ajax = new Ajax.Request('/check_ext_user', {method:'get', onComplete:this.check_login_cb.bind(this)});
                } else {
			location.href = this.dest_url;
                }
        },
	check_login_cb: function(o){
                var data = o.responseText.evalJSON();
		if (data.username){
			location.href = this.dest_url;
		} else {
                        if (confirm('You must login before you can upload media.  Would you like to login now?')){
		                if (this.login_url){
					var redir_url = this.login_url;
					if (this.redir_var_name){
						if (this.dest_url){
							redir_url += this.redir_var_name+'='+ encodeURIComponent(this.dest_url);
						} else {
							redir_url += this.redir_var_name+'='+location.href; // should probably do some error handling here at some point
						}
					}
                		        location.href = redir_url;
		                } else {
		                        alert('Unable to get login url.  Sorry.');
		                }
                        }
		}
	},
	
	check_vc_login: function(){
		var ajax = new Ajax.Request('/check_ext_user', {method:'get', onComplete:this.check_vc_login_cb.bind(this)});
		
	},
	check_vc_login_cb: function(o){
		var data = o.responseText.evalJSON();
		var test = data.not_logged_in;
		if (test == 1)
		{
			var ajax = new Ajax.Request('/get_ads', {method:'get', onComplete:this.check_vc_login_ads_cb.bind(this)});
		}
		else
		{
		if (typeof(vmix_login.custom_callback) == "function") 
		{
			vmix_login.custom_callback(data);
		}
			
		}
	},
	
	check_vc_login_ads_cb: function(o){
		var data = o.responseText.evalJSON();
		if (typeof(vmix_login.custom_callback) == "function") 
		{
			vmix_login.custom_callback(data);
		}
	}
	
	
	
	
	
}
function check_upload_login(dest_url){
	if (!login){
		var login = new vmix_login();
	}
	if (!dest_url){
		var dest_url = 'http://'+location.host+'/upload';
	}
	login.check_upload_login_required(dest_url);
}

function check_vc_login(callback){
	if (!login){
		var login = new vmix_login();
	}
	
	if (callback != undefined) {
		vmix_login.custom_callback = callback;
	}
	
	var test = login.check_vc_login();
	return test;
}
 
