var W3CDOM=(document.createElement&&document.getElementsByTagName);function getEmbedCode(width,height,mixId,mixTitle,username,mixUrl){return'<object width="'+width+'" height="'+height+'"><PARAM NAME=FlashVars VALUE="id='+mixId+'"><param name="movie" value="http://mixwise.com/flash/TetraPlayer.swf"></param><embed src="http://mixwise.com/flash/TetraPlayer.swf"  type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" FlashVars="id='+mixId+'" ></embed></object><a href="http://mixwise.com/'+username+'/'+mixUrl+'">'+mixTitle+'</a> by <a href="http://mixwise.com/'+username+'">'+username+'</a>';}
function likeit(mixId){$.post("/service/likeit",{mix_id:mixId,form_key:fk},function(data){var result=JSON.parse(data);if(result.statusCode!=0){alert(result.result);return;}
$('.mix_stats').fadeOut(300,function(){$('.mix_stats').text("Thanks for voting");$('.mix_stats').fadeIn(200);});});}
function initFileUploads(){if(!W3CDOM)return;var fakeFileUpload=document.createElement('div');fakeFileUpload.className='fakefile';fakeFileUpload.appendChild(document.createElement('input'));var image=document.createElement('a');image.className='file_input_label';image.innerHTML='Choose File';fakeFileUpload.appendChild(image);var x=document.getElementsByTagName('input');for(var i=0;i<x.length;i++){if(x[i].type!='file')continue;if(x[i].parentNode.className!='fileinputs')continue;x[i].className='file hidden';var clone=fakeFileUpload.cloneNode(true);x[i].parentNode.appendChild(clone);x[i].relatedElement=clone.getElementsByTagName('input')[0];x[i].onchange=x[i].onmouseout=function(){this.relatedElement.value=this.value;}}}
function getFlash(movieName){var isIE=navigator.appName.indexOf("Microsoft")!=-1;return(isIE)?window[movieName]:document[movieName];}
function str2sec(str){var sec=0;if(str.indexOf(":")>0){var i=str.split(":");if(i.length==2){i[0]=parseInt(i[0]);i[1]=parseInt(i[1]);sec=(60*i[0])+i[1];}else if(i.length==3){i[0]=parseInt(i[0]);i[1]=parseInt(i[1]);i[2]=parseInt(i[2]);sec=(60*i[0]*60)+(60*i[1])+i[2];}}else{sec=parseInt(str);}
if(!isFinite(sec)){sec='';}
return sec;}
function activateTrack(tn){}
function addTrack(artist,title,startTime){if(artist==null){artist='';}
if(title==null){title='';}
if(startTime==null){startTime='';}
var trackAddBox=$("#track_box_0").clone();var count=$("#track_container .track_box").length;if(count==null){count=0;}
trackAddBox.attr("id","foobar");count++;trackAddBox.find("input.track_artist").val(artist)
trackAddBox.find("input.track_title").val(title)
trackAddBox.find("input.track_start_time").val(startTime)
trackAddBox.find("div.track_number").html(count);$("#track_container").append(trackAddBox);}
function clearErrors(){$("#mix_title").removeClass('invalid_item');$("#mix_duration").removeClass('invalid_item');$("#cover_art_div").removeClass('invalid_item');$("#track_container .track_box").each(function(i){var o=jQuery(this);o.children(".error").hide();o.removeClass("invalid_item");});}
function reTrack(){var tks=$("#track_container .track_box");for(var x=0;x<tks.length;x++){jQuery(tks[x]).children(".track_number").html(x+1);}}
function remove(node){node=jQuery(node);node.slideUp(200,function(){node.remove();reTrack();});}
function copyPasteTracks(){$('#copyPasteTracks').show();}
function oneByOne(){$('#copyPasteTracks').hide();$('#oneByOne').show();}
function buildTracks(){var trackStr=$('#tracklist').val()+"\n";var rows=new Array();rows=trackStr.split('\n');for(var x in rows){var i=rows[x].indexOf('-');var one=rows[x].substring(0,i);var two=rows[x].substring(i+1,rows[x].length);one=jQuery.trim(one);two=jQuery.trim(two);if(one.length>0||two.length>0){addTrack(one,two);}}
$('#oneByOne').show();}
function attachMetaForm(){$('#metaForm').ajaxForm({dataType:'json',beforeSubmit:function(){clearErrors();$('#submit_meta').attr('btnVal',$('#submit_meta').val());$('#submit_meta').val('processing...');$('#submit_meta').attr('disabled',true);},success:function(info){$('#submit_meta').val($('#submit_meta').attr('btnVal'));$('#submit_meta').attr('disabled',false);if(info.statusCode==0){window.location="/mix/share/"+info.result.mixId;}else if(info.statusCode==2){var msg="";if(info.result["mix_title"]!=null){$("#mix_title").addClass('invalid_item');msg+=info.result["mix_title"]+"\n\n";}
if(info.result["cover_art"]!=null){$("#cover_art_div").addClass('invalid_item');msg+=info.result["cover_art"]+"\n\n";}
if(info.result["mix_duration"]!=null){$("#mix_duration").addClass('invalid_item');msg+=info.result["mix_duration"]+"\n\n";}
if(info.result["tracks"]!=null){var tc=$("#track_container .track_box").length;for(var x=0;x<tc;x++){if(info.result["tracks"][x]!=null){var err="";for(var i in info.result["tracks"][x]){err+=info.result["tracks"][x][i]+"<br />";}
var n=jQuery($("#track_container .track_box")[x]).children(".error");n.html(err);n.parent().addClass("invalid_item");n.show();}}}
if(msg.length>0){alert(msg);}}else{alert(info.result);}}});}
if(!this.JSON){JSON={};}
(function(){function f(n){return n<10?'0'+n:n;}
if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
var cx=new RegExp('/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g'),scapeable=new RegExp('/[\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g'),gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapeable.lastIndex=0;return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}
return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(typeof value.length==='number'&&!value.propertyIsEnumerable('length')){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+
partial.join(',\n'+gap)+'\n'+
mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});};}
if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');};}})();