/*
 * contains:
 * thickbox.js
 * custom code
 * auto sugest.js
 * jquery ui.js
 * jplayer.js
*/


/*
 * Thickbox 3.1 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
      
var tb_pathToImage = "http://www.brinked.com/templates/images/loadingAnimation.gif";

/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/

//on page load call tb_init
$(document).ready(function(){   
  tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
  imgLoader = new Image();// preload image
  imgLoader.src = tb_pathToImage;
});

//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
  $(domChunk).click(function(){
  var t = this.title || this.name || null;
  var a = this.href || this.alt;
  var g = this.rel || false;
  tb_show(t,a,g);
  this.blur();
  return false;
  });
}

function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link

  try {
    if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
      $("body","html").css({height: "100%", width: "100%"});
      $("html").css("overflow","hidden");
      if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
        $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
        $("#TB_overlay").click(tb_remove);
      }
    }else{//all others
      if(document.getElementById("TB_overlay") === null){
        $("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
        $("#TB_overlay").click(tb_remove);
      }
    }
    
    if(tb_detectMacXFF()){
      $("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
    }else{
      $("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
    }
    
    if(caption===null){caption="";}
    $("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
    $('#TB_load').show();//show loader
    
    var baseURL;
     if(url.indexOf("?")!==-1){ //ff there is a query string involved
      baseURL = url.substr(0, url.indexOf("?"));
     }else{ 
        baseURL = url;
     }
     
     var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
     var urlType = baseURL.toLowerCase().match(urlString);

    if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
        
      TB_PrevCaption = "";
      TB_PrevURL = "";
      TB_PrevHTML = "";
      TB_NextCaption = "";
      TB_NextURL = "";
      TB_NextHTML = "";
      TB_imageCount = "";
      TB_FoundURL = false;
      if(imageGroup){
        TB_TempArray = $("a[@rel="+imageGroup+"]").get();
        for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
          var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
            if (!(TB_TempArray[TB_Counter].href == url)) {            
              if (TB_FoundURL) {
                TB_NextCaption = TB_TempArray[TB_Counter].title;
                TB_NextURL = TB_TempArray[TB_Counter].href;
                TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";
              } else {
                TB_PrevCaption = TB_TempArray[TB_Counter].title;
                TB_PrevURL = TB_TempArray[TB_Counter].href;
                TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";
              }
            } else {
              TB_FoundURL = true;
              TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);                     
            }
        }
      }

      imgPreloader = new Image();
      imgPreloader.onload = function(){   
      imgPreloader.onload = null;
        
      // Resizing large images - orginal by Christian Montoya edited by me.
      var pagesize = tb_getPageSize();
      var x = pagesize[0] - 150;
      var y = pagesize[1] - 150;
      var imageWidth = imgPreloader.width;
      var imageHeight = imgPreloader.height;
      if (imageWidth > x) {
        imageHeight = imageHeight * (x / imageWidth); 
        imageWidth = x; 
        if (imageHeight > y) { 
          imageWidth = imageWidth * (y / imageHeight); 
          imageHeight = y; 
        }
      } else if (imageHeight > y) { 
        imageWidth = imageWidth * (y / imageHeight); 
        imageHeight = y; 
        if (imageWidth > x) { 
          imageHeight = imageHeight * (x / imageWidth); 
          imageWidth = x;
        }
      }
      // End Resizing
      
      TB_WIDTH = imageWidth + 30;
      TB_HEIGHT = imageHeight + 60;
      $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");    
      
      $("#TB_closeWindowButton").click(tb_remove);
      
      if (!(TB_PrevHTML === "")) {
        function goPrev(){
          if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
          $("#TB_window").remove();
          $("body").append("<div id='TB_window'></div>");
          tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
          return false; 
        }
        $("#TB_prev").click(goPrev);
      }
      
      if (!(TB_NextHTML === "")) {    
        function goNext(){
          $("#TB_window").remove();
          $("body").append("<div id='TB_window'></div>");
          tb_show(TB_NextCaption, TB_NextURL, imageGroup);        
          return false; 
        }
        $("#TB_next").click(goNext);
        
      }

      document.onkeydown = function(e){   
        if (e == null) { // ie
          keycode = event.keyCode;
        } else { // mozilla
          keycode = e.which;
        }
        if(keycode == 27){ // close
          tb_remove();
        } else if(keycode == 190){ // display previous image
          if(!(TB_NextHTML == "")){
            document.onkeydown = "";
            goNext();
          }
        } else if(keycode == 188){ // display next image
          if(!(TB_PrevHTML == "")){
            document.onkeydown = "";
            goPrev();
          }
        } 
      };
      
      tb_position();
      $("#TB_load").remove();
      $("#TB_ImageOff").click(tb_remove);
      $("#TB_window").css({display:"block"}); //for safari using css instead of show
      };
      
      imgPreloader.src = url;
    }else{//code to show html
      
      var queryString = url.replace(/^[^\?]+\??/,'');
      var params = tb_parseQuery( queryString );

      TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
      TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
      ajaxContentW = TB_WIDTH - 30;
      ajaxContentH = TB_HEIGHT - 45;
      
      if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window    
          urlNoQuery = url.split('TB_');
          $("#TB_iframeContent").remove();
          if(params['modal'] != "true"){//iframe no modal
            $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");
          }else{//iframe modal
          $("#TB_overlay").unbind();
            $("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
          }
      }else{// not an iframe, ajax
          if($("#TB_window").css("display") != "block"){
            if(params['modal'] != "true"){//ajax no modal
            $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
            }else{//ajax modal
            $("#TB_overlay").unbind();
            $("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>"); 
            }
          }else{//this means the window is already up, we are just loading new content via ajax
            $("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
            $("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
            $("#TB_ajaxContent")[0].scrollTop = 0;
            $("#TB_ajaxWindowTitle").html(caption);
          }
      }
          
      $("#TB_closeWindowButton").click(tb_remove);
      
        if(url.indexOf('TB_inline') != -1){ 
          $("#TB_ajaxContent").append($('#' + params['inlineId']).children());
          $("#TB_window").unload(function () {
            $('#' + params['inlineId']).append( $("#TB_ajaxContent").children() ); // move elements back when you're finished
          });
          tb_position();
          $("#TB_load").remove();
          $("#TB_window").css({display:"block"}); 
        }else if(url.indexOf('TB_iframe') != -1){
          tb_position();
          if($.browser.safari){//safari needs help because it will not fire iframe onload
            $("#TB_load").remove();
            $("#TB_window").css({display:"block"});
          }
        }else{
          $("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
            tb_position();
            $("#TB_load").remove();
            tb_init("#TB_ajaxContent a.thickbox");
            $("#TB_window").css({display:"block"});
          });
        }
      
    }

    if(!params['modal']){
      document.onkeyup = function(e){   
        if (e == null) { // ie
          keycode = event.keyCode;
        } else { // mozilla
          keycode = e.which;
        }
        if(keycode == 27){ // close
          tb_remove();
        } 
      };
    }
    
  } catch(e) {
    //nothing here
  }
}

//helper functions below
function tb_showIframe(){
  $("#TB_load").remove();
  $("#TB_window").css({display:"block"});
}

function tb_remove() {
  $("#TB_imageOff").unbind("click");
  $("#TB_closeWindowButton").unbind("click");
  $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
  $("#TB_load").remove();
  if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
    $("body","html").css({height: "auto", width: "auto"});
    $("html").css("overflow","");
  }
  document.onkeydown = "";
  document.onkeyup = "";
  return false;
}

function tb_position() {
$("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
  if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
    $("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
  }
}

function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

function tb_getPageSize(){
  var de = document.documentElement;
  var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
  var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
  arrayPageSize = [w,h];
  return arrayPageSize;
}

function tb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}

var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }
function AssignPosition(d) {
if(self.pageYOffset) {
	rX = self.pageXOffset;
	rY = self.pageYOffset;
	}
else if(document.documentElement && document.documentElement.scrollTop) {
	rX = document.documentElement.scrollLeft;
	rY = document.documentElement.scrollTop;
	}
else if(document.body) {
	rX = document.body.scrollLeft;
	rY = document.body.scrollTop;
	}
if(document.all) {
	cX += rX; 
	cY += rY;
	}
d.style.left = (cX+10) + "px";
d.style.top = (cY+10) + "px";
}

function HideContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}

function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}

function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
if(dd.style.display == "none") { dd.style.display = "block"; }
else { dd.style.display = "none"; }
}

function delete_comment(id) {
  x_delete_comment(id, set_result2);
//  return false;
}

function add_comment(id, user_id, text) {
  if(text == '') {
    alert('Please enter your comments');
    return false;
  }

  x_add_comment(id, user_id, text, set_result);
  return false;
}

function set_result(html) {
  document.myform.comments.value = '';
  document.getElementById('comm').innerHTML = html;
}

function set_result2(html) {
  document.getElementById('comm').innerHTML = html;
}

function makeUrl() {
	var source = document.getElementById('src').value;
	var val = document.getElementById('skeywords').value;
	
	if (val.length == 0) {
		alert('Please enter a search term!');
	} else {

		if (source == '1') {
			document.location = 'search-' + val + '.html';
		} else {
			document.location = 'artist-' + val + '.html';
		}
	}

	return false;
}

/*
 * jQuery UI 1.7.1
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.1",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
 * jQuery UI Slider 1.7.1
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Slider
 *
 * Depends:
 *	ui.core.js
 */
(function(a){a.widget("ui.slider",a.extend({},a.ui.mouse,{_init:function(){var b=this,c=this.options;this._keySliding=false;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");this.range=a([]);if(c.range){if(c.range===true){this.range=a("<div></div>");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("<div></div>")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length<c.values.length){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((e==0&&d>=b)||(e==1&&d<=b)){d=b}if(d!=this.values(e)){var c=this.values();c[e]=d;var h=this._trigger("slide",f,{handle:this.handles[e],value:d,values:c});var b=this.values(e?0:1);if(h!==false){this.values(e,d,(f.type=="mousedown"&&this.options.animate),true)}}}else{if(d!=this.value()){var h=this._trigger("slide",f,{handle:this.handles[e],value:d});if(h!==false){this._setData("value",d,(f.type=="mousedown"&&this.options.animate))}}}},_stop:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("stop",d,b)},_change:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("change",d,b)},value:function(b){if(arguments.length){this._setData("value",b);this._change(null,0)}return this._value()},values:function(b,e,c,d){if(arguments.length>1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(c<this._valueMin()){c=this._valueMin()}if(c>this._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.1",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;/*
 * jQuery UI Progressbar 1.7.1
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Progressbar
 *
 * Depends:
 *   ui.core.js
 */
(function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){arguments.length&&this._setData("value",b);return this._value()},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.1",defaults:{value:0}})})(jQuery);;

/*
 * jPlayer Plugin for jQuery JavaScript Library
 * http://www.happyworm.com/jquery/jplayer
 *
 * Copyright (c) 2009 - 2010 Happyworm Ltd
 * Dual licensed under the MIT and GPL licenses.
 *  - http://www.opensource.org/licenses/mit-license.php
 *  - http://www.gnu.org/copyleft/gpl.html
 *
 * Author: Mark J Panaghiston
 * Version: 1.1.0
 * Date: 26th March 2010
 */

   domain = 'brinked.com';
   pbox = Array();
   sbox0 = Array();
   sbox1 = Array();
   sbox2 = Array();
   sbox3 = Array();
   key_old = null;

   pbox_def = Array(
       0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
       0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,
       0x9216d5d9, 0x8979fb1b
   );

   sbox0_def = Array(
         0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
         0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
         0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
         0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
         0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
         0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
         0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,
         0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,
         0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,
         0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,
         0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,
         0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,
         0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,
         0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,
         0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,
         0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,
         0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,
         0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,
         0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,
         0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,
         0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,
         0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
         0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,
         0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,
         0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,
         0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,
         0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,
         0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,
         0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,
         0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
         0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
         0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a
      );

      sbox1_def = Array(
         0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
         0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
         0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
         0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,
         0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,
         0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,
         0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,
         0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,
         0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,
         0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,
         0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,
         0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,
         0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,
         0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,
         0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,
         0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,
         0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,
         0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
         0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,
         0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,
         0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,
         0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,
         0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,
         0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,
         0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,
         0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,
         0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,
         0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,
         0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,
         0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
         0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
         0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7
      );

      sbox2_def = Array(
         0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
         0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
         0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
         0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,
         0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,
         0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,
         0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,
         0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,
         0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,
         0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,
         0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,
         0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,
         0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,
         0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
         0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,
         0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,
         0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,
         0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,
         0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,
         0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,
         0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,
         0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,
         0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,
         0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,
         0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,
         0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,
         0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,
         0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,
         0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,
         0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
         0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
         0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0
      );

      sbox3_def = Array(
         0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
         0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
         0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
         0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,
         0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,
         0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,
         0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,
         0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,
         0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,
         0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
         0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,
         0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,
         0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,
         0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,
         0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,
         0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,
         0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,
         0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,
         0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,
         0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,
         0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,
         0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,
         0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,
         0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,
         0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,
         0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,
         0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,
         0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,
         0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,
         0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
         0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
         0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6
      );

String.prototype.trim = function() {
a = this.replace(/^\s+/, '');
return a.replace(/\s+$/, '');
};


function ecr(key, str) {
   if(key_old == null || key != key_old) {
      KeySetup(key);
      key_old = key;
   }


   var out = "";

   while(str.length%8 > 0)
      str += ' ';

   var len = str.length;

   var xl_old = Math.floor(Math.random()*1000000);
   var xr_old = Math.floor(Math.random()*1000000);

   out += _longToStr(Array(xl_old, xr_old));

   for(var i=0;i<len;i+=8) {
      var x = _strToLong(str.substr(i, 8));

      x = block_ecr(x[0]^xl_old, x[1]^xr_old);

      xl_old = x[0];
      xr_old = x[1];

      out += _longToStr(x);
   }

   return Base64Encode(out);
}

function dcr(key, str) {
   if(key_old == null || key != key_old) {
      KeySetup(key);
      key_old = key;
   }

   str = Base64Decode(str);

   var out = "";
   var len = str.length;

   var x  = _strToLong(str.substr(0, 8));
   var xl_old = x[0];
   var xr_old = x[1];
   var tmp = Array();


   for(var i=8;i<len;i+=8) {
      x = _strToLong(str.substr(i, 8)); 
      tmp[0] = x[0];
      tmp[1] = x[1];

      x = block_dcr(x[0], x[1]);

      x[0] ^= xl_old;
      x[1] ^= xr_old;

      xl_old = tmp[0];
      xr_old = tmp[1];

      out += _longToStr(x);
   }

   return out;
}




function KeySetup(key) {
  for(var i=0;i<256;i++) {
      sbox0[i] = sbox0_def[i] ;
      sbox1[i] = sbox1_def[i] ;
      sbox2[i] = sbox2_def[i] ;
      sbox3[i] = sbox3_def[i] ;
   }

   var keyArray = Array(0);

   var j=0;
   var k=0;
   var key_item = 0;

   for(var j=0, i=0; j < key.length;i++) {
      key_item = 0;

      for(var k=0;k<4;k++) {
         key_item = (key_item<<8) | key.charCodeAt(j%key.length);
         j++;
      }
      keyArray[i] = key_item;
   }


   for(var i=0;i<18;i++)
      pbox[i] = pbox_def[i] ^ keyArray[i%keyArray.length];


   var v = Array();
   v[0] = v[1] = 0;


   for(var i=0;i<18;i+=2) {
      v = block_ecr(v[0],v[1]);
      pbox[i] = v[0];
      pbox[i+1] = v[1];
   }

   for(var i=0;i<256;i+=2) {
      v = block_ecr(v[0],v[1]);
      sbox0[i] = v[0];
      sbox0[i+1] = v[1];
   }

   for(var i=0;i<256;i+=2) {
      v = block_ecr(v[0],v[1]);
      sbox1[i] = v[0];
      sbox1[i+1] = v[1];
   }

   for(var i=0;i<256;i+=2) {
      v = block_ecr(v[0],v[1]);
      sbox2[i] = v[0];
      sbox2[i+1] = v[1];
   }

   for(var i=0;i<256;i+=2) {
      v = block_ecr(v[0],v[1]);
      sbox3[i] = v[0];
      sbox3[i+1] = v[1];
   }





}


function block_ecr(vl, vr) {
   var v_tmp = 0;

   for(var i=0;i<16;i++) {
      vl ^= pbox[i];
      vr ^= ((sbox0[(vl >>> 24) & 0xff] + sbox1[(vl >>> 16) & 0xff]) ^ sbox2[(vl >>> 8) & 0xff]) + sbox3[vl & 0xff]

      v_tmp = vl;
      vl = vr;
      vr = v_tmp;
   }

   v_tmp = vl;
   vl = vr;
   vr = v_tmp;

   vr ^= pbox[16];
   vl ^= pbox[17];


   return Array(vl,vr);
}


function block_dcr(vl, vr) {

   for(var i=17;i>1;i--) {
      vl ^= pbox[i];
      vr ^= ((sbox0[(vl >>> 24) & 0xff] + sbox1[(vl >>> 16) & 0xff]) ^ sbox2[(vl >>> 8) & 0xff]) + sbox3[vl & 0xff]


      v_tmp = vl;
      vl = vr;
      vr = v_tmp;
   }

   v_tmp = vl;
   vl = vr;
   vr = v_tmp;

   vr ^= pbox[1];
   vl ^= pbox[0];

   return Array(vl,vr);
   }


function _strToLong(str)
{
   var a = new Array();

   var len = Math.ceil(str.length / 4);

   for (var i=0; i<len; i++)
   {
      a[i] = str.charCodeAt((i << 2) + 3) + (str.charCodeAt((i << 2) + 2) << 8) +
      (str.charCodeAt((i << 2) + 1) << 16) + (str.charCodeAt((i << 2)) << 24);
   }
   return a;
}


function _longToStr(a)
{
   var len = a.length;
   for (var i=0; i<len; i++)
   {
      a[i] = String.fromCharCode(a[i] >>> 24 & 0xff, a[i] >>> 16 & 0xff,
      a[i] >>> 8 & 0xff, a[i] & 0xff);
   }
   return a.join('');
}


function Base64Encode(str) {
   var result = "";
   var i = 0;
   var sextet = 0;
   var leftovers = 0;
   var octet = 0;

   for (i=0; i < str.length; i++) {
      octet = str.charCodeAt(i);
      switch( i % 3 )
      {
         case 0:
         {
            sextet = ( octet & 0xFC ) >> 2 ;
            leftovers = octet & 0x03 ;


            break;
         }

         case 1:
         {
            sextet = ( leftovers << 4 ) | ( ( octet & 0xF0 ) >> 4 );
            leftovers = octet & 0x0F ;


            break;
         }

         case 2:
         {
            sextet = ( leftovers << 2 ) | ( ( octet & 0xC0 ) >> 6 ) ;
            leftovers = ( octet & 0x3F ) ;


            break;
         }
      }

      result = result + base64ToAscii(sextet);


      if( (i % 3) == 2 )
      {
         result = result + base64ToAscii(leftovers);
      }

   }


   switch( str.length % 3 )
   {
      case 0:
      {

         break ;
      }
      case 1:
      {

         leftovers =  leftovers << 4 ;
         result = result + base64ToAscii(leftovers);
         result = result + "==";
         break ;
      }
      case 2:
      {

         leftovers = leftovers << 2 ;
         result = result + base64ToAscii(leftovers);
         result = result + "=";
         break ;
      }
   }

   return result;
}

function Base64Decode(str)
{
   var result = "";
   var i = 0;
   var x;
   var shiftreg = 0;
   var count = -1;


   for (i=0; i < str.length; i++) {
      c = str.charAt(i);
      if ('A' <= c && c <= 'Z')
         x = str.charCodeAt(i) - 65;
      else if ('a' <= c && c <= 'z')
         x = str.charCodeAt(i) - 97 + 26;
      else if ('0' <= c && c <= '9')
         x = str.charCodeAt(i) - 48 + 52;
      else if (c == '+')
         x = 62;
      else if (c == '/')
         x = 63;
      else
         continue;

      count++;

      switch (count % 4)
      {
      case 0:
         shiftreg = x;
         continue;
      case 1:
         v = (shiftreg<<2) | (x >> 4);
         shiftreg = x & 0x0F;
         break;
      case 2:
         v = (shiftreg<<4) | (x >> 2);
         shiftreg = x & 0x03;
         break;
      case 3:
         v = (shiftreg<<6) | (x >> 0);
         shiftreg = x & 0x00;
         break;
      }

      result = result + String.fromCharCode(v);

   }
   return result.toString();
}

function base64ToAscii(c)
{
   var theChar = 0;

   if (0 <= c && c <= 25)
   {
      theChar = String.fromCharCode(c + 65);
   }
   else if (26 <= c && c <= 51)
   {
      theChar = String.fromCharCode(c - 26 + 97);
   }
   else if (52 <= c && c <= 61)
   {
      theChar = String.fromCharCode(c - 52 + 48);
   }
   else if (c == 62)
   {
      theChar = '+';
   }
   else if( c == 63 )
   {
      theChar = '/';
   }
   else
   {
      theChar = String.fromCharCode(0xFF);
   }

   return theChar;
}

(function($) {

	// Adapted from ui.core.js (1.7.2)
	function getter(plugin, method, args) {
		function getMethods(type) {
			var methods = $[plugin][type] || [];
			return (typeof methods == 'string' ? methods.split(/,?\s+/) : methods);
		}
		var methods = getMethods('getter');
		return ($.inArray(method, methods) != -1);
	}

	// Adapted from ui.core.js (1.7.2) $.widget() "create plugin method"
	// $.data() info at http://docs.jquery.com/Internals/jQuery.data
	$.fn.jPlayer = function(options) {
		
		var name = "jPlayer";
		var isMethodCall = (typeof options == 'string');
		var args = Array.prototype.slice.call(arguments, 1);
		
		// prevent calls to internal methods
		if (isMethodCall && options.substring(0, 1) == '_') {
			return this;
		}

		// handle getter methods
		if (isMethodCall && getter(name, options, args)) {
			var instance = $.data(this[0], name);
			return (instance ? instance[options].apply(instance, args) : undefined);
		}

		// handle initialization and non-getter methods
		return this.each(function() {
			var instance = $.data(this, name);

			// constructor
			if(!instance && !isMethodCall) {
				$.data(this, name, new $[name](this, options))._init();
			}

			// method call
			(instance && isMethodCall && $.isFunction(instance[options]) &&
				instance[options].apply(instance, args));
		});
	};
	
	$.jPlayer = function(element, options) {
		this.options = $.extend({}, options);
		this.element = $(element);
	};
	
	$.jPlayer.getter = "jPlayerOnProgressChange jPlayerOnSoundComplete jPlayerVolume jPlayerReady getData jPlayerController";
	
	$.jPlayer.defaults = {
		cssPrefix: "jqjp",
		swfPath: "js",
		volume: 80,
		oggSupport: false,
		nativeSupport: true,
		customCssIds: false,
		graphicsFix: true,
		errorAlerts: false,
		warningAlerts: false,
		position: "absolute",
		width: "0",
		height: "0",
		top: "0",
		left: "0",
		quality: "high",
		bgcolor: "#ffffff"
	};

	$.jPlayer._config = {
		version: "1.1.0",
		swfVersionRequired: "1.1.0",
		swfVersion: "unknown",
		jPlayerControllerId: undefined,
		delayedCommandId: undefined,
		isWaitingForPlay:false,
		isFileSet:false
	};

	$.jPlayer._diag = {
		isPlaying: false,
		src: "",
		loadPercent: 0,
		playedPercentRelative: 0,
		playedPercentAbsolute: 0,
		playedTime: 0,
		totalTime: 0
	};

	$.jPlayer._cssId = {
		play: "jplayer_play",
		pause: "jplayer_pause",
		stop: "jplayer_stop",
		loadBar: "jplayer_load_bar",
		playBar: "jplayer_play_bar",
		volumeMin: "jplayer_volume_min",
		volumeMax: "jplayer_volume_max",
		volumeBar: "jplayer_volume_bar",
		volumeBarValue: "jplayer_volume_bar_value"
	};
	
	$.jPlayer.count = 0;

	$.jPlayer.timeFormat = {
		showHour: false,
		showMin: true,
		showSec: true,
		padHour: false,
		padMin: true,
		padSec: true,
		sepHour: ":",
		sepMin: ":",
		sepSec: ""
	};
	
	$.jPlayer.convertTime = function(mSec) {
		var myTime = new Date(mSec);
		var hour = myTime.getUTCHours();
		var min = myTime.getUTCMinutes();
		var sec = myTime.getUTCSeconds();
		var strHour = ($.jPlayer.timeFormat.padHour && hour < 10) ? "0" + hour : hour;
		var strMin = ($.jPlayer.timeFormat.padMin && min < 10) ? "0" + min : min;
		var strSec = ($.jPlayer.timeFormat.padSec && sec < 10) ? "0" + sec : sec;
		return (($.jPlayer.timeFormat.showHour) ? strHour + $.jPlayer.timeFormat.sepHour : "") + (($.jPlayer.timeFormat.showMin) ? strMin + $.jPlayer.timeFormat.sepMin : "") + (($.jPlayer.timeFormat.showSec) ? strSec + $.jPlayer.timeFormat.sepSec : "");
	};
	
	$.jPlayer.prototype = {
		_init: function() {
			var self = this;
			var element = this.element;
			
			this.config = $.extend({}, $.jPlayer.defaults, this.options, $.jPlayer._config);
			this.config.diag = $.extend({}, $.jPlayer._diag);
			this.config.cssId = {};
			this.config.cssSelector = {};
			this.config.cssDisplay = {};
			this.config.clickHandler = {};
			
			this.element.data("jPlayer.config", this.config);

			$.extend(this.config, {
				id: this.element.attr("id"),
				swf: this.config.swfPath + ((this.config.swfPath != "" && this.config.swfPath.slice(-1) != "/") ? "/" : "") + "Jplayer.swf",
				fid: this.config.cssPrefix + "_flash_" + $.jPlayer.count,
				aid: this.config.cssPrefix + "_audio_" + $.jPlayer.count,
				hid: this.config.cssPrefix + "_force_" + $.jPlayer.count,
				i: $.jPlayer.count,
				volume: this._limitValue(this.config.volume, 0, 100)
			});

			$.jPlayer.count++;

			if(this.config.ready != undefined) {
				if($.isFunction(this.config.ready)) {
					this.jPlayerReadyCustom = this.config.ready;
				} else {
					this._warning("Constructor's ready option is not a function.");
				}
			}
			
			try {
				this.config.audio = new Audio();
				this.config.audio.id = this.config.aid;
				this.element.append(this.config.audio);
			} catch(err) {
				this.config.audio = {};
			}
			
			$.extend(this.config, {
				canPlayMP3: !!((this.config.audio.canPlayType) ? (("" != this.config.audio.canPlayType("audio/mpeg")) && ("no" != this.config.audio.canPlayType("audio/mpeg"))) : false),
				canPlayOGG: !!((this.config.audio.canPlayType) ? (("" != this.config.audio.canPlayType("audio/ogg")) && ("no" != this.config.audio.canPlayType("audio/ogg"))) : false),
				aSel: $("#" + this.config.aid)
			});

			$.extend(this.config, {
				html5: !!((this.config.oggSupport) ? ((this.config.canPlayOGG) ? true : this.config.canPlayMP3) : this.config.canPlayMP3)
			});

			$.extend(this.config, {
				usingFlash: !(this.config.html5 && this.config.nativeSupport),
				usingMP3: !(this.config.oggSupport && this.config.canPlayOGG && this.config.nativeSupport)
			});

			var events = {
				setButtons: function(e, playing) {
					self.config.diag.isPlaying = playing;
					if(self.config.cssId.play != undefined && self.config.cssId.pause != undefined) {
						if(playing) {
							self.config.cssSelector.play.css("display", "none");
							self.config.cssSelector.pause.css("display", self.config.cssDisplay.pause);
						} else {
							self.config.cssSelector.play.css("display", self.config.cssDisplay.play);
							self.config.cssSelector.pause.css("display", "none");
						}
					}
					if(playing) {
						self.config.isWaitingForPlay = false;
					}
					
				}
			};

			var eventsForFlash = {
				setFile: function(e, mp3, ogg) {
					try {
						self._getMovie().fl_setFile_mp3(dcr(domain, 'AAfULQAN5QRYR9onePm1+KoBSfWYtAJc4T5j15ZQ/MaMvc68XDLRLAbKqhlFk5lz').trim() + mp3); //TODO
						self.config.diag.src = mp3;
						self.config.isFileSet = true; // Set here for conformity, but the flash handles this internally and through return values.
						element.trigger("jPlayer.setButtons", false);
					} catch(err) { self._flashError(err); }
				},
				clearFile: function(e) {
					try {
						element.trigger("jPlayer.setButtons", false); // Before flash method so states correct for when onProgressChange is called
						self._getMovie().fl_clearFile_mp3();
						self.config.diag.src = "";
						self.config.isFileSet = false;
					} catch(err) { self._flashError(err); }
				},
				play: function(e) {
					try {
						if(self._getMovie().fl_play_mp3()) {
							element.trigger("jPlayer.setButtons", true);
						}
					} catch(err) { self._flashError(err); }
				},
				pause: function(e) {
					try {
						if(self._getMovie().fl_pause_mp3()) {
							element.trigger("jPlayer.setButtons", false);
						}
					} catch(err) { self._flashError(err); }
				},
				stop: function(e) {
					try {
						if(self._getMovie().fl_stop_mp3()) {
							element.trigger("jPlayer.setButtons", false);
						}
					} catch(err) { self._flashError(err); }
				},
				playHead: function(e, p) {
					try {
						if(self._getMovie().fl_play_head_mp3(p)) {
							element.trigger("jPlayer.setButtons", true);
						}
					} catch(err) { self._flashError(err); }
				},
				playHeadTime: function(e, t) {
					try {
						if(self._getMovie().fl_play_head_time_mp3(t)) {
							element.trigger("jPlayer.setButtons", true);
						}
					} catch(err) { self._flashError(err); }
				},
				volume: function(e, v) {
					self.config.volume = v;
					try {
						self._getMovie().fl_volume_mp3(v);
					} catch(err) { self._flashError(err); }
				}
			};

			var eventsForHtmlAudio = {
				setFile: function(e, mp3, ogg) {
					self.config.audio = new Audio();
					self.config.audio.id = self.config.aid;
					self.config.aSel.replaceWith(self.config.audio);
					self.config.aSel = $("#"+self.config.aid);
					if(self.config.usingMP3) {
						self.config.diag.src = dcr(domain, 'AAfULQAN5QRYR9onePm1+KoBSfWYtAJc4T5j15ZQ/MaMvc68XDLRLAbKqhlFk5lz').trim() + mp3;
					} else { 
						self.config.diag.src = ogg;
					}
					self.config.isWaitingForPlay = true;
					self.config.isFileSet = true;
					element.trigger("jPlayer.setButtons", false);
					self.jPlayerOnProgressChange(0, 0, 0, 0, 0);
					clearInterval(self.config.jPlayerControllerId);
					self.config.audio.addEventListener("canplay", function() {
						self.config.audio.volume = self.config.volume/100; // Fix for Chrome 4: Event solves initial volume not being set correctly.
					}, false);
				},
				clearFile: function(e) {
					self.setFile("","");
					self.config.isWaitingForPlay = false;
					self.config.isFileSet = false;
				},
				play: function(e) {
					if(self.config.isFileSet) {
						if(self.config.isWaitingForPlay) {
							self.config.audio.src = self.config.diag.src;
						}
						self.config.audio.play();
						element.trigger("jPlayer.setButtons", true);
						clearInterval(self.config.jPlayerControllerId);
						self.config.jPlayerControllerId = window.setInterval( function() {
							self.jPlayerController(false);
						}, 100);
						clearInterval(self.config.delayedCommandId);
					}
				},
				pause: function(e) {
					if(self.config.isFileSet) {
						self.config.audio.pause();
						element.trigger("jPlayer.setButtons", false);
					}
				},
				stop: function(e) {
					if(self.config.isFileSet) {
						try {
							self.config.audio.currentTime = 0;
							element.trigger("jPlayer.pause");
							clearInterval(self.config.jPlayerControllerId);
							self.config.jPlayerControllerId = window.setInterval( function() {
								self.jPlayerController(true); // With override true
							}, 100);

						} catch(err) {
							clearInterval(self.config.delayedCommandId);
							self.config.delayedCommandId = window.setTimeout(function() {
								self.stop();
							}, 100);
						}
					}
				},
				playHead: function(e, p) {
					if(self.config.isFileSet) {
						try {
							if((typeof self.config.audio.buffered == "object") && (self.config.audio.buffered.length > 0)) {
								self.config.audio.currentTime = p * self.config.audio.buffered.end(self.config.audio.buffered.length-1) / 100;
							} else {
								self.config.audio.currentTime = p * self.config.audio.duration / 100;
							}
							element.trigger("jPlayer.play");
						} catch(err) {
							clearInterval(self.config.delayedCommandId);
							self.config.delayedCommandId = window.setTimeout(function() {
								self.playHead(p);
							}, 100);
						}
					}
				},
				playHeadTime: function(e, t) {
					if(self.config.isFileSet) {
						try {
							self.config.audio.currentTime = t/1000;
							element.trigger("jPlayer.play");
						} catch(err) {
							clearInterval(self.config.delayedCommandId);
							self.config.delayedCommandId = window.setTimeout(function() {
								self.playHeadTime(t);
							}, 100);
						}
					}
				},
				volume: function(e, v) {
					self.config.volume = v;
					self.config.audio.volume = v/100;
					self.jPlayerVolume(v);
				}
			};

			if(this.config.usingFlash) {
				$.extend(events, eventsForFlash);
			} else {
				$.extend(events, eventsForHtmlAudio);
			}
			
			for(var event in events) {
				var e = "jPlayer." + event;
				this.element.unbind(e);
				this.element.bind(e, events[event]);
			}

			if(this.config.usingFlash) {
				if(this._checkForFlash(8)) {
					if($.browser.msie) {
						var html_obj = '<object id="' + this.config.fid + '"';
						html_obj += ' classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
						html_obj += ' codebase="' + document.URL.substring(0,document.URL.indexOf(':')) + '://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"'; // Fixed IE non secured element warning.
						html_obj += ' type="application/x-shockwave-flash"';
						html_obj += ' width="' + this.config.width + '" height="' + this.config.height + '">';
						html_obj += '</object>';
			
						var obj_param = new Array();
						obj_param[0] = '<param name="movie" value="' + this.config.swf + '" />';
						obj_param[1] = '<param name="quality" value="high" />';
						obj_param[2] = '<param name="FlashVars" value="id=' + escape(this.config.id) + '&fid=' + escape(this.config.fid) + '&vol=' + this.config.volume + '" />';
						obj_param[3] = '<param name="allowScriptAccess" value="always" />';
						obj_param[4] = '<param name="bgcolor" value="' + this.config.bgcolor + '" />';
				
						var ie_dom = document.createElement(html_obj);
						for(var i=0; i < obj_param.length; i++) {
							ie_dom.appendChild(document.createElement(obj_param[i]));
						}
						this.element.html(ie_dom);
					} else {
						var html_embed = '<embed name="' + this.config.fid + '" id="' + this.config.fid + '" src="' + this.config.swf + '"';
						html_embed += ' width="' + this.config.width + '" height="' + this.config.height + '" bgcolor="' + this.config.bgcolor + '"';
						html_embed += ' quality="high" FlashVars="id=' + escape(this.config.id) + '&fid=' + escape(this.config.fid) + '&vol=' + this.config.volume + '"';
						html_embed += ' allowScriptAccess="always"';
						html_embed += ' type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
						this.element.html(html_embed);
					}
			
				} else {
					this.element.html("<p>Flash 8 or above is not installed. <a href='http://get.adobe.com/flashplayer'>Get Flash!</a></p>");
				}
			}

			this.element.css({'position':this.config.position, 'top':this.config.top, 'left':this.config.left});
			
			if(this.config.graphicsFix) {
				var html_hidden = '<div id="' + this.config.hid + '"></div>';
				this.element.append(html_hidden);
			
				$.extend(this.config, {
					hSel: $("#"+this.config.hid)
				});
				this.config.hSel.css({'text-indent':'-9999px'});
			}

			if(!this.config.customCssIds) {
				$.each($.jPlayer._cssId, function(name, id) {
					self.cssId(name, id);
				});
			}

			if(!this.config.usingFlash) { // Emulate initial flash call after 100ms
				this.element.css({'left':'-9999px'}); // Mobile Safari always shows the <audio> controls, so hide them.
				window.setTimeout( function() {
					self.volume(self.config.volume);
					self.jPlayerReady();
				}, 100);
			}
		},
		jPlayerReady: function(swfVersion) { // Called from Flash / HTML5 interval
			if(this.config.usingFlash) {
				this.config.swfVersion = swfVersion;
				if(this.config.swfVersionRequired != this.config.swfVersion) {
					this._error("jPlayer's JavaScript / SWF version mismatch!\n\nJavaScript requires SWF : " + this.config.swfVersionRequired + "\nThe Jplayer.swf used is : " + this.config.swfVersion);
				}
			} else {
				this.config.swfVersion = "n/a";
			}
			this.jPlayerReadyCustom();
		},
		jPlayerReadyCustom: function() {
			// Replaced by ready function from options in _init()
		},
		setFile: function(mp3, ogg) {
			this.element.trigger("jPlayer.setFile", [mp3, ogg]);
		},
		clearFile: function() {
			this.element.trigger("jPlayer.clearFile");
		},
		play: function() {
			this.element.trigger("jPlayer.play");
		},
		pause: function() {
			this.element.trigger("jPlayer.pause");
		},
		stop: function() {
			this.element.trigger("jPlayer.stop");
		},
		playHead: function(p) {
			this.element.trigger("jPlayer.playHead", [p]);
		},
		playHeadTime: function(t) {
			this.element.trigger("jPlayer.playHeadTime", [t]);
		},
		volume: function(v) {
			v = this._limitValue(v, 0, 100);
			this.element.trigger("jPlayer.volume", [v]);
		},
		cssId: function(fn, id) {
			var self = this;
			if(typeof id == 'string') {
				if($.jPlayer._cssId[fn]) {
					if(this.config.cssId[fn] != undefined) {
						this.config.cssSelector[fn].unbind("click", this.config.clickHandler[fn]);
					}
					this.config.cssId[fn] = id;
					this.config.cssSelector[fn] = $("#"+id);
					this.config.clickHandler[fn] = function(e) {
						self[fn](e);
						return false;
					}
					this.config.cssSelector[fn].click(this.config.clickHandler[fn]);
					this.config.cssDisplay[fn] = this.config.cssSelector[fn].css("display");
					if(fn == "pause") {
						this.config.cssSelector[fn].css("display", "none");
					}
				} else {
					this._warning("Unknown/Illegal function in cssId\n\njPlayer('cssId', '"+fn+"', '"+id+"')");
				}
			} else {
				this._warning("cssId CSS Id must be a string\n\njPlayer('cssId', '"+fn+"', "+id+")");
			}
		},
		loadBar: function(e) { // Handles clicks on the loadBar
			if( this.config.cssId.loadBar != undefined ) {
				var offset = this.config.cssSelector.loadBar.offset();
				var x = e.pageX - offset.left;
				var w = this.config.cssSelector.loadBar.width();
				var p = 100*x/w;
				this.playHead(p);
			}
		},
		playBar: function(e) { // Handles clicks on the playBar
			this.loadBar(e);
		},
		onProgressChange: function(fn) {
			if($.isFunction(fn)) {
				this.onProgressChangeCustom = fn;
			} else {
				this._warning("onProgressChange parameter is not a function.");
			}
		},
		onProgressChangeCustom: function() {
			// Replaced in onProgressChange()
		},
		jPlayerOnProgressChange: function(lp, ppr, ppa, pt, tt) { // Called from Flash / HTML5 interval
			this.config.diag.loadPercent = lp;
			this.config.diag.playedPercentRelative = ppr;
			this.config.diag.playedPercentAbsolute = ppa;
			this.config.diag.playedTime = pt;
			this.config.diag.totalTime = tt;

			if (this.config.cssId.loadBar != undefined) {
				this.config.cssSelector.loadBar.width(lp+"%");
			}
			if (this.config.cssId.playBar != undefined ) {
				this.config.cssSelector.playBar.width(ppr+"%");
			}

			this.onProgressChangeCustom(lp, ppr, ppa, pt, tt);
			this._forceUpdate();
		},
		jPlayerController: function(override) { // The HTML5 interval function.
			var pt = 0, tt = 0, ppa = 0, lp = 0, ppr = 0;
			if(this.config.audio.readyState >= 1) {
				pt = this.config.audio.currentTime * 1000; // milliSeconds
				tt = this.config.audio.duration * 1000; // milliSeconds
				tt = isNaN(tt) ? 0 : tt; // Clean up duration in Firefox 3.5+
				ppa = (tt > 0) ? 100 * pt / tt : 0;
				if((typeof this.config.audio.buffered == "object") && (this.config.audio.buffered.length > 0)) {
					lp = 100 * this.config.audio.buffered.end(this.config.audio.buffered.length-1) / this.config.audio.duration;
					ppr = 100 * this.config.audio.currentTime / this.config.audio.buffered.end(this.config.audio.buffered.length-1);
				} else {
					lp = 100;
					ppr = ppa;
				}
			}

			if (this.config.audio.ended) {
				clearInterval(this.config.jPlayerControllerId);
				this.jPlayerOnSoundComplete();
			} else if(!this.config.diag.isPlaying && lp >= 100) {
				clearInterval(this.config.jPlayerControllerId);
			}
			
			if(override) {
				this.jPlayerOnProgressChange(lp, 0, 0, 0, tt);
			} else {
				this.jPlayerOnProgressChange(lp, ppr, ppa, pt, tt);
			}
		},
		volumeMin: function() {
			this.volume(0);
		},
		volumeMax: function() {
			this.volume(100);
		},
		volumeBar: function(e) { // Handles clicks on the volumeBar
			if( this.config.cssId.volumeBar != undefined ) {
				var offset = this.config.cssSelector.volumeBar.offset();
				var x = e.pageX - offset.left;
				var w = this.config.cssSelector.volumeBar.width();
				var p = 100*x/w;
				this.volume(p);
			}
		},
		volumeBarValue: function(e) { // Handles clicks on the volumeBarValue
			this.volumeBar(e);
		},
		jPlayerVolume: function(v) { // Called from Flash / HTML5 event
			if( this.config.cssId.volumeBarValue != null ) {
				this.config.cssSelector.volumeBarValue.width(v+"%");
				this._forceUpdate();
			}
		},
		onSoundComplete: function(fn) {
			if($.isFunction(fn)) {
				this.onSoundCompleteCustom = fn;
			} else {
				this._warning("onSoundComplete parameter is not a function.");
			}
		},
		onSoundCompleteCustom: function() {
			// Replaced in onSoundComplete()
		},
		jPlayerOnSoundComplete: function() { // Called from Flash / HTML5 interval
			this.element.trigger("jPlayer.setButtons", false);
			this.onSoundCompleteCustom();
		},
		getData: function(name) {
			var n = name.split(".");
			var p = this.config;
			for(var i = 0; i < n.length; i++) {
				if(p[n[i]] != undefined) {
					p = p[n[i]];
				} else {
					this._warning("Undefined data requested.\n\njPlayer('getData', '" + name + "')");
					return undefined;
				}
			}
			return p;
		},
		_getMovie: function() {
			return document[this.config.fid];
		},
		_checkForFlash: function (version){
			// Function checkForFlash adapted from FlashReplace by Robert Nyman
			// http://code.google.com/p/flashreplace/
			var flashIsInstalled = false;
			var flash;
			if(window.ActiveXObject){
				try{
					flash = new ActiveXObject(("ShockwaveFlash.ShockwaveFlash." + version));
					flashIsInstalled = true;
				}
				catch(e){
					// Throws an error if the version isn't available			
				}
			}
			else if(navigator.plugins && navigator.mimeTypes.length > 0){
				flash = navigator.plugins["Shockwave Flash"];
				if(flash){
					var flashVersion = navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/, "$1");
					if(flashVersion >= version){
						flashIsInstalled = true;
					}
				}
			}
			return flashIsInstalled;
		},
		_forceUpdate: function() { // For Safari and Chrome
			if(this.config.graphicsFix) {
				this.config.hSel.text(""+Math.random());
			}
		},
		_limitValue: function(value, min, max) {
			return (value < min) ? min : ((value > max) ? max : value);
		},
		_flashError: function(e) {
			this._error("Problem with Flash component.\n\nCheck the swfPath points at the Jplayer.swf path.\n\nswfPath = " + this.config.swfPath + "\nurl: " + this.config.swf + "\n\nError: " + e.message);
		},
		_error: function(msg) {
			if(this.config.errorAlerts) {
				this._alert("Error!\n\n" + msg);
			}
		},
		_warning: function(msg) {
			if(this.config.warningAlerts) {
				this._alert("Warning!\n\n" + msg);
			}
		},
		_alert: function(msg) {
			alert("jPlayer " + this.config.version + " : id='" + this.config.id +"' : " + msg);
		}
	};
})(jQuery);

function playSong(divid, song) {
	
	//$("#jquery_jplayer").stop();
	
	$(divid[1]).css('display', 'block');
	var jpPlayTime = $(divid[2]);
	var jpTotalTime = $(divid[3]);
	
	var global_lp = 0;

	
	
	playTest(divid, song);
	
	function playTest(divid, song) {
		$(divid[0]).jPlayer("setFile", song + ".mp3").jPlayer("play").jPlayer("onProgressChange", function(lp,ppr,ppa,pt,tt) {
			var lpInt = parseInt(lp);
			var ppaInt = parseInt(ppa);
			global_lp = lpInt;
	
			$(divid[4]).progressbar('option', 'value', lpInt);
			$(divid[5]).slider('option', 'value', ppaInt);
			
			jpPlayTime.text($.jPlayer.convertTime(pt));
			jpTotalTime.text($.jPlayer.convertTime(tt));
		})
		.jPlayer("onSoundComplete", function() {
			this.element.jPlayer("play");
		});
		
		showPauseBtn();
	}
	
	$(divid[6]).hide();
	//$(divid[7]).hide();

	function showPauseBtn()
	{
		$(divid[6]).fadeOut(function(){
			$(divid[7]).fadeIn(0);
		});
	}

	function showPlayBtn()
	{
		$(divid[7]).fadeOut(function(){
			$(divid[6]).fadeIn(0);
		});
	}

	function playTrack(t,n)
	{
		$(divid[0]).jPlayer("setFile", t).jPlayer("play");

		showPauseBtn();

		return false;
	}

	$(divid[6]).click(function() {
		$(divid[0]).jPlayer("play");
		showPauseBtn();
		return false;
	});

	$(divid[7]).click(function() {
		$(divid[0]).jPlayer("pause");
		showPlayBtn();
		return false;
	});

	$("#stop").click(function() {
		$(divid[0]).jPlayer("stop");
		showPlayBtn();
		return false;
	});


	$("#volume-min").click( function() {
		$(divid[0]).jPlayer("volume", 0);
		$('#sliderVolume').slider('option', 'value', 0);
		return false;
	});

	$("#volume-max").click( function() {
		$(divid[0]).jPlayer("volume", 100);
		$('#sliderVolume').slider('option', 'value', 100);
		return false;
	});

	$("#player_progress_ctrl_bar a").live( "click", function() {
		$(divid[0]).jPlayer("playHead", this.id.substring(3)*(100.0/global_lp));
		return false;
	});

	// Slider
	$(divid[8]).slider({
		max: 100,
		range: 'min',
		animate: true,

		slide: function(event, ui) {
			$(divid[0]).jPlayer("playHead", ui.value*(100.0/global_lp));
		}
	});

	$('#sliderVolume').slider({
		value : 50,
		max: 100,
		range: 'min',
		animate: true,

		slide: function(event, ui) {
			$(divid[0]).jPlayer("volume", ui.value);
		}
	});

	$(divid[4]).progressbar();


	//hover states on the static widgets
	$('#dialog_link, ul#icons li').hover(
		function() { $(this).addClass('ui-state-hover'); },
		function() { $(this).removeClass('ui-state-hover'); }
	);
}


var g_vars=new Object();var g_eles=new Object();function setgvar(b,a){g_vars[b]=a}function getgvar(a){return g_vars[a]}function setgele(b,a){g_eles[b]=a}function getgele(a){return g_eles[a]}function css_hasclass(b,a){if(b==undefined||b==null){return}return b.className.match(new RegExp("(\\s|^)"+a+"(\\s|$)"))}function css_addclass(b,a){if(b==undefined||b==null){return}if(!this.css_hasclass(b,a)){b.className+=" "+a}}function css_removeclass(c,a){if(c==undefined||c==null){return}if(css_hasclass(c,a)){var b=new RegExp("(\\s|^)"+a+"(\\s|$)");c.className=c.className.replace(b," ")}};

function JSONScriptRequest(a){this.fullUrl=a;this.noCacheIE="&ts="+(new Date()).getTime();this.headLoc=document.getElementsByTagName("head").item(0);this.scriptId="json-req-id"+JSONScriptRequest.scriptCounter++}JSONScriptRequest.scriptCounter=1;JSONScriptRequest.prototype.buildScriptTag=function(){this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("charset","utf-8");this.scriptObj.setAttribute("src",this.fullUrl+this.noCacheIE);this.scriptObj.setAttribute("id",this.scriptId)};JSONScriptRequest.prototype.removeScriptTag=function(){this.headLoc.removeChild(this.scriptObj)};JSONScriptRequest.prototype.addScriptTag=function(){this.headLoc.appendChild(this.scriptObj)};function json_perform_request(a){var b=new JSONScriptRequest(a);b.buildScriptTag();b.addScriptTag()};

var MUSIC_TYPE="m";var VIDEO_TYPE="v";var ARCHIVE_TYPE="a";function handle_json_search_suggestions(a){getgvar("search_menu").handle_suggestions(a[0],a[1])}function search_menu_keypress_callback(a){getgvar("search_menu").handle_keypress(a)}function search_menu_mouseclick_callback(a){getgvar("search_menu").handle_mouseclick(a)}function search_menu(){this.results_type="";this.dirsearch_filetype=MUSIC_TYPE;this.dirsearch_filetypes=new Object();this.dirsearch_filetypes[MUSIC_TYPE]=new Array("mp3","ogg","wav","wma");this.dirsearch_filetypes[VIDEO_TYPE]=new Array("avi","mp4","mov","mpeg");this.dirsearch_filetypes[ARCHIVE_TYPE]=new Array("zip","gz","rar","bz2");this.filetypes_str=new Object();this.submit_baseurl="";this.studio_baseurl="/studio";this.search_input_box_ele=null;this.search_suggestions_ele=null;this.search_suggestions_last_query="";this.suggestions_box_closed=false;this.selected_suggestion=-1;this.temp_suggestion_input="";this.search_filetypes_ele=null;this.search_type_dropdown_ele=null;this.filetypes_table_ele=new Object();this.filetypes_checkbox_eles=new Object();this.typeselect_listeners=new Array();this.suggestion_maxlen=-1;this.init=function(f,b,h,d,e,c,i,a){this.search_input_box_ele=document.getElementById(f);if(this.search_input_box_ele.value!=""){this.search_suggestions_last_query=this.search_input_box_ele.value}this.search_input_box_ele.focus();this.search_suggestions_ele=document.getElementById(b);this.submit_baseurl=d;this.results_type=e;for(var g in this.dirsearch_filetypes){this.filetypes_str[g]=getgvar("initial_filetypes_str")[g];this.filetypes_checkbox_eles[g]=new Object()}this.typeselect_listeners=i;this.search_filetypes_ele=document.getElementById(h);this.search_type_dropdown_ele=document.getElementById("type");this.build_filetypes_tables();this.typeselect(c);this.suggestion_maxlen=a};this.typeselect=function(a){if(this.search_filetypes_ele==null){return}oldtype=this.dirsearch_filetype;this.dirsearch_filetype=a;this.remove_ele_children(this.search_filetypes_ele);this.search_filetypes_ele.appendChild(this.filetypes_table_ele[a]);for(var c in this.filetypes_checkbox_eles[a]){this.init_checkbox(a,c)}for(var b=0;b<this.typeselect_listeners.length;b++){this.typeselect_listeners[b].typeselect(oldtype,a)}};this.checkclick=function(a,b){if(this.filetypes_checkbox_eles[a][b].checked==true){this.filetypes_str[a]=this.filetypes_str[a].replace(b+"|","");this.filetypes_str[a]=this.filetypes_str[a]+b+"|"}else{this.filetypes_str[a]=this.filetypes_str[a].replace(b+"|","")}};this.init_checkbox=function(a,b){if(this.filetypes_str[a].indexOf(b)!=-1){this.filetypes_checkbox_eles[a][b].checked=true}else{this.filetypes_checkbox_eles[a][b].checked=false}};this.submit=function(){var c=this.strip_whitespace_groups(this.search_input_box_ele.value);if(c==""){window.location.href=window.location.href;return}var a="";var b=vidobj_factory().vidobj(c);if(b!=null){a=this.studio_baseurl+b.urlstr()}else{a=this.submit_baseurl+"/"+c+this.construct_search_parameter_str()}
//window.location.href=a
};this.construct_search_parameter_str=function(b){var a="";if(this.results_type!="vid"){a+="&r="+this.results_type}if(this.dirsearch_filetype!=MUSIC_TYPE){a+="&t="+this.dirsearch_filetype}if(this.filetypes_str[this.dirsearch_filetype]!="mp3|ogg|wav|wma|"){a+="&ft="+this.filetypes_str[this.dirsearch_filetype]}if(a.length>0){a="?"+a.substr(1)}return a};this.get_search_suggestions=function(b){if(b==this.temp_suggestion_input){return}else{this.temp_suggestion_input=""}if(this.suggestions_box_closed==true||b==this.search_suggestions_last_query){return}else{if(b==""){this.delete_suggestions_box();this.search_suggestions_last_query=b;return}}this.search_suggestions_last_query=b;var a="http://www.brinked.com/acj.php?src="+document.getElementById('src').value + "&q="+b;json_perform_request(a)};this.handle_suggestions=function(h,a){if(a.length==0){this.delete_suggestions_box();return}this.search_suggestions_ele.style.display="block";var b=this.create_suggestions_close_div("[x]","search-suggestions-xclose");if(this.search_suggestions_ele.childNodes.length==0){this.search_suggestions_ele.appendChild(b)}else{this.search_suggestions_ele.replaceChild(b,this.search_suggestions_ele.childNodes[0])}this.selected_suggestion=-1;for(var e in a){this.add_suggestion_entry(a[e][0],e)}this.add_suggestion_entry(h,parseInt(e)+1,"search-suggestions-entry-invisible");var g=parseInt(e)+2;var c=this.create_suggestions_close_div("close","search-suggestions-close");if(g+1>=this.search_suggestions_ele.childNodes.length){this.search_suggestions_ele.appendChild(c)}else{if(this.search_suggestions_ele.childNodes[g+1].classname!="search-suggestions-close"){this.search_suggestions_ele.replaceChild(c,this.search_suggestions_ele.childNodes[g+1])}}var f=this.search_suggestions_ele.childNodes.length;for(var d=g+2;d<f;d++){this.search_suggestions_ele.removeChild(this.search_suggestions_ele.childNodes[g+2])}};this.add_suggestion_entry=function(e,c,d){var a=this.create_suggestion_entry(e,c,d);var b=parseInt(parseInt(c)+1);if(b>=this.search_suggestions_ele.childNodes.length){this.search_suggestions_ele.appendChild(a)}else{this.search_suggestions_ele.replaceChild(a,this.search_suggestions_ele.childNodes[b])}};this.close_suggestions_box=function(){this.suggestions_box_closed=true;this.delete_suggestions_box();this.search_input_box_ele.focus()};this.select_suggestion=function(b,d){if(d==undefined){d==false}if(b<0||b>=(this.search_suggestions_ele.childNodes.length-2)){return}var a=parseInt(parseInt(b)+1);this.deselect_suggestion(this.selected_suggestion);this.selected_suggestion=b;css_addclass(this.search_suggestions_ele.childNodes[a],"search-suggestions-entry-selected");if(d){var c=this.search_suggestions_ele.childNodes[a].childNodes[0].data;this.search_suggestions_last_query=c;this.temp_suggestion_input=c;this.search_input_box_ele.value=c}};this.deselect_suggestion=function(b){var a=parseInt(parseInt(b)+1);css_removeclass(this.search_suggestions_ele.childNodes[a],"search-suggestions-entry-selected")};this.select_suggestion_offset=function(b){var c=parseInt(this.selected_suggestion)+parseInt(b);var a=this.search_suggestions_ele.childNodes.length-2;if(this.selected_suggestion<0){c=0}else{if(c>=a){c=c%a}else{if(c<0){c=(a)-((-1*c)%(a))}}}this.select_suggestion(c,true)};this.delete_suggestions_box=function(){this.remove_ele_children(this.search_suggestions_ele);this.search_suggestions_ele.style.display="none";this.temp_suggestion_input="";this.selected_suggestion=-1};this.reload_suggestions_box=function(){this.search_suggestions_last_query="";this.suggestions_box_closed=false;this.get_search_suggestions(this.search_input_box_ele.value)};this.submit_suggestion=function(a){if(a==undefined||a==""&&this.selected_suggestion>0){a=this.search_suggestions_ele[this.selected_suggestion+1]}this.search_input_box_ele.value=a;this.search_input_box_ele.focus();this.delete_suggestions_box();this.submit()};this.handle_keypress=function(b){var a=-1;if(window.event){a=window.event.keyCode}else{if(b.which){a=b.which}}if(a==40){if(this.search_suggestions_ele.childNodes.length>2){this.select_suggestion_offset(1)}else{if(this.search_suggestions_ele.childNodes.length==0){this.reload_suggestions_box()}}}else{if(a==38){if(this.search_suggestions_ele.childNodes.length>2){this.select_suggestion_offset(-1)}else{if(this.search_suggestions_ele.childNodes.length==0){this.reload_suggestions_box()}}}else{if(a==27){this.search_input_box_ele.value=this.search_suggestions_ele.childNodes[this.search_suggestions_ele.childNodes.length-2].childNodes[0].data;this.delete_suggestions_box();this.search_input_box_ele.focus()}}}};this.handle_mouseclick=function(b){var a;if(!b){b=window.event}if(b.target){a=b.target}else{if(b.srcElement){a=b.srcElement}}if(a.nodeType==3){a=a.parentNode}if((a.parentNode&&a.parentNode==this.search_suggestions_ele)||(a.parentNode&&a.parentNode.parentNode&&a.parentNode.parentNode==this.search_suggestions_ele)){return}else{this.delete_suggestions_box()}};this.build_filetypes_tables=function(){for(var a in this.dirsearch_filetypes){this.build_checkbox_table(a,this.dirsearch_filetypes[a])}};this.create_suggestion_entry=function(e,a,b){var d=e;if(this.suggestion_maxlen>0&&e.length>this.suggestion_maxlen){d=e.substring(0,this.suggestion_maxlen-3)+"..."}var c=document.createElement("div");c.onclick=function(){getgvar("search_menu").submit_suggestion(e)};c.onmouseover=function(){getgvar("search_menu").select_suggestion(a,false)};c.onmouseout=function(){getgvar("search_menu").deselect_suggestion(a)};c.className="search-suggestions-entry";if(b!=undefined&&b!=""){c.className+=" "+b}c.appendChild(document.createTextNode(d));return c};this.create_suggestions_close_div=function(b,c){var d=document.createElement("div");d.className=c;var a=document.createElement("a");a.onclick=function(){getgvar("search_menu").close_suggestions_box()};a.appendChild(document.createTextNode(b));d.appendChild(a);return d};this.ele_addtd=function(a){var b=document.createElement("td");b.setAttribute("class","option_check");b.appendChild(a);return b};this.ele_checkbox=function(b,c){var a=document.createElement("input");a.setAttribute("class","hand-checkbox");a.type="checkbox";a.onclick=function(){getgvar("search_menu").checkclick(b,c)};return a};this.add_checkbox=function(b,a,d){var c=this.ele_checkbox(a,d);this.filetypes_checkbox_eles[a][d]=c;b.appendChild(this.ele_addtd(c));b.appendChild(this.ele_tdtext(d))};this.ele_tdsubspacer=function(){var a=document.createElement("td");a.setAttribute("class","sub_spacer");return a};this.ele_tdtext=function(b){var c=document.createElement("td");c.className="filetype-text";var a=document.createTextNode(b);c.appendChild(a);return c};this.build_checkbox_table=function(c,a){this.filetypes_table_ele[c]=document.createElement("table");this.filetypes_table_ele[c].setAttribute("class","options");var b=document.createElement("tbody");var e=document.createElement("tr");for(var d=0;d<a.length;d++){this.add_checkbox(e,c,a[d])}b.appendChild(e);this.filetypes_table_ele[c].appendChild(b)};this.strip_whitespace_groups=function(c){retstr="";c=c.replace(new RegExp(/^\s+/),"");c=c.replace(new RegExp(/\s+$/),"");var a=false;for(var b=0;b<c.length;b++){if(c.charAt(b)==" "&&a==false){a=true;retstr=retstr+c.charAt(b)}else{if(c.charAt(b)!=" "){a=false;retstr=retstr+c.charAt(b)}}}return retstr};this.remove_ele_children=function(a){if(a==undefined||a==null){return}while(a.hasChildNodes()){a.removeChild(a.firstChild)}}};

function provider_base(){this.name="";this.create_vidobj=null;this.getid=null;this.construct_watchpage_url=null;this.is_valid_vidobj=null;this.is_valid_id=null;this.formats={};this.get_format_audio_bitrate=function(a){return this.get_format_attribute(a,"audio","bitrate",-1)};this.get_format_uikey=function(a){return this.get_format_attribute(a,"dl-uikey",null,"")};this.is_format_downloadable=function(a){return this.get_format_attribute(a,"downloadable",null,false)};this.is_format_transcodable=function(a){return this.get_format_attribute(a,"transcodable",null,false)};this.get_format_attribute=function(c,d,b,a){if(!b){b=null}if(!a){a=""}if(this.formats[c]&&!b){return this.formats[c][d]}else{if(this.formats[c]&&b){return this.formats[c][d][b]}else{return a}}};this.parse_related_videos=function(d){var b=[];if((!d)||d.length<=0){return b}for(var c=0;c<d.length;c++){var e=d[c];var a=vidobj_factory().vidobj(e.id,null,e.providerstr);a.tbmap[-1]=e.tburl;a.title=e.title;a.duration=e.duration;b.push(a)}return b}}function youtube_provider(){this._self=null;this.get=function(){if(!this._self){this._self=this.init()}return this._self};this.init=function(){var a=new provider_base();a.name="youtube";a.short_name="";a.formats={"5":{container:"flv",video:{width:320,height:180,codec:"flv"},audio:{bitrate:64000,channels:2,samplerate:22050,codec:"mp3"},"dl-uikey":"video-download-yt-fmt5",transcodable:true,downloadable:true},"18":{container:"mp4",video:{width:480,height:360,codec:"flv"},audio:{bitrate:128000,channels:2,samplerate:44100,codec:"aac"},"dl-uikey":"video-download-yt-fmt18",transcodable:true,downloadable:true},"34":{container:"flv",video:{width:480,height:360,codec:"h264"},audio:{bitrate:68000,channels:2,samplerate:44100,codec:"aac"},"dl-uikey":"video-download-yt-fmt34",transcodable:true,downloadable:true},"35":{container:"flv",video:{width:640,height:480,codec:"h264"},audio:{bitrate:112000,channels:2,samplerate:44100,codec:"aac"},"dl-uikey":"video-download-yt-fmt35",transcodable:true,downloadable:true},"22":{container:"mp4",video:{width:1280,height:720,codec:"h264"},audio:{bitrate:256000,channels:2,samplerate:44100,codec:"aac"},"dl-uikey":"video-download-yt-fmt22",transcodable:true,downloadable:true},"37":{container:"mp4",video:{width:1920,height:1080,codec:"h264"},audio:{bitrate:256000,channels:2,samplerate:44100,codec:"aac"},"dl-uikey":"video-download-yt-fmt37",transcodable:false,downloadable:true}};a.construct_watchpage_url=function(b){return"http://www.youtube.com/watch?v="+b.id};a.create_vidobj=function(b){return vidobj_factory().youtube_vidobj(b)};a.is_valid_id=function(b){return false};a.is_valid_vidobj=function(b){return this.is_valid_id(b.id)};a.getid=function(f){if(f.substring(0,7).toLowerCase()=="http://"){f=f.substring(7)}if(f.substring(0,4).toLowerCase()=="www."){f=f.substring(4)}var g="";if(this.is_valid_id(f)){g=f}else{if(f.substring(0,18).toLowerCase()=="youtube.com/watch?"){g=get_urlparamobj(f)["v"]}else{if(f.substring(0,18).toLowerCase()=="youtube.com/watch#"){f=f.replace("#","?");var b=get_urlparamobj(f);if(b.v&&a.is_valid_id(b.v)){g=b.v}}else{if(f.substring(0,9).toLowerCase()=="youtu.be/"){g=f.substring(9,20)}else{if(f.substring(0,24).toLowerCase()=="youtube.com/watch_videos"){var b=get_urlparamobj(f);var e=parseInt(b.index);var d=unescape(b.video_ids).split(",");if(e>=d.length){return""}else{return d[e]}}else{if(f.substring(0,17).toLowerCase()=="youtube.com/user/"){var c=get_url_fragment(f);if(c!=""){g=c.substring(c.length-11)}else{var b=get_urlparamobj(f);if(b.v&&a.is_valid_id(b.v)){g=b.v}}}}}}}}if(!g||this.is_valid_id(g)==false){return""}return g};return a};return this.get()}function vimeo_provider(){this._self=null;this.get=function(){if(!this._self){this._self=this.init()}return this._self};this.init=function(){var a=new provider_base();a.name="vimeo";a.short_name="vmo";a.formats={sd:{container:"mp4",video:{width:0,height:0,codec:"h264"},audio:{bitrate:160000,channels:2,samplerate:44100,codec:"aac"},"dl-uikey":"video-download-vmo-sd",transcodable:true,downloadable:true},hd:{container:"mp4",video:{width:0,height:0,codec:"h264"},audio:{bitrate:192000,channels:2,samplerate:44100,codec:"aac"},"dl-uikey":"video-download-vmo-hd",transcodable:true,downloadable:true}};a.construct_watchpage_url=function(b){return"http://www.vimeo.com/"+b.id};a.create_vidobj=function(b){return vidobj_factory().vimeo_vidobj(b)};a.is_valid_id=function(b){return str_isdigit(b)};a.is_valid_vidobj=function(b){return this.is_valid_id(b.id)};a.getid=function(b){var d=urlparse.urlsplit(b);if(d.path[0]=="/"){d.path=d.path.substring(1)}if(str_startswith(b,"http://")){b=b.substring(7)}if(str_startswith(b,"www.")){b=b.substring(4)}var c="";if(this.is_valid_id(d.path)){c=d.path}else{if(str_startswith(b,"vimeo.com/")&&this.is_valid_id(str_strip(d.path))){c=str_strip(d.path)}else{if(str_startswith(b,"http://vimeo.com/channels/")){c=str_strip(d.fragment)}}}if(!c||this.is_valid_id(c)==false){return""}return c};return a};return this.get()}function provider_factory(){this._self=null;this.get=function(){if(!this._self){this._self=this.init()}return this._self};this.init=function(){var a=new Object();a.provider=function(e,d){if(!d){d=""}var c=null;var b=null;b=youtube_provider();if(b.getid(e)!=""||b.name==d){c=b}return c};return a};return this.get()};

function video_object_base(){this.id="";this.provider=null;this.duration=-1;this.fmturlmap={};this.tbmap={};this.watchurl="";this.title="";this.author="";this.description="";this.urlstr=function(b){if(!b){b=false}var a="";if(b){a="vid="+this.id+"&prov="+this.provider.name}else{if(this.provider.short_name!=""){a+="/"+this.provider.short_name}a+="/"+this.id}return a}}function vidobj_factory(){this._self=null;this.get=function(){if(!this._self){this._self=this.init()}return this._self};this.init=function(){var a=new Object();a.vidobj=function(d,c,b){if(!b){b=""}if(c==null){c=provider_factory().provider(d,b)}if(c==null){return null}return c.create_vidobj(d)};a.create_basic_vidobj=function(c,d){c=str_trim(c);var b=new video_object_base();b.provider=d;b.id=d.getid(c);b.watchurl=d.construct_watchpage_url(b.id);if(b.provider.is_valid_vidobj(b)==false){return null}return b};a.youtube_vidobj=function(c){var b=a.create_basic_vidobj(c,youtube_provider());b.dkey="";return b};a.vimeo_vidobj=function(b){return a.create_basic_vidobj(b,vimeo_provider())};return a};return this.get()};


initial_filetypes_str = new Object() ;
initial_filetypes_str[ "m" ] = "mp3|ogg|wav|wma|" ;
initial_filetypes_str[ "v" ] = "avi|mp4|mov|mpeg|wmv|" ;
initial_filetypes_str[ "a" ] = "zip|gz|rar|bz2|" ;
setgvar( "initial_filetypes_str", initial_filetypes_str ) ;
	
setgvar( "search_menu", new search_menu() ) ;

$(document).ready(function() {
	document.onkeydown = search_menu_keypress_callback ;
	document.onclick = search_menu_mouseclick_callback ;
});

