﻿// Javascript functions used for lists operations

function EditList(ListId)
{
	var urlFrom = document.location;
	var link = '../../edituserlist.aspx?listid=' + ListId + '&urlFrom=' + escape( urlFrom );
	document.location = link;
}

function MakePollSnippet(ListId)
{
	var urlFrom = document.location;
	var link = '../../makePollSnippet.aspx?listid=' + ListId + '&urlFrom=' + escape( urlFrom );
	document.location = link;
}

function ResetText(clientId)
{
    //alert('clientid=' + clientId);
    var ObjAdjust1 = clientId.replace(/\$/g , '_');
    var TextBox = new getObj(ObjAdjust1);
    if (TextBox)
	{
		TextBox.innerHTML ='';
	}
}

function Appear(id)
{
    //alert(id);
    var ObjAdjust1 = id.replace(/\$/g , '_');
    //var x = document.getElementById(ObjAdjust1);
    var x = new getObj(ObjAdjust1);
	x.style.visibility = 'visible';
	setTimeout(function() {Disappear(id)} , 2000);
}

function Disappear(id)
{
    var ObjAdjust1 = id.replace(/\$/g , '_');
    //var x = document.getElementById(ObjAdjust1);
    var x = new getObj(ObjAdjust1);
	x.style.visibility = 'hidden';
}

function SetLastUpdatedate()
{
    var x = document.getElementById('lastUpdate');
    //x.innerHTML = 'ADESSO!'; 
   var myDate = new Date();
   var day = ((myDate.getDate() < 10) ? '0' : '' ) + myDate.getDate();
   var month = ((myDate.getMonth() < 9) ? '0' : '' ) + (myDate.getMonth() + 1);
   x.innerHTML = day + '/' + month + '/' + myDate.getFullYear();
}

function UpdateItemsInBasket(number , bNewProduct)
{
    //alert(bNewProduct);
    var x = document.getElementById('ancList');
    if (x)
   {
       if (bNewProduct == 'True')
       {
            x.innerHTML = '<b><img src=\"http://img.shoppydoo.com/mysd_ck_on.gif\" alt=\"basket\">MyShoppyDoo (' + number + ')</b>';
       }
       else
       { 
            x.innerHTML = '<img src=\"http://img.shoppydoo.com/mysd_ck_on.gif\" alt=\"basket\">MyShoppyDoo (' + number + ')';
       } 
       //alert(x.innerHTML); 
   } 
}


function SubmitAvailability(clientid)
{
   //alert(clientid);
   var x = document.getElementById(clientid);
   if (x)
   {
     //alert(x);
     x.click();
   } 
}

// ##############################################
// Andrea -- Fabio
// Function used in search.aspx page
// to add a product into list(s)
//
// This function uses variables there were previously inluded into code page
//
// INPUT PARAMETERS:
//
// providerName:  Provider Name (In ShoppyDoo could be 'shoppydoo:fpn','shoppydoo:search','shoppydoo:offer')
// fpn :              Fixed Product Name
// entityName:    Entity Name (could be Product Name if entity is added within product page)
// price:             Product price
// img:               Product image
// prodId:           Product id
// MerchantId:     Merchant id
//
// GLOBAL VARIABLES
//
// hidFpnObjId:                Id of hidden field containing Fixed Product Name
// hidProdNameObjId:        Id of hidden field containing Product Name
// hidImgObjId:                Id of hidden field containing Product Image
// hidPriceObjId:              Id of hidden field containing Product Price
// hidProviderNameObjId    Id of hidden field containing provider name
// hidMerchantObjId         Id of hidden field containing Merchant Id
// hidProductIdObjId         Id of hidden field containing Product Id
// isUserLogged:              Checks if user is logged
// hidDivMsgObjId:           Id of DIV element that displays messages
// hidAncAddToList:         Id of HTML anchor that user clicks to show panel
// hidTitleLayerToHide:     Id of Panels that contains the whole control
var currentClickedAddListLinkProdIdAddListLink = null;
var isListPanelOpen = false;

function ShowAddToList(providerName, fpn, entityName, price, img, prodId, merchantId)
{
    var divMyShoppyDoo = document.getElementById(divMyShoppyDooNotLogged);
    if (providerName != 'fpn')
    {
         divMyShoppyDoo.style.display = 'none';
    } 
    else
    {
        divMyShoppyDoo.style.display = 'block';
    }  
    var hasFpn = (fpn != '') && (fpn != null);
    var obj = document.getElementById(hidFpnObjId);
    if (obj) 
    {
        obj.value = fpn;
    } 
   
    obj = document.getElementById(hidEntityNameObjId);
    if (obj) {
        obj.value = entityName;
    }  
   
    obj = document.getElementById(hidPriceObjId);
    if (obj) {
        obj.value = price;
    }   
    
    obj = document.getElementById(hidImgObjId);
    if (obj) {
        obj.value = img;
    }
   
    obj = document.getElementById(hidProviderNameObjId); // provider type
    if (obj) {
        obj.value = providerName;
    }
   
    obj = document.getElementById(hidMerchantObjId);
    if (obj) {
        obj.value = merchantId;
    }   
   
   obj = document.getElementById(hidProductIdObjId);
    if (obj) {
        obj.value = prodId;
    }    
   
   //////////////////////////////////////////////////////////////////////////////////////
   // Temporary issue !!!
   // Checks if fixed productname is not supplied in searches and offers:
   // if so, hide 'MyShoppydoo' link
   //    linkMyShoppyDoo = document.getElementsByName('lnkaddto_myshoppydoo');
   if (providerName.lastIndexOf(':') != -1)
   {
        var myInd = providerName.lastIndexOf(':');
        providerName = providerName.substring(myInd+1);
        //alert(providerName); 
   }
    linkMyShoppyDoo = document.getElementsByTagName('li');
    var elementName; 
    //alert( linkMyShoppyDoo.length);
    for(i=0; i<linkMyShoppyDoo.length; i++) 
    {
        //alert('link found!');
        
        var elementName =  linkMyShoppyDoo[i].getAttribute("name");
        if ( elementName == 'lnkaddto_myshoppydoo')
        {   
            if ((providerName == 'search') || (providerName == 'offer'))
            {  
                //alert(hasFpn + '  search or offer');
                linkMyShoppyDoo[i].style.display = 'none';
            } 
           else if ( (providerName == null) || (providerName == '') )
           {
                //alert(hasFpn + ' no provider'); 
                linkMyShoppyDoo[i].style.display = (hasFpn) ? 'block' : 'none';
           }
           else
           {
                //alert(hasFpn + ' has FPN'); 
                linkMyShoppyDoo[i].style.display = 'block';
           } 
       }
    } 
    //
    //////////////////////////////////////////////////////////////////////////////////////
     
    var objClickedId = 'list_link_' + prodId;
    var objClicked = document.getElementById(objClickedId);
    if (objClicked) {
        var objToMove = document.getElementById('divChooseList');
       
        if (objToMove) {
           // hides divMsg 
           var divMsg =  document.getElementById(hidDivMsgObjId);
            if(divMsg) {
                // the message will be related its parent
                objClicked.appendChild(divMsg);
                divMsg.style.display = 'none';
                isListPanelOpen = false;
            }  
             
            objToMove.style.display = 'block';
            setLyr(objClicked,'divChooseList',false);
           
            if ((currentClickedAddListLinkProdIdAddListLink == null) ||  // First user click
                (currentClickedAddListLinkProdIdAddListLink == prodId) || // Click on same link previously clicked
                (currentClickedAddListLinkProdIdAddListLink != prodId && !isListPanelOpen))  // Click on other link and panel currently closed
            {
               //alert('entro qui -- isListPanelOpen' + isListPanelOpen); 
               // Open the add to link panel, simulating the click in the control 
               var linkToOpen =   document.getElementById(hidAncAddToList);
               try { 
                    // Simulate the click on a link (works for IE); 
                    linkToOpen.click();
               } catch(e) {
                    // Create a click event on a link (works on Mozilla) 
                    var evt = document.createEvent('MouseEvents');
                    evt.initMouseEvent('click', true, true, document.defaultView,
                                                1, 0, 0, 0, 0, false, false, false, false, 0, null);
                    linkToOpen.dispatchEvent(evt);
              } 
              // Closes or opens the panel containing lists
              isListPanelOpen = !isListPanelOpen;
           }
          
           // User NOT Logged
           var panelToOpen =   document.getElementById(hidTitleLayerToHide);
           panelToOpen.style.display = 'none';
           var divLogIn =   document.getElementById('divLogIn');
           //var divLogIn =   document.getElementById(divLogInObjId); 
           divLogIn.style.left = '0px';
           divLogIn.style.top = '0px';
           
          
           var objImg = null;
           if  (currentClickedAddListLinkProdIdAddListLink &&
                currentClickedAddListLinkProdIdAddListLink != prodId) 
           {
                // Put arrow image to DOWN in precedent link 
                objImg =  document.getElementById('list_arrow_' + currentClickedAddListLinkProdIdAddListLink);
                if(objImg) {
                    objImg.src = "http://img.shoppydoo.com/addlist_down.gif";
                }  
            } 
            
            // Set arrow image depending from panel lists status (opened/closed) 
            objImg =  document.getElementById('list_arrow_' + prodId);
            if (objImg) {
                if (isListPanelOpen) {
                    objImg.src = "http://img.shoppydoo.com/addlist_up.gif";
                } else {
                    objImg.src = "http://img.shoppydoo.com/addlist_down.gif"; 
                }  
            }    
        }
       currentClickedAddListLinkProdIdAddListLink = prodId; 
    }
}
// ##############################################

// Used for chooseList panel , when user is NOT logged
//
// obj                     -- object that is supposed to be clicked
// objInterested		-- element to hide/show
// alignRight			-- true if you want to align right objInterested to obj
// idMainImgArrow    -- id of arrow image that doen't come from xsl file
function showhide2(obj , objInterested, alignRight, idMainImgArrow)
{
    var bIsCloseLink = (obj.id == 'ancCloseLoginPanel');
	var x = new getObj(objInterested);
	x.style.visibility = (x.style.visibility == 'visible') ? 'hidden' : 'visible';
	if (obj) {
	    setLyr(obj,objInterested,alignRight);
	}
   //alert(idMainImgArrow);
   if (idMainImgArrow)
   { 
       var y = document.getElementById(idMainImgArrow);
       if (bIsCloseLink)
       {
          y.src = 'http://img.shoppydoo.com/addlist_down.gif';
          
           // sets all arrow images to down (if any)
          var arrowImages = document.getElementsByTagName('img');
          for(i=0; i<arrowImages.length ; i++)
          {
                if (arrowImages[i].id.substring(0,11) == 'list_arrow_')
               {
                    arrowImages[i].src = 'http://img.shoppydoo.com/addlist_down.gif';
               } 
          }
          
          isListPanelOpen = false;
       } 
       else
       {
             y.src = ( y.src == 'http://img.shoppydoo.com/addlist_down.gif') ?
              'http://img.shoppydoo.com/addlist_up.gif' : 'http://img.shoppydoo.com/addlist_down.gif';
              
       }
   }
}

function MakeSignal(signalObjId)
{
    var obj = document.getElementById(signalObjId);
    if (obj) 
    {
        obj.click();
    }
}

function SetParamsForCopyEntityId(EntityId , ListId , UserName, CurrentEntityImageName)
{
    var obj = document.getElementById(hidEntityIdObjId);
    if (obj) {
        obj.value = EntityId;
    } 
   
   var obj = document.getElementById(hidOldListIdIdObjId);
    if (obj) {
        obj.value = ListId;
    } 
   
   var obj = document.getElementById(hidUserNameObjId);
    if (obj) {
        obj.value = UserName;
    }
    
    var obj = document.getElementById(hidCurrentEntityImageNameObjId);
    if (obj) {
        obj.value = CurrentEntityImageName;
    }    
} 

//function SearchInList(token)
//{
//    alert('token=' + token);
//    document.location = "/my/sc/" + token;
//}

function SearchInList(inputName , alertMsg , bSearchInLists)
{
	var obtText = Trim(document.getElementById(inputName).value);
	if (obtText.replace(/"/g, '').length == 0)
	{
		alert(alertMsg);
	}
	else
	{
	    //alert(bSearchInLists);
	    if (bSearchInLists)
	   {
	        window.location.replace('/my/sc/' + UrlEncode(obtText)+'?type=list');
	   }
	   else
	   { 
		    window.location.replace('/my/sc/' + UrlEncode(obtText));
		}
	}
		
	return;	
}

function UrlEncode(urlToEncode)
{
	var url2enc = urlToEncode;
	url2enc = url2enc.replace('+', '%2b');
	return url2enc;
}

function Trim(str) 
{ 
	return str.replace(/^\s+|\s+$/, '')
}