﻿// JScript File
var divNodata='';
function getBaseReal() {
    var pos;     
    pos = location.href.indexOf('/', location.href.indexOf('://') + 3);
    var serverName = location.href.substr(0, pos);    
    pos = getBase().indexOf('/', getBase().indexOf('://') + 3);
    var contextName = getBase().substr(pos);    
    return serverName + contextName;
}
function renderPage(divElementId, pageid,navigationType) 
{
    var url = getBaseReal() + "Handlers/PageNavigation.ashx?currentpageid=" + pageid + " &Navigationtype=" + navigationType;
    
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {  
                divElement.style.height = 'auto';
                divElement.className = "";                  
                divElement.innerHTML = xmlHttp.responseText;               
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}
function renderChartPage(divElementId, pageid) 
{
    var url = getBaseReal() + "Handlers/ChartPageNavigation.ashx?currentpageid=" + pageid;
    
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {  
                divElement.style.height = 'auto';
                divElement.className = "";                  
                divElement.innerHTML = xmlHttp.responseText;               
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function renderNewProductsPage(divElementId, pageid) 
{

    var url = getBaseReal() + "Handlers/NewProductsNavigation.ashx?currentpageid=" + pageid;
    
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {  
                divElement.style.height = 'auto';
                divElement.className = "";                  
                divElement.innerHTML = xmlHttp.responseText;               
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function renderOfferProductsPage(divElementId, pageid) 
{
    var url = getBaseReal() + "Handlers/OffersNavigation.ashx?currentpageid=" + pageid;
    
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {  
                divElement.style.height = 'auto';
                divElement.className = "";                  
                divElement.innerHTML = xmlHttp.responseText;               
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

//Dispaly News content on Right & Top for home page
function renderNews(divElementId, newsPositionName, newsCount, artistName) {
    var url = getBaseReal() + "Handlers/RenderNews.ashx?newscount=" + newsCount + "&artist=" + artistName + "&Newsposition=" + newsPositionName;
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {
                divElement.style.height = 'auto';
                divElement.className = "";
                divElement.innerHTML = xmlHttp.responseText;
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.send(null);
}

function renderNewsContent(divElementId, newstype,position) {
     var url = getBaseReal() + "Handlers/RenderNews.ashx?NewsType=" + newstype + "&Position=" + position;
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.innerHTML = "";
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {
                divElement.style.height = 'auto';
                divElement.className = "";
                divElement.innerHTML = xmlHttp.responseText;
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

//Mediaplayer
function OpenSongplayer(SongId)
{
    var win = window.open('../Web/Mediaplayer.aspx?id='+ SongId ,'SongPlayer','width=352,height=145,top=100,left=100,resizable=no,scrollbars=yes,status=1');
    if(win!=null)
        win.focus();
    return false;
}  
    
function OpenVideoPlayer(VideoId)
{
    var win = window.open('../Web/Mediaplayer.aspx?id=' + VideoId,'VideoPlayer','width=352,height=400,top=100,left=100,resizable=no,scrollbars=yes,status=1');
    if(win!=null)
        win.focus();
    return false;
}  
    
function videoFullScreen(MediaPlayer)
{
        MediaPlayer.fullScreen=true;
        MediaPlayer.src='../images/mediaplayer/uiFullscreen_click.gif';
}

function showLastViewedPdts(divElementId,pgsize) {
    var url = getBaseReal() + 'Handlers/LastViewedPdts.ashx?vwsize=' + pgsize;
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '50px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
                divElement.style.height = 'auto';
                divElement.className = "";
                divElement.innerHTML = xmlHttp.responseText;
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function recommendProduct(divElementId)
{
 var url = getBaseReal() + "Handlers/RecommendProduct.ashx";
    
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {  
                divElement.style.height = 'auto';
                divElement.className = "";                  
                divElement.innerHTML = xmlHttp.responseText;               
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}
function sendMail(header,userid,productid,strProductPage)
{
 
 var url = getBaseReal() + "Handlers/ForgotPassword.ashx?page=2";
 var sFrom=userid;
 var divElement = document.getElementById("messages");
 var copy= document.getElementById("sendCopy").checked;
 var sUserName=document.getElementById("nickName").value;
 var sTo=document.getElementById("email").value;
 if(copy==true){sTo += ',' + sFrom;}
 var sBody=document.getElementById("message").value;
 var sHeader= sUserName + ' empfiehlt ' + header;
 var xmlHttp = createXMLHttpRequest();
    xmlHttp.onreadystatechange = function() {
     if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) { 
             divElement.style.height = 'auto'; 
             divElement.innerHTML =xmlHttp.responseText;
             if(xmlHttp.responseText==""){
              window.location.href = strProductPage + "?id=" + productid + "&sent";
             }
             
              } 
             else {divElement.style.display = 'none';}}}
    xmlHttp.open("GET", url, true);
    xmlHttp.setRequestHeader("FROM",encodeURI(sFrom));
    xmlHttp.setRequestHeader("TO",encodeURI(sTo));
    xmlHttp.setRequestHeader("BODY",encodeURI(sBody));
    xmlHttp.setRequestHeader("HEADER",encodeURI(sHeader));
    
    xmlHttp.send(null);
    }
    
function serviceLoadProductRate(divId,pid) {
     var fullURL = parent.document.URL;    
    var productId = fullURL.substring(fullURL.indexOf('?')+4, fullURL.length)
    if(productId.length > 0)
    {
        var url = getBaseReal() + 'Handlers/GetProductRating.ashx';
        url = url + '?id=' + pid;
        serviceProductRate(url, divId);
    }
}
function serviceProductRate(url, divId) {
    var xmlHttp = createXMLHttpRequest();
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
                var divElement = document.getElementById(divId);
                divElement.innerHTML = xmlHttp.responseText;
                //init_rating(divId, 'rating_0', false);
                //init_rating(divId, 'rating_1', true);  // if user loged in or votes first time
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}
function submitRating(productId) {
    //setRatingOrder(this, productId, 'productRating');
    serviceSaveProductRate(productId, new_rate, 'productRating')
}
function serviceSaveProductRate(productId, rate, divId) {
    if (rate == 0) return;
    
    var url = getBaseReal() + "Handlers/SubmitProductRating.ashx"; 
    url = url + '?productId=' + productId + '&rate=' + rate;
    serviceProductRate(url, divId)
}

function loadProductDetails(divElementId,productType,pid,atc)
{
 var url = getBaseReal() + "Handlers/GetProductDetails.ashx?type="+productType+"&id="+pid+"&token=0&atc="+atc; 
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState != 4){
            divElement.style.height = '100px';
            divElement.className = "dataloading";
        }
        else if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {  
                divElement.style.height = 'auto';
                divElement.className = "";   
                 var Response=xmlHttp.responseText;                  
                 var seperatorPos=Response.indexOf('^',0);
                 checkDetails(seperatorPos,divElement,Response);                 
                 if(seperatorPos==-1)
                 {enablDivs('none');}
                  var arr=new Array();           
                  
                   
                arr=Response.split('^');
               
                if(arr.length==1)
                {
                    switch(productType)
                    {
                        case 'song':
                        document.title="Song Details - Music Downloads - AOL";
                            break;
                        case 'album':
                         document.title="Album Details - Music Downloads - AOL";
                            break;
                        case 'single':
                        document.title="Single Details - Music Downloads - AOL";
                            break;
                        case 'video':
                        document.title="Video Details - Music Downloads - AOL";
                            break;
                        case 'playlist':
                            document.title="Music Downloads - AOL"; 
                            break;
                    }
                    divElement.innerHTML = arr[0];
                    return;
                }
                document.title=arr[1];
                divElement.innerHTML = arr[0];               
               if(arr.length==4) 
               {
                displayMessages(arr[2]); 
                if(arr[2]!='')
                    {
                     if(location.href.indexOf('&sent') ==-1)
                        {enablDivs('none');}
                       document.title=arr[1];
                    } 
                 else 
                 {
                    enablDivs('');
                  }
              }
              var arrMsg=new Array();           
              arrMsg=arr[3].split('~');
              var titleDiv; 
              switch(productType)
              {
                  case 'album':
                      titleDiv= document.getElementById('divAlbumItems');
                      titleDiv.innerHTML=arrMsg[0];
                      break;
                  case 'single':
                      titleDiv=document.getElementById('divSingleItems');
                      titleDiv.innerHTML=arrMsg[0];
                      break;
                  case 'playlist':
                      titleDiv=document.getElementById('divPlayListItems');
                      titleDiv.innerHTML=arrMsg[0];
                      break;
                  case 'video':
                      titleDiv=document.getElementById('divVideoItems');
                      titleDiv.innerHTML=arrMsg[0];
                      break;
              }
              
              var arrwishlistmsg=Response.split('~');
                   if(location.href.indexOf('&addwishlist') !=-1)
                   {
                    displayMessages(arrwishlistmsg[1]);
                   }
            } else {
                divElement.style.display = 'none';
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function checkDetails(seperatorPos,divElement,response)
{
     if(seperatorPos==-1)
     {
        var divRating = document.getElementById('productRating');       
        divRating.style.display='none';
        divElement.innerHTML = response;
        return false;
      }
}

function enablDivs(enble)
{
   var d=document.getElementById('ctl00_DivSearch');
   d.style.display=enble;
   var e=document.getElementById('ctl00_DivShopping');
   e.style.display=enble;
}

function load_rating(divId, elemId, clickable,rate) {	
var img_names = new Array(
    "../images/stars/rating_on.gif",
    "../images/stars/rating_half.gif",
    "../images/stars/rating_off.gif",
    "../images/stars/rating_over.gif",
	"../images/stars/submit.gif"
);
var imgs = new Image();
for (var i = 0; i < img_names.length; i++){
    imgs.src = img_names[i];
}
imgs = null;

    var obj = document.getElementById(elemId);
    if (obj == null) return;

    var rating = rate;
    obj.innerHTML = "";
    for (var j = 0; j < NUMBER_OF_STARS; j++) {
        var star = document.createElement('img');
        var widgetId = obj.getAttribute('id').substr(7);
        if (rating >= 1) {
            star.setAttribute('src', '../images/stars/rating_on.gif');
            star.className = 'on';
            rating--;
        } else if (rating < 1 && rating >= 0.5) {
            star.setAttribute('src', '../images/stars/rating_half.gif');
            star.className = 'half';
            rating = 0;
        } else {
            star.setAttribute('src', '../images/stars/rating_off.gif');
            star.className = 'off';
        }
        widgetId = obj.getAttribute('id').substr(7);
        star.setAttribute('id', 'star_' + widgetId + '_' + j);
        if (clickable) {
            star.onmouseover = new Function("evt", "displayHover(" + widgetId + ", " + j + ", this);");
            star.onmouseout = new Function("evt", "displayNormal(" + widgetId + ", " + j + ", this);");
            star.onmousedown = new Function("evt", "setRating(this);");
        }
        obj.appendChild(star);
    }
}
function displayWishlistItems(divElementId,operationtype,pid,title,artist,ptypeid)
{
    var url = getBaseReal() + "Handlers/Wishlist.ashx?operation="+ operationtype;
    var xmlHttp = createXMLHttpRequest();
    var divElement = document.getElementById(divElementId);
    
    xmlHttp.onreadystatechange = function() 
    {
        if (xmlHttp.readyState == 4) 
        {
            if (xmlHttp.status == 401) 
            {
                var referral = location.href.replace(getBaseReal(), '/');
                location.href = getBase() + 'Wishlist.aspx?' + params + '&referral=' + encodeURI(referral);
            }
             else if (xmlHttp.status == 200) 
             {
//                imgTagElement.src = imgSrcDone;
                if(xmlHttp.responseText == '1')
                    window.location.href= getBaseReal() + 'web/login.aspx';
                else
                { 
                    switch(operationtype)
                    {
                           case 'remove':
                                Response= xmlHttp.responseText;
                                var arr=new Array();
                                arr=Response.split('^');
                                displayMessages(arr[1]);
                                divElement.innerHTML=arr[0];
                                break;
                           case 'add2cart':
                                Response= xmlHttp.responseText;
                                var arr=new Array();
                                arr=Response.split('^');
                                displayMessages(arr[1]);
                                divElement.innerHTML=arr[0];
                                updateShoppingCartCount();
                                break;
                           case 'view':
                                divElement.innerHTML = xmlHttp.responseText;
                                break;
                           case 'add':
                                displayMessages(xmlHttp.responseText);
                                break;
                           
                    }
//                    if((operationtype=='remove') || (operationtype=='add2cart'))
//                    { 
//                        Response= xmlHttp.responseText;
//                        var arr=new Array();
//                        arr=Response.split('^');
//                        displayMessages(arr[1]);
//                        divElement.innerHTML=arr[0];
//                    }
//                    else if(operationtype=='view')
//                        divElement.innerHTML = xmlHttp.responseText;
//                    else if(operationtype=='add')
//                        displayMessages(xmlHttp.responseText);
               }
            }
             else 
             {
//                imgTagElement.src = imgSrcNormal;
                displayWarnings(xmlHttp.responseText);
            }
        }
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.setRequestHeader("Product",pid);    
    xmlHttp.setRequestHeader("Title",encodeURI(title));    
    xmlHttp.setRequestHeader("Artist",encodeURI(artist));
    xmlHttp.setRequestHeader("ProductTypeID",ptypeid);    
    xmlHttp.send(null);
}
function  setFocus()
{
var txt=document.getElementById('ctl00_cphDefault_txtEmail');
if(txt!=null){
    txt.focus();}
}
function chkmigration(confrmbtn,newsbtn,abort)
{
    var cBtn;
    var nBtn;
    if(abort=='1')
    {
    cBtn=document.getElementById(confrmbtn).checked;
    nBtn=document.getElementById(newsbtn).checked;
    }
    else if(abort=='2'){
    cBtn=false;
    nBtn=false;
    }
    var url = getBaseReal() + "Handlers/migration.ashx?state=" + cBtn +"&news=" + nBtn +"&abort="+ abort;
    var result='';
    var xmlHttp = createXMLHttpRequest();
    xmlHttp.onreadystatechange = function() {
     if (xmlHttp.readyState == 4) {            
            if (xmlHttp.status == 200) {  
                result = xmlHttp.responseText; 
                window.location.href=result;
                if(window.event!=null){window.event.returnValue=false; }
                } } }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
   
     
}
function chkButton(cbtn,nBtn)
{
    var cBtn=document.getElementById(cbtn).checked;
     var nbtn=document.getElementById(nBtn);
   if(cBtn){nbtn.disabled=false;nbtn.checked=false;}
   else{nbtn.disabled=true;nbtn.checked=false;}

}

function getSearchDetails(link,searchdata,type,mp3chk)
{
     var searchstring=document.getElementById(searchdata).value;
     var searchfor=document.getElementById(type).value;
     var mp3check=(document.getElementById(mp3chk).checked)?'on':'';
     var frm = document.forms['frmSearch'];
     searchstring=searchstring.replace("&","~");
     frm.action = link + "?search="+ searchstring +"&type=" + searchfor +"&mp3=" + mp3check;
}

function getAdvancedSearchDetails(artist,genre,product,type,mp3chk)
{
    var artistname=document.getElementById(artist).value;
    var genrename=document.getElementById(genre).value;
    var producttitle=document.getElementById(product).value;
    var searchfor=document.getElementById(type).value;
    var mp3check=(document.getElementById(mp3chk).checked)?'on':'';
    var pos = location.href.indexOf('?');
    var pagelink =(pos>0)? location.href.substr(0, pos):location.href; 
    var frm = document.forms['frmSearch'];
    artistname=artistname.replace("&","~");
    producttitle=producttitle.replace("&","~");
    frm.action =pagelink + "?artist="+ artistname +"&gid=" + genrename +"&search=" + producttitle + "&type=" + searchfor + "&mp3=" +mp3check;
}

function getrecommendations(id,template)// Method to retreive the recommended products from avail integration
{
   var pid = '';
   var recommendedProducts = '';
   var strData ='';
   var emark = new Emark();
   recommendedProducts = emark.getProductsPredictions(id, template);
   emark.commit(function() {
      for(var i=0;i<recommendedProducts.values.length;i++){
         if(i<recommendedProducts.values.length-1) pid += recommendedProducts.values[i]+ ',';
         else pid += recommendedProducts.values[i];}
      GetAvailRecommendations(pid,template,recommendedProducts.trackingcode);
   });
}

function getUserRecommendations(id,template)// Method to retreive the user predictions from avail integration
{
   var pid = '';
   var recommendedProducts = '';
   var strData ='';
   var emark = new Emark();
   recommendedProducts = emark.getUserPredictions(id, template);
   emark.commit(function() {
      for(var i=0;i<recommendedProducts.values.length;i++){
         if(i<recommendedProducts.values.length-1) pid += recommendedProducts.values[i]+ ',';
         else pid += recommendedProducts.values[i];}
      GetAvailRecommendations(pid,template,recommendedProducts.trackingcode);
   });
}

function GetAvailRecommendations(productids,template,trackingcode)// Implementation of the recommended products retreived using avail integration
{
    var rph= document.getElementById('recomProductHorizontal');
    var url = getBase() + "Handlers/Recommendations.ashx?productids="+productids+ "&template="+ template+"&trackingcode="+trackingcode;
    var xmlHttp = createXMLHttpRequest();
    xmlHttp.onreadystatechange = function(){
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200)	
          rph.innerHTML = xmlHttp.responseText; 
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function availLogClickedOn(ProductId,trackingcode)
{
  try { var emark = new Emark(); 
        emark.logClickedOn(ProductId, trackingcode); }
  catch(e) { }
  return true;
}

function availLogAddedToCart(ProductId,trackingcode)
{
  try { var emark = new Emark(); 
        if(trackingcode=='' || trackingcode=='undefined') emark.logAddedToCart(ProductId);
        else emark.logAddedToCart(ProductId,trackingcode);
        emark.commit();
      }
  catch(e) { }
  return true;
}

function availlogpurchase(userid,productids,prices)
{
    var url = getBase() + "Handlers/Recommendations.ashx?userid="+userid + "&productids="+ productids +"&prices="+ prices;
    var xmlHttp = createXMLHttpRequest();
    xmlHttp.onreadystatechange = function(){
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200){}
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

  function trimRight(str) {
    var ListOfWhiteSpaceChars = " \f\n\r\t";
    if (removeSpaces(str)=='') return '';
    var k = str.length - 1;
    while (k >= 0) {
      if (ListOfWhiteSpaceChars.indexOf(str.charAt(k)) == -1) {
        return str.substring(0, k + 1);
      } else {
        k--;
      }
    }
  }

