		/* OPTIONS */
		var pathToWidget = "/fairtrade-near-you-widget/"; // path to our widget
		var iframeHeight = 740; // height of iframe (increase if clipping occurs
		
		/* load jquery if not already loaded */
		var jQueryScriptOutputted = false;
		function initJQuery() {
			
			//if the jQuery object isn't available
			if (typeof(jQuery) == 'undefined') {
				if (! jQueryScriptOutputted) {
					//only output the script once..
					jQueryScriptOutputted = true;
					
					//output the script (load it from google api)
					document.write("<scr" + "ipt type=\"text/javascript\" src=\"" + pathToWidget + "js/jquery.1.3.2.js\"></scr" + "ipt>");
				}
				setTimeout("initJQuery()", 50);
			} else {
								
				$(function() {  
					/* ************************************************ */
					//do anything that needs to be done on document.ready
					/* ************************************************ */
					
					/* fix flash objects (add wpmode=transparent to stop flash overlapping our widget)*/
					
						// wrap flash objects in a div with a low z-index
						$("embed, object").wrap('<div style="z-index: 10; position: relative;" />');
						
						/*
						Wrote by jose.nobile@gmail.com
						Free to use for any purpose
						Tested at IE 7, IE 8, FF 3.5.5, Chrome 3, Safari 4, Opera 10
						Tested with Object[classid and codebase] < embed >, object[classid and codebase], embed, object < embed > -> Vimeo/Youtube Videos
						Please, reporte me any error / issue
						*/
						function LJQ() {
								var sc=document.createElement('script');
								sc.type='text/javascript';
								sc.src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js';
								sc.id = 'script1';
								sc.defer = 'defer';
								document.getElementsByTagName('head')[0].appendChild(sc);
								window.noConflict = true;
								window.fix_wmode2transparent_swf();
						}
						if(typeof (jQuery) == "undefined") {
							if (window.addEventListener) {
							  window.addEventListener('load', LJQ, false); 
							 } else if (window.attachEvent) { 
							  window.attachEvent('onload', LJQ);
							 }
						}
						else { // JQuery is already included
							window.noConflict = false;
							window.setTimeout('window.fix_wmode2transparent_swf()', 200);
						}
						window.fix_wmode2transparent_swf = function  () {
							if(typeof (jQuery) == "undefined") {
								window.setTimeout('window.fix_wmode2transparent_swf()', 200);
								return;
							}
							if(window.noConflict)jQuery.noConflict();
							// For embed
							jQuery("embed").each(function(i) {
								var elClone = this.cloneNode(true);
								elClone.setAttribute("WMode", "Transparent");
								jQuery(this).before(elClone);
								jQuery(this).remove();
							});	
							// For object and/or embed into objects
							jQuery("object").each(function (i, v) {
							var elEmbed = jQuery(this).children("embed");
							if(typeof (elEmbed.get(0)) != "undefined") {
								if(typeof (elEmbed.get(0).outerHTML) != "undefined") {
									elEmbed.attr("wmode", "transparent");
									jQuery(this.outerHTML).insertAfter(this);
									jQuery(this).remove();
								}
								return true;
							}
							var algo = this.attributes;
							var str_tag = '<OBJECT ';
							for (var i=0; i < algo.length; i++) str_tag += algo[i].name + '="' + algo[i].value + '" ';	
							str_tag += '>';
							var flag = false;
							jQuery(this).children().each(function (elem) {
								if(this.nodeName == "PARAM") {
									if (this.name == "wmode") {
										flag=true;
										str_tag += '<PARAM NAME="' + this.name + '" VALUE="transparent">';		
									}
									else  str_tag += '<PARAM NAME="' + this.name + '" VALUE="' + this.value + '">';
								}
							});
							if(!flag)
								str_tag += '<PARAM NAME="wmode" VALUE="transparent">';		
							str_tag += '</OBJECT>';
							jQuery(str_tag).insertAfter(this);
							jQuery(this).remove();	
							});
						}

					/* /fix flash objects */
					
					/* get widget code */
					
						$.ajax({
							url: pathToWidget + "widget.htm",
							success: function(data){
								
								/* ///////// */
								
								/* get jquery version */
								var version = $().jquery;
								
								/* get ie version old school way as jquery 1.1 does not support browser.version */
								var appVersion = navigator.appVersion;
								
								/* ///////// */
								
								data = data.replace('src="/fairtrade-near-you-widget/','src="' + pathToWidget);
								
								/* add widget code to body */
								$("body").append(data);
								
								/* add styles */
								//$("head").append('<link rel="stylesheet" href="' + pathToWidget + 'css/widget.css" type="text/css" />');
								var headID = document.getElementsByTagName("head")[0];         
								var cssNode = document.createElement('link');
								cssNode.type = 'text/css';
								cssNode.rel = 'stylesheet';
								cssNode.href = pathToWidget + 'css/widget.css';
								cssNode.media = 'screen';
								headID.appendChild(cssNode);						
								
								//$("body").append('<style>body {background: green;}</style>');
								//$("head").append('<link rel="stylesheet" href="/fairtrade-near-you-widget/css/widget.css" type="text/css" />');
								$("div#fairtrade-near-you-tab a").css('background', 'url(' + pathToWidget + 'images/tab-bg.png) no-repeat 0px 0px'); //fix tab background

								if($.browser.msie && appVersion.indexOf("MSIE 6") != -1){
									//$("head").append('<link rel="stylesheet" href="' + pathToWidget + 'css/widget-ie6.css" type="text/css" />');
									headID2 = document.getElementsByTagName("head")[0];         
									cssNode = document.createElement('link');
									cssNode.type = 'text/css';
									cssNode.rel = 'stylesheet';
									cssNode.href = pathToWidget + 'css/widget-ie6.css';
									cssNode.media = 'screen';
									headID2.appendChild(cssNode);								
								}	

								/* set iframe attributes */
								$("iframe#fairtrade-near-you-iframe").attr('height', iframeHeight); 
								//$("iframe#fairtrade-near-you-iframe").attr('src', pathToWidget + 'index.htm'); 
								
								/* get cursor on mousemove */
								var mouse_is_inside = false;
								
								$(document).mousemove(function(e){
									xPos = e.pageX;
								});
							
								/* show popout on hover / hide on hover off */
								$("#fairtrade-near-you-tab a").hover(
									function () {
										if($.browser.msie && appVersion.indexOf("MSIE 6") != -1){
											/* show pop-out */
											$('#fairtrade-near-you-container').animate({
												right: -32
											}, 300);
										}
										else {
											/* show pop-out */
											$('#fairtrade-near-you-container').animate({
												right: 0
											}, 300);
										}

										mouse_is_inside=true; 
									},
									function () {
										// hover finished
									}
								);
								
								if(version > "1.2.5") {
									$("#fairtrade-near-you-container").hover(
										function () {
											//alert('test');
										},
										function () {
											// calculate cursor position from edge of win
											
											windowWidth = $(window).width();
											//alert(windowWidth);
											pixelsFromEdge = windowWidth - xPos;
											//alert(pixelsFromEdge);
											
											if (pixelsFromEdge > 100) {
												if($.browser.msie && $.browser.version < 7){
													// hide pop-out
													$('#fairtrade-near-you-container').animate({
														right: -583
													}, 300);									
												}
												else {
													// hide pop-out
													$('#fairtrade-near-you-container').animate({
														right: -555
													}, 300);
												}
											}
											mouse_is_inside=false; 	
										}
									);
								}
								
								if (version < "1.2.6") {
									/* fix for really old jquery */
									$("#fairtrade-near-you-container").hover(
										function () {
											if($.browser.msie && appVersion.indexOf("MSIE 6") != -1){
												/* show pop-out */
												$('#fairtrade-near-you-container').animate({
													right: -32
												}, 300);
											}
											else {
												/* show pop-out */
												$('#fairtrade-near-you-container').animate({
													right: 0
												}, 300);
											}

											mouse_is_inside=true; 
										},
										function () {
											// hover finished
										}
									);							
								}
								
								$("#fairtrade-near-you-tab a").click(function () {
									return false;
								});
								
								/* hide popout if click on anything else */
								$("html").click(function(){ 
			
									if($.browser.msie && appVersion.indexOf("MSIE 6") != -1){
										/* hide pop-out */
										$('#fairtrade-near-you-container').animate({
											right: -583
										}, 300);									
									}
									else {
										/* hide pop-out */
										$('#fairtrade-near-you-container').animate({
											right: -555
										}, 300);
									}				

								});
							}
						});
						
					/* /get widget code */
					
				});
			}
					
		}
		initJQuery();
