
$(function(){
	
	var isIE6 = ($.browser.msie && $.browser.version == "6.0") ? true : false;
	var lang = "en_gb";
	if(window.location.href.indexOf("ar_ae") > -1) lang = "ar_ae";
	
	//ie first-child handler
	if(isIE6){
		$("li:first-child").addClass("FirstChild");
	}
	
	//disable hashed links
	$(".Navigation0 li a[href=#]").bind('click',function(){
		return false;
	});
	
	//render a translucent background
	var renderOverlay = function(){
		var $overlay = $("<div id='overlay' />");
		$overlay.appendTo("body")
		.css({backgroundColor:'#000',width:'100%',height:'100%',opacity:.7})
		.css({position:'absolute',top:0,left:0})
		.bind('click',function(){
			$(".OverlayChild").remove();
			$(this).remove();
			$("select").css({display:'inline'});
		})
		;
		$("select").css({display:'none'});
	}
	
	var loadRegister = function(){
		var xhrURL = "registration_en_gb.aspx";
		if(lang == "ar_ae") xhrURL = "registration_ar_ae.aspx";
		$.get(xhrURL,function(data){
			var $reg = $(data).find(".Register");
			var $vState = $(data).find("input[name=__VIEWSTATE]");

			if(!$("#overlay").length){
				renderOverlay($reg);
			}
			
			$reg.insertAfter("#overlay").addClass("OverlayChild");
			$reg.find("#txbFirstName").focus();
			
			var eventHandlers = function(){
				
				$reg.find(".Entries")
				.wrap("<form id='ajaxForm' method='post'></form>")
				.append("<input type='hidden' name='hdnAjax' value='true' />")
				;
				$("#ajaxForm").prepend($vState);
				
				$reg.find(".Close a").bind('click',function(){
					$reg.remove();
					$("#overlay").trigger('click');
					return false;
				});
				
				$reg.find("#imgbtnRegBtn").bind('click',function(){
					var str = $("#ajaxForm").serialize();
					
					$reg.fadeOut(200,function(){
						$.post(xhrURL,str,function(data){
							var $data = $(data);
							var $reg2 = $data.find(".Register");
							if($reg2.length){
								$vState = $data.find("input[name=__VIEWSTATE]");

								$reg.html($reg2.html())
								.fadeIn(200);
								
								//re-invoke event handlers
								eventHandlers();
							}
							else{
								if(lang == "en_gb") window.location.href="enter_en_gb.aspx";
								if(lang == "ar_ae") window.location.href="enter_ar_ae.aspx";
							}
						});
					});
					
					return false;
				});
			}
			//invoke event handlers first time
			eventHandlers();
			
		});
	}

	//load login overlay
	var loadLogin = function(){
		var xhrURL = "login_en_gb.aspx";
		if(lang == "ar_ae") xhrURL = "login_ar_ae.aspx";
		$.get(xhrURL,function(data){
			var $email = $(data).find(".Email");
			var $vState = $(data).find("input[name=__VIEWSTATE]");
			
			renderOverlay($email);
			
			$email.insertAfter("#overlay").addClass("OverlayChild")
			.find("#txbLoginEmail,#txbVoteEmail").focus();
			
			var eventHandlers = function(){
				
				$email.find(".Entries")
				.wrap("<form id='ajaxForm' method='post'></form>")
				.append("<input type='hidden' name='hdnAjax' value='true' />")
				;
				$("#ajaxForm").prepend($vState);
				
				$email.find(".Close a").bind('click',function(){
					$email.remove();
					$("#overlay").trigger('click');
					return false;
				});
				
				$email.find("p:not(.Close) a").bind('click',function(){
					$email.remove();
					loadRegister();
					return false;
				});
				
				$email.find("#imgbtnLoginBtn").bind('click',function(){
					var str = $("#ajaxForm").serialize();

					$.post(xhrURL,str,function(data){
						var $data = $(data);
						var $email2 = $data.find(".Email");
						if($email2.length){
							$vState = $data.find("input[name=__VIEWSTATE]");

							$email.fadeOut(200,function(){
								$email.html($email2.html())
								.fadeIn(200);
								
								//re-invoke event handlers
								eventHandlers();
								
							});
						}
						else{
							if(lang == "en_gb") window.location.href="enter_en_gb.aspx";
							if(lang == "ar_ae") window.location.href="enter_ar_ae.aspx";
						}
					});
					
					return false;
				});
			}
			//invoke event handlers first time
			eventHandlers();
		});
	}
	
	
	//vote overlay
	var loadVote = function(id){
		var xhrURL = "vote_en_gb.aspx";
		if(lang == "ar_ae") xhrURL = "vote_ar_ae.aspx";
		$.get(xhrURL,"designId="+id,function(data){
			var $email = $(data).find(".Email");
			var $vState = $(data).find("input[name=__VIEWSTATE]");
			
			renderOverlay($email);
			
			$email.insertAfter("#overlay").addClass("OverlayChild")
			.find("#txbVoteEmail").focus();
			
			var eventHandlers = function(){
				
				$email.find(".Entries")
				.wrap("<form id='ajaxForm' method='post'></form>")
				.append("<input type='hidden' name='hdnAjax' value='true' />")
				;
				$("#ajaxForm").prepend($vState);
				
				$email.find(".Close2 a, .Close a").bind('click',function(){
					$email.remove();
					$("#overlay").trigger('click');
					return false;
				});
				
				$email.find("p:not(.Close2) a, p:not(.Close) a").bind('click',function(){
					$email.remove();
					loadRegister();
					return false;
				});
				
				$email.find("#imgbtnVoteBtn").bind('click',function(){
					var str = $("#ajaxForm").serialize();

					$.post(xhrURL+"?designId="+id,str,function(data){
						var $data = $(data);
						var $email2 = $data.find(".Email");
						if($email2.length){
							$vState = $data.find("input[name=__VIEWSTATE]");

							$email.fadeOut(200,function(){
								$email.html($email2.html())
								.fadeIn(200);
								
								//re-invoke event handlers
								eventHandlers();
								
								//if finished voting
								if($("#pVoteLoginErrorBlock").hasClass("Done")){
									setTimeout(function(){
										$email.remove();
										$("#overlay").trigger('click');
									},3000);
								}
							});
						}
						else{
							//window.location.href="enter_en_gb.aspx";
						}
					});
					
					return false;
				});
				
			}
			eventHandlers();
		});
	}
	//envoke login overlay on homepage
	$(".HomeDesign h4 a,.Navigation0 li:eq(1) a,.DesignLink a,a.Sketch")
	.bind('click',function(){
		if($(this).attr("href") == "#") return false;
		loadLogin();
		return false;
	});
	//invoke vote overlay
	$(".TopRatedList li a,ul.EntriesList .Thumbnail a,ul.EntriesList li li a")
	.bind('click',function(){
		var match = $(this).attr("href").match(/designId\=(\d+)/);
		var id = match.length > 1 ? match[1] : 0;
		loadVote(id);
		return false;
	});
	
	//put border and curve corners to the thumbnails
	$(".TopRatedList li a").each(function(){
		var $t = $(this);
		$t.append("<img class='border' src='$Common/Image/Generic/CurveBorder1.gif' alt='' />")
		.find(".border");
	});
	$(".EntriesList li .Thumbnail a").each(function(){
		var $t = $(this);
		$t.parent().css({position:'relative'});
		$t.append("<img class='border' src='$Common/Image/Generic/CurveBorder2.gif' alt='' />")
		.find(".border");
	});

	
	//remove this later if not used
	var invokepopup = function(){
		$("a[rel=popup]").bind("click",function(){
			popupWin($(this).attr('href'),'Popup',{width:666,height:600});
			return false;
		});
	}
	invokepopup();	
 
});











function loadInstruction(){
	popupWin("http://client.at.impactproximity.com/PepsiTShirt/Instructions_en_gb.html","Dance",{width:720,height:540});
}

/**
* @desc Popup window function
*/
function popupWin(sLink,sName,oAttrib){
	var popup;
	var width = oAttrib.width;
	var height = oAttrib.height;
	var left,top;
	left = oAttrib.left || (screen.width - width)/2;
	top = oAttrib.top || (screen.height - height)/2;
	try{
		popup = window.open(sLink,sName,"scrollbars=yes,width="+width+",height="+height+",left="+left+",top="+top+"");
		popup.focus();
	}
	catch(error){
		alert("You are trying to access a broken link. Please contact the website administrator.");
		return false;
	}
}


