// JavaScript Document

var basepath = "/";

$().ready(function(){
	welcome_init();
	weather_func_init();
	signin();
	check_survey();
	comments_init();
	check_surveys_list();
	check_emailToFriend();
	check_external_links();
});

function welcome_init(){
	if($("#welcome").size() > 0){
		$("#welcome a").click(function(){
			var req_address = $(this).attr("href");
			req_address += "&ac=true";
			$.get(req_address,function(data){
				$("#welcome").fadeOut("slow");					   
			});
			return false;							  
		});	
	}
};

function check_survey(){
	if($("#survey").length > 0){
		$("#survey").submit(function(){			
			var req_address = $(this).attr("action");
			req_address += "&ac=true";
			var serial = $(this).serialize();			
			$.post(req_address,serial,function(data){
				$("#survey_box").html(data);
				$("#survey_box").fadeIn("slow");
			});
			return false;	
		});
	}//end if
};

function check_external_links(){
	$(".article a").each(function(){
		$(this).attr("target","_blank");							  
	});
}

function check_emailToFriend(){
	if($("#emailtoafriend").length > 0){
		var process_url = $("#emailtoafriend").attr("href");
		$("#emailtoafriend").click(function(){	
			if($(".emailtofriend").length > 0){
				$(".emailtofriend").slideUp("slow",function(){
					$(".emailtofriend").remove();											
				});
			} else {
				$.get(basepath+"inc/emailfriend.php", function(data){
					$("#service_menu").after(data);	
					$("#emailfriend_form").submit(function(){
						//check if the fields are empty
						//if($("#youremail").val() != "" && $("#yourname").val() != "" && $("#friendemail").val() != "" && $("#friendname").val() != ""){
						if($("#youremail").val() != "" && $("#friendemail").val() != ""){
							var req_address = process_url;
							req_address += "&ac=true";			
							var serial = $(this).serialize();							
							$.post(req_address,serial,function(data){
													
								//if the message has been send, just fadeout the form							
								if(data == "ok"){
									//$(".emailtofriend").html(data);
									$(".emailtofriend").slideUp("slow",function(){
										$(".emailtofriend").remove();											
									});
								} else {
								alert("nothing");
								}
							});
						} else {
							//Some errors were occured
							$("#emailfriend_form").before('<div class="errors_box"><p><strong>Please fill all the compulsory fields</strong></p></div>');
							$(".errors_box").fadeIn("slow");
							$("#youremail").click(function(){
								$(".errors_box").fadeOut("slow",function(){
									$(".errors_box").remove();										 
								});				   
							});
							$("#friendemail").click(function(){
								$(".errors_box").fadeOut("slow",function(){
									$(".errors_box").remove();										 
								});					   
							});
						}//end if
						return false;								  
					});
				});	
			}//end if
			return false;	
		});
	}//end if
};

function comments_init(){
	if($("#newcomment").length > 0){
		$("#newcomment").submit(function(){		
			$("#newcomment .submit").attr("disabled","disabled");
			var req_address = $(this).attr("action");
			req_address += "&ac=true";			
			var serial = $(this).serialize();	
			if($("#message").val() != ""){
				$.post(req_address,serial,function(data){		
					if($(".comments").size() == 0){
						$(".article:last").after('<h4>Comments</h4><ol class="comments"></ol>')	;
					}
					$(".comments").append(data);
					$(".comments").find("li:last").fadeIn("slow");
					$("#title").val("");
					$("#message").val("");
					$("#newcomment .submit").attr("disabled","");
				});
			} else {
				$("#newcomment .submit").attr("disabled","");
			}//end if
			return false;	
		});
	}//end if
};

function jokes_init(){
	if($("#newjoke").length > 0){
		$("#newjoke").submit(function(){		
			$("#newjoke .submit").attr("disabled","disabled");
			var req_address = $(this).attr("action");
			req_address += "&ac=true";			
			var serial = $(this).serialize();	
			if($("#message").val() != ""){
				$.post(req_address,serial,function(data){					
					$("#newjoke").html(data);	
					$("#newjoke").fadeIn("slow");
				});
			} else {
				$("#newjoke .submit").attr("disabled","");
			}//end if
			return false;	
		});
	}//end if
};

function new_joke(){
	$("#addjoke").click(function(){
		var params_sent = $(this).attr("rel");	
	});
};


//Remember to add in the array any new popup
function check_open_popups(current){
	var popups = Array('weatherbox','signin_box','signin_bar');	
	for(i = 0; i < popups.length; i++){
		if(popups[i] != current){
			$("#"+popups[i]).remove();	
			//Exceptions
			if(popups[i] == 'signin_bar'){
				$("#unregistered_advise").show();	
			}//end if
		}//end if	
	}//end for
};

function weather_func_init(){
	$("#weather_icon").click(function(){	
		if($("#weatherbox").size() == 0){		
			check_open_popups("weatherbox");
			var pos = $("#weather_icon").offset();
			//alert(pos.right + " " + pos.left + " " + pos.top + " " + pos.bottom); 			
			$.get(basepath+'inc/weather.pop.inc.php', function(data){
				$("body").append(data);			
				var newtop = pos.top-6;
				var newright = pos.left+14;
				$("#weatherbox").css("top",newtop);
				$("#weatherbox").css("left",newright);
				$(".popup_closer").click(function(){
					$("#weatherbox").remove();								  
				});
			});
		} else {
			$("#weatherbox").remove();
		}//end if
	});
};

function signin(){
	signin_init();
	signin_article_init();
	signin_competition_init();
};

function signin_article_init(){
	if($("#article_signin").size() != 0){			
		$("#article_signin").click(function(){
			check_open_popups("signin_bar");
			var params_sent = $(this).attr("rel");			
			$.get(basepath+'inc/signin.bar.inc.php',function(data){	
															 
				$("#unregistered_advise").parent().after(data);					
				$("#unregistered_advise").hide();
				//Submit form
				$("#bar_login").submit(function(){
					var req_address = $(this).attr("action");
					req_address += "&ac=true";			
					var serial = $(this).serialize();
					$.post(req_address,serial,function(data){						
						if(data != "ko"){
							$("#signin_bar").fadeOut("slow");
							$("#signin_func a").remove();
							$("#signin_func").text(data);
							$(".topfloating li:last").html('<a href="'+basepath+'process.php?action=logout&amp;pp='+$("link[rel=currentpage]").attr("href")+'">Sign Out</a>');
							var ps = params_sent.split(",");
							$.get(basepath+'process.php?action=newcomment_form&id='+ps[0]+'&s='+ps[1]+'&c='+ps[2],function(data){																			
								$("#unregistered_advise").parent().after(data);		
								//$(".comments").remove();
							});							
			
						} else {
							$("#bar_login").fadeOut(200, function(){
								$("#signin_bar_error").fadeIn(200);											  
							});							
						}//end if
					});
					return false;
				});
			
				
				//Forgotten password
				$(".bar_forgotpwd_link").click(function(){														
					if($("#bar_login").css("display") != "none"){
						$("#bar_login").fadeOut(200, function(){
							$("#bar_forgotpwd").fadeIn(200);											  
						});		
					} else {
						$("#signin_bar_error").fadeOut(200, function(){
							$("#bar_forgotpwd").fadeIn(200);											  
						});		
					}//end if
					$("#bar_forgotpwd").submit(function(){
						var req_address = $(this).attr("action");
						req_address += "&ac=true";			
						var serial = $(this).serialize();			
						$.post(req_address,serial,function(data){	
							if(data == "ok"){
								$("#bar_forgotpwd").fadeOut(200,function(){
									$("#signin_bar_message").text("Please check your email, we have sent you a confirmation mail to reset your password");
									$("#signin_bar_message").fadeIn(200);
								});
							} else {
								$("#bar_forgotpwd").fadeOut(200,function(){
									$("#signin_bar_message").html('That email address isn\'t valid, <a href="#" onclick="bar_back_to_forgotpwd_form();return false;">please try again</a>');
									$("#signin_bar_message").fadeIn(200);
								});
							}//end if
							//$("#signin_bar").remove();							
					   	});
						return false;
					});
				});
				//Closing popup
				$(".bar_closer").click(function(){
					$("#signin_bar").fadeOut("slow",function(){$("#signin_bar").remove();});	
					$("#unregistered_advise").show();
				});
				
				$("#signin_bar a").click(function(){
					return false;						 
				});
			});			
			return false;									
		});	
	}
}

function signin_competition_init(){
	if($("#competition_signin").size() != 0){			
		$("#competition_signin").click(function(){
			check_open_popups("signin_bar");
			var params_sent = $(this).attr("rel");			
			$.get(basepath+'inc/signin.bar.inc.php',function(data){	
															 
				$("#unregistered_advise").parent().after(data);					
				$("#unregistered_advise").hide();
				//Submit form
				$("#bar_login").submit(function(){
					var req_address = $(this).attr("action");
					req_address += "&ac=true";			
					var serial = $(this).serialize();
					$.post(req_address,serial,function(data){						
						if(data != "ko"){
							$("#comp_submit").removeAttr("disabled");
							$("#signin_bar").fadeOut("slow");
							$("#signin_func a").remove();
							$("#signin_func").text(data);
							$(".topfloating li:last").html('<a href="'+basepath+'process.php?action=logout&amp;pp='+$("link[rel=currentpage]").attr("href")+'">Sign Out</a>');
							/*var ps = params_sent.split(",");
							$.get(basepath+'process.php?action=newcomment_form&id='+ps[0]+'&s='+ps[1]+'&c='+ps[2],function(data){																			
								$("#unregistered_advise").parent().after(data);		
								//$(".comments").remove();
							});		*/
						} else {							
							$("#bar_login").fadeOut(200, function(){
								$("#signin_bar_error").fadeIn(200);											  
							});							
						}//end if
					});
					return false;
				});
			
				
				//Forgotten password
				$(".bar_forgotpwd_link").click(function(){														
					if($("#bar_login").css("display") != "none"){
						$("#bar_login").fadeOut(200, function(){
							$("#bar_forgotpwd").fadeIn(200);											  
						});		
					} else {
						$("#signin_bar_error").fadeOut(200, function(){
							$("#bar_forgotpwd").fadeIn(200);											  
						});		
					}//end if
					$("#bar_forgotpwd").submit(function(){
						var req_address = $(this).attr("action");
						req_address += "&ac=true";			
						var serial = $(this).serialize();			
						$.post(req_address,serial,function(data){	
							if(data == "ok"){
								$("#bar_forgotpwd").fadeOut(200,function(){
									$("#signin_bar_message").text("Please check your email, we have sent you a confirmation mail to reset your password");
									$("#signin_bar_message").fadeIn(200);
								});
							} else {
								$("#bar_forgotpwd").fadeOut(200,function(){
									$("#signin_bar_message").html('That email address isn\'t valid, <a href="#" onclick="bar_back_to_forgotpwd_form();return false;">please try again</a>');
									$("#signin_bar_message").fadeIn(200);
								});
							}//end if
							//$("#signin_bar").remove();							
					   	});
						return false;
					});
				});
				//Closing popup
				$(".bar_closer").click(function(){
					$("#signin_bar").fadeOut("slow",function(){$("#signin_bar").remove();});	
					$("#unregistered_advise").show();
				});
				
				$("#signin_bar a").click(function(){
					return false;						 
				});
			});			
			return false;									
		});	
	}
}


function signin_init(){
	$("#signin_func a").click(function(){
		if($("#signin_box").size() == 0){	
			check_open_popups("signin_box");
			if($("#article_signin").size() != 0){
				var params_sent = $("#article_signin").attr("rel");	
			}//end if
			var pos = $("#signin_func").offset();
			$.get(basepath+'inc/signin.pop.inc.php', function(data){				
				$("body").append(data);			
				var newtop = pos.top;		
				var rightmargin = $("#signin_box_title span").css("margin-right");
				rightmargin = parseInt(rightmargin.replace("px",""));				
				var newleft = pos.left-($("#signin_box").width() - ($("#signin_box_title span").width()+41+rightmargin));			
				$("#signin_box").css("top",newtop);
				$("#signin_box").css("left",newleft);
				
				//Submit form
				$("#login").submit(function(){
					var req_address = $(this).attr("action");
					req_address += "&ac=true";			
					var serial = $(this).serialize();						
					$.post(req_address,serial,function(data){												
						if(data != "ko"){
							$("#signin_box").fadeOut("slow");
							$("#signin_func a").remove();
							$("#signin_func").text(data);
							$(".topfloating li:last").html('<a href="'+basepath+'process.php?action=logout&amp;pp='+$("link[rel=currentpage]").attr("href")+'">Sign Out</a>');
							if(params_sent != ""){
								var ps = params_sent.split(",");
								$("#signin_bar").fadeOut("slow");
								$.get(basepath+'process.php?action=newcomment_form&id='+ps[0]+'&s='+ps[1]+'&c='+ps[2],function(data){																			
									$("#unregistered_advise").parent().after(data);	
									$("#unregistered_advise").remove();
									//$(".comments").remove();
								});	
							}//end if
						} else {
							$("#login").fadeOut(200, function(){
								$("#signin_box_error").fadeIn(200);											  
							});							
						}//end if
					});
					return false;
				});
				
				//Forgotten password
				$(".forgotpwd_link").click(function(){					
					if($("#login").css("display") != "none"){
						$("#login").fadeOut(200, function(){
							$("#forgotpwd").fadeIn(200);											  
						});		
					} else {
						$("#signin_box_error").fadeOut(200, function(){
							$("#forgotpwd").fadeIn(200);											  
						});		
					}//end if
					$("#forgotpwd").submit(function(){
						var req_address = $(this).attr("action");
						req_address += "&ac=true";			
						var serial = $(this).serialize();			
						$.post(req_address,serial,function(data){													
							if(data == "ok"){
								$("#forgotpwd").fadeOut(200,function(){
									$("#signin_box_message").text("Please check your email, we have sent you a confirmation mail to reset your password");
									$("#signin_box_message").fadeIn(200);
								});
							} else {
								$("#forgotpwd").fadeOut(200,function(){
									$("#signin_box_message").html('That email address isn\'t valid, <a href="#" onclick="back_to_forgotpwd_form();return false;">please try again</a>');
									$("#signin_box_message").fadeIn(200);
								});
							}//end if
							//$("#signin_bar").remove();	
					   	});
						return false;
					});
				});
				//Closing popup
				$(".popup_closer").click(function(){
					$("#signin_box").fadeOut("slow",function(){$("#signin_box").remove();});							  
				});
			});					
		} else {
			$("#signin_box").remove();
		}//end if
		return false;
	});
};

function back_to_login_form(){
	$("#signin_box_error").fadeOut(200, function(){
		$("#login").fadeIn(200);											  
	});		
};

function bar_back_to_login_form(){
	$("#signin_bar_error").fadeOut(200, function(){
		$("#bar_login").fadeIn(200);											  
	});		
};

function back_to_forgotpwd_form(){
	$("#signin_box_message").fadeOut(200, function(){
		$("#forgotpwd").fadeIn(200);											  
	});		
};

function bar_back_to_forgotpwd_form(){
	$("#signin_bar_message").fadeOut(200, function(){
		$("#bar_forgotpwd").fadeIn(200);											  
	});		
};


function set_default_city(){
	var city = $("#city").val();
	$.get(basepath+"process.php?action=get_weather&city="+city,function(data){
		$("#weather_icon").html(data);													   
	});	
	$("#weatherbox").remove();
};

function check_surveys_list(){
	$(".survey_list").find("*").filter("a[@rel='show_survey']").each(function(){		
		$(this).click(function(){
			var surveyButton = $(this);
			if($(this).html() == "Show results"){	
				$(this).html("Hide results");
				$.get($(this).attr('href')+"&ac=true", function(data){												 
					surveyButton.parent().parent().append(data);			
				});
			} else {
				$(this).html("Show results");
				surveyButton.parent().parent().find("*").filter("dd:last").each(function(){					 
					$(this).slideUp("slow");
				});
			}//end if
			return false;
		});								 
	});
};

function init_coupons(){
	$(".discount_list a[rel=coupon]").each(function(){
		var process_link = $(this).attr("href");
		$(this).click(function(){
			var popup = window.open(process_link,'coupon','width=505, height=505, scrollbars=yes');		  
			if(popup.focus){
				popup.focus();			
			}//end if
			return false;
		});		   
	});
}

function overlay(){
	var screenH = $(document).height();
	var screenW = $(document).width();
	$("body").append('<div id="overlay" class="overlay"></div>');	
	$.get("inc/user_survey.inc.php",function(data){
		$("#overlay_content").append(data);														 
		$("#overlay_content").bind("onload",function(){
			$(this).css("background-image","none");									 
			$(this).fadeIn("slow");				
		});
		$("a[rel=survey_stop]").click(function(){
			close_widget();		
			return false;
		});
		$("a[rel=survey_go]").click(function(){
			$("#survey_step_1").hide();
			$("#survey_step_2").show();
			return false;
			//$(".overflow_body").animate({height:"600px"});									
		});
		$("#user_survey").submit(function(){
			var req_address = $(this).attr("action");
			var serial = $(this).serialize();							
			$.post(req_address,serial,function(data){	
				if(data == "ok"){
					$("#survey_step_2").hide();
					$("#survey_step_3").show();
				}//end if
			});
			return false;
		});
		
	});	
	$("body").append('<div id="overlay_content" class="overlay_content"></div>');
	$("#overlay").css("width",screenW);
	$("#overlay").css("height",screenH);
	$(document).bind("keypress",function(e){									
		if(e.keyCode == 27 && $("#overlay").length > 0){
			close_widget();
		}					 
	});	
}

function close_widget(){
	$("#overlay").remove();
	$("#overlay_content").remove();
}