var leftPage;
var rightPage;
var enableControls = true;

$("document").ready(function() {
	leftPage = $("#magazine #pages div:first-child");
	$(leftPage).addClass("left-page");
	rightPage = $(leftPage).next();
	$(rightPage).addClass("right-page");
	doShadow(leftPage, rightPage);
	initControls();
	initZoomClose();
	pageTracker._trackPageview("/magazine");
});

function initControls() {
	$(".left-page:not(.intro)").mouseenter(function() {
		if(enableControls) {
			$("#left-controls").fadeIn();
		}
	});
	
	$("#left-controls").mouseleave(function() {
			$("#left-controls").fadeOut();
	});
	
	$(".right-page:not(.outro)").mouseenter(function() {
		if(enableControls) {
			$("#right-controls").fadeIn();
		}
	})
	
	$("#right-controls").mouseleave(function() {
		$("#right-controls").fadeOut();
	});
}

function turnLeft() {
	if($(leftPage).prev().length>0) {
		newRight = $(leftPage).prev();
		newLeft = $(newRight).prev();
		doShadow(newLeft, newRight);
		$(newLeft).addClass("left-page");
		$(leftPage).removeClass("left-page");
		$(newRight).addClass("right-page");
		$(rightPage).removeClass("right-page");
		leftPage = newLeft;
		rightPage = newRight;
		initControls();
		if($(leftPage).prev().length<1) {
			$("#left-controls").hide();
			$("#right-controls").hide();
		}
		/*setTimeout(function() {
			$(rightPage).removeClass("right-page");
			$(leftPage).removeClass("left-page");
			$(leftPage).removeClass("prev-flip-front");
			$(newRight).removeClass("left-page");
			$(newRight).removeClass("prev-flip-back");
			$(newRight).addClass("right-page");
			leftPage = newLeft;
			rightPage = newRight;
			initControls();
		}, 1000);*/
	} else {
		console.log("Error: Previous sibling does not exist.");
	}
}

function turnRight() {
	if($(rightPage).next().length>0) {
		newLeft = $(rightPage).next();
		newRight = $(newLeft).next();
		doShadow(newLeft, newRight);
		$(newLeft).addClass("left-page");
		$(leftPage).removeClass("left-page");
		$(newRight).addClass("right-page");
		$(rightPage).removeClass("right-page");
		leftPage = newLeft;
		rightPage = newRight;
		initControls();
		if($(rightPage).next().length<1) {
			$("#left-controls").hide();
			$("#right-controls").hide();
		}
		/*setTimeout(function() {
			$(leftPage).removeClass("left-page");
			$(rightPage).removeClass("right-page");
			$(rightPage).removeClass("next-flip-front");
			$(newLeft).removeClass("right-page");
			$(newLeft).removeClass("next-flip-back");
			$(newLeft).addClass("left-page");
			leftPage = newLeft;
			rightPage = newRight;
			initControls();
		}, 1000);*/
	} else {
		console.log("Error: Next sibling does not exist.");
	}
}

function doShadow(page1, page2) {
	if($(page1).hasClass("intro")) {
		$(page2).addClass("dropshadow");
		$("#magazine").removeClass("dropshadow");
	} else if($(page2).hasClass("outro")) {
		$(page1).addClass("dropshadow");
		$("#magazine").removeClass("dropshadow");
	} else {
		$(page1).removeClass("dropshadow");
		$(page2).removeClass("dropshadow");
		$("#magazine").addClass("dropshadow");
	}
}

function showPage(pageID) {
	if($("#webpages #"+pageID).length > 0) {
		$("#webpages>div").hide();
		$("#webpages #"+pageID).show();
		pageTracker._trackPageview("/"+pageID);
	} else {
		console.log("#webpages #"+pageID+" does not exist.");
	}
	return false;
}

function zoom(side) {
	if(side == "left") {
		$(".left-page .page-zoom").fadeIn();
		enableControls = false;
		$(".controls").hide();
		$(".right-page").addClass("move-back");
	} else {
		$(".right-page .page-zoom").fadeIn();
		enableControls = false;
		$(".controls").hide();
	}
	return false;
}

function initZoomClose() {
	$(".page-zoom").click(function() {
		$(".page-zoom").fadeOut();
		enableControls = true;
		setTimeout(function() {
			$(".right-page").removeClass("move-back");
		}, 1000);
	});
}

function flipTo(pageIndex) {
	var newLeft = $("#pages").children().eq(pageIndex);
	var newRight = $(newLeft).next();
	if($(newLeft).length>0 && $(newRight).length>0) {
		$(leftPage).removeClass("left-page");
		$(rightPage).removeClass("right-page");
		showPage("magazine");
		doShadow(newLeft, newRight);
		$(newLeft).addClass("left-page");
		$(newRight).addClass("right-page");
		leftPage = newLeft;
		rightPage = newRight;
		initControls();
	} else {
		console.log("one or more pages specified do not exist.");
	}
	return false;
}

function setDownloadFrame(url) {
	$("#download-frame").attr("src", "download.php?u="+url);
}

function download(issue, url) {
	pageTracker._trackPageview("/download/"+issue);
	setDownloadFrame(url);
	return false;
}

function submitContact() {
	console.log("submit");
	$("#contact-us form").hide();
	var name = $("#contactName").val();
	var email = $("#contactEmail").val();
	var message = $("#contactMessage").val();
	query("contact", "name:"+name+";email:"+email+";message:"+message, function(data) {
		if(data.success) {
			$("#contact-us .result").text("Your inquiry has been forwarded to one of our representatives. We will get back to you as soon as posible.");
			$("#contact-us .result").show();
			$("#contact-us #contactMessage").val("");
		} else {
			$("#contact-us .result").text(data.error);
			$("#contact-us .result").show();
		}
	});
}

function query(action, vars, callback) {
	var url = "core.php";
	$.post(url, {
		action: action,
		vars: vars
	}, function(data){
		callback(data);
	}
	, "json");
}

function a(name) {
	pageTracker._trackPageview("/"+name);
}
