var ustatus = 0;
var current_one = 0;
var current_id = '';
var tm = 0;
var current_track = 0;


loadtime = loadtime * 1000;
var up_avg = loadtime/100;
up_avg = up_avg * 4;

function randNo() {
return randNo().Math.floor(Math.random()*11);
}

function GetCookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );


		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}
	

function substr_count (haystack, needle, offset, length) {
    var pos = 0, cnt = 0;

    haystack += '';
    needle += '';
    if (isNaN(offset)) {offset = 0;}
    if (isNaN(length)) {length = 0;}
    offset--;

    while ((offset = haystack.indexOf(needle, offset+1)) != -1){
        if (length > 0 && (offset+needle.length) > length){
            return false;
        } else{
            cnt++;
        }
    }

    return cnt;
}

function number_format (number, decimals, dec_point, thousands_sep) {
    var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}


function importUpdate(field) {
 var number=0;
 number=substr_count(field.value, 'spotify');
 number+=substr_count(field.value, 'spo.tl');
 if(number == 0) {
 field.form.submit.value = 'Import my playlist!';
 } else {
 field.form.submit.value = 'Import '+ number_format(number) +' tracks from my playlists!';
 }
}

function homepageAuth() {
ustatus = 1;
loadXMLDoc('/server.ajax?k=homepage');
}

function dashboard_do() {
loadXMLDoc('/server.ajax?k=dashboard');
}

function timeline() {
loadXMLDoc('/server.ajax?k=timeline');
}


var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;

if(url == '/server.ajax?k=dashboard') {
document.getElementById('output').innerHTML="<center><br><br><div style='background:#ffffff; padding:15px; -moz-border-radius:6px; width:70%; border-radius:6px;'><h5 style='color:#000000;'>We are generating your real-time dashboard..</h5><img src='http://www.justspotify.com/_assets/loading_.gif'></div><br><br></center>";
} else if(url == '/server.ajax?k=timeline') {
if(tm == 0) {
document.getElementById('output').innerHTML="<center><br><br><div style='background:#ffffff; padding:15px; -moz-border-radius:6px; width:70%; border-radius:6px;'><h5 style='color:#000000;'></h5><img src='http://www.justspotify.com/_assets/loading_.gif'></div><br><br></center>";
}
} else {
document.getElementById('output').innerHTML="<center><img src='http://www.justspotify.com/_assets/loading_asset.gif'></center>";
}

if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Opera, etc.
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=state_Change;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  }
}


var xmlhttp;
function importPartA(url)
{
xmlhttp=null;

if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Opera, etc.
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=importPartB;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  }
}


function importPartB()
{
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = "OK"

 if(xmlhttp.responseText == '') {
 } else {
 document.getElementById('js_'+current_id).innerHTML = xmlhttp.responseText;
 import_music();
 }
    }
  else
    {
    }
  }
}

function pre_import_music() {
 setTimeout("import_music()", 1000);
}

function import_music() {
ustatus=2;
current_one++;
if(current_one < total_songs+1) {
import_track(songs[current_one]);
} else {
current_one--;
  document.getElementById('finishid').style.display = "block";
  document.getElementById('finishid').innerHTML = "We're done with your request. You successfully placed "+current_one+" vote(s) on JustSpotify.";
}
}

function import_track(songid) {
current_id=songid;
ustatus=1;
var inputs=document.getElementById('js_'+current_id).innerHTML;
document.getElementById('js_'+current_id).innerHTML = inputs+" <img src='http://www.justspotify.com/_assets/loading_asset.gif'>";
importPartA('/import_api?k='+songid);
}

function state_Change()
{
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = "OK"

var output = xmlhttp.responseText;

 if(document.getElementById('output').innerHTML.indexOf("<!-- SLIDE_DOWN_JS -->") > -1) {
    $('#output').slideUp(200);
    document.getElementById('output').innerHTML="";
    document.getElementById('output').innerHTML=xmlhttp.responseText;
    $('#output').slideDown(400);
 } else {
    $('#output').hide();
    document.getElementById('output').innerHTML="";
    document.getElementById('output').innerHTML=xmlhttp.responseText;
    $('#output').fadeIn(400);
 }
    }
  else
    {
    }
  }
}

function engine_start() {
 proc.location.href = "http://www.justspotify.com/blank.html";
 prod.location.href = "http://www.justspotify.com/blank.html";
}
