"use strict";
function isOnScreen(elem) {
// if the element doesn't exist, abort
if( elem.length == 0 ) {
return;
}
var $window = jQuery(window)
var viewport_top = $window.scrollTop()
var viewport_height = $window.height()
var viewport_bottom = viewport_top + viewport_height
var $elem = jQuery(elem)
var top = $elem.offset().top
var height = $elem.height()
var bottom = top + height
return (top >= viewport_top && top < viewport_bottom) ||
(bottom > viewport_top && bottom <= viewport_bottom) ||
(height > viewport_height && top <= viewport_top && bottom >= viewport_bottom)
}
// start custom scripts
(function($) {
jQuery(document).ready(function($){
/*========== Swicher ==========*/
/*========== Progress bar ==========*/
function animate() {
$(".progress-bar").each(function(){
var progressValue = $(this).attr('data-value');
$(this).animate({width: progressValue +'%'}, 6000);
});
}
function scrollToID(url, id, speed) {
if(url!==null)
{
window.location.href = url;
}
var offSet = 50;
var obj = jQuery(id).offset();
var targetOffset = 0;
if(jQuery(id).length)
{
targetOffset = jQuery(id).offset().top - offSet;
}
jQuery('html,body').animate({ scrollTop: targetOffset }, speed)
}
function backToPreviousLink()
{
var loc = window.location;
var responseFrom = loc.hash.lastIndexOf('=') + 1;
if(loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1, loc.pathname.length) == 'index.php' )
{
if(loc.hash.substring( responseFrom, loc.hash.length ) == 'about')
{
$('.about-section').addClass('active').append('');
}
else if(loc.hash.substring( responseFrom, loc.hash.length ) == 'our_partners')
{
$('.our_partners-section').addClass('active').append('');
}
else if(loc.hash.substring( responseFrom, loc.hash.length ) == 'contact')
{
$('.contact-section').addClass('active').append('');
}
else
{
$('.intro-section').addClass('active').append('');
}
}
else if(loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1, loc.pathname.length) == 'careers.php' )
{
$('.career-link').addClass('active').append('');
}
else if(loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1, loc.pathname.length) == 'apply.php' )
{
$('.career-link').addClass('active').append('');
}
else if(loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1, loc.pathname.length) == 'portfolio.php' )
{
$('.portfolio-link').addClass('active').append('');
}
else if(loc.pathname.includes("services") )
{
$('.service-link').addClass('active').append('');
}
else if(loc.pathname.includes("industries") )
{
$('.industries-link').addClass('active').append('');
}
}
//service and industry
var loc = window.location;
if(loc.pathname.includes("services") && loc.pathname.includes("industries") )
{
console.log(loc);
$(".expand-menu li a[href=" + + "]").addClass("active");
}
//homepage
var previousLink;
var indexPeviousSelectedLink = 0;
$('#navigation .service-link').on('click', function()
{
$(".nav-active-mark").parent().removeClass("active")
$(".nav-active-mark").remove();
$('#industriesMenu').css('display', 'none');
$('#servicesMenu').toggle('active');
if($('#header').hasClass('active_dropdown'))
{
if(previousLink != 'industries')
{
$('#header').removeClass('active_dropdown');
}
$(this).remove('.nav-active-mark').removeClass('active');
backToPreviousLink();
previousLink = '';
}
else
{
$('#header').addClass('active_dropdown');
$(this).addClass('active').append('');
previousLink = 'services';
}
});
$('#navigation .industries-link').on('click', function()
{
$(".nav-active-mark").parent().removeClass("active")
$(".nav-active-mark").remove();
$('#servicesMenu').css('display', 'none');
$('#industriesMenu').toggle('active');
if($('#header').hasClass('active_dropdown'))
{
if(previousLink != 'services')
{
$('#header').removeClass('active_dropdown');
}
$(this).remove('.nav-active-mark').removeClass('active');
backToPreviousLink();
previousLink = '';
}
else
{
$('#header').addClass('active_dropdown');
$(this).addClass('active').append('');
previousLink = 'industries';
}
});
$('#mobile-navigation .service-link').click(function(event){
event.stopPropagation();
var mobileDrodown = $(this).find('ul');
if(mobileDrodown.is( ":hidden" ))
{
mobileDrodown.slideDown('slow');
mobileDrodown.removeClass('active');
}
else
{
mobileDrodown.hide();
mobileDrodown.addClass('active');
}
});
$('#mobile-navigation .industries-link').click(function(event){
event.stopPropagation();
var mobileDrodown = $(this).find('ul');
if(mobileDrodown.is( ":hidden" ))
{
mobileDrodown.slideDown('slow');
mobileDrodown.removeClass('active');
}
else
{
mobileDrodown.hide();
mobileDrodown.addClass('active');
}
});
//homepage end
//career
var expand = false;
$('.position').on('click', function(ev) {
//ev.preventDefault();
$(this).find(".chev").toggleClass('chevron--down chevron--up');
$(this).closest(".position-cont").find(".collapse").toggleClass("show");
$(this).toggleClass("active"); //css({"background-color": "#993c95", "color": "white"});
expand= !expand;
});
$('.chev').on('click', function(ev) {
//ev.preventDefault();
$(this).toggleClass('chevron--down chevron--up');
$(this).closest(".position-cont").find(".collapse").toggleClass("show");
$(this).closest(".position").toggleClass("active"); //css({"background-color": "#993c95", "color": "white"});
expand= !expand;
});
//end career
//apply
// $(".resume-cont").click(function()
// {
// $(".resume-file").click();
// });
if( $("#positions").length)
{
$("#positions").selectize({
create: true,
sortField: {
field: 'text',
direction: 'asc'
},
});
}
var resume = "";
$("input:file").change(function (event){
var fileName = $(this).val();
var reader = new FileReader();
reader.onload = function(e)
{
resume = e.target.result;
}
reader.readAsDataURL(this.files[0]);
var fileExtensionAt = fileName.lastIndexOf(".") + 1;
var fileExtension = fileName.substring(fileExtensionAt, fileName.length);
if(fileName!="" && fileExtension == "doc" || fileExtension == "docx" || fileExtension == "pdf")
{
var from = fileName.lastIndexOf("\\") + 1;
var to = fileName.length ;
if(to < 12)
{
fileName = fileName.substring(from, to);
}
else
{
fileName = fileName.substring(from, from + 12) + " ...";
}
}
else{
fileName="Choose file";
}
$(".resume-file-cont label").html(fileName);
});
$(".btn-delete-file").click(function(e)
{
e.preventDefault();
$(".resume-file-cont label").html("Choose file");
});
var btn_apply = $("#apply-submit");
var apply_form = $("#apply-form");
apply_form.bind('submit', function(ev) {
ev.preventDefault();
var resume_file = document.getElementById("resume-file").files[0];
var data = new FormData(document.getElementById("apply-form"));
data.append("resume", "'" + resume + "'");
data.append("resume-file", resume_file);
$.ajax({
url: "job_apply.php?call=upload",
method: "POST",
data: data,
contentType: false,
cache: false,
processData:false,
success : function(data) {
window.location.replace("careers.php?response=successful");
},
error: function(error)
{
console.log(console.error);
}
});
});
//apply end
//contact form
var contact_form = $("#contact-form");
var contact_button = jQuery("#contact-form #submit");
var status = jQuery(".log");
contact_form.bind('submit', function(event)
{
event.preventDefault();
var data = new FormData(document.getElementById("contact-form"));
$.ajax({
url: "contact_form.php",
method: "POST",
data: data,
contentType: false,
cache: false,
processData:false,
success : function(data) {
window.location.replace("index.php");
},
error: function(error)
{
console.log(console.error);
}
});
});
$('.clear_storage').on('click', function(e){
window.localStorage.clear();
});
var get_id = localStorage.getItem('pg_id');
var setupUrl = false;
// check page id, then scroll to its div
if(get_id)
{
scrollToID(null, get_id, 300);
}
jQuery(document).ready(function()
{
var loc = window.location;
if(!get_id && loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1, loc.pathname.length) == 'index.php' && !setupUrl)
{
var sectionType = window.location.hash;
var id = sectionType.substr(sectionType.indexOf('=') + 1, sectionType.length );
id+="-section";
if(id != "" && id != null)
{
var nav_link = "#navigation ."+ id +" > a";
var item = $(nav_link);
item.trigger('click');
setupUrl =true;
}
}
});
$("#back-to-top").on('click', function()
{
$(window).scrollTop(0);
$(this).removeClass('active');
});
// click event to scroll to div
//section link in nav which refer to section on homepage
$('.home_link').on('click', function(e){
e.preventDefault();
var id = '#'+$(this).data('id');
localStorage.setItem('pg_id', id);
var url = $(this).attr("href");
scrollToID(url, id, 300);
});
//Link from our partners section on homepage which refer to section on portfolio page
$('.partners_link').on('click', function(e){
e.preventDefault();
var id = '#'+$(this).data('id');
localStorage.setItem('pg_id', id);
var url = $(this).attr("href");
scrollToID(url, id, 300);
});
var siteUrl = window.location.hash;
window.addEventListener('scroll', function(e) {
if($( document ).width() <= 768)
{
$("#back-to-top").addClass("active");
}
if($( document ).scrollTop() == 0)
{
$("#back-to-top").removeClass("active");
}
var loc = window.location;
if(loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1, loc.pathname.length) == 'index.php')
{
var newUrl = "";
if( isOnScreen( $( '#intro-section' ) ) ) { /* Pass element id/class you want to check */
$("nav li.active").removeClass("active").find('.nav-active-mark').remove();
$("nav li.intro-section").addClass("active").append('');
//newUrl = siteUrl.substring(0, siteUrl.indexOf("/"));
parent.location.hash = "?section=intro";
}
if( isOnScreen( $( '#about-section' ) ) ) { /* Pass element id/class you want to check */
$("nav li.active").removeClass("active").find('.nav-active-mark').remove();
$("nav li.about-section").addClass("active").append('');
parent.location.hash = "?section=about";
}
if( isOnScreen( $( '#our_partners-section' ) ) ) { /* Pass element id/class you want to check */
$("nav li.active").removeClass("active").find('.nav-active-mark').remove();
$("nav li.our_partners-section").addClass("active").append('');
parent.location.hash = "?section=our_partners";
}
if( isOnScreen( $( '#services-section' ) ) ) { /* Pass element id/class you want to check */
$("nav li.active").removeClass("active").find('.nav-active-mark').remove();
$("nav li.services-section").addClass("active").append('');
parent.location.hash = "?section=services";
}
if( isOnScreen( $( '#teams-wrap' ) ) ) { /* Pass element id/class you want to check */
$("nav li.active").removeClass("active").find('.nav-active-mark').remove();
$("nav li.teams-wrap").addClass("active").append('');
newUrl = siteUrl.substring(0, siteUrl.lastIndexOf("/") -1) + "teams-wrap";
parent.location.hash = "?section=teams"
}
if( isOnScreen( $( '#contact-section' ) ) ) { /* Pass element id/class you want to check */
$("nav li.active").removeClass("active").find('.nav-active-mark').remove();
$("nav li.contact-section").addClass("active").append('');
parent.location.hash = "?section=contact"
}
}
});
//careers
var loc = window.location;
//response=successful
var responseFrom = loc.search.lastIndexOf('=') + 1;
if(loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1, loc.pathname.length) == 'careers.php' && loc.search.substring( responseFrom, loc.search.length ))
{
$('.background-overlay').addClass('active');
$('.apply-notification').addClass('active');
}
$('.close-notification').click(function()
{
window.location.replace("careers.php");
}
)
//careers end
/*========== Disables ==========*/
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
$('#animate_css_file, #wow_js_file').remove();
} else {
/*========== WOW Animations ==========*/
var wow = new WOW(
{
animateClass: 'animated',
offset: 100
}
);
wow.init();
}
/*========== Logo Retina ==========*/
if( window.devicePixelRatio > 1 ) {
var logoWidth = $('#logo img').width();
var logoHeight = $('#logo img').height();
$('#logo img').attr("src", "images/logo@2x.png");
$('#logo img').css({ 'width': logoWidth , 'height': logoHeight });
}
/*========== Team Item Hover ==========*/
$('.team-item').each(function(){
var memberImage = $(this).find('.member-face').attr('style');
var current = $(this).find('.change-color');
$(this).find('.hex-in2.outer-hex').first().hover(function(){
$(this).find('.member-face').css('background','#000');
$(current).css('background-color','#f3b202');
$(this).find('.socials').show();
},function(){
$(this).find('.socials').hide();
$(this).find('.member-face').attr('style', memberImage);
$(current).css('background-color','#000');
});
});
/*========== Gallery Item Hover ==========*/
$('.gallery-item').hover(function(){
$(this).find('.gallery-info').stop(true,true).animate({ "top": "0" } );
},function(){
$(this).find('.gallery-info').stop(true,true).animate({ "top": "-999" } );
});
/*========== Pie Chart ==========*/
$('.days').waypoint(function() {
$('.chart').easyPieChart({
easing: 'easeOutBounce',
barColor: '#f3b202',
trackColor: '#595959',
lineWidth: '18',
lineCap: 'butt',
size: '160',
scaleColor: false,
onStep: function(from, to, percent) {
$(this.el).find('.percent').text(Math.round(percent));
}
});
});
/*========== Smooth Scroll ==========*/
$('a[href*=#]:not([href=#])').click(function() {
$("li.active").removeClass("active").find('.nav-active-mark').remove();
$("#navigation ul > li").each( function(index)
{
var selected = $(this).find(".nav-active-mark");
if(selected.length)
{
indexPeviousSelectedLink = index +1;
}
});
$(this).parent().addClass('active').end().append('');
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top - 53
}, 1000);
return false;
}
}
});
/*========== Graph Bars Animate ==========*/
$('.days').waypoint(function() {
$('.graph ul li.bar').each(function() {
var curBarHeight = $(this).data('bar-height');
$(this).animate({ height: curBarHeight }, 2000, "easeInOutBack");
});
});
/*========== Intro Note Box Tooltip ==========*/
/*$('.note-1').hover(function(){
$(this).find('.note-tooltip').fadeIn();
},function(){
$(this).find('.note-tooltip').fadeOut();
});
*/
/*========== PrettyPhoto ==========*/
$("a[data-rel^='prettyPhoto']").prettyPhoto({theme:'dark_rounded', hook: 'data-rel'});
/*========== Flickr ==========*/
var flickrImageSrc = [ ];
var flickrLink = [ ];
$('.flickr_badge_image').each(function(i){
flickrImageSrc[i] = $(this).find('img').attr('src');
flickrLink[i] = $(this).find('a').attr('href');
});
$('.flickr-item').each(function(i){
$(this).find('.hex-area').css('background-image', 'url(' + flickrImageSrc[i] + ')');
$(this).find('.flickr-link').attr('href', flickrLink[i] );
});
/*========== Window Resize ==========*/
var windowWidth = $(window).width();
var numberOfHexagon = windowWidth / 106;
var offsetBackground = ((numberOfHexagon - 14) * 106 ) /2;
$('#hexagon-overlay').css('background-position', offsetBackground + 'px' + ' ' + 'top');
$(window).resize(function() {
var currentWindowWidth = $(window).width();
if(currentWindowWidth <= 940) return;
$('#hexagon-overlay').css('background-position', - ( ( (windowWidth - currentWindowWidth)/2 ) - offsetBackground ) + 'px' + ' ' + 'top');
});
/*========== Mobile Menu ==========*/
$('.mobile-nav-toggle').on('click',function(){
if($(this).attr('class') == 'mobile-nav-toggle deactive') {
$('#mobile-navigation').fadeIn();
$(this).removeClass('deactive');
} else {
$('#mobile-navigation').fadeOut();
$(this).addClass('deactive');
}
});
$("#mobile-navigation li:not(.service-link):not(.industries-link) a").on("click", function(){
$('#mobile-navigation').fadeOut();
$(".mobile-nav-toggle").addClass('deactive');
});
$(window).resize(function(){
var w = $(window).width();
if(w > 767) {
$('#mobile-navigation').fadeOut();
$(".mobile-nav-toggle").addClass('deactive');
}
});
/*========== Contact Form Validation ==========*/
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);
}
/*========== FlexSlider ==========*/
$('.flexslider').flexslider({
animation: "fade",
animationLoop: false,
directionNav: false,
slideshow: false
});
}); // end jquery init
})(jQuery);
var verifyCallbackApply = function(response) {
return new Promise(function(resolve, reject) {
if (response) {
//jQuery("#apply-form").submit();
$('#apply-submit').removeAttr('disabled');
}
});
};
var verifyCallbackContact = function(response) {
return new Promise(function(resolve, reject) {
if (response) {
//jQuery("#apply-form").submit();
$('#contact-form #submit').removeAttr('disabled');
}
});
};
var onloadCallback = function () {
if (jQuery('#googlecapatcha_apply').length) {
recaptcha = grecaptcha.render('googlecapatcha_apply', {
'sitekey': "6Lc3Bt8ZAAAAACPv1F98oFvwPOYVyvWvmN1HYkrS",
'theme': 'light',
'callback': verifyCallbackApply
});
}
if (jQuery('#googlecapatcha_contact').length)
{
recaptcha = grecaptcha.render('googlecapatcha_contact', {
'sitekey': "6Lc3Bt8ZAAAAACPv1F98oFvwPOYVyvWvmN1HYkrS",
'theme': 'light',
'callback': verifyCallbackContact
});
}
};