var mapPending   = false;
var replyPending = false;
var postPending  = false;

function loadLogin() {
	removeWindows();
	lockPage();
	$("#pageLock").html('');
	$("#loginWindow").remove();
	$("body").append("<div id='loginWindow'></div>");
	$("#loginWindow").load(themeUrl+'/tpl/files/loginPage.tpl.php',{});
	scroll(0,0);
}

function startLogin(e) {
	 if(e.keyCode == 13) {
		 doLogin();
	 }
}

function doLogin() {
	
	var userEmail = $.trim($("#userEmail").val());
	var passwd    = $.trim($("#passwd").val());
	var error     = false;
	
	$("#userEmail").removeClass("textErr");
	$("#passwd").removeClass("textErr");
	$("#labelEmail").removeClass("labelErr");
	$("#labelpasswd").removeClass("labelErr");
	
	if(!(/(^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$)/i).test(userEmail)){
	  error = true;
	  $("#userEmail").addClass("textErr");
	  $("#labelEmail").addClass("labelErr");
	}
	if(passwd == "") {
		error = true;
		$("#passwd").addClass("textErr");
		$("#labelpasswd").addClass("labelErr");
	}
	
	if(error) {
	  return false;
	}
	else {
		loginAjax(userEmail, passwd, 0, false);
	}
}

function loginAjax(userEmail, passwd, userId, multiLog) {
	
	  var action   = (multiLog == true) ? 'reset':'';
	  var remember = ($('#rememberMe').is(":checked")) ? true: false;
	  $.post(appUrl+'/app/files/userLogin.ajx.php',
		{ 
		   userEmail:userEmail,
		   passwd:passwd,
		   userId:userId,
		   action:action,
		   remember:remember
		}, function(responseData) {
			var response = filterResponse(responseData);
			if(response.status == "success") {
				 $("#loginLink").html('<img src="'+themeUrl+'/images/btn.logout.gif" alt="Logout" title="Logout" />');
				 $("#loginLink").attr("href", appUrl+"/logout/");
				 $("#loggedUser").html(response.userName);
				 $("#myavtar").attr("src",response.userImage);
				 $("#myavtar").show();
				 if(postPending) {
					 
					postTopics();
				    unlockPage();
				 }
				 else if(replyPending) {
					 
					postReply();
				    unlockPage();
				 }
				 else if(mapPending) {
					voteTopic();
				 }
				 else {
				    unlockPage();
				 }
			}
			else if(response.status == "exists") {
			    if(confirm(response.error)) {
				   loginAjax(userEmail, passwd, response.phpUserId, true);
				   return false;
				}
			}
			else if(response.status == "failed") {
				alert(response.error);
			}
		}
	);
}

function lockPage(){
	$("body").append("<div id='pageLock'><img class=\"page_loading\" src='"+themeUrl+"/images/loadingAnimation.gif' /></div>");
	overlaySize();
}
function unlockPage(){
	removeWindows();
	replyPending = false;
	postPending  = false;
	mapPending   = false;
}
function removeWindows() {
	$("#loginWindow").remove();
	$('#pageLock').remove();
	$("#editWindow").remove();
	$("#avtarWindow").remove();
}

function overlaySize(){ 
	if (window.innerHeight && window.scrollMaxY || window.innerWidth && window.scrollMaxX) {  
		yScroll  = window.innerHeight + window.scrollMaxY;
		xScroll  = window.innerWidth + window.scrollMaxX;
		var deff = document.documentElement;
		var wff  = (deff&&deff.clientWidth) || document.body.clientWidth || window.innerWidth || self.innerWidth;
		var hff  = (deff&&deff.clientHeight) || document.body.clientHeight || window.innerHeight || self.innerHeight;
		xScroll -= (window.innerWidth - wff);
		yScroll -= (window.innerHeight - hff);
	}else if (document.body.scrollHeight > document.body.offsetHeight || document.body.scrollWidth > document.body.offsetWidth){ // all but Explorer Mac
		yScroll  = document.body.scrollHeight;
		xScroll  = document.body.scrollWidth;
	}else{ // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		yScroll  = document.body.offsetHeight;
		xScroll  = document.body.offsetWidth;
	}
	$("#pageLock").css({"height": yScroll, "width": xScroll});
}

/*
function incrementText(elmntId) {
        var newHeight = $("#"+elmntId)[0].scrollHeight;
		if(newHeight > 100) {
	       //$("#"+elmntId).css("height",newHeight+"px"); //  = text_area.scrollHeight - ((isIE())?0:2) + "px";
		}
}
*/


function incrementText(elmntId) {

        var element    = "#"+elmntId;
       // var browser    = !($.browser.msie || $.browser.opera);		
		var e = $(element)[0];		   
			
	//	if(browser) {						
		   $(element).css("height","100px");
	//	}
		
		var newHeight = e.scrollHeight;
		if(newHeight>110) {	
  		   $(element).css("height",newHeight+"px"); 
		}
}

function privacyPolicy(){
    var winwidth  = 642;
    var winheight = 600;
    var wposx     = (screen.width-640 )/2;
    var wposy     = (screen.height-600 )/2;;
    var file      = 'http://iplotz.com/privacy.php';
    var popupWin  = window.open(file, "iplotzprivacy", "status=no,resizable=no,toolbar=no,scrollbars=yes,screenX=" + wposx + ",screenY=0,left=" + wposx + ",top=" + wposy + ",width=" + winwidth + ",height=" + winheight);
    popupWin.focus();
}

function loadInstallWindow() {
	lockPage();
	$("#pageLock").html('');
	$("body").append("<div id='installWindow'></div>");
	scroll(0,0);
	$("#installWindow").load(webUrl+'/badge/EmbedDemo.html',{});
}

function unlockInstallWin() {
	$("#installWindow").remove();
	unlockPage();	
}
function forgotPassword(){
	$('#forgoterrorBoxMsg').html("");
	$('#errorBoxmsg').html("");
	$('#forgoterrorBoxMsg').hide();
	$('#errorBoxmsg').hide();
	
	
	$('#loginWin').hide();
	$('#forgotWin').show();
}
function postForgotCancel(){
	$('#loginWin').show();
	$('#forgotWin').hide();
	
}
function doResetPassword() {
	$('#forgoterrorBoxMsg').hide();
	$('#errorBoxmsg').hide();
	
	var forgotemail = $.trim($("#forgotemail").val());
	var error     = false;
	
	$("#forgotemail").removeClass("textErr");
	$("#labelForgotEmail").removeClass("labelErr");
	
	if(!(/(^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$)/i).test(forgotemail)){
	  error = true;
	  $("#forgotemail").addClass("textErr");
	  $("#labelForgotEmail").addClass("labelErr");
	}
	
	if(error) {
	  return false;
	}
	else {
		resetAjax(forgotemail);
	}
}

function resetAjax(forgotemail) {
	var remember = "";
	  $.post(appUrl+'/app/files/userResetPassword.ajx.php',
		{ 
		   forgotemail:forgotemail,
		   remember:remember
		}, function(responseData) {
			var response = filterResponse(responseData);
			if(response.status == "success") {
				$('#forgoterrorBoxMsg').show();
				$('#forgoterrorBoxMsg').html(response.successmessage);	
			}
			else if(response.status == "failed") {
				$('#errorBoxmsg').show();
				$('#errorBoxmsg').html(response.error);	
			}
		}
	);
}



