﻿/// <reference path="jquery-1.2.3.min.js" />
$(document).ready(function()
{
    window.scrollTo(0,0);
    try{window.parent.scrollTo(0,0);}catch(e){}
    
});

 
function bindHoverEvents(link,popup)
{
    $(popup)
    .mouseout(function(){
    
       if($(this).css("display")==""||$(this).css("display")=="block")
       {
           $(this).attr("dohide","true");
           
               
            setTimeout("doHoverToggle('"+$(this).attr("id")+"');",500);
       }
   })
   .mouseover(function(){
       if($(this).css("display")==""||$(this).css("display")=="block")
       {
           $(this).attr("dohide","false");
       }
   });

}

function doHoverToggle(hoverid)
{
    var $el = $("#"+hoverid);
    if($el.attr("dohide")=="true")
    {
        $el.hide();
    }
    $el.removeAttr("dohide");
}

    function getMainFrameScrollHeight()
    {
        
        if(frames.length==0)
        {
            if(parent.frames.length==0)
            {
                return window.document.body.scrollHeight;
            }
            else
            {
                return parent.frames[0].document.body.scrollHeight;
                
            }
        }
        else
        {
            return frames[0].document.body.scrollHeight;
        }
    }

function log(msg)
{
    if(!$.browser.msie && console && console.log)
    {
        console.log(msg);
    }
    else
    {
        var $debug = $("#debug");
       if($debug.length==0)
       {
        $debug = $("<div id='debug' style='overflow:scroll;position:absolute;top:0px;left:0px;border:1px solid black;background-color:white;width:200px;height:200px;'></div>");
        $(document.body).append($debug);
        $debug.append("<a href='#' onclick='$(\"#debug\").css(\"display\",\"none\");'>close</a><br />");
       }
        $debug.css("display","");
       $debug.append(msg+"<br />");
   }
}
function debug(msg)
{
    if(!$.browser.msie && console && console.debug)
    {
        console.debug(msg);
    }
    else
    {
        var $debug = $("#debug");
       if($debug.length==0)
       {
        $debug = $("<div id='debug' style='overflow:scroll;position:absolute;top:0px;left:0px;border:1px solid black;background-color:white;width:200px;height:200px;'></div>");
        $(document.body).append($debug);
        $debug.append("<a href='#' onclick='$(\"#debug\").css(\"display\",\"none\");'>close</a><br />");
       }
        $debug.css("display","");
       $debug.append(msg+"<br />");
   }
}
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  }
  else if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } 
   else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}
function f_scrollTop() {
	return f_filterResults (
		getTopWin(window).pageYOffset ? getTopWin(window).pageYOffset : 0,
		getTopWin(window).document.documentElement ? getTopWin(window).document.documentElement.scrollTop : 0,
		getTopWin(window).document.body ? getTopWin(window).document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}


    function playSong(link, artist, title, buylink, photo,useridin,songidin,sourcein,extendedsourcein,ipin,play,returnoncomplete)
    {
        try{
        if(getWimpyFrame().wimpy_getTrackInfo().filename==link)
            return;
            }catch(exc){}
        var playlist = getWimpyFrame().wimpy_getPlaylist();
        for(var i=0; i<playlist.length; i++)
        {
            if(playlist[i][2]==link)
            {
                getWimpyFrame().wimpy_pause();
                getWimpyFrame().wimpy_gotoTrack(i+1);
                getWimpyFrame().wimpy_play();
                return;
            }
        }
        if(play==null)
            play=true;
        getScrollPlayer().find("li:eq(3)").hide();
        getScrollPlayer().find("li:eq(2)").show().find("a").show();
        
        Alist =  Array();
        // Establish and empty object:
        var temp = new Object();
        // Populate the object with varibles refering to each kind of data.
        temp.filename	= link;
        temp.artist		= artist;
        temp.title		= title;
        temp.visual		= photo;
        temp.link		= buylink+"&userid="+useridin+"&songid="+songidin+"&source="+sourcein+"&extendedsource="+extendedsourcein;
       // Add the object tot eh end of the array
        Alist[Alist.length] = temp;
        getWimpyFrame().playList(play,Alist);
        /*if(play == null)
            play = true;
            if(play)
            {
                
                getWimpyFrame().wimpy_loadAndPlay(link, artist.replace("'",""),title.replace("'",""), buylink+"?userid="+useridin+"&songid="+songidin+"&source="+sourcein+"&extendedsource="+extendedsourcein, photo);
            }
            else
                getWimpyFrame().wimpy_appendPlaylist("track",link, artist.replace("'",""),title.replace("'",""), buylink+"?userid="+useridin+"&songid="+songidin+"&source="+sourcein+"&extendedsource="+extendedsourcein, photo);
            getWimpyFrame().js_wimpy_returnOnComplete2 = returnoncomplete;
    */
    }
    function pauseSong()
    {   
        getScrollPlayer().find("li:eq(2)").hide();
        getScrollPlayer().find("li:eq(3)").show().find("a").show();
        getWimpyFrame().wimpy_pause();
    }
    function playCurrentSong()
    {
        getScrollPlayer().find("li:eq(3)").hide();
        getScrollPlayer().find("li:eq(2)").show().find("a").show();
        getWimpyFrame().wimpy_play();
    }
    function nextSong()
    {
        getWimpyFrame().wimpy_next();
    }
    function prevSong()
    {
        getWimpyFrame().wimpy_prev();
    }
        
    function moveOnScreen($element)
    {
        if($element.offset().top+$element.height()>getWindowHeight(parent)+f_scrollTop())
        {
            $element.css("top",f_scrollTop()+getWindowHeight(parent)-$element.height());
        }
        if($element.offset().left+$element.width()>$(".nested").width())
        {
            $element.css("left",$(".nested").width() - ($element.width()+10));
        }
    }
    function getScrollPlayer()
    {
        if($("#scrollPlayer").size()>0)
            return $("#scrollPlayer");
        else if($(parent.document).find("#scrollPlayer").size()>0)
            return $(parent.document).find("#scrollPlayer");
        else if($(parent.parent.document).find("#scrollPlayer").size()>0)
            return $(parent.parent.document).find("#scrollPlayer");
            
    }
    function getMain()
    {
        if($("#main").size()>0)
            return $("#main");
        else if($(parent.document).find("#main").size()>0)
            return $(parent.document).find("#main");
        else if($(parent.parent.document).find("#main").size()>0)
            return $(parent.parent.document).find("#main");
            
    }
    function getWimpyFrame()
    {
        if(window.wimpy_addMultipleTracks)
        {
            return window;
        }
        try
        {
        if(frames[1].wimpy_addMultipleTracks)
            return frames[1];
        }
        catch(e)
        {
        }
        try
        {
       if(parent.frames[1].wimpy_addMultipleTracks)
            return parent.frames[1];
        }
        catch(e)
        {
        }
        try
        {
        if(parent.parent.frames[1].wimpy_addMultipleTracks)
            return parent.parent.frames[1];
        }
        catch(e)
        {
        }
    }
    
    function playSongList(source,extendedsource,play)
    {
    
        Alist =  Array();
        getWimpyFrame().$g_song_list.each(function(){
            var $song = $(this);
            // Establish and empty object:
            var temp = new Object();
            // Populate the object with varibles refering to each kind of data.
            temp.filename	= $song.find(".lnk").text();
            temp.artist		= $song.find(".artist").text();
            temp.title		= $song.find(".title").text();
            temp.visual		= $song.find(".photo").text();
            temp.link		= $song.find(".buylink").text()+"&userid="+useridin+"&songid="+songidin+"&source="+sourcein+"&extendedsource="+extendedsourcein;
            // Add the object tot eh end of the array
            Alist[Alist.length] = temp;
        });
        getWimpyFrame().playList(play,Alist);
    
    }
    
    function playAlbum(albumidin, source, extendedsource)
    {
        $.get(APP_ROOT+'Ajax/AlbumSongList.aspx', { albumid: albumidin },
               function(data){
                    getWimpyFrame().$g_song_list = $(data).find(".song");
                    
                    playSongList(source,extendedsource,true);
               }
             );
    }
    
    
    function getTopWin(win)
    {
        if(win.parent && win.parent != win)
            return getTopWin(win.parent);
        return win;
    }
    function gotoUrl(url,addreturnurl)
    {
        var returl = "";
        
        if(frames.length==0)
        {
            if(parent.frames.length==0)
            {
                if(addreturnurl==true)
                {
                    returl = "&ReturnUrl="+escape(window.location.href);  
                }
                window.location.href = APP_ROOT + "Start.aspx?contenturl="+encodeURIComponent(url)+returl;
            }
            else
            {
                if(addreturnurl==true)
                {
                    returl = "ReturnUrl="+escape( parent.frames[0].location.href);  
                }
                if(url.length==0)
                {
                    if(addreturnurl==true  && parent.frames[0].location.href.indexOf("?")==-1)
                        returl="?"+returl;
                    else if(addreturnurl==true)
                        returl="&"+returl;
                    parent.frames[0].location.href = parent.frames[0].location.href+returl;
                }
                else
                {
                    if(addreturnurl==true  && url.indexOf("?")==-1)
                        returl="?"+returl;
                    else if(addreturnurl==true)
                        returl="&"+returl;
                    parent.frames[0].location.href = url+returl;
                }
            }
        }
        else
        {
            if(addreturnurl==true)
            {
                returl = "ReturnUrl="+escape( frames[0].location.href);  
            }
            if(url.length==0)
            {
                if(addreturnurl==true  && frames[0].location.href.indexOf("?")==-1)
                    returl="?"+returl;
                else if(addreturnurl==true)
                    returl="&"+returl;
                frames[0].location.href = frames[0].location.href+returl;
            }
            else
            {
                if(addreturnurl==true  && url.indexOf("?")==-1)
                    returl="?"+returl;
                else if(addreturnurl==true)
                    returl="&"+returl;
                frames[0].location.href = url+returl;
            }
        }
    }
    function showLogin(show,manager,artist,venue,admin)
    {    
        if(show)
        {
            $("#login").show();
            $("#createaccount").show();
            $("#logout").hide();
            $(".lnkprofile").hide();
            $(".lnkartists").hide();
            $(".lnkartist").hide();
            $(".lnkvenue").hide();
            $(".lnkadmin").hide();
        }
        else
        {
            $("#login").hide();
            $("#createaccount").hide();
            $("#logout").show();
            $(".lnkprofile").show();
            if(manager)
                $(".lnkartists").show();
            else
                $(".lnkartists").hide();
            if(artist)
                $(".lnkartist").show();
            else
                $(".lnkartist").hide();
            if(venue)
                $(".lnkvenue").show();
            else
                $(".lnkvenue").hide();
            if(admin)
                $(".lnkadmin").show();
            else
                $(".lnkadmin").hide();
        }
    }
    function checkUrl()
    {
        if(parent==null || parent.frames == null || parent.frames.length==0)
        {
            
            if(window.location.href.indexOf("wimpy2/wimpy.aspx")==-1)
                window.location.href = APP_ROOT + "Start.aspx?contenturl="+encodeURIComponent(window.location.href);
        }
        
    }
    function getWindowWidth()
    {
        var winW = 630;

         if (document.body.offsetWidth) {
          winW = document.body.offsetWidth;
         }
         else {
          winW = window.innerWidth;
         }
        return winW;
    }
    function getWindowHeight(win)
    {
        if(win)
        {
        }
        else
        {
        win = window;
        }
        var winH = 460;

         if (window.innerHeight) {
          winH = win.innerHeight;
         }
         else {
          winH = win.document.body.offsetHeight;
         }
        return winH;
    }
    
    function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

