// GET ELEMENT BY ID
function getElement(id) {
	return document.getElementById(id);
}

function getLoginWidgetMsg(mode) {
	if(mode == 'convTracker') msg = 'You must have a free Newsvine account to use the Conversation Tracker.';
	else if(mode == 'topNav') msg = 'Existing users log in below. New users please register for a new account.';
	else msg = 'Existing users log in below. New users please register for a new account.';
	return msg;
}


function loginWidget(mode) {
	var iHTML = '';
	iHTML += '<a href="javascript:void(0);" onclick="this.parentNode.parentNode.removeChild(this.parentNode);return false;"><img src="http://www.newsvine.com/_vine/images/_/b_close.gif" width="10" height="10" style="position: absolute; top: -1px; right: -1px; border: none" /></a>';
	iHTML += '<div style="margin: 15px"><p style="font-weight: normal">'+getLoginWidgetMsg(mode)+'</p>';
	iHTML += '<div class="loginWidget_left"><h3>New Users:</h3><div><input type="submit" class="sub_bttn_reg" name="submit" value="Register Now" /></div></div>';
	iHTML += '<div class="loginWidget_right"><h3>Existing Users:</h3><form method="post" action="####">';
	iHTML += '<input type="hidden" name="m" value="login" /><span class="loginWidget_message"></span>';
	iHTML += '<div>E-Mail: <input type="text" name="email" style="width: 130px; margin-bottom: 5px" /></div>';
	iHTML += '<div>Password: <input type="password" name="pass" style="width: 130px; margin-bottom: 5px" /></div>';
	iHTML += '<div><a href="javascript:void(0);" onclick="toggleForgotPass(this, true, \''+mode+'\');" style="color: #fff; font-size: 9px">Forgot Password?</a></div>';
	iHTML += '<div><input type="submit" class="sub_bttn_reg" name="submit" value="Log In" /></div>';
	iHTML += '</form></div><div style="clear: both"></div></div>';
	return iHTML;
}

function forgotPassWidget(mode) {
	var iHTML = '';
	iHTML += '<a href="javascript:void(0);" onclick="this.parentNode.parentNode.removeChild(this.parentNode);return false;"><img src="http://www.newsvine.com/_vine/images/_/b_close.gif" width="10" height="10" style="position: absolute; top: -1px; right: -1px; border: none" /></a>';
	iHTML += '<div style="margin: 15px"><p style="font-weight: normal">'+getLoginWidgetMsg(mode)+'</p>';
	iHTML += '<div class="loginWidget_left"><h3>New Users:</h3><div><input type="submit" class="sub_bttn_reg" name="submit" value="Register Now" /></div></div>';
	iHTML += '<div class="loginWidget_right"><p id="forgotPassEmailMessage">Please enter the e-mail address or domain name you registered with:</p><form method="post" action="####">';
	iHTML += '<input type="hidden" name="m" value="forgot" /><span class="loginWidget_message"></span>';
	iHTML += '<div id="forgotPassEmailDiv">E-Mail/Domain:&nbsp;&nbsp;<input type="text" name="email" style="width: 130px; margin-bottom: 5px" /></div>';
	iHTML += '<div id="backToLoginDiv"><a href="javascript:void(0);" onclick="toggleForgotPass(this, false, \''+mode+'\');" style="color: #fff; font-size: 9px">Back to Login</a></div>';
	iHTML += '<div><input type="submit" class="sub_bttn_reg" name="submit" value="Log In" /></div>';
	iHTML += '</form></div><div style="clear: both"></div></div>';
	return iHTML;
}


function toggleForgotPass(thisItem, showForgotPassWidget, mode) {
	if(showForgotPassWidget) {
		thisItem.parentNode.parentNode.parentNode.parentNode.parentNode.innerHTML = forgotPassWidget(mode);
	} else {
		thisItem.parentNode.parentNode.parentNode.parentNode.parentNode.innerHTML = loginWidget(mode);
	}
}


function setLoginWidgetPosition(thisItem, newDiv, mode) {
	if(mode == 'topNav') {
		topItem = thisItem.parentNode;
		newDiv.style.top = (topItem.offsetTop+52)+'px';
		newDiv.style.left = (topItem.offsetLeft-84)+'px';
	} else {
		newDiv.style.top = (thisItem.offsetTop+thisItem.offsetHeight)+'px';
		newDiv.style.left = (thisItem.offsetLeft)+'px';
	}
}

function setUserBG() {
	if(getCookie('assumedUser')) {
		document.body.style.backgroundColor = 'red';
	}
}

function toggleLogin(thisItem, mode, id) {

	var divId = 'loginWidget_'+mode+(id ? '_'+id : '');
	if(getElement(divId)) {
		getElement(divId).parentNode.removeChild(getElement(divId));
	} else {
		var newDiv = document.createElement('DIV');
		newDiv.id = divId;
		newDiv.className = 'loginWidget';
		newDiv.innerHTML = loginWidget(mode);
		newDiv.style.zIndex = 99999;
		setLoginWidgetPosition(thisItem, newDiv, mode);
		getElement('top').appendChild(newDiv);
		if(newDiv.getElementsByTagName('form').length > 0) {
			newDiv.getElementsByTagName('form')[0].elements.email.focus();
		}
	}
	
}

function doWidgetForgotPass(thisItem) {
	items = thisItem.form.elements;
	msgDiv = thisItem.parentNode.parentNode.getElementsByTagName('SPAN')[0];
	if(!items.email.value.trim()) {
		msgDiv.innerHTML = 'Please enter a e-mail address<br>or domain name.';
	} else {
		var domain = '';
		var email = items.email.value.trim();
		if(email.indexOf('@') == -1) {
			domain = '&domain='+encodeURIComponent(email);
			email = '@';
		}
		var url = '/_login/proxy?path=/servista/reset&t=cp&email='+encodeURIComponent(email)+domain+'&rd=http://www.newsvine.com/_vine/images/_/blank.gif';
		getJS(url, function(AJAX) {});
		getElement('forgotPassEmailMessage').innerHTML = 'An e-mail has been sent to your Inbox. Please follow the instructions in the email to reset your password.';
		getElement('forgotPassButton').innerHTML = '<a href="javascript:void(0);" class="noborder" onclick="this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode.parentNode.parentNode.parentNode);return false;"><img src="http://www.newsvine.com/_vine/images/_/b_closewindow.gif" /></a>';
		getElement('backToLoginDiv').style.display = 'none';
		getElement('forgotPassEmailDiv').style.display = 'none';
	}
}


function doWidgetLogin(thisItem) {
	items = thisItem.form.elements;
	msgDiv = thisItem.parentNode.parentNode.getElementsByTagName('SPAN')[0];
	if(!items.email.value.trim() || !items.pass.value.trim()) {
		msgDiv.innerHTML = 'No match. Please try again.';
	} else {
		msgDiv.innerHTML = 'Checking ...';
		var data = '';
		var email = items.email.value.trim();
		if(email.indexOf('@') == -1) {
			data = 'domain='+encodeURIComponent(email);
		} else {
			data = 'email='+encodeURIComponent(email);
		}
		data += '&pass='+encodeURIComponent(items.pass.value.trim());
		postJS("/_action/user/doLogin", function(AJAX) {
			if(AJAX.responseText == 1) {
				msgDiv.innerHTML = 'Logging in ...';
				location.href = location.href;
			} else {
				msgDiv.innerHTML = 'No match. Please try again.';
			}
		}, data);
	}
	return false;
}