// --- conf -- 

soundManager.url = '/flash/soundmanager/';
soundManager.waitForWindowLoad = false;
soundManager.debugMode = false;

soundManager.onerror = function() {
  alert("[ns] function::nintariman.browser.Audio.Error - Audio Failed. Please hit Reload. ");
}

// --- nintariman sm api --

var quivering = new Array(17);
var quiver_timer = new Array(17);

var sm_functions_onload = new Array();

var sm_album_data = new Array();
var sm_volume_stat = new Array();
var sm_mute_stat = new Array();
var sm_play_stat = new Array();

var sm_current_track_num = 0;

function sm_play(album_name,track_num) {

 //alert("play...");

 if( !album_name || !track_num || track_num <= 0) {
  return 0;
 }
 
 var this_track = sm_album_data[ album_name ][ track_num ];

 //alert("playing " + track_num);

 if( !this_track) { 
  return 0;
 }
 else {

  if( sm_play_stat[ this_track.name ] == "playing" ) {
   soundManager.stopAll();
   sm_current_track_num = track_num;
   quiver(track_num);
   return( this_track.play() );
  }
  else if( sm_play_stat[ this_track.name ] == "paused" ) {
   soundManager.stopAll();
   sm_play_stat[ this_track.name ] = "playing";
   sm_current_track_num = track_num;
   quiver(track_num);
   return( this_track.play() );
  }
  else if( sm_play_stat[ this_track.name ] == "stopped" ) {
   soundManager.stopAll();
   sm_play_stat[ this_track.name ] = "playing";
   sm_current_track_num = track_num;
   quiver(track_num);
   return( this_track.play() );
  }

 }

}

function sm_stop(album_name,track_num) {

 //alert("stop...");

 if( !album_name || !track_num || track_num <= 0) {
  return 0;
 }
 
 var this_track = sm_album_data[ album_name ][ track_num ];

 //alert("stopping " + track_num);

 if( !this_track) { 
  return 0;
 }
 else {
  sm_play_stat[ this_track.name ] = "stopped";
  sm_current_track_num = 0;
  return( this_track.stop() );
 }

}

function sm_toggle_mute(sm_s_id) {

 if( !sm_s_id ) {
  return 0;
 }
 else {

  if( sm_mute_stat[ sm_s_id.name ] == 0 ) { 
   sm_mute_stat[ sm_s_id.name ] = 1; 
   return( sm_s_id.mute() );
  }
  else if( sm_mute_stat[ sm_s_id.name ] == 1 ) { 
   sm_mute_stat[ sm_s_id.name ] = 0; 
   if( sm_volume_stat[ sm_s_id.name ] ) {
    sm_volume( sm_s_id, sm_volume_stat[ sm_s_id.name ] ); 
   } 
   return( sm_s_id.unmute() );
  }
  else {
   return 0;
  }

 }
}

function sm_pause(sm_s_id) {
 if( !sm_s_id ) {
  return 0;
 }
 else {

  if( sm_play_stat[ sm_s_id.name ] == "paused" ) {
   sm_play_stat[ sm_s_id.name ] = "playing";
  }
  else {
   sm_play_stat[ sm_s_id.name ] = "paused";
  }

  return( sm_s_id.togglePause() );

 }
}

function sm_volume(sm_s_id,volume) { 
 if( !sm_s_id ) {
  return 0;
 }
 else {
  sm_volume_stat[ sm_s_id.name ] = volume;
  return( sm_s_id.setVolume( volume ) );
 }
}

function sm_album_play_track(album_name,track_num) { 

 if( sm_album_data[ album_name ][ track_num ] ) { 

  var this_track = sm_album_data[ album_name ][ track_num ];
  soundManager.stopAll();

  return( sm_play( "protector_mp3_mp3", track_num ) );

 }
 else { 
  return 0;
 }
}

function randnum(min,max) { 

 var random_num = 0;

 while( random_num < min ) { 
   random_num = Math.floor(Math.random()*max);
 }

 return random_num;

}

function shudder(track_num) {

 dequiver();

 if( randnum(1,48) == 1 ) {
  return 1; 
 }

 if( randnum(1,10) == 1 ) { 

  var rand_1 = "0.6";
  var rand_2 = "fast";

  if( randnum(1,12) == 1) { 
   rand_1 = '0.1';
  }
  else if( randnum(1,12) == 2) { 
   rand_1 = '0.4';
  }
  else if( randnum(1,12) == 3) { 
   rand_1 = '0.7';
  }
  else if( randnum(1,12) == 4) { 
   rand_1 = '0.3';
  }

  if( randnum(1,6) == randnum(1,randnum(2,6)) ) { 
   $("#track_" + track_num).animate({ "left": randnum(1,50), 
                                           "opacity": rand_1 
                                         }, { queue:false, duration:randnum(1,randnum(2,24)) });
  }

  if( randnum(1,2099) == 1) { 
   $("#" + "track_" + track_num).removeClass();
   $("#" + "track_" + track_num).css({backgroundColor:'',color:'',borderLeftColor:'',borderRightColor:'',borderTopColor:'',borderBottomColor:'',opacity:1});
  }

  //$("#track_" + track_num).animate({ "width": "97%" 
  //                                      }, { queue:true, duration:randnum(1,12) });

  //$("#" + "track_" + track_num).animate({ left: 0}, "fast");

 }

 if( randnum(1,2) == 1)  {
   $("#" + "track_" + track_num).recover();
   $("#" + "track_" + track_num).pulse(
      {
       backgroundColors: ['black', '#436a3d'],
       speed: randnum(3,64),
       runLength: 3
      }
   );
 }

 if( quiver_timer[track_num] != 0 ) { 
   window.clearInterval( quiver_timer[track_num] );
   $("#" + "track_" + track_num).removeClass();
   $("#" + "track_" + track_num).css({backgroundColor:'',color:'',borderLeftColor:'',borderRightColor:'',borderTopColor:'',borderBottomColor:'',opacity:1});
   quiver_timer[track_num] = 0;
 }

 if( quiver_timer[track_num] == 0 ) { 
   quiver_timer[track_num] = window.setInterval("shudder(" + track_num + "); recover(" + track_num + ");",randnum(512,4096));
 }

 quiver(track_num);
 
}

function dequiver() { 

 for(x in quiver_timer) {
    if( quiver_timer[x] != 0 && sm_current_track_num != x) { 

     window.clearInterval( quiver_timer[x] );

     $("#" + "track_" + x).recover();
     $("#" + "track_" + x).pulse(
      {
       speed: 2099,
       opacityRange: [ 1.0,1.0 ],
       runLength: 2099
      }
     );
     $("#" + "track_" + x).recover();
     $("#" + "track_" + x).removeClass();
     $("#" + "track_" + x).css({backgroundColor:'',color:'',borderLeftColor:'',borderRightColor:'',borderTopColor:'',borderBottomColor:'',opacity:1});

     quiver_timer[x] = 0;
     quivering[x] = 0;

    }
 }

}

function quiver(track_num) {

  dequiver();

  if(sm_current_track_num != track_num) {
   window.clearInterval( quiver_timer[track_num] );   
   $("#" + "track_" + track_num).recover();
   $("#" + "track_" + track_num).pulse(
      {
       speed:randnum(1,133),
       opacityRange: [ 0.7,1.0 ],
       runLength:randnum(1,512)
      }
   );
   $("#" + "track_" + track_num).recover();
   $("#" + "track_" + track_num).removeClass();
   $("#" + "track_" + track_num).css({backgroundColor:'',color:'',borderLeftColor:'',borderRightColor:'',borderTopColor:'',borderBottomColor:'',opacity:1});
   quiver_timer[x] = 0;
   quivering[x] = 0;
   return 0;
  }

  try {

   if(randnum(1,25) == randnum(1,25)) { 
    $("#track_" + track_num).animate({ "backgroundColor": "white" 
                                     }, { queue:false, duration:randnum(1,12) });
   }
   else if(randnum(1,12) == randnum(1,64)) { 
    $("#track_" + track_num).animate({ "backgroundColor": "black" 
                                     }, { queue:false, duration:randnum(1,12) });
   }
   else if(randnum(1,54) == randnum(1,54)) { 

   $("#" + "track_" + track_num).pulse(
    {
     speed: randnum(1,133),
     opacityRange: [ 0.7, 0.1
                   ],
     backgroundColors: ['black', '#436a3d'],
     runLength: randnum(randnum(1,1024),randnum(1025,8192))
    }
   );
   }
   else if(randnum(1,12) == 7) {

   $("#" + "track_" + track_num).pulse(
    {
     speed: randnum(1,256),
     opacityRange: [ 1.0,1.0,1.0,1.0,0.9,0.9,0.9,0.9,
		     0.8,0.8,0.8,0.8,0.7,
		     0.7,0.7,0.7,
		     0.6,0.5,
		     0.4,
		     0.3,
		     0.2,
		     0.1,
		     0.2,
		     0.3,0.3,
		     0.4,0.4,
		     0.5,0.6,0.6,
		     0.7,0.7,0.7,
		     0.8,0.8,0.8,0.8,0.9
                   ],
     runLength: randnum(randnum(1,128),randnum(512,1024))
    }
   );

   }
   else if(randnum(1,3) == 3){

   $("#" + "track_" + track_num).pulse(
    {
     speed: randnum(12,128),
     opacityRange: [ 1.0,1.0,1.0,0.9,0.9,0.9,0.9,
		     0.8,0.8,0.8,0.8,
		     0.7,0.7,
		     0.6,0.5,
		     0.4,
		     0.3,
		     0.2,
		     0.2,
		     0.3,
		     0.4,
		     0.5,0.6,
		     0.7,0.7,0.7,
		     0.8,0.8,0.8,0.8,0.9
                   ],
     runLength: randnum(randnum(1,1024),randnum(1025,3335))
     }
   );

   }
   else {

   $("#" + "track_" + track_num).pulse(
    {
     speed: randnum(1,256),
     opacityRange: [ 1.0,1.0,1.0,1.0,
		     0.8,0.8,0.8,
		     0.7,0.7,
		     0.6,0.5,
		     0.4,
		     0.3,
		     0.2,
		     0.1,
		     0.2,
		     0.3,
		     0.4,
		     0.5,0.6,
		     0.7,0.7,0.7,
		     0.8,0.8,0.8,0.8,0.9
                   ],
     runLength: randnum(randnum(1,1024),randnum(1025,3335))
     }
   );

   }

  } catch(error) {
   alert("error - " + error);
  }

  var shake_1 = 0;
  var shake_2 = 25;
  var shake_3 = 10;
  var shake_4 = 50;

  //$("#" + "track_" + track_num).animate({ left: shake_2 }, shake_1);
  //$("#" + "track_" + track_num).animate({ left: shake_3 }, shake_4);
  //$("#" + "track_" + track_num).animate({ left: shake_2 }, shake_1);
  //$("#" + "track_" + track_num).animate({ left: 0 }, 0);

  if( quiver_timer[track_num] != 0 ) { 
   window.clearInterval( quiver_timer[track_num] );
   $("#" + "track_" + track_num).removeClass();
   $("#" + "track_" + track_num).css({backgroundColor:'',color:'',borderLeftColor:'',borderRightColor:'',borderTopColor:'',borderBottomColor:'',opacity:1});
   quiver_timer[track_num] = 0;
  }

  if( quiver_timer[track_num] == 0 ) { 
   quiver_timer[track_num] = window.setInterval("shudder(" + track_num + "); recover(" + track_num + ");",randnum(133,4096));
  }

  quivering[track_num] = 1;

}

function recover(track_num) { 
   $("#" + "track_" + track_num).recover();
}

function na_stop() {

 if( sm_current_track_num != 0) { 

  var save_track = sm_current_track_num;

  sm_current_track_num = 0;
  dequiver();
  sm_current_track_num = save_track;

  //alert("stopping " + sm_current_track_num);

  sm_stop( "protector_mp3_mp3", sm_current_track_num );

  sm_current_track_num = 0;

 }

 return 1;

}

function na_play() {

 if( sm_current_track_num != 0) { 

  sm_play( "protector_mp3_mp3", sm_current_track_num );

 }
 else {

  sm_play( "protector_mp3_mp3", 1 );

 }

 return 1;

}

function na_prev() {

 if( sm_current_track_num != 0) { 

  var this_track_num = sm_current_track_num - 1;

  if( this_track_num > 0 ) {

   sm_stop( "protector_mp3_mp3", sm_current_track_num );
   sm_play( "protector_mp3_mp3", this_track_num);

  }

 }

 return 1;

}

function na_next() {

 if( sm_current_track_num != 0) { 

  var this_track_num = sm_current_track_num + 1;

  if( this_track_num > 0 ) {

   sm_stop( "protector_mp3_mp3", sm_current_track_num );
   sm_play( "protector_mp3_mp3", this_track_num );

  }

 }
 else {

   var this_track_num = 1;
   sm_play( "protector_mp3_mp3", this_track_num);

 }

 return 1;

}

soundManager.onload = function() {

 for(c in sm_functions_onload){
  var this_function = sm_functions_onload[ c ];
  if (typeof( this_function ) == 'function') {
   try {
    var execute_function = this_function();
   } catch(error) {
    alert( "error - " + error );
   }
  }
  else {
   alert('no');
  }
 }

 sm_album_play_track("protector_mp3_mp3", 1);

}

// -- nintariman sm api fin --
