﻿//   AZ JS

var ie6 = false;
var $j = jQuery.noConflict();

$j(document).ready(function () {
	
	fnLangPicker();
    fnJsClass();
    fnCheckIe();
    fnCheckLang();
    fnResize();
    fnFormDefaultText();
    fnSubNav();
    fnPdfLink();
    fnDisclaimerOverlay();
    fnContactForm();
    fnHomeSlides();
    fnTabs();
    fnPrint();
    
    /* IE6 Functions */
    if (ie6) {
		fnBgFlicker();
    }
});


/**
* jqEM to detect font size changes
*/
//set the text size that the default body computes to
var fontSize = 12;

$j.jqem.bind(function(a,b,c) {
	fnResize();
});
	
function fnResize(){
	if( $j.jqem.current() == fontSize) {			
		$j('html').addClass('enh');
	}else if($j.jqem.current() != fontSize){		
		$j('html').removeClass('enh');
	};
};

function fnJsClass(){
	$j('body').addClass('js');
}

/**
 * Assign simple hide and show default value for inputs like search box
 */
function fnFormDefaultText() {
	
	$j(".formDefault").each(function(){
		var $label = $j(this).prev('label');
		var txt = $label.text();
		if($label.has('em').length>0){
			txt = $j('em',$label).text();
		}
		
		 if ($j(this).val() == "" || $j(this).val() == txt) {
			$j(this)[0].defaultValue = txt;
        	$j(this).val($j(this)[0].defaultValue);
     	}
		
	});
	
	$j(".formDefault").unbind("focus,blur").focus(function () {
		if ($j(this).val() == $j(this)[0].defaultValue) {
        	$j(this).val("");
        }
	 }).blur(function() {
        if ($j(this).val() == "") {
        	$j(this).val($j(this)[0].defaultValue);
     	}
	 });
}

function fnCheckIe(){
	if($j('#ie6').length>0){ie6 = true;}
}

function fnBgFlicker(){
	try {document.execCommand("BackgroundImageCache", false, true);} catch(err){}
}

/* SIFR Initiation */

/* This section adds the ability to use :not in the selectors to filter out anything that shouldn't be replaced */
parseSelector.pseudoClasses = {
  'not': function(nodes, selector) {
    var result = [];
    each: for(var i = 0, node; i < nodes.length; i++) {
      node = nodes[i];
      var ignore = parseSelector(selector, node.parentNode);
      for(var j = 0; j < ignore.length; j++) {
        if(ignore[j] == node) continue each;
      }
      result.push(node);
    }
    return result;
  }
};

	var helveticaUltraLight = {src: '/azAssets/flash/helvetica-ultra-light.swf'};
	var helveticaLight = {src: '/azAssets/flash/helvetica-light.swf'};
	var helveticaThin = {src: '/azAssets/flash/helvetica-thin.swf'};
	
	// You probably want to switch this on, but read <http://wiki.novemberborn.net/sifr3/DetectingCSSLoad> first.
	sIFR.useStyleCheck = true;
	sIFR.activate();


function fnReplace(){	
	/* Heading 1 */
  	var h1frt  = 'h1.frt';
  		
	sIFR.replace(helveticaUltraLight, {
    selector: h1frt
    ,selectable: false
	,forceTextTransform : false
	,wmode: 'transparent'
    ,css: [
      '.sIFR-root {color: #7d7d7d; padding:0; margin:0;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #7d7d7d; }'
      ,'a:hover { color: #7d7d7d; text-decoration: underline; }'
    ]
  });
  
/* Heading 2 */
  	var h2frt  = 'h2.frt';
  		
	sIFR.replace(helveticaLight, {
    selector: h2frt
    ,selectable: false
	,forceTextTransform : false
	,wmode: 'transparent'
    ,css: [
      '.sIFR-root {color: #7b7b7b; padding:0; margin:0; text-transform:uppercase;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #7b7b7b; }'
      ,'a:hover { color: #7b7b7b; text-decoration: underline; }'
    ]
    ,tuneHeight: -3
  });
  
  /* HomeSlides */
  	var h2frt  = '.slide h2';
  		
	sIFR.replace(helveticaThin, {
    selector: h2frt
    ,selectable: false
	,forceTextTransform : false
	,wmode: 'transparent'
    ,css: [
      '.sIFR-root {color: #7d7d7d; padding:0; margin:0; letter-spacing:0.4}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #7d7d7d; }'
      ,'a:hover { color: #7d7d7d; text-decoration: underline; }'
    ]
    ,tuneHeight: -3
  });
  
  /* Red heading e.g. contact fb */
  	var h2frtRed  = '.frtRed';
  		
	sIFR.replace(helveticaLight, {
    selector: h2frtRed
    ,selectable: false
	,forceTextTransform : false
	,wmode: 'transparent'
    ,css: [
      '.sIFR-root {color: #d71f17; padding:0; margin:0; letter-spacing:0.4; text-align:center;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #d71f17; }'
      ,'a:hover { color: #d71f17; text-decoration: underline; }'
    ]
    ,tuneHeight: -10
  });
  
  /* HomeSlides */
  	var pfrt  = '.fb4 p';
  		
	sIFR.replace(helveticaThin, {
    selector: pfrt
    ,selectable: false
	,forceTextTransform : false
	,wmode: 'transparent'
    ,css: [
      '.sIFR-root {color: #7d7d7d; padding:0; margin:0; letter-spacing:0.3; text-align:center;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color: #7d7d7d; }'
      ,'a:hover { color: #7d7d7d; text-decoration: underline; }'
    ]
    ,tuneHeight: -3
  });
  
}

fnReplace();
 
function fnSubNav(){
	var $pNav = $j('#sNav .pNav');
	if ($pNav.length){
		
		$pNav.each(function(i){
			obj = $j(this);
			
			obj.addClass('open');
			
			$j('h3', obj).wrapInner('<a href="#"></a>');
			
		});
		
		$j('#sNav .pNav h3 a').click(function(){
			var $par = $j(this).parents('.pNav');
			var $targ = $j(this).parents('.pNav').find('.inr');
			
			$par.toggleClass('open closed');
			$targ.slideToggle();
			
			return false;
			
		});
		
	}
}

function fnTabs() {
	if($j('div.tabs')){
		$j('div.tabs').tabs({
			// no options yet			
		});
		$j('div.tabs ul:first li:last').addClass('last');
		$j('div.tabs ul:first li:first').addClass('first');
	}
}

function fnContactForm(){
	
	$j.blockUI.defaults.css = {backgroundColor:'transparent', width:'480px', left: '50%', margin : '0 0 0 -240px', top: '20%'};
	$j.blockUI.defaults.overlayCSS = {backgroundColor: '#000', opacity:0.3 };

	$j('a.contactLink').click(function () {

	    var data = '<iframe id="contactUsFrame" src="' + $j(this).attr('href') + '&ajax=true" width="100%" height="670" frameborder="0" scrolling="no"></iframe>';
	    
        var closeText = 'Close';
        if ($j('body').hasClass('de')) closeText = 'schliessen';
        if ($j('body').hasClass('fr')) closeText = 'fermer';
        if ($j('body').hasClass('ko')) closeText = '닫기';
        if ($j('body').hasClass('ja')) closeText = '閉じる';
        if ($j('body').hasClass('zh-CN')) closeText = '关闭';
        if ($j('body').hasClass('zh-TW')) closeText = '關閉';

	    var close = '<a href="#" title="' + closeText + '" class="close">' + closeText + '</a>';

	    var html = '<div id="formHolder" class="modal"><div class="top"></div><div class="mid">' + close + data + '</div></div>';

	    $j('#formHolder').remove(); // remove any leftover from last overlay to avoid duplicate id
	    $j('#fW').after(html);

	    var pTop = $j(window).scrollTop() + 50;
	    
	    $j.blockUI({
	        message: $j('#formHolder'),
	        css: {
	            top: pTop + 'px'
	        }
	    });

	    return false;


	});

	
	$j('.close, .closeOverlay, .blockOverlay').live('click', function(){
    
		$j.unblockUI();
	    return false; 
	});
}


function fnHomeSlides(){
	var $slides = $j('#slides');
	var controls = '<div id="controls" class="cfx"><div id="slideNav"></div> <a href="#" class="playPause pause">Pause</a></div>';
	
	if($slides.length && $j('.slide', $slides).length>1){
		
		$j('#homeTop').append(controls);
		
		$slides.cycle({ 
		    fx: 'fade', 
		    timeout: 7000,
		    speed: 'slow',  
		    pager: '#slideNav',		    
		    pagerClick: function(i, obj){
		    	$slides.cycle('pause');
		    	$j('#controls a.playPause').removeClass('pause').addClass('play').text('Play');
		    }
		});
		
		$j('#controls a.playPause').live('click', function(){
    		
			obj = $j(this);
			if(obj.hasClass('play')){
				obj.toggleClass('play pause').text('Pause');
				$slides.cycle('resume');
			}else{
				obj.toggleClass('play pause').text('Play');
				$slides.cycle('pause');
			}
			
			return false; 
		});
		
		
	}
}

function fnLangPicker(){
	
	if($j('#langSelect').length > 0){
		
		var list ='';
		var langTxt = $j('#langSelect label:first').text();
		
		$j('#langSelect option').each(function(){
			obj = $j(this);
			txt = obj.text();
			val = obj.val();
			list+= '<li class="'+val+'"><a href="#">'+txt+'</a></li>';
		});
		
		
			var html = '<a href="#" id="changeLang">'+langTxt+'</a> <div id="langFlyOut"><div class="top"></div><div class="mid cfx"><ul>' + list + '</ul></div><div class="bot"></div></div>';
		
		$j('#langSelect').after(html).hide();
		
		$j('#changeLang').live('click', function(){
			
			$j('.langPicker').toggleClass('open');
			$j('#langFlyOut').toggle();
			
			return false;
		});
		
		
		$j('#langFlyOut a').live('click', function(){
			obj = $j(this);
			index = $j('#langFlyOut a').index(obj);
			
			$j('#langSelect select').get(0).selectedIndex = index;
			
			$j('#langSelect form').submit();
			
			return false;
		});
		
	}// if element present
	
}



function fnPrint(){
	
	$j('a.print').click(function(){
		window.print();	
		return false;
	});
	
}

function fnPdfLink(){
	$j('a.pdfLink').each(function(){
		$obj = $j(this);
		
		$obj.wrapInner('<span></span>');
				
	});
}

function fnDisclaimerOverlay(){
	$j('a.disclaimerOverlay').each(function(){
		
		$obj.click(function(){
			var url = $j(this).attr('href');
			//console.log(url);
			
			
			$j.blockUI.defaults.css = {backgroundColor:'transparent', width:'480px', left: '50%', margin : '0 0 0 -240px', top: '20%'};
			$j.blockUI.defaults.overlayCSS = {backgroundColor: '#000', opacity:0.3 };
			
			
			
			/* */
			if($j('#disclaimerHolder .disclaimer').length){
			//if there is a disclaimer form already on the page
			
			var vH = $j('#disclaimerHolder').height();
	        var pTop  = ($j(window).height() - vH) /2;
	
	        if(pTop<20){pTop=20;};
	        
			$j.blockUI({ 
				message: $j('#disclaimerHolder'),
				css: {
					top: pTop + 'px'
				}				
			});
			
			//$j.blockUI({ message: $j('#formHolder')});
			
			fnReplace();
			return false;
		}else{
			
			var html = '<div id="disclaimerHolder" class="modal"><div class="top"></div><div class="mid"></div></div>';
			
			$j('#fW').after(html);
			
			
			$j('#disclaimerHolder .mid').load(url +' #formWrap', function(){
				
				$j('#disclaimerHolder .mid').prepend('<a href="#" class="close">close</a>');
								
				var vH = $j('#disclaimerHolder').height();
		        var pTop  = ($j(window).height() - vH) /2;
		
		        if(pTop<20){pTop=20;};
		        
				$j.blockUI({ 
					message: $j('#disclaimerHolder'),
					css: {
						top: pTop + 'px'
					}				
				});
				
				//$j.blockUI({ message: $j('#disclaimerHolder')});
				
				fnReplace();
			});
			return false;
		}
			
			
			/* */
			
			
			
			return false;
			
			
			
		});
		
		
	});
}

function fnCheckLang() {
	if($j('body').is('.en, .fr, .de')){
		//
	}
	else{
		sIFR.isEnabled = false;
	}
}
