//pxl.mhs.brochureshop.js
//author: 			Bjoern Sellnau @ PIXELTEX
//project:			Main JS for the MHS Brochureshop
//description:	    this is the main file of the mhs brochureshop
//added:			25-08-2009
//modified:			29-09-2009
//version			0.15
//=====================================================

//*** NAMESPACES ***
	if(!pxl) var pxl={};
	if(!pxl.mhs) pxl.mhs={};

//*** VARIABLES ***
pxl.mhs._items = new Array();
pxl.mhs._addToCartEnabled = true;	
pxl.mhs._currentBrochure = 0;	

/*
	pxl.mhs._items.push({id:78256,added:false})
*/

/* returns current elments in shoppingcart */
pxl.mhs.getShopingcart = function()
{
	pxl.mhs.playLoadingAnimation();
	var url = 'mhs_shoppingcart.cfm';
	var RANDOM = new Date().getTime()/1000;
	$.get( url, {action:'getCart', random:RANDOM},
	function(data)
	{ 
		if(data == ''){return}
		var DATA = JSON.parse(data);
		pxl.mhs.stopLoadingAnimation();

		for(var arrEle=0;arrEle<=DATA.length-1;arrEle++)
		{
	//		window.console.log(DATA[arrEle]);
			pxl.mhs.addItemToCart(DATA[arrEle],true);
		}
	})
}

/* jquery domready function */
$(document).ready(function()
{
    var STARTID = 5;
    var $images = $('#myImageFlow img');
    
   // window.console.log($images);
    
    for(var ii=0;ii<=$images.length-1;ii++)
    { 
       // window.console.log((($images[ii].getAttribute('rel'))+" = "+(Number(MHS_START_ID))))
        if($images[ii].getAttribute('rel') == Number(MHS_START_ID))
        {
            STARTID = ii;
            STARTID++;
        }
    }    
   // window.console.info(STARTID)
    
	pxl.mhs.instanceOne = instanceOne = new ImageFlow();
	instanceOne.init({ ImageFlowID: 'myImageFlow' ,onClick: function(e)
	{
		pxl.mhs.getItemDetails(this.getAttribute('rel'));
		return false;
	},callback:pxl.mhs.animationComplete,startID:STARTID});


	$images = $('#myImageFlow_images img');
//  pxl.mhs.getItemDetails($($images.get(4)).attr('rel'));

	$('.mhs_addto_cart').click(function(e)
	{
		e.preventDefault();
		e.stopPropagation();
		if($(this).attr('rel') != '' || !pxl.mhs._itemExists($(this).attr('rel')))
		{
			pxl.mhs.addItemToCart($(this).attr('rel'));
		}
		else
		{
			//alert('dieses element befindet sich bereits in ihrem warenkorb');		
		}
		return false;
	})
	//	setTimeout('pxl.mhs.getShopingcart()',30000);	
	
	//if($('.warenkorb').length == 1)
	//{
		pxl.mhs.getShopingcart();
	//}

})

/**/
pxl.mhs.animationComplete = function(obj)
{
	$images = $('#myImageFlow_images img');
  pxl.mhs.getItemDetails($($images.get(obj.imageID)).attr('rel'));
}

/* get all details of the given item */
pxl.mhs.getItemDetails = function(id)
{
	pxl.mhs.playLoadingAnimation();
	var url = 'mhs_shoppingcart.cfm';
	$.get( url, {action:'getItemDetail',agent_id:AGENT_ID,item_id:id},
	function(data)
	{ 
		var DATA = JSON.parse(data);
		pxl.mhs.stopLoadingAnimation();
		pxl.mhs._currentBrochure = DATA.ITEM_ID;

		//window.console.log(DATA);		

		//set title
		$('.broschuereHL').html('<h2>'+DATA.ITEMNAME+'</h2>');		

		//set description
		$('.broschuereText').html('<p class="mhs_teaser">'+DATA.TEASER+'</p><p class="mhs_season">'+SEASON_TEXT+': '+pxl.mhs.getSeasonName(DATA.SEASON)+'</p>');		

		//set image
		$('#contentImage').attr('src',MHS_URL+"item_images/tall/"+DATA.ITEM_ID+".jpg");		
		
		//set id at 'add to cart link'
		$('.mhs_addto_cart').attr('rel',DATA.ITEM_ID);
		
		//set id at 'download'
		$('.mhs_download_link').attr('href',MHS_URL+'download.cfm?item='+DATA.ITEM_ID);

		//set id at 'browser brochure link'
		$('.mhs_browse_link').attr('rel',DATA.ITEM_ID);
		
		if(pxl.mhs._itemExists(DATA.ITEM_ID) || pxl.mhs._getItemsNum() >= 5)
		{
			$('.mhs_addto_cart').addClass('wklink_full').attr('rel','').html(MHS_BROCHURE_IN_CART);
			$('.mhs_brochure_language_links').html('');
		} else {
			$('.mhs_addto_cart').removeClass('wklink_full').html(MHS_ADD_BROCHURE_TO_CART);	
			pxl.mhs.addBrochureLanguagesLinksById(DATA.ITEM_ID);	
		}

       	if(pxl.mhs._getItemsNum() >= 5)
       	{
       		$('div.mhs_wk_info_text').css('visibility','visible');
            $('.mhs_brochure_lang').attr('rel','');
       	} else {
       		$('div.mhs_wk_info_text').css('visibility','hidden');
       	}

		
		//enable / disable view-online link and download-link
		if(DATA.DOWNLOADAVAILABLE == 1)
		{
			//this is the flash for the issu-viewer		
			var LAYOUT = encodeURIComponent("http://www.myswitzerland.com/html/mhs/ebrochure/issuu/layout.cfm?item_id="+DATA.ITEM_ID);
			var MOVIE = "http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&layout="+LAYOUT+"&showFlipBtn=true&documentId="+DATA.ISSUU_ID+"&docName="+DATA.ITEM_ID+"&username=stnet&loadingInfoText="+DATA.ITEMNAME+"&et=1245309465169&er=20";
			var params = {};
			params.allowfullscreen = "true";
			params.menu = "false";
			var attributes = {};
			swfobject.embedSWF(MOVIE, "eBrochurePanelAlt", "99%", "100%", "8.0.0", false, null , params, null);

  tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
  imgLoader = new Image();// preload image
  imgLoader.src = tb_pathToImage;
		
			$('.mhs_browse_link').parent().css('visibility','visible');
			$('.mhs_download_link').parent().css('visibility','visible');
		
		    if(DATA.STOCK <= 0)
		    {
		        $('#mhs_addto_cart_link').css('display','none');
		        $('#mhs_out_of_stock_text').css('display','block');           
		    } else {
		        $('#mhs_addto_cart_link').css('display','block');
		        $('#mhs_out_of_stock_text').css('display','none');		    
		    }    
		
		} else {
			$('.mhs_browse_link').parent().css('visibility','hidden');		
			$('.mhs_download_link').parent().css('visibility','hidden');
	        $('#mhs_out_of_stock_text').css('display','none');		    
	        $('#mhs_addto_cart_link').css('display','block');		    
		}

	})
}

/* play loading animation */
pxl.mhs.playLoadingAnimation = function()
{
	$('#contentImage').css('opacity','0.5');
	$('#loaderOverlay').css('display','block');	
}

/* stop loading animation */
pxl.mhs.stopLoadingAnimation = function()
{
	$('#contentImage').css('opacity','1');
	$('#loaderOverlay').css('display','none');	
}


/* this adds an item to the shoppingcart */
pxl.mhs.addItemToCart = function(item,excludeSession)
{
    
	if(item == ''){return false};
	

	if(!excludeSession)
	{   var RANDOM = new Date().getTime()/1000;
		var url = 'mhs_shoppingcart.cfm';
		$('#mhs_addtocart_loader').css('visibility','visible');
		$.get(url, {action:'addItem',id:item,quantity:1,random:RANDOM},
		function(data)
		{ 
	var beforeAdd = pxl.mhs._getItemsNum();
	pxl.mhs._addItem(item);
	var afterAdd = pxl.mhs._getItemsNum();
		$('#mhs_addtocart_loader').css('visibility','hidden');


	if(afterAdd >= 5)
	{
		$('div.mhs_wk_info_text').css('visibility','visible');
        $('.mhs_brochure_lang').attr('rel','');
	} else {
		$('div.mhs_wk_info_text').css('visibility','hidden');
	}


	
	if(beforeAdd == 0)
	{
		$('.wkBestellen').css('visibility','visible');
	}
	
	$('div.wkNumber img').attr('src','img/layout/wk0'+afterAdd+'.jpg');
	$('.mhs_addto_cart').attr('rel','').addClass('wklink_full').html(MHS_BROCHURE_IN_CART);
    $('.mhs_brochure_lang').attr('rel','').html('');

	if(pxl.IsThisBrowserIE6())
	{
	    FILEEND = 'gif';
	} else {
	    FILEEND = 'png';	    
	}

			$('.wkspacer').before('<div class="wkItem" id="wkItem'+item+'"><div class="wkOverlay" id="wkOverlay'+item+'" rel="'+item+'"><img src="img/layout/wkDel.'+FILEEND+'"/></div><div class="wkBroschuere"><img width="48" height="65" alt="broschuere" rel="'+item+'" src="'+MHS_IMAGE_URL+item+'.jpg"/></div></div>');
	$('#wkOverlay'+item).click(function()
	{
		pxl.mhs.removeItemFromCart($(this).attr('rel'));
	})
	
	if(pxl.IsThisBrowserIE6())
	{
	    $('#wkOverlay'+item).hover(
	    function()
	    {
		    $(this).find(':nth-child(1)').css('visibility','visible');
	    },function()
	    {
		    $(this).find(':nth-child(1)').css('visibility','hidden');
	    })	    
	}

/*
			var DATA = JSON.parse(data);
			if(DATA.SUCCESS == 1)
			{
				//...
			}
*/
		})
	} else {
	var beforeAdd = pxl.mhs._getItemsNum();
	pxl.mhs._addItem(item);
	var afterAdd = pxl.mhs._getItemsNum();
	
	if(beforeAdd == 0)
	{
		$('.wkBestellen').css('visibility','visible');
	}
	
	$('div.wkNumber img').attr('src','img/layout/wk0'+afterAdd+'.jpg');
	$('.mhs_addto_cart').attr('rel','').addClass('wklink_full').html(MHS_BROCHURE_IN_CART);

	if(afterAdd >= 5)
	{
		$('div.mhs_wk_info_text').css('visibility','visible');
	} else {
		$('div.mhs_wk_info_text').css('visibility','hidden');
	}


	if(pxl.IsThisBrowserIE6())
	{
	    FILEEND = 'gif';
	} else {
	    FILEEND = 'png';	    
	}

			$('.wkspacer').before('<div class="wkItem" id="wkItem'+item+'"><div class="wkOverlay" id="wkOverlay'+item+'" rel="'+item+'"><img src="img/layout/wkDel.'+FILEEND+'"/></div><div class="wkBroschuere"><img width="48" height="65" alt="broschuere" rel="'+item+'" src="'+MHS_IMAGE_URL+item+'.jpg"/></div></div>');
	$('#wkOverlay'+item).click(function()
	{
		pxl.mhs.removeItemFromCart($(this).attr('rel'));
	})
	

	if(pxl.IsThisBrowserIE6())
	{
	    $('#wkOverlay'+item).hover(
	    function()
	    {
		    $(this).find(':nth-child(1)').css('visibility','visible');
	    },function()
	    {
		    $(this).find(':nth-child(1)').css('visibility','hidden');
	    })	    
	}	

	}

	/*
		1) add item to _items array.
		2) update grafik of shoppingcart and add little icon to 'div.warenkorb'
		3) call the iframe: mhs_shooppingcart.cfm?action=addItem&....
		4) test if 5 items are in the cart if yes 'deactivate the add to cart link'
		
	*/
}

pxl.IsThisBrowserIE6 = function() 
{    return ((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined))}

/* this removes an item from the shoppingcart */
pxl.mhs.removeItemFromCart = function(ID,exclude)
{
	if(pxl.mhs._itemExists(ID) || exclude)
	{

		var url = 'mhs_shoppingcart.cfm';
		var RANDOM = new Date().getTime()/1000;
	    if(pxl.IsThisBrowserIE6() == false)
	    {
		    $('#wkOverlay'+ID+' img').attr('src','img/ajax_loader3.gif').css({visibility:'visible'}).parent().next().css('opacity','0.5');
	    }
	    if(pxl.IsThisBrowserIE6())
	    {
    		$('#wkOverlay'+ID+' img').attr('src','img/ajax_loader3.gif');
	        $('#wkOverlay'+ID).css('background-image','url(img/ie6_cover.png)').get(0).style.filter = 'Alpha(opacity=70)';
	    }		
		$.get(url, {action:'removeItem',id:ID,random:RANDOM},
		function(data)
		{ 
		var beforeRemove = pxl.mhs._getItemsNum();
		pxl.mhs._removeItem(ID);
		var afterRemove = pxl.mhs._getItemsNum();
		
		if(afterRemove > 0)
		{
			$('div.wkNumber img').attr('src','img/layout/wk0'+afterRemove+'.jpg');
		} else {
			$('.wkBestellen').css('visibility','hidden');
		}
		$('#wkItem'+ID).fadeOut('fast',function()
		{
			$(this).remove();
		})

		if(pxl.mhs._getItemsNum() >= 5 || pxl.mhs._itemExists(pxl.mhs._currentBrochure))
		{
			$('.mhs_addto_cart').addClass('wklink_full').attr('rel','').html(MHS_BROCHURE_IN_CART);
		} else {
			$('.mhs_addto_cart').removeClass('wklink_full').attr('rel',pxl.mhs._currentBrochure).html(MHS_ADD_BROCHURE_TO_CART);	
    		pxl.mhs.addBrochureLanguagesLinksById(pxl.mhs._currentBrochure);	
		}
		if(pxl.mhs._getItemsNum() >= 5)
		{
			$('div.mhs_wk_info_text').css('visibility','visible');
		} else {
			$('div.mhs_wk_info_text').css('visibility','hidden');	
		}

			//var DATA = JSON.parse(data);
		})
		

	}
	/*
		1) check if an item with teh given ID exists if yes remove item from _items array.
		2) update grafik of shoppingcart and remove little icon from 'div.warenkorb'
		3) call the iframe: mhs_shooppingcart.cfm?action=removeItem&ID=...
		4) test if less than 5 items are in the cart if yes 'activate the add to cart link'
		
	*/
}

/* this adds an item to the _items array */
pxl.mhs._addItem =function(item)
{
	pxl.mhs._items.push({id:item,added:true})
}

/* this adds an item to the _items array */
pxl.mhs._itemExists =function(item)
{
	for(var i=0;i<=pxl.mhs._items.length-1;i++)
	{
		if(pxl.mhs._items[i].id == item)
		{
			return true;
		}
	}
	// now we check the other language-ids
	var otherLangIds = pxl.mhs.brochureLangIds(item);
	
	for(var idx=0;idx<=otherLangIds.length-1;idx++)
	{
    	for(var idx2=0;idx2<=pxl.mhs._items.length-1;idx2++)
    	{
    		if(pxl.mhs._items[idx2].id == otherLangIds[idx])
    		{
    			return true;
    		}
    	}
	}		
}

/* this removes an item from the _items array */
pxl.mhs._removeItem =function(ID)
{
	for(var i=0;i<=pxl.mhs._items.length-1;i++)
	{
		if(pxl.mhs._items[i].id == ID)
		{
			pxl.mhs._items.splice(i,1);
		}
	}
}

/* this removes all items from the _items array */
pxl.mhs._removeAll =function(ID)
{
}

/* this gets the length of the _items array */
pxl.mhs._getItemsNum =function()
{
	return pxl.mhs._items.length;
}

/* this creates the language links for a given id */
pxl.mhs.addBrochureLanguagesLinksById =function(id)
{
	var $image=$("img[rel='"+id+"']");
	var longDesc = $image.attr('longdesc');
	if(!longDesc)
	{
    	$('.mhs_brochure_language_links').html('');
	    $('.mhs_addto_cart').removeClass('wklink_lang');
    
	    return;
	}
	var brochures = new Object();
	var links = "";
	
	var fragments = longDesc.split(',');
	for(var ii=0;ii<=fragments.length-1;ii++)
	{
        var fragment = fragments[ii].split(':');
//        window.console.log(brochures)
//        window.console.log(fragment)
//        window.console.log(fragment[0])
//        window.console.log(fragment[1])
        brochures[fragment[0]] = fragment[1];
        
        if(fragment[0].indexOf('/') != -1)
        {
            var fragi = fragment[0].split('/');
            var lang = "";
            
            for(var langElement=0;langElement<=fragi.length-1;langElement++)
            {
               var lan = pxl.mhs.getLanguage(fragi[langElement]);

                if(langElement != 0)
                {
                    lang += "/"+lan;     
                } else {
                    lang += lan;
                }

           }
                
        } else {
            var lang = pxl.mhs.getLanguage(fragment[0]);
        }
        
        var lang2 = MHS_IN;
        lang2 = lang2+" "+lang;
        lang = lang2;
//        window.console.log(lang)
        
        links += "<a rel='"+fragment[1]+"' class='mhs_brochure_lang' href='#'>"+lang+"</a>";
    }
    
	$('.mhs_brochure_language_links').html(links);
	$('.mhs_addto_cart').attr('rel','').addClass('wklink_lang');
	
	$('.mhs_brochure_lang').click(function(e)
	{
		e.preventDefault();
		e.stopPropagation();
		if($(this).attr('rel') != '' || !pxl.mhs._itemExists($(this).attr('rel')))
		{
			pxl.mhs.addItemToCart($(this).attr('rel'));
		}
		else
		{
			//alert('dieses element befindet sich bereits in ihrem warenkorb');		
		}
		return false;
	})	
	
//	return brochures;
	
	/*
	brochures[de] = 78225
	borchures[en] = 78226
	brochures[fr/it] = 78227
	*/
}

/* return the language name for the given lang-id */
pxl.mhs.getLanguage =function(lang)
{
  //  window.console.info(lang)
    var lang = window['MHS_LANG_'+lang.toUpperCase()];
    return lang;    
}

/* returns the ids of the other brochure languages */
pxl.mhs.brochureLangIds = function(id)
{
	var $image=$("img[rel='"+id+"']");
	var longDesc = $image.attr('longdesc');
	if(!longDesc)
	{
 	    return new Array();
	}
	var brochures = new Array();
	
	var fragments = longDesc.split(',');
	for(var ii=0;ii<=fragments.length-1;ii++)
	{
        var fragment = fragments[ii].split(':');
        brochures.push(fragment[1]);
	}    
	return brochures;
	
}

/* returns name of the season */
pxl.mhs.getSeasonName =function(season)
{
    var SEASON = "";
    switch (season)
    {
        case "Ganzjährig":
        SEASON = MHS_SEASON_WHOLEYEAR;
        break;
        case "Allgemein":
        SEASON = MHS_SEASON_GENERAL;
        break;
        case "Sommer":
        SEASON = MHS_SEASON_SUMMER;
        break;
        case "Winter":
        SEASON = MHS_SEASON_WINTER;
        break;
    }
    return SEASON;
}