var currentPopup = null;
function loadPopup(popUp){
	//loads popup only if it is disabled
	if(currentPopup==null){
		$("#backgroundPopup").css({
			"opacity": "0.7"
		});
		$("#backgroundPopup").css("display","block");
		popUp.css("display","block");
		currentPopup = popUp;
	}
}
function disablePopup(popUp){
	if(currentPopup!=null){
		$("#backgroundPopup").css("display","none");
		popUp.css("display","none");
		currentPopup.css("display","none");
		currentPopup = null;
	}
}

function centerPopup(popUp){
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight = document.documentElement.clientHeight;
	var popupHeight = popUp.height();
	var popupWidth = popUp.width();
	popUp.css({
		"position": "absolute",
		"top": windowHeight/2-popupHeight/2,
		"left": windowWidth/2-popupWidth/2
	});
	$("#backgroundPopup").css({
		"height": windowHeight
	});
}

function showInterestPopup(){
	centerPopup($("#popupContactDemo"));
	loadPopup($("#popupContactDemo"));
}

$(document).ready(function(){
	
	//demo window  code here
	$("#DemoSubmit").click(function(e){
		e.preventDefault();
		var uemail=$("#DemoEmail").attr("value");
		var uname=$("#DemoName").attr("value")
		if(uname!="" && uemail!="" && isValidEmailAddress(uemail)){
			$.post("demo.php", {name:uname, email:uemail},
				   function(data){
						disablePopup($("#popupContactDemo"))
					})
		}else{
			$("#DemoErr").html("please input valid data");	
		}
	})
	$("#popupContactCloseDemo").click(function(e){
	e.preventDefault();
	disablePopup($("#popupContactDemo"))
	})
	
	setTimeout("showInterestPopup()",2000);
	
	
	
	$(".anchorTop").click(function(e){
		e.preventDefault();
		 $("html:not(:animated),body:not(:animated)").animate({ scrollTop: 0}, 1000, function(){});
	})
	
	$("#lostPass").click(function(){
		centerPopup($("#popupContact"));
		loadPopup($("#popupContact"));
	});
	$("#popupContactClose").click(function(){
		disablePopup($("#popupContact"));
	});
	$("#backgroundPopup").click(function(){
		disablePopup($("#popupContact"));
	});

	$(document).keypress(function(e){
		if(e.keyCode==27 && popupStatus==1){
			disablePopup();
		}
	});
	
	$("#lostPassSubmit").click(function(e){
		if($("#lostPassEmail").attr("value")=="" || !isValidEmailAddress($("#lostPassEmail").attr("value"))){
			$("#lostPassErr").html("Please enter valid email");
			return;
		}								
		$.post("logIn.php", { action:"lostPassword",email:$("#lostPassEmail").attr("value") },function(data){
			$("#lostPassErr").html(data+"<a id='lostPassClose'>close</a>");
			$("#lostPassErr #lostPassClose").click(function(){
															disablePopup()
															})
		})
	})

});


function limitChars(textid, limit, infodiv)
{
	var text = $('#'+textid).val();	
	var textlength = text.length;
	if(textlength > limit)
	{
		$('#' + infodiv).html('You cannot write more then '+limit+' characters!');
		$('#'+textid).val(text.substr(0,limit));
		return false;
	}
	else
	{
		$('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');
		return true;
	}
}
// validating email
function isValidEmailAddress(emailAddress) {
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		return pattern.test(emailAddress);
}
// limits the chars
function limitChars(textid, limit, infodiv)
{
	var text = $('#'+textid).val();	
	var textlength = text.length;
	if(textlength > limit)
	{
		$('#' + infodiv).html('You cannot write more then '+limit+' characters!');
		$('#'+textid).val(text.substr(0,limit));
		return false;
	}
	else
	{
		$('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');
		return true;
	}
}
function doLogIn(uname,pass,remember,error){
	
	if(uname.attr("value")!="" && pass.attr("value")!=""){
		$.post("logIn.php", { 
			   action:"login",
			   name: uname.attr("value"),
			   pass: pass.attr("value"),
			   remUser:remember.attr("value")
			   },
			   function(data){
				 if(data!=0){
					setUserLogged(data)
				 }else{
					 error.html("The username or password you entered are incorrect.");
					//$("#errReport").html("The username or password you entered are incorrect.");
				 }
		});
	}else{
		return "Please enter user name and password";
	}
	
	
}
function setUserLogged(data){
	$("#logRegNavig a#topNavigLogOut").show();
	$("#logRegNavig a#topNavigLogIn, #logRegNavig a#topNavigRegister").hide();
	$("#form_bar").animate({height: "0px"});
	$("#loginPanel").hide();
	$("#regPanel").hide();
	$("#logRegNavig a#topNavigClose").fadeOut();
	$("#welcomeMsg").html(data);
	$("#errReport").html("");
	if(enableComments!=null){
		enableComments()	
	}
	userLogged=true;
	userName=data;
	/*ask q*/
	$("#character").hide();
	$("#logRegPanel").hide();
	$("#PromoteThis").show();
}
function doLogOut(){
	$.post("logIn.php", 
		   {action:"logout"},
		   function(data){
				$("#logRegNavig a#topNavigLogIn, #logRegNavig a#topNavigRegister").show();
				$("#welcomeMsg").html("Welcome");
				alert("loggedOut");
				if(disableComments!=null){
					disableComments()	
				}
				userLogged=false;
				userName="";
				$(".slydeRep").hide();
				/*ask q*/
				$("#character").show();
				$("#logRegPanel").show();
				$("#PromoteThis").hide();
			});	
}
function doRegister(uname,pass,cpass,email){
	if(uname.attr("value")==""){
		return "Please enter valid user name";
	}
	if(pass.attr("value")==""){
		return "Please enter valid password";
	}
	if(cpass.attr("value")=="" || cpass.attr("value")!=pass.attr("value")){
		return "Please confirm your password";
	}
	if(email.attr("value")=="" || !isValidEmailAddress(email.attr("value"))){
		return "Please enter valid email";
	}
	$.post("logIn.php", { 
	   action:"register", 
	   name: uname.attr("value"), 
	   pass: pass.attr("value"), 
	   email: email.attr("value") },
	   function(data){
			 if(data!=0){
				 setUserLogged(data)
			 }
		})	
}
// init
$(function(){
	
	var panelSize="60px";
	
	//$(".botomInfo").hide();	
	$("#loginPanel").hide();
	$("#regPanel").hide();
	$("#logRegNavig a#topNavigClose").hide();
	$("#logRegNavig a#topNavigLogOut").hide();
	
	$("#logRegNavig a#topNavigLogIn, #logRegNavig a#topNavigRegister").click(function(){
		$("#logRegNavig a#topNavigClose").fadeIn();
		$("#logRegNavig a").removeClass("active");												 
		$(this).addClass("active");										 
		$("#form_bar").animate({height: panelSize}, {duration: 1300, easing: "easeOutElastic"});
	});
	$("#logRegNavig a#topNavigLogIn").click(function(){
											$("#regPanel").hide();
											$("#loginPanel").show();
											$("#errReport").html("");
											})
	$("#logRegNavig a#topNavigRegister").click(function(){
											$("#loginPanel").hide();
											$("#regPanel").show();
											$("#errReport").html("");
											})
	$("#notMemRegister").click(function(){
										$("#regPanel").show();
										$("#loginPanel").hide();
										$("#errReport").html("");
										})									
	$("#logRegNavig a#topNavigLogOut").click(function(){
											$(this).hide();
											doLogOut();
										})	
	
	$("#logRegNavig a#topNavigClose").click(function(){
		$("#loginPanel").hide();
		$("#regPanel").hide();
		$("#logRegNavig a").removeClass("active");												 									 
		$("#form_bar").animate({height: "0px"});		
		$("#logRegNavig a#topNavigClose").fadeOut();
	});
	
	$("#btnLogIn").click(function(){
		 logIn();
	})
	$("#btnRegister").click(function(){
		register();
	})
	
	$("#logUsername, #logPassword, #chkRemember").focus(function(){ 
														   $(document).unbind("keypress"); 
														   $(document).keypress(function(e){
																						 if(e.keyCode==13){	logIn();}
																						 }); 
														   })
	$("#logUsername, #logPassword, #chkRemember").blur(function(){
														  $(document).unbind("keypress");
														  })
	
	$("#regUsername, #regPassword,#regConfirmPassword, #regEmail").focus(function(){ 
																				  $(document).unbind("keypress"); 
																				  $(document).keypress(function(e){
																												if(e.keyCode==13){	register();}
																												}); 
																				  })
	$("#regUsername, #regPassword,#regConfirmPassword, #regEmail").blur(function(){
																				 $(document).unbind("keypress");
																				 })
	
	
	//categoris accordion
	 $('#menuCateg ul').hide();
	  $('#menuCateg li a').click(
		function() {
		  var checkElement = $(this).next();
		  if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
			return false;
			}
		  if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
			$('#menuCateg ul:visible').slideUp('normal');
			checkElement.slideDown('normal');
			return false;
			}
		  }
		);
	  $('.wikiAcordion div').hide();
	  $('.wikiAcordion div:first ').show();
	  $('.wikiAcordion a.Title').click(
		function() {
		  var checkElement = $(this).next();
		  if((checkElement.is('div')) && (checkElement.is(':visible'))) {
			return false;
			}
		  if((checkElement.is('div')) && (!checkElement.is(':visible'))) {
			$('.wikiAcordion div:visible').slideUp('normal');
			checkElement.slideDown('normal');
			return false;
			}
		  }
		);
	  //drop shadow
	$(".RightSideContent h3 a").dropShadow({left: 2,top: 1,blur: 0,opacity: 1,color: "white",swap: false});
	$(".leftSideContent .shd").dropShadow({left: 1,top: 1,blur: 0,opacity: 1,color: "#1e6d9d",swap: false});
	//counter
	$('#commentRight').keyup(function(){
 		limitChars('commentRight', 140, 'charlimitinfoRight');
 	})
	$('#comments').keyup(function(){
 		limitChars('comments', 140, 'charLimit');
 	})
	
	
	function logIn(){
			$("#errReport").html(doLogIn($("#logUsername"),$("#logPassword"),$("#chkRemember"),$("#errReport")));
	}
	
	function register(){
		$("#errReport").html(doRegister($("#regUsername"),$("#regPassword"),$("#regConfirmPassword"),$("#regEmail")));
	}
	// once the user logs in
	
	if(userLogged){
		setUserLogged(userName)
	}else{
		if(disableComments!=null){
			disableComments()	
		}
	}
})