var cookiename="wfd-speed";
$(document).ready(function(){
	if((speed = $.cookie(cookiename)) == 2){
		loadHighSpeed();
		      //addSpeedLink();
	} else if(speed == 1) {
		//low speed was set, do nothing
		      //addSpeedLink();
	} else {
		//speed not set. check speed
		var st = new SpeedTest();
		st.run({
		  onStart: function() {
		    //alert('Before Running Speed Test');
		  }
		  ,onEnd: function(speed) {
		    //alert( 'Speed test complete:  ' + speed.Kbps + ' Kbps');
		    // put your logic here
		    if( speed.Kbps < 200 ){
		      //alert('Your connection is too slow');
		      //loadLowSpeed();
		      $.cookie(cookiename, "1", {path:'/'});
		      $.cookie(cookiename, "1", {path:'/index.php/'});
		      addSpeedLink();
		    } else {
			loadHighSpeed();
			$.cookie(cookiename, "2", {path:'/'});
		      addSpeedLink();
		    }
		  }
		});
	}
});

function loadHighSpeed(){
	if($().flash.hasFlash()){
		$("#header span#headerImage").html('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="640" height="191" id="topfire" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="design/topfire.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" />	<embed src="design/topfire.swf" quality="high" bgcolor="#000000" width="640" height="191" name="topfire" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
		$("#footer span#botfire").html('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="797" height="152" id="topfire" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="design/botfire.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" />	<embed src="design/botfire.swf" quality="high" bgcolor="#000000" width="797" height="152" name="topfire" align="middle" wmode="transparent" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
	}
}

function loadLowSpeed(){
}

function changeSpeed(newspeed){
	//newspeed = 1 for low, 2 for high
	speed = $.cookie(cookiename);
	if(newspeed == 1 && speed  == 2){
		loadLowSpeed();
		$.cookie(cookiename, "1");
	} else if(newspeed == 2 && speed == 1){
		loadHighSpeed();
		$.cookie(cookiename, "2");
	}
	addSpeedLink();
}
function addSpeedLink(){
	if($.cookie(cookiename) == 2){
		link="Low-bandwidth";
		title="switch to web for slow connections"
		newspeed = 1;
	} else {
		link="High-bandwidth";
		title="switch to web for high speed connections"
		newspeed = 2;
	}
	if((speedLink = $('#speedLink')).length > 0){
	//	$(speedLink).html("<p id='speedLink'><a title='"+title+"' href='javascript:changeSpeed("+newspeed+");'>" + link + "</a></p>");
	} else {
	//	$("#footer").append("<p id='speedLink'><a title='"+title+"' href='javascript:changeSpeed("+newspeed+");'>" + link + "</a>");
		//$("#footer").append("</p>"+"<p><a href='#' onClick='resetcookie();'>" + "RESET" + "</a></p>");
	}
	return false;
}
function resetcookie(){
	$.cookie(cookiename, "0", {domain: 'www.wembleyfiredepartment.ca', path:'/'});
}
var SpeedTest = function() {
  /* 
  From:  http://techallica.com/kilo-bytes-per-second-vs-kilo-bits-per-second-kbps-vs-kbps/
  256 kbps            31.3 KBps
  384 kbps            46.9 KBps
  512 kbps            62.5 KBps
  768 kbps            93.8 KBps
  1 mbps ~ 1000kbps   122.1 KBps
  */
};
SpeedTest.prototype = {
  imgUrl: "script/speedtest.jpg"    // Where the image is located at
  ,size: 59917                // bytes
  ,run: function( options ) {
    
    if( options && options.onStart )
      options.onStart();
  
    var imgUrl = this.imgUrl + "?r=" + Math.random();
    this.startTime = (new Date()).getTime() ;

    var testImage = new Image();
    var me = this;
    testImage.onload = function() { 
      me.endTime = (new Date()).getTime();
      me.runTime = me.endTime - me.startTime;
    
      if( options && options.onEnd )
        options.onEnd( me.getResults() );
    };
    testImage.src = imgUrl; 
  }
  
  ,getResults: function() {
    if( !this.runTime ) 
      return null;
      
    return { 
      runTime: this.runTime
      ,Kbps: ( this.size * 8 / 1024 / ( this.runTime / 1000 ) )
      ,KBps: ( this.size / 1024 / ( this.runTime / 1000 ) )
    };
  }
}

