var flashDiv;
var apiKey;
var receiver;
var ageCheck;
var affiliateID;

var connectedToFacebook = false;

function init(_flashDiv,_apiKey,_receiver){
	flashDiv = flashDiv;
	apiKey = _apiKey;
	receiver = _receiver;
	flashDiv = _flashDiv;   
	
	FB.init(apiKey,receiver);
	FB.ensureInit(function() {
		FB.Connect.get_status().waitUntilReady( function( status ) {
		      switch ( status ) {
		      	case FB.ConnectState.connected:
					connectedToFacebook = true;
					checkUserProgress(FB.Connect.get_loggedInUser());
		         	break;
		      	case FB.ConnectState.appNotAuthorized:
		      	case FB.ConnectState.userNotLoggedIn:
		           	startFlash('', false);	
		      }
		   });
	});
	
	onResize();
	$(window).bind('resize', function() {
	   onResize();
	});
}


function onResize(){
	var marginTop = Math.round(($(window).height() - 650)/2);
	if(marginTop<0){
		marginTop = 0;		
	}
    $('#container').css('margin-top', marginTop+'px');
}

function myPostConnectFunction() {

};

function checkUserProgress(uid){
	$.ajax({
	   type: "GET",
	   url: "php/checkUserProgress.php",
	   data: "uid="+uid,
	   success: function(msg){
		 if(msg=="1"){
			startFlash(uid, true);
		 }else{
			startFlash(uid, false);
		}
	   }
	 });
}

function startFlash(uid, hasSession, test){     
	var playerVersion = "10";
	var buildno = 125; //Math.floor(Math.random()*999999);
	var edit = swfobject.getQueryParamValue("edit")=="1" ? "1" : "0";
	var fps = swfobject.getQueryParamValue("fps")=="1" ? "1" : "0";
	var extra = swfobject.getQueryParamValue("extra")=="1" ? "1" : "0";
	var test = test=="1" ? "1" : "0";

	var flashvars = {
		config: "xml/config.xml",
		as_swf_name: flashDiv, 
		uid: uid,
		hasSession: hasSession,
		connectedToFacebook: connectedToFacebook,
		edit: edit,
		fps: fps,
		test: test,
		extra: extra,
		ageCheck: ageCheck,
		affiliateID: affiliateID,
		stardollURL: stardollURL,
		stardollCode: stardollCode,
		stardollHash: stardollHash,
		apiKey: "<?php echo $apiKey; ?>"
	};

	var params = {
		menu: "true",
		wmode: "opaque",
		bgcolor: "#121212",
		allowFullscreen: "false",
		allowScriptAccess: "always",
		allowNetworking: "all"
	};

	var attributes = {};				
	swfobject.embedSWF("runtime.swf?build="+buildno, "flashcontent", "990", "650", playerVersion, false, flashvars, params, attributes);

	if (!swfobject.hasFlashPlayerVersion(playerVersion)) {
		window.location = "/noflash.html";
	}	
}

function login(){
	FB.Connect.requireSession( onLoginHandler, onCancelCallback);
}

function onLoginHandler(){
	flashCallBack("onLogIn");
}

function onCancelCallback(){
	flashCallBack( "onCancel" );
}

function publishAward(message, name, description, icon){
	var attachment = {
		'name': name,
		'href': 'http://www.56sagestreet.co.uk/',
		'properties': {
			'Play': { 'text': '56 Sage Street', 'href': 'http://www.56sagestreet.co.uk/'}
		}		
	}; 
	
	if(icon!=null){
			attachment.media = [{ 'type': 'image', 'src': 'http://www.56sagestreet.co.uk/' + icon, 'href': 'http://www.56sagestreet.co.uk/'}];
	}
	FB.Connect.streamPublish(message, attachment, null, null, '56 Sage Street:', null, false);

}


function flashCallBack ( func ) {
	if( arguments.length > 1 ){
		document[flashDiv][func]( Array.prototype.slice.call(arguments).slice(1)[0]);
	}else{
		document[flashDiv][func]();
	}
}

//Ask for app permissions
function askPermission(perm) {
    FB.Connect.showPermissionDialog(perm, function(result) { onAskPermissionHandler(result); });
}
function onAskPermissionHandler(result) {
//	alert("ask permisson result : "+result);
    flashCallBack("onAskPermission", result);
}

function sendStat(stat) {
  extraTracker._trackPageview(stat);
  //$.ajax({url: "http://adfarm.mediaplex.com/ad/bk/15156-101170-3840-0?play_game=1&mpuid=" + stat.substr(1), contentType: "image/gif"});	
}

function onSiteLoaded(){

}

