//jQuery.noConflict();

jQuery(document).ready(function() {
  //jQuery('#search').ffSuggest();

  initStoreSwitcher();

  if(jQuery('.milesAndMoreInfo').is('*')) {
    initMilesAndMoreTooltip();
  }

  if(jQuery('#currencyCalculator').is('*')) {
    jQuery('.currency_calculator').click(function(ev) {
      ev.preventDefault();
      if(jQuery('#currencyCalculator:visible').is('*')) {
        jQuery('#currencyCalculator').fadeOut('slow');
      } else {
        jQuery('#currencyCalculator').fadeIn('slow');
      }
    });

    jQuery('#currencyCalculator .btnClose').click(function(ev) {
      ev.preventDefault();
      jQuery('#currencyCalculator').fadeOut('slow');
    });
  }

  //openAirportLayer();

  setNewAndSpecialOfferNavigationActive();
  
});

//refactor me
function setNewAndSpecialOfferNavigationActive() {
  var currentUrl = document.URL;
  currentUrl = currentUrl.split("/");
  
  if (currentUrl) {
	switch (currentUrl[4]) {
	  case 'catalognew':
		  jQuery('div.navi ul li.latest_products').addClass('active'); 	  
      break;
	  case 'catalogsale':
	    jQuery('div.navi ul li.special_offers').addClass('active');  
	  break;
	}
  }	  
}

function initMilesAndMoreTooltip() {
  var config = {
     sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
     interval: 50, // number = milliseconds for onMouseOver polling interval
     over: function() {jQuery('.milesAndMoreTooltip').fadeIn('slow')}, // function = onMouseOver callback (REQUIRED)
     timeout: 500, // number = milliseconds delay before onMouseOut
     out: function() {jQuery('.milesAndMoreTooltip').fadeOut('slow')} // function = onMouseOut callback (REQUIRED)

  }
  jQuery('.miles_and_more').hoverIntent(config).click(function(ev) {
    ev.preventDefault();
  });
}

/*
function initFactFinderEvents() {
  jQuery('#suggestLayer table tr').live('mouseover', function() {
    jQuery(this).addClass('hover');
  });
  jQuery('#suggestLayer table tr').live('mouseout', function() {
    jQuery(this).removeClass('hover');
  });
}
*/

var open = false;
function initStoreSwitcher() {
  jQuery('#select-store li.current, .switcher-store a.headline').click(function(ev) {
    jQuery('#select-store li').not('.current').slideToggle();
    if(open) {
      open = false;
    } else {
      open = true;
      window.setTimeout('closeAirportSwitcher()', 5000);
    }
    ev.preventDefault();
  });

  jQuery('#select-store li a').hover(function(ev) {
    if(jQuery(this).parents('li').is('.current')) {
      jQuery(this).removeAttr('style');
    } else {
      jQuery('#select-store li.current a').css('background', 'none');
    }
  }, function() {
    jQuery('#select-store li.current a').removeAttr('style');
  });
}

function closeAirportSwitcher() {
  jQuery('#select-store li').not('.current').slideUp();
  open = false;
}

function deleteCookie(key, value) {
  document.cookie = key+'='+value+'; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}

function addCookieValue(key, value) {
  document.cookie = key+'='+value+';';
  return true;
}

function getCookieValue(key) {
  cookieVal = document.cookie;
  keyValuePairs = cookieVal.split(';');
  a = 0;
  while(keyValuePairs[a]) {
    var tmp = keyValuePairs[a].split('=');
    if(jQuery.trim(tmp[0]) == key) {
      return jQuery.trim(tmp[1]);
      break;
    }
    a++;
  }
  return false;
}

function cookiesAllowed() {
  addCookieValue('test', true);
  if(getCookieValue('test')) {
    deleteCookie('test', true);
    return true;
  }
  return false;
}

function openAirportLayer() {
  if(getCookieValue('cookieName') != 'heinemann' && cookiesAllowed()) {
    var page = ''+window.location;
    var urlParts = page.split('//');
    urlParts = urlParts[1].split('/');
    // set Default location of Layer
    target = '/airportChooser_de';
    // get Location of Layer for different languages
    a = 0;
    while(urlParts[a]) {
      strLength = urlParts[a].length;
      if(urlParts[a].substr(strLength-3) == '_en') {
        target = '/airportChooser_en';
      }
      a++;
    }

    jQuery.nyroModalSettings({
      modal: true,
      type: 'ajax',
      ajax: {
        url: target
      },
      contentLoading: '',
      minHeight: 10,
      minWidth: 10,
      height: 243,
      width: 552,
      css: {
        wrapper: {
          top: '232px',
          left: '50%'
        }
      }
    });

    // set Options for Layer
    jQuery.nyroModalManual();

    jQuery('.getGermanText').live('click', function(ev) {
      ev.preventDefault();
      jQuery.get('/airportChooser_de', '', function(data) {
        jQuery('#nyroModalContent').html(data);
      });
    });

    jQuery('.getEnglishText').live('click', function(ev) {
      ev.preventDefault();
      jQuery.get('/airportChooser_en', '', function(data) {
        jQuery('#nyroModalContent').html(data);
      });
    });

    // set Cookie to not show layer again
    addCookieValue('cookieName', 'heinemann');
  }
}

// jQuery numeric START
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('r.E.W=7(c,d){c=c||".";d=q d=="7"?d:7(){};6.K(7(e){g a=e.i?e.i:e.h?e.h:0;2(a==k&&6.N.J()=="G"){5 3}f 2(a==k){5 j}g b=j;2((e.4&&a==y)||(e.4&&a==v))5 3;2((e.4&&a==t)||(e.4&&a==u))5 3;2((e.4&&a==V)||(e.4&&a==S))5 3;2((e.4&&a==R)||(e.4&&a==Q))5 3;2((e.4&&a==P)||(e.4&&a==O)||(e.L&&a==p))5 3;2(a<I||a>H){2(a==p&&6.l.F==0)5 3;2(a==c.n(0)&&6.l.o(c)!=-1){b=j}2(a!=8&&a!=9&&a!=k&&a!=D&&a!=C&&a!=M&&a!=B&&a!=A){b=j}f{2(q e.i!="z"){2(e.h==e.m&&e.m!=0){b=3}f 2(e.h!=0&&e.i==0&&e.m==0){b=3}}}2(a==c.n(0)&&6.l.o(c)==-1){b=3}}f{b=3}5 b}).x(7(){g a=r(6).w();2(a!=""){g b=T U("^\\\\d+$|\\\\d*"+c+"\\\\d+");2(!b.s(a)){d.X(6)}}});5 6}',60,60,'||if|true|ctrlKey|return|this|function||||||||else|var|keyCode|charCode|false|13|value|which|charCodeAt|indexOf|45|typeof|jQuery|exec|120|88|65|val|blur|97|undefined|46|39|36|35|fn|length|input|57|48|toLowerCase|keypress|shiftKey|37|nodeName|86|118|90|122|67|new|RegExp|99|numeric|apply'.split('|'),0,{}))
// jQuery numeric END
//
// Usage of jQuery Numeric to avoid wrong Values in basket quantities
jQuery(document).ready(function() {
  jQuery("input.qty").numeric();
});