
jQuery(document).ready(function() {
    jQuery.noConflict();

    var maxwidth = jQuery('div.progress').width() + jQuery('div.progress').offset().left;
    var minHeight = jQuery('div.progress').offset().top;
    var maxHeight = minHeight + jQuery('div.progress').height();
    var width = jQuery('.display').width();
    var onepix = length / width;
    var onesec = width / length;
    var onepixV = 100 / 89;
    var canclick = false;
    var canmove = false;
    var mousePos;
    var volumeIn;
    var mousePosV;
    var secondsPos;
    var autoplay = false;
    var VOLUME_COOKIE = "BITMIX_VOLUME";
    var initialVolume = 80;
    var seeking = false;
    var positionInRemix = 0;
    var wid = 0;
    var totl = 0;
    var currentVol = 100;
    var minutes = "00";
    var seconds = "00";
    var playdou = 0;
    var stopb = 0;
      

    var jcurents = jQuery('.songcodes .curents');
    var jsongcodesa = jQuery('.player div.songscodes a');
    var jtracklistsong = jQuery('#tracklist .song');
    var jplayahead = jQuery('.player div.playhead');
    var jtimespent = jQuery('.player div.timespent .spent');
    var jplay = jQuery('.play');
    var jduration = jQuery('div.timespent .duration');

    if (jQuery('.progress').length > 0) {

        if (location.hash) {
            if (location.hash.indexOf("play=true") > -1)
                autoplay = true;
        }

        jwplayer('plyplay').setup({
            flashplayer: '/player.swf',
            file: remixFile,
            height: 1,
            width: 1,
            events: {
                onBufferChange: function(event) {
                    jQuery('.player div.progress').css("width", event.bufferPercent + "%");
                    maxwidth = jQuery('div.progress').width() + jQuery('.player div.progress').offset().left;
                    if (seeking) {
                        if (stopb == 0) {
                            stopb = 1;
                            jcurents.html("Buffering...");
                            jsongcodesa.removeClass('currentSong');
                            jtracklistsong.removeClass('currentSong');
                        }
                        if ((onepix * jQuery('div.progress').width()) - 5 > positionInRemix) {
                            seeking = false;
                            jwplayer().seek(positionInRemix);
                        }
                    }
                },
                onSeek: function(event) {
                    seeking = false;
                    jplayahead.animate({ width: event.offset * onesec + "px" }, 250, function() { jtimespent.html(GetTime(event.offset)); });
                },
                onTime: function(event) {
                    if (seeking == false && jwplayer().getState() == "PLAYING") {
                        if (event.position >= event.duration - 0.5) { OnCompletePlaying(); }
                        wid = event.position * onesec;
                        jplayahead.css("width", wid + "px");
                        jtimespent.html(GetTime(event.position));
                        //jtimespent.html(event.position);
                        for (var index = 0; index < playlistTimes.length; index++) {
                            if ((index + 1 < playlistTimes.length &&
                                                     event.position > playlistTimes[index] && event.position < playlistTimes[index + 1]) ||
                                                     (index + 1 >= playlistTimes.length && event.position > playlistTimes[index])) {
                                jsongcodesa.removeClass('currentSong');
                                jQuery('#songInRemix_' + (index + 1)).addClass('currentSong');
                                jtracklistsong.removeClass('currentSong');
                                jQuery('#songInRemixList_' + (index + 1)).parent().parent().addClass('currentSong');
                                jcurents.html(jQuery('#songInRemixList_' + (index + 1)).html());
                                break;
                            }
                        }
                    }
                },
                onReady: function(event) {
                    jQuery('.player .container').animate({ opacity: 1 }, 1000, function() {
                        if (autoplay) jplay.click();
                    });
                    jQuery('#tracklist').animate({ opacity: 1 }, 1000, function() {
                    });
                    
                    currentVol = readCookie(VOLUME_COOKIE);
                    if (currentVol == '') currentVol = initialVolume;
                    jwplayer().setVolume(currentVol);
                    jduration.html(GetTime(length));
                },
                onVolume: function(event) {
                    jQuery('.volumes .waveformVolume-overlay').animate({ width: event.volume + "%" }, 150, function() {
                        createCookie(VOLUME_COOKIE, event.volume, 30);
                    });
                },
                onPlay: function(event) {
                    if (playdou == 0)
                        seeking = false;
                    if (seeking) {
                        playdou = 0;
                        jwplayer().pause();
                    }
                    canmove = true;
                    jplay.addClass('playing');
                },
                onPause: function(event) { jplay.removeClass('playing'); },
                onComplete: function(event) { OnCompletePlaying(); }
            }
        });
        jQuery('div.display').live('click', function(event) { if (canclick) { jwplayer().seek(secondsPos); } });
        //wave sound
        jplay.live('click', function(ev) { jwplayer().play(); });
        jQuery('div.display').live('mousemove', function(event) {
            if (canmove) {
                if (event.pageX < maxwidth && event.pageY > minHeight && event.pageY < maxHeight) {
                    mousePos = (event.pageX) - jQuery(this).offset().left;
                    jQuery(this).find('div.seekhead div:first').css('left', mousePos);
                    secondsPos = onepix * mousePos;
                    jQuery(this).find('div.seekhead div:first span').html(GetTime(secondsPos));
                    jQuery(this).find('div.seekhead:first').show();
                    canclick = true;
                } else {
                    jQuery(this).find('div.seekhead:first').hide();
                    canclick = false;
                }
            }
        });
        //slider & fctions for volume
        jQuery('.controls .volumes').live('click', function(event) { jwplayer().setVolume(volumeIn); });
        jQuery('.controls .volumes').live('mousemove', function(event) {
            mousePosV = event.pageX - jQuery(this).offset().left;
            jQuery(this).find('.seekheadVolume div:first').css('left', mousePosV);
            volumeIn = onepixV * mousePosV;
            jQuery(this).find('.seekheadVolume div:first span').html(parseInt(volumeIn + 0.2));
            jQuery(this).find('.seekheadVolume:first').show();
        });
        //hide and show
        jQuery('.controls .volumes').live('mouseenter', function(ev) { jQuery('.seekheadVolume').show(); });
        jQuery('.controls .volumes').live('mouseleave', function(ev) { jQuery('.seekheadVolume').hide(); });
        jQuery('div.display').live('mouseenter', function(ev) { if (canmove) { jQuery(this).find('div.seekhead:first').show(); } });
        jQuery('div.display').live('mouseleave', function(ev) { if (canmove) { jQuery(this).find('div.seekhead:first').hide(); } });

        jQuery('.gotourl').live('click', function(event) {
            event.preventDefault();
            positionInRemix = jQuery(this).attr('rel');
            if ((onepix * jQuery('div.progress').width()) > positionInRemix) {
                seeking = false;
                jwplayer().seek(positionInRemix);
            } else {
                playdou = 1;
                stopb = 0;
                seeking = true;
                jwplayer().play();
            }
        });
		
		

        //complete
        function OnCompletePlaying() {
            mousePos = 0;
            jwplayer().seek(0);
            jwplayer().pause();
            jplayahead.css("width", "0px");
            jsongcodesa.removeClass('currentSong');
            jtracklistsong.removeClass('currentSong');
        }

        function GetTime(valu) {
            if (typeof (valu) == "undefined")
                valu = 0;
            minutes = "00";
            seconds = "00";
            if (valu > 60) {
                minutes = parseInt(valu / 60);
                seconds = parseInt(valu % 60);
                if (minutes < 10)
                    minutes = "0" + minutes;
            } else
                seconds = parseInt(valu);
            if (seconds < 10)
                seconds = "0" + seconds;
            return minutes + ":" + seconds;
        }
    }

    function createCookie(name, value, days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var expires = "; expires=" + date.toGMTString();
        }
        else var expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    }

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return '';
    }

    function eraseCookie(name) {
        createCookie(name, "", -1);
    }
});






