
/* Xplana IV
/* Modals
/* © 2010 MBS Service Company, Inc.
/* 08.01.2010 dh */

/* ==================================================
=====================================================
           		 F O U N D A T I O N
=====================================================
================================================== */


/* ==================================================
              S E T   V A R I A B L E S
================================================== */

var modalStatus = 0; // disabled

/* ==================================================
               I N V O K E   F O C U S
================================================== */

function invokeFocus(){ 
	if(modalStatus==0){
		$("#modal-focus").css({"opacity": "0.3"});
		$("#modal-focus").fadeIn("slow");
		modalStatus = 1;
	}
}

function snapFocus(){ 
	if(modalStatus==0){
		$("#modal-focus").css({"opacity": "0.3"});
		$("#modal-focus").css({"display": "block"});
		modalStatus = 1;
	}
}

/* ==================================================
                C L O S E   M O D A L
================================================== */

function closeModal(){
	if(modalStatus==1){
		$(".modal").fadeOut("slow");
		$("#modal-focus").fadeOut("slow");
		modalStatus = 0;
	}
}
$(document).ready(function(){
	$("#modal-focus").click(function(){  
		closeModal();
	});
	$(document).keypress(function(e){  
		if(e.keyCode==27 & modalStatus==1){
			closeModal();  
		}  
	}); 
});

/* ==================================================
           S C R O L L   T O P   M O D A L
================================================== */

function scrollTopModal(){
	//var currentScrollPos = $(window).scrollTop();
    $('html, body').animate({scrollTop: 70}, {duration: 1600, easing: 'easeOutExpo'});
}

/* ==================================================
=====================================================
        R E Q U E S T   I N F O R M A T I O N
=====================================================
================================================== */

function centerRequest(){
	var winW = $(window).width();
	var winH = $(window).height();
	var modalH = $("#request-modal").height();
	var modalW = $("#request-modal").width();	
	$("#request-modal").css({"position": "fixed","top": winH/2-modalH/2-20, "left": winW/2-modalW/2});
}
function invokeRequest(){ 
	centerRequest();
	invokeFocus();
	$("#request-modal").fadeIn("slow");
	
}
function submitRequest(){
	$("#request-modal form").submit();
}
function cancelRequest(){
	closeModal();
}

/* ==================================================
=====================================================
            G I V E A W A Y   E N T R Y
=====================================================
================================================== */

function centerGiveawayEntry(){
	var winW = $(window).width();
	var winH = $(window).height();
	var modalH = $("#giveaway-entry-modal").height();
	var modalW = $("#giveaway-entry-modal").width();	
	$("#giveaway-entry-modal").css({"position": "absolute","top": 100, "left": winW/2-modalW/2});
}
function invokeGiveawayEntry(){ 
	centerGiveawayEntry();
	invokeFocus();
	$("#giveaway-entry-modal").fadeIn("slow");
	scrollTopModal();
}
function submitGiveawayEntry(){
	$("#giveaway-entry-modal form").submit();
}
function resetGiveawayEntry(){
	// Submit Lock
	$("#giveaway-entry-submit").removeClass("loaded").addClass("locked");
	var entrySubmitLock = 0; // Locked
	// Input Reset
	$('#giveaway .input-group input').attr("value","");
	$('#giveaway .input-group').removeClass("input-warning").removeClass("input-error").removeClass("input-success");
	var entryInputFname = 0; // Not Valid
	var entryInputYmail = 0; // Not Valid
	// News Opt-in
	$("#send-news").attr("value","1");
	var newsValue = 1; // Checked
	$('#opt-news').addClass("checked");
	// Promo Opt-in
	$("#send-promo").attr("value","1");
	var promoValue = 1; // Checked
	$('#opt-promo').addClass("checked");
}
function cancelGiveawayEntry(){
	closeModal();
	resetGiveawayEntry();
}

/* ==================================================
             O P T - I N   A C T I O N
================================================== */

$(document).ready(function(){
	$(".opt-in-list li a").click(function(){
		if ($(this).parent().hasClass("checked")){
				$(this).parent().removeClass("checked");
      		} 
			else {
        	$(this).parent().addClass("checked");
     	}		
	});
	

	$("#opt-promo a").click(function(){
		var promoValue = $("#send-promo").val();
		if(promoValue==1){
				$("#send-promo").attr("value","0");
      		} 
			else {
        	$("#send-promo").attr("value","1");
     	}			
	});
	
	$("#opt-news a").click(function(){
		var newsValue = $("#send-news").val();
		if(newsValue==1){
				$("#send-news").attr("value","0");
      		} 
			else {
        	$("#send-news").attr("value","1");
     	}			
	});
});

/* ==================================================
             E N T R Y   V A L I D A T I O N
================================================== */

$(document).ready(function() {
	
	var entrySubmitLock = 0; // Locked
	
	var entryInputFname = 0; // Not Valid
	var entryInputYmail = 0; // Not Valid
	
	$("#giveaway-entry-modal #group-fname input.validate").keyup(function(){
		var charLength = $(this).val().length;
		if(charLength != 0){
			if(charLength >= 2){
					$(this).parent().removeClass("input-warning").removeClass("input-error").addClass("input-success");
					entryInputFname = 1; // Success
					entrySubmitLock = Number(entryInputFname) + Number(entryInputYmail);
					if(entrySubmitLock==2){
							$("#giveaway-entry-submit").removeClass("locked").addClass("loaded");
						} else {
					}
				} else {
					$(this).parent().removeClass("input-error").removeClass("input-success").addClass("input-warning");
					$("#giveaway-entry-submit").removeClass("loaded").addClass("locked");
					entryInputFname = 0;
				}
			} else {
				$(this).parent().addClass("input-warning").removeClass("input-error").removeClass("input-success");	
		}
	});
					   
	$("#giveaway-entry-modal #group-ymail input.validate").keyup(function(){
		var email = $(this).val();
		if(email != 0){
			if(isValidEmailAddress(email)){
					$(this).parent().removeClass("input-warning").removeClass("input-error").addClass("input-success");
					entryInputYmail = 1; // Success
					entrySubmitLock = Number(entryInputFname) + Number(entryInputYmail);
					if(entrySubmitLock==2){
							$("#giveaway-entry-submit").removeClass("locked").addClass("loaded");
						} else {
					}
				} else {
					$(this).parent().removeClass("input-error").removeClass("input-success").addClass("input-warning");
					$("#giveaway-entry-submit").removeClass("loaded").addClass("locked");
					entryInputYmail = 0;
				}
			} else {
				$(this).parent().addClass("input-warning").removeClass("input-error").removeClass("input-success");	
		}
	});

	$("#giveaway-entry-submit").click(function(){
		if(entrySubmitLock==2){
				$("#giveaway-entry-form").submit();
			} else {
				//$("#giveaway-entry-modal .input-required").removeClass("input-warning").addClass("input-error");				
		}
	});
});

/* ==================================================
=====================================================
     G I V E A W A Y   E N T R Y   T H A N K S
=====================================================
================================================== */

function centerGiveawayEntryThanks(){
	var winW = $(window).width();
	var winH = $(window).height();
	var modalH = $("#giveaway-entry-thanks-modal").height();
	var modalW = $("#giveaway-entry-thanks-modal").width();	
	$("#giveaway-entry-thanks-modal").css({"position": "absolute","top": 100, "left": winW/2-modalW/2});
}
function invokeGiveawayEntryThanks(){ 
	centerGiveawayEntryThanks();
	invokeFocus();
	$("#giveaway-entry-thanks-modal").fadeIn("slow");
}
function submitGiveawayEntryThanks(){
	$("#giveaway-entry-thanks-modal form").submit();
}
function cancelGiveawayEntryThanks(){
	closeModal();
}

/* ==================================================
=====================================================
           G I V E A W A Y   I N V I T E
=====================================================
================================================== */

function centerGiveawayInvite(){
	var winW = $(window).width();
	var winH = $(window).height();
	var modalH = $("#giveaway-invite-modal").height();
	var modalW = $("#giveaway-invite-modal").width();	
	$("#giveaway-invite-modal").css({"position": "absolute","top": 100, "left": winW/2-modalW/2});
}
function invokeGiveawayInvite(){ 
	centerGiveawayInvite();
	invokeFocus();
	$("#giveaway-invite-modal").fadeIn("slow");
	scrollTopModal();
}
function submitGiveawayInvite(){
	$("#giveaway-invite-modal form").submit();
}
function resetGiveawayInvite(){
	// Submit Lock
	$("#giveaway-invite-submit").removeClass("loaded").addClass("locked");
	var inviteSubmitLock = 0; // Locked
	// Input Reset
	$('#giveaway .input-group input').attr("value","");
	$('#giveaway .input-group').removeClass("input-warning").removeClass("input-error").removeClass("input-success");
	var entryInputFname = 0; // Not Valid
	var entryInputYmail = 0; // Not Valid
	var inviteInputFname = 0; // Not Valid
	var inviteInputYmail = 0; // Not Valid
	var inviteInputIname01 = 0; // Not Valid
	var inviteInputImail01 = 0; // Not Valid
}
function cancelGiveawayInvite(){
	closeModal();
	resetGiveawayInvite();
}
	
/* ==================================================
           I N V I T E   V A L I D A T I O N
================================================== */

$(document).ready(function() {
						   
	var inviteSubmitLock = 0; // Locked

	var inviteInputFname = 0; // Not Valid
	var inviteInputYmail = 0; // Not Valid
	var inviteInputIname01 = 0; // Not Valid
	var inviteInputImail01 = 0; // Not Valid
	
	// Invite Input Fname
	
	$("#giveaway-invite-modal #group-fname input.validate").keyup(function(){
		var charLength = $(this).val().length;
		if(charLength != 0){
			if(charLength >= 2){
					$(this).parent().removeClass("input-warning").removeClass("input-error").addClass("input-success");
					inviteInputFname = 0; // Success
					inviteSubmitLock = Number(inviteInputFname) + Number(inviteInputYmail) + Number(inviteInputIname01) + Number(inviteInputImail01);
					if(inviteSubmitLock==2){
							$("#giveaway-invite-submit").removeClass("locked").addClass("loaded");
						} else {
					}
				} else {
					$(this).parent().removeClass("input-error").removeClass("input-success").addClass("input-warning");
					$("#giveaway-invite-submit").removeClass("loaded").addClass("locked");
					inviteInputFname = 0;
				}
			} else {
				$(this).parent().addClass("input-warning").removeClass("input-error").removeClass("input-success");	
		}
	});
	
	// Invite Input Ymail
					   
	$("#giveaway-invite-modal #group-ymail input.validate").keyup(function(){
		var email = $(this).val();
		if(email != 0){
			if(isValidEmailAddress(email)){
					$(this).parent().removeClass("input-warning").removeClass("input-error").addClass("input-success");
					inviteInputYmail = 0; // Success
					inviteSubmitLock = Number(inviteInputFname) + Number(inviteInputYmail) + Number(inviteInputIname01) + Number(inviteInputImail01);
					if(inviteSubmitLock==2){
							$("#giveaway-invite-submit").removeClass("locked").addClass("loaded");
						} else {
					}
				} else {
					$(this).parent().removeClass("input-error").removeClass("input-success").addClass("input-warning");
					$("#giveaway-invite-submit").removeClass("loaded").addClass("locked");
					inviteInputYmail = 0;
				}
			} else {
				$(this).parent().addClass("input-warning").removeClass("input-error").removeClass("input-success");	
		}
	});
	
	// Invite Input Iname-01
	
	$("#giveaway-invite-modal #group-iname-01 input.validate").keyup(function(){
		var charLength = $(this).val().length;
		if(charLength != 0){
			if(charLength >= 2){
					$(this).parent().removeClass("input-warning").removeClass("input-error").addClass("input-success");
					inviteInputIname01 = 1; // Success
					inviteSubmitLock = Number(inviteInputFname) + Number(inviteInputYmail) + Number(inviteInputIname01) + Number(inviteInputImail01);
					if(inviteSubmitLock==2){
							$("#giveaway-invite-submit").removeClass("locked").addClass("loaded");
						} else {
					}
				} else {
					$(this).parent().removeClass("input-error").removeClass("input-success").addClass("input-warning");
					$("#giveaway-invite-submit").removeClass("loaded").addClass("locked");
					inviteInputIname01 = 0;
				}
			} else {
				$(this).parent().addClass("input-warning").removeClass("input-error").removeClass("input-success");	
		}
	});
	
	// Invite Input Imail-01
					   
	$("#giveaway-invite-modal #group-imail-01 input.validate").keyup(function(){
		var email = $(this).val();
		if(email != 0){
			if(isValidEmailAddress(email)){
					$(this).parent().removeClass("input-warning").removeClass("input-error").addClass("input-success");
					inviteInputImail01 = 1; // Success
					inviteSubmitLock = Number(inviteInputFname) + Number(inviteInputYmail) + Number(inviteInputIname01) + Number(inviteInputImail01);
					if(inviteSubmitLock==2){
							$("#giveaway-invite-submit").removeClass("locked").addClass("loaded");
						} else {
					}
				} else {
					$(this).parent().removeClass("input-error").removeClass("input-success").addClass("input-warning");
					$("#giveaway-invite-submit").removeClass("loaded").addClass("locked");
					inviteInputImail01 = 0;
				}
			} else {
				$(this).parent().addClass("input-warning").removeClass("input-error").removeClass("input-success");	
		}
	});
	
	// Invite Submit
	
	$("#giveaway-invite-submit").click(function(){
		if(inviteSubmitLock==2){
				$("#giveaway-invite-form").submit();
			} else {
				$("#giveaway-entry-modal .input-required").removeClass("input-warning").addClass("input-error");				
		}
	});
	
	// Invite Add Friends
	
	$("#giveaway-invite-add-friends").click(function(){
		$("#section-your-friends .hidden").slideDown("slow");
		$(".modal .hr").fadeOut("fast");
		$("#giveaway-invite-add-friends").fadeOut("fast", function() {
    		("#giveaway-invite-submit").fadeIn("fast");
  		});
	});
});

/* ==================================================
    E M A I L   V A L I D A T I O N   S C H E M A
================================================== */
	
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);
}
	
		
/* ==================================================
=====================================================
     G I V E A W A Y   O F F I C I A L   R U L E S
=====================================================
================================================== */

function centerGiveawayRules(){
	var winW = $(window).width();
	var winH = $(window).height();
	var modalH = $("#giveaway-rules-modal").height();
	var modalW = $("#giveaway-rules-modal").width();	
	$("#giveaway-rules-modal").css({"position": "absolute","top": 100, "left": winW/2-modalW/2});
}
function invokeGiveawayRules(){ 
	centerGiveawayRules();
	invokeFocus();
	$("#giveaway-rules-modal").fadeIn("slow");
}
function submitGiveawayRules(){
	$("#giveaway-rules-modal form").submit();
}
function cancelGiveawayRules(){
	closeModal();
}


/* ==================================================
         L A S T  C A L L  -  R E C E N T E R
================================================== */

$(document).ready(function(){
	$(window).resize(function(){
		centerRequest();
		centerGiveawayEntry();
		centerGiveawayEntryThanks();
		centerGiveawayInvite();
		centerGiveawayRules();
	});
});