Quantum90

// JavaScript Document
var slide = 1;
var shareopened = false;
var currenttype = "";
var req = null;
var reqshare = null;
var currentHash = "";
var teamslide = 1;

function init(viewhas) {
  slide = 1;
  checkHash();
}


function checkHash() {

  var hash = window.location.hash;
  if (hash) {
    currentHash = hash.replace("#", "");

    switch (hash) {
    case "#home":

      break;
    case "#aboutus":

      break;
    case "#programmes":

      break;
    case "#contactus":

      break;
    }

  } else {
    slideAnim();
  }
}


function initPlaceholders(target) {
  $(target).css({
    backgroundColor: "red"
  });
}

function slideAnim() {
  switch (slide) {
  case 1:
    $("#slide1 .sentence").hide().delay(500).fadeIn(2000).animate({
      opacity: 1
    }, 3000, function() {
      $(this).fadeOut(500);
      nextSlide();
    });
    break;
  case 2:
    $("#slide2 .sentence").css({
      right: -$(this).width() + 20
    }).delay(500).animate({
      right: -30
    }, 1500, "easeOutExpo").animate({
      right: 0
    }, 3000, "linear", function() {
      nextSlide();
    });
    break;
  case 3:
    $("#slide3 .sentence").css({
      right: -$(this).width() + 20
    }).delay(500).animate({
      right: -40
    }, 1500, "easeOutExpo").animate({
      right: 0
    }, 4000, "linear", function() {
      nextSlide();
    });
    break;
  case 4:
    $("#slide4 .sentence").css({
      right: -$(this).width() + 20
    }).delay(500).animate({
      right: -40
    }, 1500, "easeOutExpo").animate({
      right: 0
    }, 4000, "linear", function() {
      nextSlide();
    });
    break;
  case 5:
    $("#slide5 .sentence").hide().delay(500).fadeIn(2000).animate({
      opacity: 1
    }, 5000, function() {
      $(this).fadeOut(500);
      nextSlide();
    });
    break;
  }
}

function nextSlide() {
  slide++;
  if (slide == 6) slide = 1;
  var pos = -(slide - 1) * 1318;
  $("#backdrop .slider .slides").stop().fadeOut(500, function() {
    $("#backdrop .slider .slides").css({
      marginLeft: pos
    }).fadeIn(1000);
  });
  slideAnim();
}


function nextTeamSlide() {
  teamslide++;
  if (teamslide == 6) teamslide = 1;

  if (teamslide != 1) $(".navigation.aboutus").stop().clearQueue().delay(750).fadeIn(500);
  else $(".navigation.aboutus").stop().clearQueue().fadeOut(400);

  var pos = -(teamslide - 1) * 1318;
  $("#backdrop .slider .slides").stop().animate({
    marginLeft: pos
  }, 1000, "easeInOutCubic", function() {});
}

function previousTeamSlide() {
  teamslide--;
  if (teamslide != 1) $(".navigation.aboutus").stop().clearQueue().delay(750).fadeIn(500);
  else $(".navigation.aboutus").stop().clearQueue().fadeOut(400);
  var pos = -(teamslide - 1) * 1318;
  $("#backdrop .slider .slides").stop().animate({
    marginLeft: pos
  }, 1000, "easeInOutCubic", function() {});
}



function nextProgrammeSlide() {
  programmeslide++;
  if (programmeslide == 7) programmeslide = 1;

  if (programmeslide != 1) $(".navigation.programmes").stop().clearQueue().delay(750).fadeIn(500);
  else $(".navigation.programmes").stop().clearQueue().fadeOut(400);

  var pos = -(programmeslide - 1) * 1318;
  $("#backdrop .slider .slides").stop().animate({
    marginLeft: pos
  }, 1000, "easeInOutCubic", function() {});
}

function previousProgrammeSlide() {
  programmeslide--;
  if (programmeslide != 1) $(".navigation.programmes").stop().clearQueue().delay(750).fadeIn(500);
  else $(".navigation.programmes").stop().clearQueue().fadeOut(400);
  var pos = -(programmeslide - 1) * 1318;
  $("#backdrop .slider .slides").stop().animate({
    marginLeft: pos
  }, 1000, "easeInOutCubic", function() {});
}




function stopSlideAnimation() {
  $(".slide .sentence").each(function() {
    $(this).stop().clearQueue();
  });
}

function openPage(page) {
  stopSlideAnimation();
}


function startPreloader() {
  var rotation = function() {
      $(".preloader").rotate({
        angle: 0,
        animateTo: 360,
        callback: rotation,
        easing: function(x, t, b, c, d) { // t: current time, b: begInnIng value, c: change In value, d: duration
          return c * (t / d) + b;
        }
      });
    }
  rotation();
}

function showPreloader(target, callback, animate) {
  if (animate == null) animate = true;
  if (callback == null || callback == "undefined") callback = function() {};
  if (target != "sharepreloader" && target != "contactpreloader") $(".overlay").fadeTo(500, 0.5);
  if (animate) $("#" + target).delay(500).fadeIn(500, callback);
  else $("#" + target).show();
}

function hidePreloader(target, callback) {
  if (callback == null || callback == "undefined") callback = function() {};
  if (target != "sharepreloader") $(".overlay").delay(250).fadeOut(500);
  $("#" + target).fadeOut(300, callback);
}

function openShare(type) {

  $(".overlay").stop().clearQueue();
  $("#share").stop().clearQueue();


  if (!shareopened) {

    $("#share .formcontent").empty();
    showPreloader("sharepreloader", null, false);
    currenttype = type;
    $("#share .link").removeClass("selected");
    $("#share .link." + type).addClass("selected");
    $(".overlay").fadeTo(500, 0.5);
    $(".navigation.left").clearQueue().delay(100).animate({
      bottom: 419
    }, 1000, "easeInOutQuint");
    $(".navigation.right").clearQueue().delay(100).animate({
      bottom: 419
    }, 1000, "easeInOutQuint");
    $("#share").stop().clearQueue().delay(100).animate({
      top: 260
    }, 1000, "easeInOutQuint", function() {
      $(".overlay").stop().clearQueue();
      loadShare(type);
    })
    shareopened = true;
    return;
  } else if (currenttype == type) {

    closeShare();
    return;
  }

  if (currenttype != type) {
    $("#share .formcontent").empty();
    showPreloader("sharepreloader", null, false);
    $("#share .link").removeClass("selected");
    $("#share .link." + type).addClass("selected");
    currenttype = type;
    loadShare(type);
  }

}


function closeShare() {
  hidePreloader("sharepreloader", null);
  currenttype = "";
  $("#share .link").removeClass("selected");
  $(".overlay").stop().clearQueue().fadeOut(1000);
  $(".navigation.left").clearQueue().animate({
    bottom: 55
  }, 1000, "easeInOutQuint");
  $(".navigation.right").clearQueue().animate({
    bottom: 55
  }, 1000, "easeInOutQuint");
  $("#share").stop().clearQueue().animate({
    top: 624
  }, 1000, "easeInOutQuint", function() {
    $("#share .formcontent").empty();
  })
  shareopened = false;
}

function validateForm(type) {
  if ($("#name").val() == "" || $("#name").val() == $("#name").attr("label")) return false;
  if ($("#message").val() == "" || $("#message").val() == $("#message").attr("label")) return false;
  if ($("#email").val() == "" || !validate($("#email").val()) || $("#email").val() == $("#email").attr("label")) return false;
  if (type == "colleague") {
    if ($("#friendemail").val() == "" || !validate($("#friendemail").val()) || $("#friendemail").val() == $("#friendemail").attr("label")) return false;
  }
  return true;
}

function validate(address) {

  var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  return reg.test(address);
}


function loadShare(type) {

  if (reqshare != null) reqshare.abort();

  reqshare = $.ajax("includes/" + type + ".php").done(function(data) {

    hidePreloader("sharepreloader", function() {
      $("#share .formcontent").hide().html(data).fadeIn(500, function() {

      });
      $('input[label], textarea[label]').placeholder();
    });
  }).fail(function(error) {
    console.dir(error);
  });



}


function sendMessage(type, contact) {

  if (contact == null) contact = false;

  if (!validateForm(type)) {
    $(".error").stop().clearQueue().fadeIn(500).delay(5000).fadeOut(1500);
    return;
  }

  if (reqshare != null) reqshare.abort();

  $(".error").stop().clearQueue().hide();

  $(".formcontent").fadeOut();
  showPreloader(contact ? "contactpreloader" : "sharepreloader", function() {
    reqshare = $.ajax({
      url: "includes/" + type + (contact ? "_contact" : "") + ".php",
      type: "POST",
      data: {
        name: $("#name").val(),
        email: $("#email").val(),
        message: $("#message").val(),
        friendemail: $("#friendemail").val()
      }
    }).done(function(data) {

      hidePreloader(contact ? "contactpreloader" : "sharepreloader", function() {
        $(".formcontent").hide().html(data).fadeIn(500, function() {
          $(".formcontent .feedback").show().delay(3000).fadeOut(500, function() {
            $(contact ? ".form" : ".contactform").show().fadeIn(500);
          })
        });
        $('input[label], textarea[label]').placeholder();
      });

      _gaq.push(['_trackPageview', '/events/' + type + '/message_sent']);

    }).fail(function(error) {
      console.dir(error);
    });

  });
}


function maskContactEmailAddress(spanid) {
  var spt = $('span.' + spanid);
  var at = / at /;
  var dot = / dot /g;
  var addr = $(spt).text().replace(at, "@").replace(dot, ".");
  $(spt).after('<a href="mailto:' + addr + '" title="Send an email">' + addr + '</a>');
  $(spt).remove();
}

function maskAboutUsEmailAddress(spanid) {
  $('span.aboutus_email').each(function() {
    var spt = $(this);
    var at = / at /;
    var dot = / dot /g;
    var addr = $(spt).text().replace(at, "@").replace(dot, ".");
    $(spt).after('<a class="button blue" href="mailto:' + addr + '" title="Send an email"><span>' + spt.attr("description") + '</span></a>');
    $(spt).remove();
  })

}



function loadPage(page) {

  // Track with google
  _gaq.push(['_trackPageview', '/pages/' + page + ".php"]);

  if (req != null) req.abort();
  stopSlideAnimation();

  $("#menu ul li").removeClass("selected");
  $("#menu ul li." + page).addClass("selected");

  $(".navigation").stop().clearQueue().fadeOut(400);
  $(".slides").fadeOut(300);
  showPreloader("mainpreloader", function() {
    req = $.ajax({
      url: "pages/" + page + ".php",
      type: "GET"
    }).done(function(data) {
      hidePreloader("mainpreloader");
      stopSlideAnimation();
      $(".slides").fadeOut(500).css({
        marginLeft: 0
      }).html(data)

      $('input[label], textarea[label]').placeholder();
      $(".slides").fadeIn(500);

      if (page == "home") {
        slide = 1;
        slideAnim();
      }

      maskContactEmailAddress("contact_info");
      maskAboutUsEmailAddress("contact_info");
      req = null;
    }).error(function(error) {
      hidePreloader("mainpreloader");
      alert("error");
      req = null;
    });
  });
}


$(document).ready(function() {
  init();
  startPreloader();
  $(".preloader").hide();

  $('input[label], textarea[label]').placeholder();
});
// JavaScript Document
var slide = 1;
var shareopened = false;
var currenttype = "";
var req = null;
var reqshare = null;
var currentHash = "";
var teamslide = 1;

function init(viewhas) {
	slide = 1;
	checkHash();
}


function checkHash() {
	
	var hash = window.location.hash;
	if(hash) {
		currentHash = hash.replace("#", "");
		
		switch(hash) {
			case "#home":
				
				break;
			case "#aboutus":
				
				break;
			case "#programmes":
				
				break;
			case "#contactus":
				
				break;
		}
		
	} else {
		slideAnim();	
	}
}


function initPlaceholders(target) {
	$(target).css({backgroundColor: "red"});
}

function slideAnim() {
	switch(slide) {
		case 1:
			$("#slide1 .sentence").hide().delay(500).fadeIn(2000).animate({opacity: 1}, 3000, function() {
					$(this).fadeOut(500);
					nextSlide();
				});
			break;
		case 2:
			$("#slide2 .sentence").css({right: -$(this).width() + 20}).delay(500).animate({right: -30}, 1500, "easeOutExpo").animate({right: 0}, 3000, "linear", function() {
					nextSlide();
				});
			break;
		case 3:
			$("#slide3 .sentence").css({right: -$(this).width() + 20}).delay(500).animate({right: -40}, 1500, "easeOutExpo").animate({right: 0}, 4000, "linear", function() {
					nextSlide();
				});
			break;
		case 4:
			$("#slide4 .sentence").css({right: -$(this).width() + 20}).delay(500).animate({right: -40}, 1500, "easeOutExpo").animate({right: 0}, 4000, "linear", function() {
					nextSlide();
				});
			break;
		case 5:
			$("#slide5 .sentence").hide().delay(500).fadeIn(2000).animate({opacity: 1}, 5000, function() {
					$(this).fadeOut(500);
					nextSlide();
				});
			break;	
	}
}

function nextSlide() {
	slide++;
	if (slide == 6) slide = 1;
	var pos =  - (slide - 1) * 1318;
	$("#backdrop .slider .slides").stop().fadeOut(500, function() {
		$("#backdrop .slider .slides").css({marginLeft: pos}).fadeIn(1000);
	});
	slideAnim();
}


function nextTeamSlide() {
	teamslide++;
	if (teamslide == 6) teamslide = 1;
	
	if (teamslide != 1) $(".navigation.aboutus").stop().clearQueue().delay(750).fadeIn(500); else $(".navigation.aboutus").stop().clearQueue().fadeOut(400);
	
	var pos =  - (teamslide - 1) * 1318;
	$("#backdrop .slider .slides").stop().animate({marginLeft: pos}, 1000, "easeInOutCubic", function() {});
}

function previousTeamSlide() {
	teamslide--;
	if (teamslide != 1) $(".navigation.aboutus").stop().clearQueue().delay(750).fadeIn(500); else $(".navigation.aboutus").stop().clearQueue().fadeOut(400);
	var pos =  - (teamslide - 1) * 1318;
	$("#backdrop .slider .slides").stop().animate({marginLeft: pos}, 1000, "easeInOutCubic", function() {});
}



function nextProgrammeSlide() {
	programmeslide++;
	if (programmeslide == 7) programmeslide = 1;
	
	if (programmeslide != 1) $(".navigation.programmes").stop().clearQueue().delay(750).fadeIn(500); else $(".navigation.programmes").stop().clearQueue().fadeOut(400);
	
	var pos =  - (programmeslide - 1) * 1318;
	$("#backdrop .slider .slides").stop().animate({marginLeft: pos}, 1000, "easeInOutCubic", function() {});
}

function previousProgrammeSlide() {
	programmeslide--;
	if (programmeslide != 1) $(".navigation.programmes").stop().clearQueue().delay(750).fadeIn(500); else $(".navigation.programmes").stop().clearQueue().fadeOut(400);
	var pos =  - (programmeslide - 1) * 1318;
	$("#backdrop .slider .slides").stop().animate({marginLeft: pos}, 1000, "easeInOutCubic", function() {});
}




function stopSlideAnimation() {
	$(".slide .sentence").each(function() {
		$(this).stop().clearQueue();
	});
}

function openPage(page) {
	stopSlideAnimation();
}


function startPreloader() {
	var rotation = function (){
		$(".preloader").rotate({
			angle:0, 
			animateTo:360, 
			callback: rotation,
			easing: function (x,t,b,c,d){        // t: current time, b: begInnIng value, c: change In value, d: duration
			  return c*(t/d)+b;
			}
	   	});
	}
	rotation();
}

function showPreloader(target, callback, animate) {
	if (animate == null) animate = true;
	if (callback == null || callback == "undefined") callback = function(){};
	if (target != "sharepreloader" && target != "contactpreloader") $(".overlay").fadeTo(500, 0.5);
	if (animate) $("#" + target).delay(500).fadeIn(500, callback); else $("#" + target).show();
}

function hidePreloader(target, callback) {
	if (callback == null || callback == "undefined") callback = function(){};
	if (target != "sharepreloader") $(".overlay").delay(250).fadeOut(500);
	$("#" + target).fadeOut(300, callback);
}

function openShare(type) {
	
	$(".overlay").stop().clearQueue();
	$("#share").stop().clearQueue();
	
	
	if (!shareopened) {
		
		$("#share .formcontent").empty();
		showPreloader("sharepreloader", null, false);
		currenttype = type;
		$("#share .link").removeClass("selected");
		$("#share .link." + type).addClass("selected");
		$(".overlay").fadeTo(500, 0.5);
		$(".navigation.left").clearQueue().delay(100).animate({bottom: 419}, 1000, "easeInOutQuint");
		$(".navigation.right").clearQueue().delay(100).animate({bottom: 419}, 1000, "easeInOutQuint");
		$("#share").stop().clearQueue().delay(100).animate({top: 260}, 1000, "easeInOutQuint", function() {
			$(".overlay").stop().clearQueue();
			loadShare(type);	
		})
		shareopened = true;
		return;
	} else if (currenttype == type) {
		
		closeShare();
		return;
	}
	
	if (currenttype != type) {
		$("#share .formcontent").empty();
		showPreloader("sharepreloader", null, false);
		$("#share .link").removeClass("selected");
		$("#share .link." + type).addClass("selected");	
		currenttype = type;
		loadShare(type);
	}
	
}


function closeShare() {
	hidePreloader("sharepreloader", null);
	currenttype = "";
	$("#share .link").removeClass("selected");
	$(".overlay").stop().clearQueue().fadeOut(1000);
	$(".navigation.left").clearQueue().animate({bottom: 55}, 1000, "easeInOutQuint");
	$(".navigation.right").clearQueue().animate({bottom: 55}, 1000, "easeInOutQuint");
	$("#share").stop().clearQueue().animate({top: 624}, 1000, "easeInOutQuint", function() {
		$("#share .formcontent").empty();	
	})
	shareopened = false;
}

function validateForm(type) {
	if ($("#name").val() == "" || $("#name").val() == $("#name").attr("label")) return false;
	if ($("#message").val() == "" || $("#message").val() == $("#message").attr("label")) return false;
	if ($("#email").val() == "" || !validate($("#email").val()) || $("#email").val() == $("#email").attr("label")) return false;
	if (type == "colleague") {
		if ($("#friendemail").val() == "" || !validate($("#friendemail").val()) || $("#friendemail").val() == $("#friendemail").attr("label")) return false;
	}
	return true;
}

function validate(address) {
 
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(address);
}


function loadShare(type) {
	
	if (reqshare != null) reqshare.abort();
	
	reqshare = $.ajax( "includes/" + type + ".php" )
			.done(function(data) { 
					
					hidePreloader("sharepreloader", function() {
						$("#share .formcontent").hide().html(data).fadeIn(500, function() {
							
						}); 
						$('input[label], textarea[label]').placeholder();
					});
				})
			.fail(function(error) { console.dir(error); });
	
	
	
}


function sendMessage(type, contact) {
	
	if (contact == null) contact = false;
	
	if (!validateForm(type)) {
		$(".error").stop().clearQueue().fadeIn(500).delay(5000).fadeOut(1500);
		return;	
	}
	
	if (reqshare != null) reqshare.abort();
	
	$(".error").stop().clearQueue().hide();
	
	$(".formcontent").fadeOut();
	showPreloader(contact ? "contactpreloader" : "sharepreloader", function() {
		reqshare = $.ajax({
					url: "includes/" + type + (contact ? "_contact" : "") + ".php",
					type: "POST",
					data: {
								name: $("#name").val(),
								email: $("#email").val(),
								message: $("#message").val(),
								friendemail: $("#friendemail").val()
							}
				})
				.done(function(data) { 
						
						hidePreloader(contact ? "contactpreloader" : "sharepreloader", function() {
							$(".formcontent").hide().html(data).fadeIn(500, function() {
								$(".formcontent .feedback").show().delay(3000).fadeOut(500, function() {
									$(contact ? ".form" : ".contactform").show().fadeIn(500);	
								})	
							}); 
							$('input[label], textarea[label]').placeholder();
						});
						
						_gaq.push(['_trackPageview', '/events/' + type +  '/message_sent']);
						
					})
				.fail(function(error) { console.dir(error); });
			
	});
}


function maskContactEmailAddress(spanid) {
	var spt = $('span.' + spanid);
	var at = / at /;
	var dot = / dot /g;
	var addr = $(spt).text().replace(at,"@").replace(dot,".");
	$(spt).after('<a href="mailto:'+addr+'" title="Send an email">'+ addr +'</a>');
	$(spt).remove();
}

function maskAboutUsEmailAddress(spanid) {
	$('span.aboutus_email').each(function() {
		var spt = $(this);
		var at = / at /;
		var dot = / dot /g;
		var addr = $(spt).text().replace(at,"@").replace(dot,".");
		$(spt).after('<a class="button blue" href="mailto:'+addr+'" title="Send an email"><span>'+ spt.attr("description") +'</span></a>');
		$(spt).remove();
	})
	
}



function loadPage(page) {
	
	// Track with google
	_gaq.push(['_trackPageview', '/pages/' + page + ".php"]);
	
	if (req != null) req.abort();
	stopSlideAnimation();
	
	$("#menu ul li").removeClass("selected");
	$("#menu ul li." + page).addClass("selected");
	
	$(".navigation").stop().clearQueue().fadeOut(400);
	$(".slides").fadeOut(300);
	showPreloader("mainpreloader", function() {
		req = $.ajax({
			url: "pages/" + page + ".php",
			type: "GET"
		})
		.done(function(data) {
			hidePreloader("mainpreloader");
			stopSlideAnimation();
			$(".slides").fadeOut(500).css({marginLeft: 0}).html(data)
			
			$('input[label], textarea[label]').placeholder();
			$(".slides").fadeIn(500);
			
			if (page == "home") {
				slide = 1;
				slideAnim();
			}
			
			maskContactEmailAddress("contact_info");
			maskAboutUsEmailAddress("contact_info");
			req = null;
		})
		.error(function(error) {
			hidePreloader("mainpreloader");
			alert("error");
			req = null;
		});
	});
}


$(document).ready(function() {
	init();
	startPreloader();
	$(".preloader").hide();
	
	$('input[label], textarea[label]').placeholder();
});