var cp_flashheaders = [
  '',
  '/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab2/philips.saeco.animation.swf',
  '/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab3/philips.saeco.animation.swf',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab4/philips.saeco.animation.swf',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab5/philips.saeco.animation.swf',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab6/philips.saeco.animation.swf',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab7/philips.saeco.animation.swf'
];

var cp_flashheaderBGs = [
  '',
  '/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab2/bgImg.jpg',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab3/bgImg01.jpg',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab4/bgImg02.jpg',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab5/bgImg03.jpg',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab6/bgImg04.jpg',
	'/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/tab6/bgImg04.jpg'
];

var cp_currentFlashHeader;
var __currentHeaderSRC;
var userRequestedTab;

$(document).ready(function() {
  	
  first_make_some();
    
	if(sIFR) sIFR.activate({src: 'http://www.crsc.philips.com/crsc/images/sifr_gillsanslight_3.436.swf'});
	cp_init_sIFR();
    
    
  setTimeout("cp_start()", 500);
	
});


function cp_start() {
    // -- Saeco init all functions --
    init_saeco();

	var cp_tabs = [
   		{id:'cp_tab1',name:'main'},
   		{id:'cp_tab2',name:'espresso_world'},
   		{id:'cp_tab3',name:'bean_to_cup'},
		{id:'cp_tab4',name:'inventor'},
		{id:'cp_tab5',name:'product_range'},
		{id:'cp_tab6',name:'sucess_story'},
		{id:'cp_tab7',name:'Tab_7'},
		{id:'cp_tab8',name:'Tab_8'}
   	];
    
	TabManager.init('#cp_tabmenu',cp_tabs);
    
    
    
}
/*
 * this function will be called right after a tab has changed
 */
function cp_tabChanged(value) {
	// change the flashheader
	cp_setFlashHeader(value);
    init_fake_faux_column();
    init_product();
	// re-initialise sIFR
    //cp_init_sIFR("#"+TabManager.data[value]);
	//console.log("tab changed "+value);
	setTimeout("cp_init_sIFR('#" + TabManager.data[value].id + "')", 10);
	init_lazyloader(value);
}

/*
 * Changes the header swf
 * @var integer, the index of the availableHeadersSRC global
 */
 
function cp_setFlashHeader(value) {
	
	if(!$("#flashheader_wrapper").length) return false;
	
	if (typeof cp_flashheaders[value] == undefined) return false;
	
	var src = cp_flashheaders[value];
	if (src == cp_currentFlashHeader) return false;
	
	cp_currentFlashHeader = src;
	
	var tabId = "tabAnimation"+(value+1);

	if( $("#"+tabId).hasClass("noFlash") ){
	
		for(var i=0;i <= TabManager.data.length;i++){
			var t = $("#tabAnimation"+(i));
			t.css("display","none");
		}
		$("#"+tabId).css({display:"block"});
		
	} else {
	
		// Change placeholder image
		var placeholderSrc = "url("+cp_flashheaderBGs[value]+") no-repeat";
		$("#flashheader_wrapper").css("background", placeholderSrc);
		
		//create flashheader with SWFWrapper
		var flashvars = {
			swf:src,
			swfConfig:cp_flashconfigs[value],
			wrapperConfig:"/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/swf_wrapper.xml",
			playButton:"false",
			replayButton:"false"
		};
		var params = {
			menu: "false",
			seamlesstabbing: "false",
			wmode:"transparent",
			allowFullScreen:"true",
			bgColor:"0x000000"
			
		};
		var attributes = {};
		
		var t = $("#"+tabId);
		t.css("display","block");
		
		for(var i=0;i <= TabManager.data.length;i++){
			var t = $("#"+"tabAnimation"+(i));
			t.css("display","none");
		}
		
		swfobject.embedSWF("/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/swf_wrapper.swf", tabId, "960", "289", "9", "/consumerfiles/pageitems/master/categorypages/Saeco_2011_Nov/assets/flash/express_install.swf", flashvars, params, attributes);
		
	}
	
	prevTab = value;
		
}
 
 
 //----- sIFR
function cp_init_sIFR(tab){
	if(!tab) tab = "";
	if(typeof sIFR != "undefined"){
		

		sIFR.replace(header, {
	  		selector: '#cp_tab1 div.barista h2'
	  		,css: '.sIFR-root {color:#d07137;font-size:50px;background-color:none;}'
	  		,filters: { DropShadow: { distance:0, color:'#d07137', strength:0, alpha:0, blurX:0, blurY:0 } }
            ,wmode: 'transparent'
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab1 div.choose-your-machine div.body h2'
	  		,css: '.sIFR-root {color:#d07137;font-size:50px;background-color:none;}'
	  		,filters: { DropShadow: { distance:0, color:'#d07137', strength:0, alpha:0, blurX:0, blurY:0 } }
            ,wmode: 'transparent'
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab1 div.body div h3'
	  		,css: '.sIFR-root {color:#d07137;font-size:24px;background-color:none;}'
	  		,filters: { DropShadow: { distance:0, color:'#d07137', strength:0, alpha:0, blurX:0, blurY:0 } }
            ,wmode: 'transparent'
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab1 div.teaser h4'
	  		,css: '.sIFR-root {color:#d07137;font-size:26px;background-color:none;}'
	  		,filters: { DropShadow: { distance:0, color:'#d07137', strength:0, alpha:0, blurX:0, blurY:0 } }
            ,wmode: 'transparent'
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab1 div.intro h2'
	  		,css: '.sIFR-root {color:#d07137;font-size:32px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab3 div.modules div h3'
	  		,css: '.sIFR-root {color:#d07137;font-size:24px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'
	  	});
		sIFR.replace(header, {
	  		selector: 'div.video h2, div.saeco-touch h2'
	  		,css: '.sIFR-root {color:#fff8e4;font-size:40px;background-color:none;height: 25px;display: inline-block;overflow: hidden;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'
			,forceSingleLine: false
	  	});
		sIFR.replace(header, {
	  		selector: 'div.taste h3'
	  		,css: '.sIFR-root {color:#fff8e4;font-size:40px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab3 h3.intro'
	  		,css: '.sIFR-root {color:#d07137;font-size:36px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		sIFR.replace(header, {
	  		selector: 'div.espresso-experts div h4'
	  		,css: '.sIFR-root {color:#d07137;font-size:24px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'
			,forceSingleLine: false
	  	});
		sIFR.replace(header, {
	  		selector: 'div.espresso-experts h3'
	  		,css: '.sIFR-root {color:#fff8e4;font-size:40px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		sIFR.replace(header, {
	  		selector: 'div.smell-of-success div.inner-content h3'
	  		,css: '.sIFR-root {color:#fff8e4;font-size:40px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		sIFR.replace(header, {
	  		selector: 'div.smell-of-success div.inner-content h3'
	  		,css: '.sIFR-root {color:#fff8e4;font-size:40px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab4 h2.intro'
	  		,css: '.sIFR-root {color:#d07137;font-size:56px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		sIFR.replace(header, {
	  		selector: '#cp_tab6 div.quality h2'
	  		,css: '.sIFR-root {color:#d07137;font-size:36px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		
		
		
		
		
		  sIFR.replace(header, {
	  		selector: '#p-rcb ' + tab + ' h2'
	  		,css: '.sIFR-root {color:#d07137;font-size:32px;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
	
		  sIFR.replace(header, {
	  		selector: '#p-rcb ' + tab + ' h3'
	  		,css: '.sIFR-root {color:#fff8e4;font-size:26px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'           
	  	});
	
		  sIFR.replace(header, {
	  		selector: '#p-rcb ' + tab + ' h4'
	  		,css: '.sIFR-root {color:#d07137;font-size:26px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		  sIFR.replace(header, {
	  		selector: '#p-rcb ' + tab + ' h5'
	  		,css: '.sIFR-root {color:#d07137;font-size:20px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
		  sIFR.replace(header, {
	  		selector: '#p-rcb ' + tab + ' h6'
	  		,css: '.sIFR-root {color:#fff8e4;font-size:18px;background-color:none;}'
	  		,filters: { DropShadow: { distance:1, color:'#000000', strength:0, alpha:0.5, blurX:5, blurY:5 } }
            ,wmode: 'transparent'	
	  	});
	}
}




function first_make_some() {

	// GET QUERYSTRING

	$.getQueryString();

	userRequestedTab = $.jget['tab'];

  for (var i = 0; i < universalTabNames.length; i++) { // find index from universal tab names

    if (universalTabNames[i] == userRequestedTab)

      userRequestedTab = i;

  }

  if (userRequestedTab == $.jget['tab'])

    userRequestedTab = 0;

	//sIFR needs a timeout for safari or sometimes sIFR won't behave correctly

	setTimeout("cp_setTab(" + userRequestedTab + ")", "10");

	

	// CHANGE TABS

	$("#cp_tabmenu a").click(function(){
    var length = $(this).attr("href").length;
    var tab    = $(this).attr("href").charAt(length-1);
  	cp_activateTab(tab-1);
	  return false;
	});
	
	//NonTabclick CHANGE TABS
	$(".cp_tab a").click(function(){
		var linkurl = $(this).attr("href");
		if(linkurl.search(/#cp_tab.+/) > -1){
			var length = $(this).attr("href").length;
			
			var tab	= $(this).attr("href").charAt(length-1);
	
			cp_activateTab(tab-1);	
		}
		return false;
	});

}


/* 

 * Wrapper function for activating a tab.

 */

function cp_setTab(value) {
  if (value == "undefined"){
    value = 0;
	}
  if (!parseInt(value)){
    value = 0;
	}
  if (value >= $('#p-rcb #cp_wrap_tab_productdetails li').length){
    value = 0;
	}
  if (__currentTabIndex == value){
    return;
  }
  $('li#cp_tab_' + (value + 1) + ' a').click(function(){
		return false;
	});
}



// <TABS LOGIC>

var __currentTabIndex;

/*

 * show a tab and hides others

 *

 * @var integer or string, the index of the availableTabs global or a string which must be present in availableTabs

 */

function cp_activateTab(value) {



		// Hide all

    for (var i = 0; i < $('#p-rcb #cp_wrap_tab_productdetails li').length; i++) {

        var content_tab = '#cp_tab_content_'+(i+1);

        if (i == value) {

            // First tab

            if ((value + 1) == 1) {

                $('#cp_tab_'+(i+1)).addClass('cp_active_firstTab'); // extra class needed because IE6 doesn't fully support multiple class chains

            }

            // Last tab

            if ((value + 1) == $('#p-rcb #cp_wrap_tab_productdetails li').length){

                $('#cp_tab_'+(i+1)).addClass('cp_active_lastTab');

            }

            $('#cp_tab_'+(i+1)).addClass('cp_active');

            $('#cp_tab_'+(i+1)).prev().addClass('cp_active_leftSibling');

            $('#cp_tab_'+(i+1)).next().addClass('cp_active_rightSibling');

            $('#cp_tab_'+(i+1)).removeClass('cp_inactive');

            $(content_tab).show();

            // initialise the sIFR within this tab

            cp_init_sIFR(content_tab);

        } else {

            $('#cp_tab_'+(i+1)).addClass('cp_inactive');

            $('#cp_tab_'+(i+1)).removeClass('cp_active');

            $('#cp_tab_'+(i+1)).removeClass('cp_active_firstTab');

            $('#cp_tab_'+(i+1)).removeClass('cp_active_lastTab');

            $('#cp_tab_'+(i+1)).prev().removeClass('cp_active_leftSibling');

            $('#cp_tab_'+(i+1)).next().removeClass('cp_active_rightSibling');

            $(content_tab).hide();

        }

    }

    // remember last set index

    __currentTabIndex = value;

    

    // Change the header

    //cp_setHeader(value);

    

    // ping statistics

    cp_sendStatistics(value);

    

}



/*

 * Changes the header swf

 *

 * @var integer, the index of the availableHeadersSRC global

 */



function cp_setHeader(value) {

	

	if (typeof availableHeadersSRC[value] == undefined)

		return false;



	var src = availableHeadersSRC[value];

	if (src == __currentHeaderSRC)

		return false;



	__currentHeaderSRC = src;

	

	// Change placeholder image

	var placeholderSrc = "url(/consumerfiles/pageitems/master/categorypages/Grooming/assets/images/videoPlayer_Tab" + (value + 1) +"_placeholder.jpg) no-repeat 1px 2px";

	$("#flashcontent_header").css("background", placeholderSrc);

	

	// SWFObject 2

	$.testBandwidth(function(status){

    if (status == "medium" || status == "high" || status == "vhigh") {

      var flashvars = {

        bandwidth: status

      };

    	var params = {

        menu: "false",

        wmode: "transparent"

      };

      var attributes = {};

    	swfobject.embedSWF(src, "flash-inner-wrapper", "956", "275", "9.0.0","express_install.swf", flashvars, params, attributes);

    }

  });

}





/*

 * DIV POPUP

 */



//function showOverlay(element, div, left, top, text)

function showOverlay(element, div, left, top)

{

	var e = document.getElementById(element);

	var d = document.getElementById(div);

	//var t = document.getElementById('overlay_text');

	

	d.style.display = '';

	//t.innerHTML = text;

	

	var divheight = 0;

	if(d.offsetHeight) { divheight = d.offsetHeight; }

	else if(d.style.pixelHeight) { divheight = d.style.pixelHeight; }



	//left 18 top 50

	d.style.left = (findPosX(e) - (-left)) + "px";

	d.style.top = (findPosY(e) - (-top) - divheight) + "px";

}



function hideMe(div)

{

	var d = document.getElementById(div);

	d.style.display = 'none';

}



function findPosX(obj)

{

    var curleft = 0;

    if(obj.offsetParent)

        while(1) 

        {

          curleft += obj.offsetLeft;

          if(!obj.offsetParent)

            break;

          obj = obj.offsetParent;

        }

    else if(obj.x)

        curleft += obj.x;

    return curleft;

}



function findPosY(obj)

{

  var curtop = 0;

  if(obj.offsetParent)

      while(1)

      {

        curtop += obj.offsetTop;

        if(!obj.offsetParent)

          break;

        obj = obj.offsetParent;

      }

  else if(obj.y)

      curtop += obj.y;

  return curtop;

}



/*

 * Bandwidth detection

 */

(function($){

  $.bandwidth = null;

  $.bandwidthTestEndpoint = 'http://test.philips.com/esi/getbw_js_tpi.esi';

  $.testBandwidth = function(cb){

    if ($.bandwidth) {

      cb($.bandwidth);

    } else {

      $.onBandwidthTested = cb;

      $.getScript($.bandwidthTestEndpoint);

    }

  }

})(jQuery);





/**

 * jget plugin

 * @author Alexandre Magno

 * @desc get a query string to be accessible for javascript

 * @version 1.0

 * @example

 *

 * http://www.foo.com/test.php?var1=test1

 * var outputQuery = $.jget['var1'];

 * $.debug(outputQuery);

 * //Will show 'test1'

 *

 *

 * @license free

 * @param bool vertical, bool horizontal

 * @site http://blog.alexandremagno.net

 *

 */



jQuery.extend({



	//starting the jget object

	jget: {},

	//get the url

	url: window.location.href.replace(/^[^\?]+\??/,''),

	//get the queryString

	parseQuery: function ( query ) {

	   var Params = {};

	   if ( ! query ) {return Params;}// return empty object

	   var Pairs = query.split(/[;&]/);

	   for ( var i = 0; i < Pairs.length; i++ ) {

	      var KeyVal = Pairs[i].split('=');

	      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}

	      var key = unescape( KeyVal[0] );

	      var val = unescape( KeyVal[1] );

	      val = val.replace(/\+/g, ' ');

	      Params[key] = val;

	   }

	   return Params;

	},

	//Make the jget object available to jQuery.extend

	getQueryString: function() {

		this.jget = this.parseQuery(this.url);

	}



});





/*

 * Send statictics when the user interacts with the tabs.

 */

var __statsHaveNotBeenSendViaTabInteraction = true;

function cp_sendStatistics(value) {

    if (typeof s != 'object')

        return;



    // normalize tab values;

    if (typeof universalTabNames[value] != 'undefined')

        value = universalTabNames[value];

    else

        value = "TAB" + value;

        

    if (!__statsHaveNotBeenSendViaTabInteraction) {

	    var PRODUCTSUBCATEGORY = cp_getMetrics('PRODUCTSUBCATEGORY');

	    var DIVISION = cp_getMetrics('DIVISION');

	    var SECTION = cp_getMetrics('SECTION');

	    var CATALOGTYPE = cp_getMetrics('CATALOGTYPE');

	    var PRODUCTGROUP = cp_getMetrics('PRODUCTGROUP');

	    var PRODUCTCATEGORY = cp_getMetrics('PRODUCTCATEGORY');

	    

        if (PRODUCTSUBCATEGORY != "") {

            var TABSECTION = PRODUCTSUBCATEGORY + '_' + value;

            s.pageName = DIVISION + ":" + SECTION + ":" + TABSECTION + ":" + CATALOGTYPE;

        } else if (PRODUCTCATEGORY != "") {

            var TABSECTION = PRODUCTCATEGORY + '_' + value;

            s.pageName = DIVISION + ":" + SECTION + ":" + TABSECTION + ":" + CATALOGTYPE;

        }

        s.t();

    }

	__statsHaveNotBeenSendViaTabInteraction = false;

}



function cp_getMetrics(metric) {

    var content = $("meta[name='PHILIPS.METRICS."+metric+"']").attr("content");

    if (typeof content == 'undefined' || content == null)

        return '';

    else

        return content;

    

}




