//global vars
var logged_in = false;
var twitter_token = "";
var doRetweet = 0;
function updateUserCenter(username, avatar, token) {
	twitter_token = token;
	if (token) {
		checkToken();
	}
	if (username && avatar) {
		logged_in = true;
		var my_name = 'Welcome <a href="http://twitter.com/'+username+'" target="_blank" onmouseover="showBIO(this,\''+username+'\');"><span>@'+username+'</span></a>';
		var my_avatar = '<a href="http://twitter.com/'+username+'" target="_blank" onmouseover="showBIO(this,\''+username+'\');"><img src="'+avatar+'" alt="'+username+'" width="45" height="45" onerror="thumbnailError(this, \'user\');" /></a>';
		$(".my_avatar").html(my_avatar);
		$(".my_name").html(my_name);
		$(".header_user").show();
		$(".header_login").hide();
	} else {
		logged_in = false;
		$(".header_user").hide();
		$(".header_login").show();
		sampleText($("input[name='twitvid_username']"), "twitter username");
		sampleText($("input[name='twitvid_password']"), "twitter password");
	}
}
var win_login;
function showLogin() {
	if (win_login) {
		$(win_login).remove();
	}
	win_login = inlineWin("win_login", true);
	var url="/index.php?area=ajax&cmd=getWinLogin";
	$.get(url, {}, function(data){
		$("#win_login_inner").html(data);
		toCenter("#win_login");
		$("input[name='twitvid_username']").focus();
	});
}
//global user login check
function UserLogin(username, password, startHandler, successHandler, errorHandler, completeHandler) {
	startHandler();
	//alert(username+" "+password);
	var url = "/index.php?area=ajax&cmd=userlogin";
	$.post(url, {username:username, password:password}, function(data){
		if (data) {									   
			var list = data.split("|");
			if (list[0] == "logged_in") {
				
				if(doRetweet) {
					
					sendTweetNow();
					alert("Thanks for Retweeting!");
				}
 				
				updateUserCenter(list[1], list[2], list[3]);
				successHandler(list[1], list[2], list[3]);
			} else {
				errorHandler(data);
			}
		} else {
			errorHandler("You got a error when login, Please try again!");
		}
		completeHandler();
	});
}
function UserLogin2(username, password, startHandler, successHandler, errorHandler, completeHandler) {
	startHandler();
	//alert(username+" "+password);
	var url = "/index.php?area=ajax&cmd=userlogin&usetwitteraccount=1";
	$.post(url, {username:username, password:password}, function(data){
		if (data) {									   
			var list = data.split("|");
			if (list[0] == "logged_in") {
				
				if(doRetweet) {
					
					sendTweetNow();
					alert("Thanks for Retweeting!");
				}
 				
				updateUserCenter(list[1], list[2], list[3]);
				successHandler(list[1], list[2], list[3]);
			} else {
				errorHandler(data);
			}
		} else {
			errorHandler("You got a error when login, Please try again!");
		}
		completeHandler();
	});
}
var win_signup;
function showSignUp() {
	if (win_login) {
		$(win_login).remove();
	}
	if (win_signup) {
		$(win_signup).remove();
	}
	win_signup = inlineWin("win_signup", true);
	var url="/index.php?area=ajax&cmd=getWinSignUp";
	$.get(url, {}, function(data){
		$("#win_signup_inner").html(data);
		toCenter("#win_signup");
	});
}
function checkToken() {
	$.post("/index.php?area=ajax&cmd=getToken", function(data){
		if (data && String(data) == twitter_token) {
			setTimeout(checkToken, 1000 * 60 * 2);
		} else {
			window.location.reload();
		}
	});
}
function checkEnter(e) {
	e = e || window.event;
	var key = e.which || e.keyCode;
	if(key == 13) {
		checkLogin();
	}
}
function checkEnter_2(e) {
	e = e || window.event;
	var key = e.which || e.keyCode;
	if(key == 13) {
		checkLogin_2();
	}
}
function checkLogin() {
	var username = $("input[name='twitvid_username']");
	var twitvid_username = username.val();
	if (twitvid_username == "" || twitvid_username == "twitter username") {
		alert("Your username cannot be blank!");
		username.focus();
		return false;
	}
	var password = $("input[name='twitvid_password']");
	var twitvid_password = password.val();
	if (twitvid_password == "" || twitvid_password == "twitter password") {
		alert("Your password cannot be blank!");
		password.focus();
		return false;
	}
	//
	UserLogin(twitvid_username, twitvid_password, function(){
		
		$(".bt_login").addClass("bt_login_disabled");
		$(".twitvid_login_loading").show();												   
	}, function(username, avatar, token) {
		window.location.reload();
	}, function(err_msg) {
		alert(err_msg);
		$(".bt_login").removeClass("bt_login_disabled");
		$(".twitvid_login_loading").hide();
	}, function() {
	});
}

function initButtons() {
	$(".bt_blue").mouseover(function(){
		if (!$(this).hasClass("bt_blue_disabled")) {
			$(this).addClass("bt_blue_over");								 
		}
	}).mouseout(function(){
		if (!$(this).hasClass("bt_blue_disabled")) {
			$(this).removeClass("bt_blue_over");								 
		}
	});
	$(".bt_gray").mouseover(function(){
		$(this).addClass("bt_gray_over");								 
	}).mouseout(function(){
		$(this).removeClass("bt_gray_over");								 
	});
}

var win_settings;
function showSettings() {
	if (win_settings) {
		$(win_settings).remove();
	}
	win_settings = inlineWin("win_settings", true);
	

	//$("#win_settings_inner").html(htm);
	//toCenter("#win_settings");	
	
	var url="index.php?area=ajax&cmd=getWinSettings";
	$.get(url, function(data){
		//alert(data);
		$("#win_settings_inner").html(data);
		toCenter("#win_settings");

	});
	
}
function closeSettings() {
	if (win_settings) {
		$(win_settings).remove();
	}
	hideOverlay();	
}
function saveSettings(o) {
	//alert(o.value + "|" + o.checked);
	$(".settings_saving").show();
	var url = "/index.php?area=ajax&cmd=saveSettings";
	$.post(url, {item:o.value, value:o.checked}, function(data){
		//alert(data);
		$(".settings_saving").hide();
	});
}



function showTip() {
	$(".upload_tip").show();
}
function hideTip() {
	$(".upload_tip").hide();
}

function winclose(o){
	$(o.parentNode).hide().remove();
	hideOverlay();
}
function toCenter(o){
	$(o).css({
		//marginTop: "-" + $(o).height()/2 + "px",
		top: "110px",
		marginLeft: "-" + $(o).width()/2 + "px"
	});
}
function showOverlay(){
	//$("html").css({"overflow":"hidden"});
	$("#overlay").height($(document.body).height()).css({"opacity":"0.5"}).show();
	//$("#overlay").fadeIn(1000, function(){});
}
function hideOverlay(){
	$("#overlay").hide().remove();
}
function inlineWin(id, btx) {
	var overlay = '<div id="overlay" style="display:none;">';
	//fix IE6 select
	if ($.browser.msie && parseInt($.browser.version) < 7) {
		overlay += '<iframe style="width:100%;height:100%;filter:alpha(opacity=0);-moz-opacity:0;"></iframe>';
	}
	overlay += '</div>';
	$(document.body).append(overlay);
	showOverlay();
	//
	var win = "";
	win += '<div id="'+id+'" class="dialog" style="display:none;">';
	win += '<table border="0" cellspacing="0" cellpadding="0">';
    win += '<tr><td class="tl pngfix" width="10" height="10"></td><td class="tb pngfix" height="10"></td><td class="tr pngfix" width="10" height="10"></td></tr>';
    win += '<tr><td class="lr pngfix" width="10"><div class="w10_h1"></div></td>';
	win += '<td><div id="'+id+'_inner" class="inner"><div class="win_loading"></div></div></td>';
	win += '<td class="lr pngfix" width="10"><div class="w10_h1"></div></td></tr>';
    win += '<tr><td class="bl pngfix" width="10" height="10"></td><td class="tb pngfix" height="10"></td><td class="br pngfix" width="10" height="10"></td></tr>';
	win += '</table>';
	if (btx) {
		win += '<div class="bt_close pngfix" onclick="winclose(this);"></div>';	
	}
	win += '</div>';
	$(document.body).append(win);
	win = $("#"+id);
	toCenter(win);
	win.show();
	return win;
}
//gifts =================================================================================================================================
var gift_id;
var win_gift;
function showGift(username, user_id, media_id) {
	gift_id = 0;
	if (win_gift) {
		$(win_gift).remove();
	}
	win_gift = inlineWin("win_gift", true);
	//
	var url="/index.php?area=ajax&cmd=getWinGift";
	$.get(url, {username:username, user_id:user_id, media_id:media_id}, function(data){
		$("#win_gift_inner").html(data);
		toCenter("#win_gift");
		sampleText($("textarea[name='gift_message']"), "Thanks for posting this TwitVid!");
		sampleText($("input[name='gift_username']"), "twitter username");
		sampleText($("input[name='gift_password']"), "twitter password");
		initButtons();
	});
}
function selectGift(o, id) {
	$(".gift_item").removeClass("gift_item_selected");
	$(o).addClass("gift_item_selected");
	gift_id = id;
}

function sendGift(o, receiver, user_id, media_id) {
	if ($(o).hasClass("bt_blue_disabled")) {
		return false;
	}
	if (!gift_id) {
		alert("Please select a gift!");	
		return false;
	}
	if (!logged_in) {
		var username = $("input[name='gift_username']");
		var gift_username = username.val();
		if (gift_username == "" || gift_username == "twitter username") {
			alert("Your username cannot be blank!");
			username.focus();
			return false;
		}
		var password = $("input[name='gift_password']");
		var gift_password = password.val();
		if (gift_password == "" || gift_password == "twitter password") {
			alert("Your password cannot be blank!");
			password.focus();
			return false;
		}
		UserLogin(gift_username, gift_password, function(){
			$(o).addClass("bt_blue_disabled");
			$(".gift_login_loading").show();
		}, function(username, avatar, token) {
			$(".gift_login").hide();
			checkGiftToken(token, o, receiver, user_id, media_id);
		}, function(err_msg) {
			$(o).removeClass("bt_blue_disabled");
			$(".gift_login_loading").hide();
			alert(err_msg);
		}, function() {
		});
	} else {
		checkGiftToken($("input[name='gift_token']").val(), o, receiver, user_id, media_id);
	}
}

function checkGiftToken(token, o, receiver, user_id, media_id) {
	if (!token) {
		logged_in = false;
		$(o).removeClass("bt_blue_disabled");
		$(".gift_login_loading").hide();
		alert("Your twitter token is invalid, Please try to login again!");	
	} else {
		var message = $("textarea[name='gift_message']").val();
		$(o).addClass("bt_blue_disabled");
		$(".gift_login_loading").show();
		var url="/index.php?area=ajax&cmd=sendGift";
		$.post(url, {gift_id:gift_id, message:message, user_id:user_id, media_id:media_id}, function(data){
			var url="/index.php?area=ajax&cmd=getWinUserGifts";
			$.post(url, {username:receiver, user_id:user_id}, function(data){
				$(".gift_send_flow").html(data);
				initButtons();
			});
		});
	}
}

function showAllGifts(user_id) {
	$(".usergift_list_loading").show();
	var url="/index.php?area=ajax&cmd=getAllUserGifts";
	$.post(url, {user_id:user_id, page:1, page_size:10}, function(data){
		$(".usergift_list_loading").hide();
		$(".usergift_list").html(data);
	});
}


function cancelGift(){
	closeGift();
}
function closeGift() {
	if (win_gift) {
		$(win_gift).remove();
	}
	hideOverlay();	
}

function setRetweetToWatchOn(video_guid) {
	var url="/index.php?area=ajax&cmd=setRetweetToWatchOn";
	$.post(url, {guid:video_guid}, function(data){
		var i=0;
	});
}
function proShowLogin() {
	createCookie("goPro", "1", 1);
	showLogin('Please login to upgrade to a Pro Account');
}
