// core digimag setup, fetch and display functions

		function buildStoryList(issue_id,playlist_id,initialload) {

			geoListdata = "";
			json_url = ajaxpath + "buildstories.php";
			jQuery.getJSON(json_url, {id: issue_id,pid: playlist_id}, function(data) {

				jQuery.each(data, function(i, val) {

					geoListdata = geoListdata + '{';
					geoListdata = geoListdata + 'page: "'+val.digimag_order+'", ';
					geoListdata = geoListdata + 'storyId: "'+val.story_id+'", ';
					geoListdata = geoListdata + 'storyFile: "'+val.object_details+'", ';
					geoListdata = geoListdata + 'storyTitle: "'+val.story_title+'", ';
					geoListdata = geoListdata + 'storyGroup: "'+val.object_group+'", ';
					geoListdata = geoListdata + 'objectType: "'+val.object_type+'", ';
					geoListdata = geoListdata + 'shortUrl: "'+val.short_url+'", ';
					geoListdata = geoListdata + 'cloudServer: "'+val.cloudserver+'", ';
					geoListdata = geoListdata + 'storyPath: "'+val.objpath+'", ';
					geoListdata = geoListdata + 'storyEdition: "'+val.edition+'", ';
					geoListdata = geoListdata + 'storyWidth: "'+val.story_width+'", ';
					geoListdata = geoListdata + 'storyHeight: "'+val.story_height+'", ';
					
					if(val.index_image!=null) {
						geoListdata = geoListdata + 'storyThumb: "'+val.index_image+'", ';
					} else {
						geoListdata = geoListdata + 'storyThumb: "'+'covers/index'+pad(val.digimag_order,2) + '.jpg'+'", ';
						
					}

					sHint = val.storyHint;
					if(val.storyHint == null) sHint = "";
					geoListdata = geoListdata + 'storyHints: "'+ sHint+'"';
					


					
					

					geoListdata = geoListdata + '},';

		        });
		
		var strLen = geoListdata.length; 
		geoListdata = geoListdata.slice(0,strLen-1);

		//geoListdata =  = geoListdata.slice(0, -1);


				//clear old elements
				pagenav = "";	
				issue_thumbs = "";
				$("#backnextnav").html("");
				$("#index_thumbs").html("");


				geoList = eval( '[' + geoListdata + ']');
				lastpg2 = geoList.length;


				//alert("inside buildStoryList length:" + lastpg2 );
				if(initialload)	{


					for (i=0;i<=lastpg2-1;i++) {

						pagenav = pagenav + '<li class="pagenr" id="page' + geoList[i].page +'"><a rel="' + geoList[i].page + '" href="#' + issue_nr + "/" + geoList[i].page+'">' + geoList[i].page + '</a></li>';
						//alert(pagenav);
						index_image= basepath + geoList[i].storyThumb;
						issue_thumbs = issue_thumbs + '<li class="index_thumb" id="thumb_' + geoList[i].page +'">';
						issue_thumbs = issue_thumbs + '<a class="fauxlink" onclick="indexThumb('+geoList[i].page+');">';
						issue_thumbs = issue_thumbs + '<div class="index_pagenr">'+geoList[i].page+"</div>";
						issue_thumbs = issue_thumbs + '<img src="' + index_image + '" width=120 height=75/>'; //Screen '+geoList[i].page+'<div class="pagenr">' + i + '</a></div></li>';

						issue_thumbs = issue_thumbs + '</a><br/>';
						issue_thumbs = issue_thumbs +  geoList[i].storyTitle;
						issue_thumbs = issue_thumbs + '</li>';
//<li style="" id="thumb_10" class="index_thumb">Screen 11<div class="pagenr">10</div></li>

					}
					pagenav = pagenav + pagenav2;

					$("#backnextnav").html(pagenav);
					$("#index_thumbs").html(issue_thumbs);



					clickStream('0','click','initial_screen',initial_screen);
					if(playlist_id_len>0) {
						//pageidx = 0;
						initial_screen = geoList[0].page;
						basepath = editionpath + issue_nr + "/" ;
						//swfpath = basepath + digimagConfig[0].secondary_path + "swfs/";
						
						}
					loadpage2(initial_screen);

					navBinding();
					
					//$("#digimag_issue").css("visibility","hidden");


				} //alert(geoList[1].storyFile);

			});
		}
		
		function loadpage2(pagenr) {
			

			
			swf_id= "digimag_issue";
			page_being_called = pagenr;

			//flashver = $.flash.version;                                               
		    //flashver_txt = flashver.major +"."+ flashver.minor +"."+ flashver.release;
			//10.0.42
//if(flashver.major >= 1 && flashver.minor >= 0 && flashver.release >=42) {
	//log("Flash version " + flashver_txt);
//if(flashver.major >= 10 && flashver.minor > 0 ) {	

			$.each(geoList, function(i, item){
			  if (item.page == pagenr) {
				pageidx = i;
				}
			});

			curpage = $("#currpage").val();

			$("#curr_screen").val(geoList[pageidx].storyFile);

			if (navigator.appName.indexOf("Microsoft") != -1) {
				ko = new Date();
				ji = "?"+ko.getTime();
				//ji = "";
				}
			   else {
				ji = "";
				}


			if(playlist_id_len>1) {
				basepath = geoList[pageidx].cloudServer + geoList[pageidx].storyPath;
				swfpath =  basepath + digimagConfig[0].secondary_path + "swfs/";
			}

			storyswf = swfpath + geoList[pageidx].storyFile;

			bg_img = "css/images/preloader.png";
			
			/*
			if($.browser.msie && (var_flashversion == problem_flash)) {
				preloader = core_dir+ "/" + "AS3preloader_v62ie.swf"+ji; 
			} else {
				preloader = core_dir+ "/" + "AS3preloader_v61.swf"+ji;
			}
			 
			ko = new Date();
			ji = "?"+ko.getTime();			
			*/
			preloader = core_dir+ "/" + "AS3preloader_v61.swf"+ji;
			//alert( geoList[pageidx].storyFile+geoList[pageidx].storyWidth);
			
			
			new_width = geoList[pageidx].storyWidth;
			if(new_width!=prev_width) {
				swf_width = new_width *1;
				//change css
				$("#main_content, #top_nav, #top_nav_wrapper, #digimag_wrapper, #digimag_container, #digimag_issue, #digimag_nav, #popcontainer, #popfooter,#top-strip, #content-body").width(swf_width);
				popimg = 'url("css/images/'+ "popfooter" + swf_width + ".png"+'")';
				$("#popfooter").css('background-image',popimg)
				$("#container").width(swf_width+125);
				$("#touchright").css("left",swf_width-33+"px");
			} else {
				swf_width = prev_width;
			}
			
			
			//#main_content, #top_nav, #top_nav_wrapper, #digimag_wrapper, #digimag_container, #digimag_issue, #digimag_nav, #popcontainer, #top-strip, #content-body
			
			//log(preloader);

			if (pagenr!=curpage || initialload ) {

				//if($.flash.available) {
					
				//if(swfobject.hasFlashPlayerVersion("6.0.0")) {	
					$('#'+swf_id).html('');
					//}; // flash
				initialload = false;
/* 
				$('#'+swf_id).flash(
					{
					//swf: storyswf,
					swf: preloader,
					height: '600px',
					width: '960px',
					type: 'application/x-shockwave-flash',
					name: 'swfcontainer',
					id: 'swf_container',	

					wmode: "opaque",
					params: {
						allowfullscreen: 'true',
						scale: 'noScale',
						allowScriptAccess: 'always'
						},		
					flashvars: {basepath: basepath, swfSrc: storyswf,imgSrc: bg_img}
					}); //.flash
*/



					$('#'+swf_id).flash(
						{
						//swf: storyswf,
						swf: preloader,
						height: geoList[pageidx].storyHeight,
						width: swf_width,
						encodeParams: true,
						id: 'swfcontainer_id',	
						allowfullscreen: 'true',
						scale: 'noScale',
						allowScriptAccess: 'always',
						
						flashvars: {
							basepath: basepath, 
							swfSrc: storyswf,
							imgSrc: bg_img
							}
						}); //.flash
						
						prev_width = geoList[pageidx].storyWidth;
						
	
	

/*
					var flashvars = {
					  basepath: basepath,
					  swfSrc: storyswf,
					  imgSrc: bg_img
					};
					var params = {
					  	allowfullscreen: "true",
						scale: 'noScale',
						allowScriptAccess: 'always'
					};
					var attributes = {
					  id: "swfcontainer_id",
					  name: "swfcontainer_nm"
					};
	
					swf_height = '600px';
					swf_width = '960px';
					swf_version = "10.0";
					expressInstallSwfurl = "expressInstall.swf";
					
					
					swfobject.removeSWF(swf_id);
					alert(1);
					//$('#'+id).empty();
					//$('#'+id).html('');
					swfobject.embedSWF(preloader, swf_id, swf_width, swf_height, swf_version, expressInstallSwfurl, flashvars, params, attributes);
					swfobj = swfobject.getObjectById("swfcontainer_id");
*/

					preloader_status = "";
				} //if

			checkpagenr(pagenr,pageidx);
			addStoryAttrib(pagenr,pageidx);

			if(playlist_id_len>0) {
				//window.location.hash = "";
			} else {
				window.location.hash = issue_nr + "/" + pagenr;
				if ($.browser.msie != true) setFavicon(); //http://kilianvalkhof.com/2010/javascript/the-case-of-the-disappearing-favicon/

				cur_url= location.href.split('#');
				hash_part = cur_url[1].split('/');

				issue_part = hash_part[0];
				screen_part = hash_part[1];

				share_url = cur_url[0] + "?i=" + issue_part + "&s=" + screen_part;

				$("#val_share_url").val(share_url);
				$('[rel=canonical]').attr('href',share_url);
				

				shorturl = geoList[pageidx].storyURL;

				enc_url = encodeURI(share_url);

				likethis($("#val_issue_id").val(),$("#currpage").val(),'fetchlikes');
				
				

				$("#twitter-share-link").attr("href",twitter_share + "?url=" + encodeURIComponent(share_url));//attr("url") === uri;
				$("#fb_share").attr("href","http://www.facebook.com/sharer.php?t="+geoList[pageidx].storyTitle+"&u="+encodeURIComponent(share_url));

			} //playlist?

			$(document).attr("title",varphp_brand + " : " + geoList[pageidx].storyTitle ); //preloader
			
//		} else {
			
			//flashver = $.flash.version;
			flashver_txt = flashver.major +"."+ flashver.minor +"."+ flashver.release;
			//alert("Please upgrade your Flash version from " + flashver_txt);
//		}

		};
		
		function setFavicon() {
		  var link = $('link[type="image/x-icon"]').remove().attr("href");
		  $('<link href="'+ link +'" rel="shortcut icon" type="image/x-icon" />').appendTo('head');
		}

		function checkpagenr(pagenr,pageidx) {

			pagenr = parseInt(pagenr);
			$("#currpage").val(pagenr);
			$("#pgnr").html(pagenr);
			$("#contents_hotspot").hide();
			$("#digimag_hint").html("");
			
			if(storyswf.indexOf("feedback")!= -1) feedback_mode = true; //stop arrow keys interfering


			switch(pagenr)
			{
				case 1:
				$("#digimag_nav li.back").addClass("opaque");
				$("#digimag_nav li.next").removeClass("opaque");
				$("#prevpage").val(1);
				$("#nextpage").val(2);

				break;


				case lastpg2:
				$("#digimag_nav li.back").removeClass("opaque");
				$("#digimag_nav li.next").addClass("opaque");
				$("#prevpage").val(lastpg2-1);
				$("#nextpage").val(lastpg2);
				break;

				default:
				$("#digimag_nav li.back").removeClass("opaque");
				$("#digimag_nav li.next").removeClass("opaque");
				$("#prevpage").val(pagenr-1);
				$("#nextpage").val(pagenr+1);
			}
			$(".pagenr").removeClass("current");
			$("#page"+pagenr).addClass("current");

			window.scrollTo(0,1);
			
			//are there any direct calls to popover?

				switch (popover_call)
				{
				case "register":
				
				swf2register();
				popover_call = ""
				//popover_call = cur_url[1];
				break;


				default:
				}

		}

		function addStoryAttrib(pagenr,pageidx) {

			$("#digimag_hint").html(geoList[pageidx].storyHints);

		}
		
		function showRack() {
			if(playlist_id_len==0) {
			$("#popbox form div").hide();
			loadPopup();

			//loadPopup();
			$("#content-badge").html("Magazine Rack");
			$("#top-strip").css("border-bottom","0px solid #ccc");

			$("#issues_list").show();
			}
		}
		
		function clickBinding() {

			$(".edition_icon").click(function(event){
				showRack();
			});
			
			$(".issue_list").click(function(event){
				showRack();
			});
			$("#archive_nav_link").click(function(event){
				showRack();
			});
			

			$("#feedback_block").hover(function(){

				$(".linky").css("opacity","1");
				}, 
				function () {
				$(".linky").css("opacity","0");;
				}
			);


			$("#share_block").hover(function(){

				$(".linky").css("opacity","1");
				}, 
				function () {
				$(".linky").css("opacity","0");;
				}
			);
							
			$(".issueitem").click(function(){

				issue_index_var = $(this).find("a").attr("rel");
					
				issue_nr = editionlist[issue_index_var].issue_number;
				issue_id = editionlist[issue_index_var].issue_id;
				air_file = editionlist[issue_index_var].issue_airfile;

				basepath = editionpath + issue_nr + "/" ;
				swfpath = basepath + digimagConfig[0].secondary_path + "swfs/";

				
				//set issue vals
				$("#val_issue_id").val(issue_id);
				$("#val_issue_nr").val(issue_nr);
				$("#val_airfile").val(air_file);
							
				initial_screen = 1;
				initialload = true;

				buildStoryList(issue_id,playlist_id,initialload);
				//change currrent issue class
				$("#issues_list_wrapper li").removeClass("current");
				$("#issue_"+issue_id).addClass("current");
				
				$("#issue_current").html(editionlist[issue_index_var].issue_name);
				//hide download	?
				if(editionlist[issue_index_var].issue_airfile=="") 
				{
					$("#download_link").hide();

				} else {
					$("#download_link").show();
				}

				closepop('issues_list');

			});

			$(".user_guide_link").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html($(this).html());
				$("#user_guide").show();

			});

			$(".download_link").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html($(this).html());
				airfile2 = $("#val_airfile").val();
	
				if(airfile2=="") {
					
					$("#default_download_wrapper").hide();
					$("#alt_download_wrapper").show();
					$("#download").show();

				} else {
					$("#default_download_wrapper").show();
					$("#alt_download_wrapper").hide();
					doRegisterCheck('download');
				}

			});

			$(".subscribe_link").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html($(this).html());
				doRegisterCheck('subscribe');
				//$("#air_badge").load('core/air_badge.php');
				//$("#download").show();

			});

			$(".contactus_link").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html($(this).html());
				$("#contactus").show();

			});

			$(".tandc_link").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html("T&C's");
				$("#tandc").show();

			});

			$(".privacy_link").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html('Privacy policy');
				$("#dataprivacy").show();

			});

			$("#saf_socialmedia a").click(function(event){

				clickStream($("#currpage").val(),'link','socialmedia',$(this).attr("title"));

			});
			
			$(".audio_link").click(function(event){
				
				//what is current state
				cur_state = checkAudio(); //$("#flashaudio").val();


				if(cur_state=="1") {
					$("#flashaudio").val('0');	
					$("#audiostate").html("off");
				} else {
					$("#flashaudio").val('1');
					$("#audiostate").html("on");
				}
				clickStream($("#currpage").val(),'link','audio',$("#audiostate").html());


				//$("#audiostate").html($("#flashaudio").val());
				sendAudio();
				//alert(navigator.appName.indexOf("Microsoft") != -1);
				//alert(flashversion == problem_flash);
				

				
				/*
				if(ie_check && var_flashversion == problem_flash) {
					
					no_sound_msg = 'Although the sound will mute for this story, it will start playing again when you move to the next one. This is because the version of Flash (ver '+var_flashversion+') you have installed has a bug and should be <a href="http://www.adobe.com/go/getflashplayer">updated</a>.';
					$("#user_msg").html(no_sound_msg).css({
					    'left': '736px',
					    'padding': '10px',
					    'position': 'relative',
					    'top': '-600px',
					    'width': '200px',
					    'z-index': '22'
					});
					
				}
				*/

			});

			$(".about_link").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html($(this).html());

				$("#about").show();

			});

			$("#feedback_email").click(function(event){

				$("#popbox form div").hide();

				loadPopup();
				$("#content-badge").html("Email the editor");
				$("#editor_email .form_section").load(core_dir+'/core_forms.php #editor_email_form',function() {
					$(".yourcountry").val(country_code);
					$(".countrycode").val(country_code);
				});
				$("#editor_email").show();

			});

			$("#share_email").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#content-badge").html("Share via email");
				$("#share_emailfriend .form_section").load(core_dir+'/core_forms.php #share_emailfriend_form',function() {
					$(".yourcountry").val(country_code);
					$(".countrycode").val(country_code);
					$("#yournote").val("I saw this in "+varphp_brand+" and thought you'd enjoy it: " + $("#val_share_url").val()); //val_share_url
				});

				$("#share_emailfriend").show();

			});

			$("#feedback_like").click(function(){
				//alert('likethis');
				likethis($("#val_issue_id").val(),$("#currpage").val(),'like');
			});

			$("#feedback_unlike").click(function(){
				//alert('likethis');
				likethis($("#val_issue_id").val(),$("#currpage").val(),'unlike');
			});


			$("#feedback_comment").click(function(event){

				$("#popbox form div").hide();
				loadPopup();
				$("#discussion .form_section").load(core_dir+'/core_comments.php');

				$("#discussion").show();


			});

			$(".linktrack").click(function(event){
				itemid = $(this).attr("id");
				clickStream($("#currpage").val(),'link','topnav',$("#"+itemid+" span").html());
			});



			$(".sm_icon").click(function(event){
				//alert($(this).parent().attr("class"));
				itemid = $(this).attr("id");
				itemcat = $(this).parent().attr("class");
				clickStream($("#currpage").val(),'link',itemcat,itemid);
			});



			$(".closeicon").click(function(){

				//id=$(this).parent().parent().attr("id");

				closepop();
			});
			
			$("#loginbutton").hover(
				function(){
				$(".hoverhint").css("visibility","visible");
				},
				function(){
					$(".hoverhint").css("visibility","hidden");
					}
				);

		}
		


		function indexThumb(pagenr){

			clickStream($("#currpage").val(),'link','index_thumb',pagenr);
			loadpage2(pagenr);
			closepop('issue_index');
		}

		function navBinding() {

			$(".pagenr a").click(function(){
					pagenr = parseInt($(this).attr("rel"));
					clickStream($("#currpage").val(),'click','nav',pagenr);
					loadpage2(pagenr);

			});

			$(".back").click(function(){
				clickStream($("#currpage").val(),'click','nav','back');
				loadpage2($("#prevpage").val());
			});

			$(".next").click(function(){
				clickStream($("#currpage").val(),'click','nav','next');
				loadpage2($("#nextpage").val());
			});	


			$(".index").click(function(event){
				clickStream($("#currpage").val(),'click','nav','index');
				$("#popbox form div").hide();

				loadPopup();
				$("#content-badge").html("Issue index");
				$("#top-strip").css("border-bottom","0px solid #ccc");
				curpg = $("#currpage").val();
				$(".index_thumb").removeClass("currentthumb");
				$("#thumb_"+curpg).addClass("currentthumb");
				$("#issue_index").show();
	
			});	

			$(".pagenr").each(function() {

			    tid = $(this).attr("id");
				trel = $("#"+tid+" a").attr("rel");
				content = $("#thumb_"+trel).html();
			    
				$(this).qtip({
			        content: content,
					style: { 
					      width: 160,
					      padding: 3,
					      background: digimagConfig[0].bg_color,
					      color: '#ccc',
					      textAlign: 'center',
					      border: {
					         width: 3,
					         radius: 5,
					         color: digimagConfig[0].bg_color
					      },
					      tip: 'bottomLeft',
					      name: 'dark' // Inherit the rest of the attributes from the preset dark style
					   },
			        position: {
			            corner: {
			                target: 'topRight',
			                tooltip: 'bottomLeft'
			            }
			        }
			    });
				
				//.qtip
			});

			$(".feedback_itemx").hover(
				function(){
				$(this + " .linky").addClass("hintshow") ;
			});

			$(".linky").parent().hover(
				function(){	
					curitem = $(this);
					$(this).addClass("hintshow") ;
				},	function(){
						$(this).removeClass("hintshow");
					}
			);
		}

		function likethis(issue_id,screen_nr,fn) {
			//alert(issue_id+screen_nr);

			jQuery.post(ajaxpath + 'like.php',
			{ id: issue_id, nr:screen_nr, fn:fn},
			function(data){ 
				//alert(data);
				$("#totalLikes").html(data);
				}
			);
		}

		function showprompt(msg) {
			$("#prompt").show();
			$("#prompt").html("<span onclick=\"loadpage2(2);\">"+msg+"</span>");
			$("#prompt").pulse(
				{
					opacity: [0.4, 1]

				}, 
				3000, 
				6, 
				'linear', 
				function(){}
			);
		}

		
// generic helper functions
		function pad(n, len) {

		    s = n.toString();
		    if (s.length < len) {
		        s = ('000' + s).slice(-len);
		    }

		    return s;

		}

		function readCookie(name) {
			var nameEQ = name + "=";
			var ca = document.cookie.split(';');
			for(var i=0;i < ca.length;i++) {
				var c = ca[i];
				while (c.charAt(0)==' ') c = c.substring(1,c.length);
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
			return null;
		}

		function generateShortURL(uri) {
			//login=africageo&apiKey=R_f5042193a35453386869d2512a4e3a60
			//alert(encodeURI(uri+"/#1"));
			var defaults = {
			    version:    '3',
			    login:      'africageo',
			    apiKey:     'R_f5042193a35453386869d2512a4e3a60',
			    history:    '0',
			    longUrl:    encodeURI(uri+"/#1")
			  };

			  // Build the URL to query
				//http://api.bit.ly/v3/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&longUrl=http%3A%2F%2Fbetaworks.com%2F&format=json
			  var daurl = "http://api.bit.ly/v3/shorten?"
			    +"longUrl="+encodeURI(uri)
			    +"&login="+defaults.login
			    +"&apiKey="+defaults.apiKey
			    +"&format=json&callback=?";

			    // Utilize the bit.ly API
			    $.getJSON(daurl, function(data){

			        // Make a good use of short URL
			        //$('#myContainer').append(data.results[url].shortUrl); .append(data.results[defaults.longUrl].shortUrl);
					//alert(data.results[defaults.longUrl].shortUrl);
					//console.log(data);
					/*
					{
					    "status_code": 200, 
					    "data": {
					        "url": "http://bit.ly/cmeH01", 
					        "hash": "cmeH01", 
					        "global_hash": "1YKMfY", 
					        "long_url": "http://betaworks.com/", 
					        "new_hash": 0
					    }, 
					    "status_txt": "OK"
					}

					*/

			    });
		}
		
		(function($) {//serializeAnything

			    $.fn.serializeAnything = function() {

			        var toReturn    = [];
			        var els         = $(this).find(':input').get();

			        $.each(els, function() {
			            if (this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password/i.test(this.type))) {
			                var val = $(this).val();
			                toReturn.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( val ) );
			            }
			        });   

			        return toReturn.join("&").replace(/%20/g, "+");

			    }

		})(jQuery);
						
		function are_cookies_enabledxx()
		{
			var cookieEnabled = (navigator.cookieEnabled) ? true : false;

			if (typeof navigator.cookieEnabled === "undefined" && !cookieEnabled)
			{ 
				document.cookie="testcookie";
				cookieEnabled = (document.cookie.indexOf("testcookie") !== -1) ? true : false;
			}
			return (cookieEnabled);
		}		

		function popup(url) {
			params = 'width=' + screen.width;
			params += ', height=' + screen.height;
			params += ', top=0, left=0';
			params += ', fullscreen=yes';

			newwin = window.open(url, 'bigFIG_viewer', params);
			if (window.focus) {newwin.focus(); }
			return false;
		}

		function log(text) {

			$("#debug").append("<br/>"+text);
		}
		
		
// popup forms control

		function loadPopup(){
			//loads popup only if it is disabled
			if(popupStatus==0){


				//$("#backgroundPopup").css({"opacity": "0.8"});
				$("#backgroundPopup").fadeIn("slow");
				if (jQuery.browser.safari) {$("#digimag_issue").css("visibility","hidden");}
				$("#register .form_section").html("");
				$("#popcontainer").fadeIn("slow");
				popupStatus = 1;
				feedback_mode = true;
				$("#sidebar").css({"opacity": "0.3"});
				$("#top_nav").css({"opacity": "0.3"});
			}
		}

		function closepop(id){

			//disables popup only if it is enabled
			if(popupStatus==1){
				$("#backgroundPopup").fadeOut("slow");
				$("#popcontainer").fadeOut("slow");
				//$('#'+id).hide();
				$('.popcontent').hide();
				popupStatus = 0;
				feedback_mode = false;
				$("#sidebar").css({"opacity": "1"});
				$("#top_nav").css({"opacity": "1"});
				$("#digimag_issue").css("visibility","visible");
			}
		}

		function closepop2(id) {

			$("#content_container").hide();
			$('#'+id).hide();
			$("#digimag_wrapper").fadeIn("slow");
		}

		function emailEditor() {
			$("#popbox form div").hide();
			loadPopup();
			$("#editor_email .form_section").load('core/core_forms.php #editor_email_form');
			$("#editor_email").show();
		}



// swf to js comms
		function swf2register(){
			$("#popbox form div").hide();
			loadPopup();
			$("#content-badge").html("Register");
			$("#val_meta").val("list=register");
			doRegisterCheck('subscribe');

		}

		function swf2page(swf) {
			$.each(geoList, function(i, item){
				//console.log(item);
			  if (item.storyFile == swf) {
				//alert("sent:"+pagenr + " "+i+">"+item.page);
				pageidx = i;

				}
			});
			//alert(swf+" "+geoList[pageidx].page);
			clickStream($("#currpage").val(),'storybtn','swf',geoList[pageidx].page);
			loadpage2(geoList[pageidx].page);

		}

		function getMovieName(swfName) {
		   if (navigator.appName.indexOf("Microsoft") != -1) {
			return window[swfName];
			} else {
			return document[swfName];
			}
		}
		
		function sendtoFlash(mthd, arg) {
			
			mthd = typeof(mthd) != 'undefined' ? mthd : 'na';
			arg = typeof(arg) != 'undefined' ? arg : '';
			
			
			
			if(arg!='') {				
				 $('#swfcontainer_id').externalInterface({
		              method: mthd,
		              args: [arg],
		              success: function (data) {
		                  if (data == null )
		                      return;
		                  //alert('flash says: ' + response);
		              },
		              error: function (error) {
		                   alert('there was an error: ' + error);
		              }
		          });
		
			} else {
				$('#swfcontainer_id').externalInterface({
					method:mthd

					});				
				
			}
			
		}
							
		function checkAudio(){

			return $("#flashaudio").val();
		}

		function sendAudio() {
				

			//if($.browser.msie && (var_flashversion == problem_flash)) {
				//log("firing getFlashMovieObject "+swf_id);
				sendtoFlash('toggleSound');


				//$("swfcontainer_id")  
				//$("#digimag_issue object")
				//document.getElementById("digimag_issue").toggleSound(); // e.g. an external interface call
//$('#swfcontainer_id').externalInterface({method:'toggleSound'});
			

		}

		function toggleState() {
			if($("#flashaudio").val() == 1)  {
				$("#flashaudio").val(0);
				} else {
				$("#flashaudio").val(1);
			}
				$("#soundbtn").val(soundCaption[$("#flashaudio").val()]);
		}

		function getbasepath(){

			return basepath;
		}

		function getcountry(){
			country = geoip_country_name();
			return country;
		}

		function loadDownloadPage() {

			$("#register .form_section").html("");
			$("#register").hide();
			$("#download_link").click();
		}

		function swfNavClick(clksrc,storySlidenr) {
			/*
			clkid:issue_nr,
			pagenr:$("#currpage").val(),
			clkevent:swf_nav,
			clksrc:more,
			clkitem:storySlidenr
			*/
			clickStream($("#currpage").val(),'swf_nav',clksrc,storySlidenr);
		}
		
		
		function swfFeedbackxx(username,useremail,commentplus,commentdelta,feedback){
			payload=username+"|"+useremail+"|"+commentplus+"|"+commentdelta+"|"+feedback;
			alert(payload);
			
			
		         $('#swfcontainer_id').externalInterface({
		              method: 'feedbackStatus',
		              args: ['ok'],
		              success: function (data) {
		                  if (data == null )
		                      return;
		                  alert('flash says: ' + response);
		              },
		              error: function (error) {
		                   alert('there was an error: ' + error);
		              }
		          });
		 
			

					
					
		}
		
		function swfFeedback(username,useremail,commentplus,commentdelta,feedback){

			payload=username+"|"+useremail+"|"+commentplus+"|"+commentdelta+"|"+feedback;
	
			$.ajax({
				url : ajaxpath + 'feedback.php', 
				type: "POST",
				data : 'payload='+payload+'&yourcountry='+country_code+'&'+$("#backstage").serializeAnything() ,
				dataType : "text",

				error: function(request,error) {

				   alert(error);

				  },
			  	success: function(x) 
				{
					
					sendtoFlash('feedbackStatus',x);
					
					/*
					$('#swfcontainer_id').externalInterface({
		              method: 'feedbackStatus',
		              args: ['ok'],
		              success: function (data) {
		                  if (data == null )
		                      return;
		                  alert('flash says: ' + response);
		              },
		              error: function (error) {
		                   alert('there was an error: ' + error);
		              }
			          });
					*/
					
					
					feedback_mode = false;
				}
				
			});
			

		}

// not used

		function preloaderOk() {

			if(preloader_status!="ok" || preloader_status =="initial") { //should be blank if preloader not working
				//alert("inside if:" + preloader_status);
				//preloader_status = "";
				$('#digimag_issue').html("Oops, preloader issues....");
				loadpage2(page_being_called);
				//clearTimeout ( setTimeoutID );
				if(preloader_issueX!=1) {
					
					$("#preloader_issue").show();
					window.setTimeout(function() { $("#preloader_issue").hide(); }, 5000);
				}
			}
			
			
		}
						
// analytics

		//click map data stream
		(function($) { 

			$.fn.saveClicks = function() {
			    $(this).bind('mousedown.clickmap', function(evt) {
			        $.post(ajaxpath + 'clickmap.php', {
			            x:evt.pageX,
			            y:evt.pageY,
			            l:escape(document.location.pathname+window.location.hash)
			        });
			    });
			}; 

			$.fn.stopSaveClicks = function() {
			     $(this).unbind('mousedown.clickmap');
			};

		})(jQuery);

		$.displayClicks = function(settings) {
			if($("#flashaudio").val()==0) {
			    $('<div id="clickmap-overlay"></div>').appendTo('body');
			    $('<div id="clickmap-loading"></div>').appendTo('body');
			    $.get(ajaxpath + 'clickmap.php', { l:escape( document.location.pathname+window.location.hash) },
			        function(htmlContentFromServer) {
			            $(htmlContentFromServer).appendTo('body');
			            $('#clickmap-loading').remove();
			        }
			    );
			}//if
		}; 

		$.removeClicks = function() {
		    $('#clickmap-overlay').remove();
		    $('#clickmap-container').remove();
		};

		$(function() {
		        $(document).saveClicks(); 
		        $('.displayClicks').click(function() {
		            $.displayClicks();
		            $('#clickmap-overlay').click(function() {
		                 $.removeClicks();
		                 $(document).saveClicks();
		            });
		            $(document).stopSaveClicks();
		            return false;
		        });
		});
		
		//end click map
		
		
		function clickStream(screen_nr,clk_event,clk_src,clk_item) {

			issue_nr = $("#val_issue_nr").val();

			jQuery.post(ajaxpath + 'clickstream.php',
			{ clkid: issue_nr,pagenr:screen_nr,clkevent:clk_event,clksrc:clk_src,clkitem:clk_item},
			function(data){ }
			);
			
			opt_label = screen_nr+">"+clk_item;
			issue_nr = issue_nr *1;
			_gaq.push(['_trackEvent', clk_event, clk_src, opt_label, issue_nr]);

		}

		
// registration ajax processes		

		function good2go(text) {
			preloader_status = text; //ie ok
			clearTimeout (setTimeoutID);
			
		}
		
		function submitEditorEmail(){

			var err_msg = "";

			email_address = $("#email_address").val();
			if(goodtogo) {

				$("#ajaxloading").show();


				$.ajax({
					url : ajaxpath + savedata,
					type: "POST",
					data : 'fn=editor'+'&'+$("#editor_email").serializeAnything()+'&'+$("#backstage").serializeAnything() ,
					dataType : "text",
				  	success: function(x) 
					{
						$("#editor_email .form_section").html("<p>Thank you for sending us your comments. Our editor will respond to you shortly!</p><p><a href=\"javascript:closepop('editor_email');\">Click here</a> to return to the magazine");
					}
				});

			}

		}

		function submitFriendEmail(){

			//alert('fn=new'+'&'+$("#newsletter_form").serializeAnything());

			var err_msg = "";
			//if(validate) err_msg = validate_form(form_id);

			//email_address = $("#email_address").val();
			if(goodtogo) {

				$("#ajaxloading").show();


				$.ajax({
					url : ajaxpath + savedata,
					type: "POST",
					data : 'fn=emailfriend'+'&'+$("#share_emailfriend").serializeAnything()+'&'+$("#backstage").serializeAnything() ,
					dataType : "text",
				  	success: function(x) 
					{
						$("#share_emailfriend .form_section").html("<p>Thank you for sharing!</p><p><a href=\"javascript:closepop('editor_email');\">Click here</a> to return to the magazine");
					}
				});

			}

		}				
		
		function register() {

				//alert('fn=new'+'&'+$("#newsletter_form").serializeAnything());
				//alert("test1"+$("#context").val());
				//$("#context").val("Register screen;" + digimag_edition_desc.replace(" ","_"));
				var_context = $("#val_context").val();
				//alert("var_context:"+digimag_edition_desc.replace(" ","_"));
				//if(var_context=="") {var_context = "Register screen;";}
				
				//log("mc_listid:<php echo $_SESSION['mc_listid'];?>");
				
				$("#val_meta").val("list=register;source=" + digimag_edition_desc.replace(" ","_"));
				//$("#val_context").val(var_context);

				var err_msg = "";
				//if(validate) err_msg = validate_form(form_id);

				email_address = $("#email_address").val();
				addtext = "";
				if(var_context=="download"){addtext = '<p><a style="text-decoration:underline;cursor:pointer;" onclick="loadDownloadPage();">Click here</a> to continue to our download page.</p>';}

				if(goodtogo) {

					$("#ajaxloading").show();
					
					$("#val_context").val(var_context +";Register screen;" + digimag_edition_desc.replace(" ","_"));
					
					//alert(eid);
					
					log(var_context+" .. "+addtext);
					txt_to_display = '<p>Thank you for registering</p><p>Our mailing list provider MailChimp will now send you a confirmation email.</p>'+addtext;
					

					$.ajax({
						url : ajaxpath + savedata,
						type: "POST",
						data : 'fn=new&ed='+eid+'&'+$("#register_form").serializeAnything() ,
						dataType : "text",
					  	success: function(mc_status) 
						{
							
							if(mc_status != "unk") 
								{
									txt_to_display = '<p>Thank you for registering</p>'+addtext;		
								}
							$("div.cssform").html(txt_to_display);	
						}
					});

				}
		}

		function echeck(str) {

				var at="@"
				var dot="."
				var var_email_check = "Email Ok"
				var lat=str.indexOf(at)
				var lstr=str.length
				var ldot=str.indexOf(dot)
				if (str.indexOf(at)==-1){
				   return false
				}

				if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
				   return false
				}

				if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
				   return false	
				}

				 if (str.indexOf(at,(lat+1))!=-1){
				    return false	
				 }

				 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
				    return false
				 }

				 if (str.indexOf(dot,(lat+2))==-1){
				   return false
				 }

				 if (str.indexOf(" ")!=-1){
				    return false
				 }

		 		 return true		
		}

		function validate_email(eid) {

			em = $("#"+eid).val();

			goodtogo = false;
			$('.cssform .warning').html("");
			$("#" +eid).removeClass("err");
			//$('#epos').css({'background':'#fff' ,'color':'#000'});
			honeypot = $("#email").val();

			if(honeypot=="Email") {

				if (echeck(em)) {
					$("#"+eid).removeClass("err");
					goodtogo = true;

				}
				else
				{
					$('#'+eid+'_email_error').html("Problem with email format");
					$('#'+eid).addClass("err");
					goodtogo = false;
					setTimeout(function() { $('#'+eid).focus(); }, 50);
				}
			}



		}

		function checkExists(item) {
			//let's check if email ok
			validate_email('epos');
			//alert(item);

			if($('#email_error').html()=="") {


				$("#"+item).removeClass("err");
				$("#"+item+"_warning").html("");
				$("#loginbutton").removeAttr("disabled");
				qdata = '&value='+$("#"+item).val()+'&item='+item;


				$.ajax({
					url : ajaxpath + savedata,
					type: "GET",
					data : 'fn='+'checkexists'+qdata,
					dataType : "text",
				  	success: function(x) { 
					//x = x.replace("\n","");

						if(x>0) {
							$("#"+item).addClass("err");
							if(item=="epos") {
								//console.log("#"+item+"_warning");
								$("#"+item+"_warning").html("That email already exists in our database.");
								$("#"+item).addClass("err");
								$("#loginbutton").attr("disabled", "disabled");
								//setTimeout(function() { $('#epos').focus(); }, 50);
							} 

						}

					}
				});
			}

		}

		function checkExists3(item) {

			if(goodtogo) {


				//$("#"+item).removeClass("err");
				//$("#"+item+"_warning").html("");
				//$("#loginbutton").removeAttr("disabled");
				$("#nextstep").css("opacity",".5");
				qdata = '&value='+$("#"+item).val()+'&item='+item;

				$.ajax({
					url : ajaxpath + savedata,
					type: "GET",
					data : 'fn='+'checkexists3'+qdata,
					dataType : "text",
				  	success: function(x) { 
					//x = x.replace("\n","");
					var result_var = x.split("|");
					
					$("#nextstep").hide();

						if(result_var[0]==1) {
							//$("#"+item).addClass("err");
							if(item=="epos") {
								//console.log("#"+item+"_warning");
								
								if(editionlist[curr_idx].issue_airfile=="") 
								{
									downloadtxt = '';
								} else {
									downloadtxt = '<p><a onclick="loadDownloadPage();">Click here</a> to continue to our download page.</p>';
								}
								
								
								$("#ifregistered").html('<p>Thanks! According to our records you\'re already in our database as a newsletter subscriber for getting new issue updates.</p>'+downloadtxt).show();
								$("#checkmail_div").hide();	

								//$("#"+item).addClass("err");
								//$("#loginbutton").attr("disabled", "disabled");
								//setTimeout(function() { $('#epos').focus(); }, 50);
							} 

						}

						if(result_var[0]==0) {
							if(item=="epos") {
							$("#ifregistered").hide();	
							$("#ifnotregistered").show();
							
							$("#fname").focus();
							}
						}

					}
				});
			}

		}
		
		function checkExists2(item) {
			//let's check if email ok
			//validate_email();

			if($('#email_error').html()=="") {


				$("#"+item).removeClass("err");
				$("#"+item+"_warning").html("");
				$("#loginbutton").removeAttr("disabled");
				qdata = '&value='+$("#"+item).val()+'&item='+item;


				$.ajax({
					url : ajaxpath + savedata,
					type: "GET",
					data : 'fn='+'checkexists'+qdata,
					dataType : "text",
				  	success: function(x) { 
					//x = x.replace("\n","");

						if(x==0) {

							if(item=="epos") {
								$("#chkSubscribe").show();
								$("#chkSubscribeAlt").hide();
							}
						}

						if(x>0) {

							if(item=="epos") {
								$("#chkSubscribeAlt").show();
								$("#chkSubscribe").hide();

							} //epos
						}// x >0

					}
				});
			}

		}

		function doRegisterCheck(var_context) {
			//has person already registered and has a cookie set?

			compocopy = "";
			params = {compo: compocopy,context: var_context};

	
				if(!readCookie('userid')) {
					//show register screen

					$("#register .form_section").load('core/core_forms.php #register_form',params,function() {
						$(".yourcountry").val(country_code);
						$(".countrycode").val(country_code);
						$("#val_meta").val("list=register");
						$("#val_context").val(var_context);
						$("#register_form .rightblock").html(varphp_compo);
					});

					$("#register").show();
				} else {
					if(var_context=='download') {
						$("#air_badge").load('core/air_badge.php');
						$("#download").show();

						
					} else {
						$("#register").show();
						$("#register .form_section").load('core/core_forms.php #register_form',params,function()
						{
							$(".yourcountry").val(country_code);
							$(".countrycode").val(country_code);
							$("#register_form .rightblock").html(varphp_compo);
						});
						//$("div.cssform").append('<p>It seems you\'re already registered though?</p>');
					}
				}	
		}

		

