var adultUrl = '';
var isInAddToBasket = 0;
var isInAddToBasketErotic = 0;
var prodId = 0;
var proxismaniaId=0;

//*************************
//  Utils
//*************************
function ReadCookieValue(cookieName, key) {
    var theCookie=""+document.cookie;
    var ind=theCookie.indexOf(cookieName);
   
    
    if (ind==-1 || cookieName=="") 
        return ""; 
        
    var ind1=theCookie.indexOf(';',ind);
    
    if (ind1==-1) 
        ind1=theCookie.length; 
        
    var theCookieObj = unescape(theCookie.substring(ind+cookieName.length+1,ind1));     
    
    if(key=="")
       return theCookieObj;
        
    var firstIndex, lastIndex;
    
    firstIndex = theCookieObj.indexOf(key);    
    
    if(firstIndex==-1)
       return "";
        
    lastIndex = theCookieObj.indexOf("&",firstIndex); 
    
    if(lastIndex==-1)
       return theCookieObj.substring(firstIndex+key.length+1);
    else
       return theCookieObj.substring(firstIndex+key.length+1,lastIndex);       
}

//*************************
//  Add To Basket
//*************************

function AddToBasket(paramProdId, paramProdName)
{   
    if (isInAddToBasket == 0)
    {
        isInAddToBasket = 1;
        
        /*google analytics*/
        pageTracker._trackPageview("/"+ReadCookieValue("ProxisCookieA","key10")+ReadCookieValue("ProxisCookieA","key9")+"/addToBasket.aspx"); 
        
        var prodName = $get('idSpanToReplace');
        prodName.innerHTML  = paramProdName;

        BasketMgt.AddProduct(paramProdId, AddToBasketSucceededCallback);        
    }
}

function AddToBasketRefreshUrl(paramProdId, paramProdName)
{   
    if (isInAddToBasket == 0)
    {
        isInAddToBasket = 1;
        
        /*google analytics*/
        pageTracker._trackPageview("/"+ReadCookieValue("ProxisCookieA","key10")+ReadCookieValue("ProxisCookieA","key9")+"/addToBasket.aspx"); 
        
        var prodName = $get('idSpanToReplace');
        prodName.innerHTML  = paramProdName;

        BasketMgt.AddProduct(paramProdId, AddToBasketRefreshSucceededCallback);        
    }
}

function AddPackageToBasket(paramPackId, paramPackName)
{
    if (isInAddToBasket == 0)
    {
        isInAddToBasket = 1;
        
        /*google analytics*/
        pageTracker._trackPageview("/"+ReadCookieValue("ProxisCookieA","key10")+ReadCookieValue("ProxisCookieA","key9")+"/addToBasket.aspx"); 
        
        var prodName = $get('idSpanToReplace');
        prodName.innerHTML  = paramPackName;

        BasketMgt.AddPackage(paramPackId, AddToBasketSucceededCallback);        
    }
}

function AddToBasketOneClick(paramProdId)
{
    if (isInAddToBasket == 0)
    {
        isInAddToBasket = 1;
        
        /*google analytics*/
        pageTracker._trackPageview("/"+ReadCookieValue("ProxisCookieA","key10")+ReadCookieValue("ProxisCookieA","key9")+"/addToBasket.aspx"); 

        BasketMgt.AddOneClickProduct(paramProdId, AddToBasketOneClickSucceededCallback);        
    }
}

function AddGiftToBasket(paramProdId, paramProdName)
{
    if (isInAddToBasket == 0)
    {
        isInAddToBasket = 1;
        
        /*google analytics*/
        pageTracker._trackPageview("/"+ReadCookieValue("ProxisCookieA","key10")+ReadCookieValue("ProxisCookieA","key9")+"/addToBasket.aspx"); 

        BasketMgt.AddGift(paramProdId, AddGiftToBasketSucceededCallback);        
    }
}

function AddWishToBasket(paramProdId, paramProdName)
{
    if (isInAddToBasket == 0)
    {
        isInAddToBasket = 1;
        
        /*google analytics*/
        pageTracker._trackPageview("/"+ReadCookieValue("ProxisCookieA","key10")+ReadCookieValue("ProxisCookieA","key9")+"/addToBasket.aspx"); 

        BasketMgt.AddWish(paramProdId, AddWishToBasketSucceededCallback);        
    }
}

function AddWishToBasketSucceededCallback(result, eventArgs)
{
    isInAddToBasket = 0;
    
    if (result == true)
    {
        var modalPopupBehavior = $find('programmaticModalPopupAddToBasketBehavior');
        modalPopupBehavior.show();
    }
    else
    {
        location.href = webRoot + '/Shop/HomepageError.aspx';
    }       
}

function AddGiftToBasketSucceededCallback(result, eventArgs)
{
    isInAddToBasket = 0;
    
    if (result == true)
    {
        var modalPopupBehavior = $find('programmaticModalPopupAddToBasketBehavior');
        modalPopupBehavior.show();
    }
    else
    {
        location.href = webRoot + '/Shop/HomepageError.aspx';
    }       
}

function AddToBasketSucceededCallback(result, eventArgs)
{
    isInAddToBasket = 0;

    if (result == true)
    {
        var modalPopupBehavior = $find('programmaticModalPopupAddToBasketBehavior');
        modalPopupBehavior.show();
    }
    else
    {
        location.href = webRoot + '/HomepageError.aspx';
    }       
}

function AddToBasketRefreshSucceededCallback(result, eventArgs)
{
    isInAddToBasket = 0;

    if (result == true)
    {
        location.href = webRoot + '/Shop/Basket.aspx';
    }
    else
    {
        location.href = webRoot + '/HomepageError.aspx';
    }       
}

function AddToBasketOneClickSucceededCallback(result, eventArgs)
{
    isInAddToBasket = 0;

    if (result == true)
    {
        location.href = webRoot + '/Shop/Payment.aspx';
    }
    else
    {
        location.href = webRoot + '/HomepageError.aspx';
    }       
}

//*************************
//  Remove from Basket
//*************************
function RemoveFromBasket(numPoste)
{          
    BasketMgt.RemoveProduct(numPoste, RemoveFromBasketSucceededCallback);    
}

function RemoveFromBasketSucceededCallback(result, eventArgs)
{    
    RefreshBasketHeader();   
}

//*************************
//  Refresh Basket
//*************************
function RefreshBasketHeader()
{    
    BasketMgt.GetBasketHeader(RefreshBasketHeaderSucceededCallback);
}

function RefreshBasketHeaderSucceededCallback(result, eventArgs)
{  
    $get("basketHeader").innerHTML = result;
}

//*************************
//  Erotic
//*************************
function AddToBasketErotic(paramProdId, paramProdName)
{   
    if (isAdultCheck = '1')
    {
        AddToBasket(paramProdId, paramProdName);
    }
    else
    {
        if (isInAddToBasket == 0)
        {
            isInAddToBasketErotic = 1;

            var modalPopupBehavior = $find('programmaticModalPopupAdultCheckBehavior');
            modalPopupBehavior.show(); 

            var prodName = $get('idSpanToReplace');
            prodName.innerHTML = paramProdName;
            
            prodId = paramProdId;
        }
    }
}

function SetAdultOk()
{
    CustomerMgt.SetAdultCheck(SetAdultOkCallback);   
}

function SetAdultOkCallback(result, eventArgs)
{    
    if (isInAddToBasketErotic == 1)
    {
        var modalPopupBehavior = $find('programmaticModalPopupAdultCheckBehavior');
        modalPopupBehavior.hide(); 
        
        isInAddToBasketErotic = 0;
        if (isInAddToBasket == 0)
        {
            isInAddToBasket = 1;
            BasketMgt.AddProduct(prodId, '', AddToBasketSucceededCallback);
        }
    }
    else
    {
        location.href = adultUrl;
    }
}    

//*************************
//  Customer
//*************************
function CheckCustomer()
{
    if ((htmlElement(eltEmailId).value == '') && (htmlElement(eltPasswordId).value == ''))
    {
        location.href = webRoot + '/LoginError.aspx'
    }
    else
    {
        CustomerMgt.CheckUser(htmlElement(eltEmailId).value, htmlElement(eltPasswordId).value, CheckCustomerSucceededCallback);
    }
}

function ForgetPassword(valGrp)
{
    if(Page_ClientValidate(valGrp))
    {
        var eltEmail = $get(forgotPasswordEmailId);
        if (eltEmail.value != '')
        {
            CustomerMgt.ForgetPassword(escape(eltEmail.value), ForgetPasswordSucceededCallback);            
            return false;
        }
    }
    else
    {
        return false;
    }    
}

function TellAFriend(valGrp)
{
    if(Page_ClientValidate(valGrp))
    {    
        var eltFriendName = $get(friendNameId);
        var eltFriendEmail = $get(friendEmailId);
        var eltName = $get(nameId);
        var eltEmail = $get(emailId);
        var eltComment = $get(commentId);
        
        CustomerMgt.TellAFriend(escape(eltFriendName.value), escape(eltFriendEmail.value), escape(eltName.value), escape(eltEmail.value), escape(eltComment.value), productId, TellAFriendSucceededCallback);
        return false;
    }
}    

function CheckCustomerSucceededCallback(result, eventArgs)
{    
    switch (result) 
    {
	    case 0:
	        //RefreshCustomer();
	        location.href = webRoot + '/MyProxis/Index.aspx';
    	    break;
    	
	    case -1:
	    case -2:
	        location.href = webRoot + '/LoginError.aspx';
	        break;
	    
	    case -3:
	        location.href = webRoot + '/SiteLoginError.aspx';
	        break;
	        
	    default: 
	        location.href = webRoot + '/SiteLoginError.aspx';
	        break;
    }
}

function ForgetPasswordSucceededCallback(result, eventArgs)
{    
    var modalPopupBehavior = $find('programmaticModalPopupForgetPasswordBehavior');
    modalPopupBehavior.hide();
        
    switch (result) 
    {
	    case 0:
    	    break;
    	
	    case -1:
	        location.href = webRoot + '/HomepageError.aspx';
	        break;
    }
}

function TellAFriendSucceededCallback(result, eventArgs)
{    
    var modalPopupBehavior = $find('programmaticModalPopupTellAFriendBehavior');
    modalPopupBehavior.hide();
        
    switch (result) 
    {
	    case 0:
    	    break;
    	
	    case -1:
	        location.href = webRoot + '/HomepageError.aspx';
	        break;
    }
}    

function ShowPopupAdult(paramAdultUrl)
{
    if (isAdultCheck = '1')
    {
        location.href = paramAdultUrl;
    }
    else
    {       
        adultUrl = paramAdultUrl;

        var modalPopupBehavior = $find('programmaticModalPopupAdultCheckBehavior');
        modalPopupBehavior.show(); 
    }
}

//*************************
//  Refresh Customer
//*************************
function RefreshCustomer()
{       
    CustomerMgt.GetMyProxisBlock(RefreshMyProxisSucceededCallback);
    //CustomerMgt.GetB2BBlock(RefreshB2BSucceededCallback);
    CustomerMgt.GetNewsletterBlock(RefreshNewsletterSucceededCallback);
}

function RefreshMyProxisSucceededCallback(result, eventArgs)
{  
    $get("customerMyProxis").innerHTML = result;
}

//*************************
//  B2B Customer
//*************************
//function CheckB2BCustomer()
//{         
//    CustomerMgt.CheckUser(htmlElement(eltB2BEmailId).value, htmlElement(eltB2BPasswordId).value, CheckB2BCustomerSucceededCallback);
//}

//function CheckB2BCustomerSucceededCallback(result, eventArgs)
//{           
//    if (result == 0)
//    {
//        RefreshB2BCustomer();
//    }
//    else
//    {
//        location.href = webRoot + '/LoginError';
//    }   
//}

//*************************
//  Refresh B2BCustomer
//*************************
//function RefreshB2BCustomer()
//{    
//    CustomerMgt.GetB2BBlock(RefreshB2BSucceededCallback);
//    CustomerMgt.GetMyProxisBlock(RefreshMyProxisSucceededCallback);
//    CustomerMgt.GetNewsletterBlock(RefreshNewsletterSucceededCallback);
//}

//function RefreshB2BSucceededCallback(result, eventArgs)
//{  
//    $get("customerB2B").innerHTML = result;    
//}

//*************************
//  Refresh Newsletter block
//*************************
function RefreshNewsletterSucceededCallback(result, eventArgs)
{      
    $get("newsletterBox").innerHTML = result;    
}

//*************************
//*************************
//*************************
//*************************

// This is the callback function invoked if the Web service
// failed.
// It accepts the error object as a parameter.
function FailedCallback(error)
{
    isInAddToBasket = 0;

    //alert("error");
    location.href = webRoot + '/HomepageError.aspx';
    
    // Display the error.    
//    var RsltElem = document.getElementById("ResultId");
//    RsltElem.innerHTML = "Service Error: " + error.get_message();
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

//*************************
// WishList
//*************************
function RemoveFromWishList(lineId, confirmMessage)
{
    var mess = confirmMessage;
    
    var confirmMessageSpan = $get('idSpanMessage');
    confirmMessageSpan.innerHTML = mess;
    
    var btnOkConfirmMessage = $get('btnKConfirmMessage');    
    btnOkConfirmMessage.href ="javascript:CustomerMgt.RemoveWishListLine("+lineId+",WishListSucceededCallback);";
    
    var modalPopupBehavior = $find('programmaticModalPopupConfirmMessageBehavior');
    modalPopupBehavior.show();
}

function EmptyWishList(confirmMessage)
{
    var mess = confirmMessage;
    
    var confirmMessageSpan = $get('idSpanMessage');
    confirmMessageSpan.innerHTML = mess;
    
    var btnOkConfirmMessage = $get('btnKConfirmMessage');    
    btnOkConfirmMessage.href ="javascript:CustomerMgt.EmptyWishList(WishListSucceededCallback);";
    
    var modalPopupBehavior = $find('programmaticModalPopupConfirmMessageBehavior');
    modalPopupBehavior.show();
}

function WishListSucceededCallback(result, eventArgs)
{              
    if (result == true)
    {
        location.href = webRoot + '/MyProxis/WishGift.aspx';
    }
    else
    {
        location.href = webRoot + '/MyProxis/IndexError.aspx';
    }          
}   

//*************************
// ProxisMania
//*************************
function RemoveProxismaniaLine(proxisManiaId, lineId, confirmMessage)
{
    proxismaniaId = proxisManiaId;
    
    var mess = confirmMessage;
    
    var confirmMessageSpan = $get('idSpanMessage');
    confirmMessageSpan.innerHTML = mess;
    
    var btnOkConfirmMessage = $get('btnKConfirmMessage');    
    btnOkConfirmMessage.href ="javascript:CustomerMgt.RemoveProxismaniaLine("+proxisManiaId+","+lineId+",RemoveProxismaniaLineSucceededCallback);";
    
    var modalPopupBehavior = $find('programmaticModalPopupConfirmMessageBehavior');
    modalPopupBehavior.show();
}

function RemoveProxismaniaLineSucceededCallback(result, eventArgs)
{              
    if (result == true)
    {
        location.href = webRoot + '/MyProxis/ProxismaniaDetail.aspx?id='+proxismaniaId;
    }
    else
    {
        location.href = webRoot + '/MyProxis/IndexError.aspx';
    }          
} 




function DeleteProxisMania(proxisManiaId, confirmMessage)
{       
    var mess = confirmMessage;
    
    var confirmMessageSpan = $get('idSpanMessage');
    confirmMessageSpan.innerHTML = mess;
    
    var btnOkConfirmMessage = $get('btnKConfirmMessage');    
    btnOkConfirmMessage.href ="javascript:CustomerMgt.DeleteProxisMania("+proxisManiaId+",DeleteProxisManiaSucceededCallback);";
    
    var modalPopupBehavior = $find('programmaticModalPopupConfirmMessageBehavior');
    modalPopupBehavior.show();
} 

function DeleteProxisManiaSucceededCallback(result, eventArgs)
{              
    if (result == true)
    {
        location.href = webRoot + '/MyProxis/Proxismania.aspx';
    }
    else
    {
        location.href = webRoot + '/MyProxis/IndexError.aspx';
    }          
}  

//*************************
// ProxisMania
//*************************
function RemoveFromReviews(lineId, confirmMessage)
{
    var mess = confirmMessage;
    
    var confirmMessageSpan = $get('idSpanMessage');
    confirmMessageSpan.innerHTML = mess;
    
    var btnOkConfirmMessage = $get('btnKConfirmMessage');    
    btnOkConfirmMessage.href ="javascript:CustomerMgt.RemoveFromReviews("+lineId+",RemoveFromReviewsSucceededCallback);";
    
    var modalPopupBehavior = $find('programmaticModalPopupConfirmMessageBehavior');
    modalPopupBehavior.show();
}

function RemoveFromReviewsSucceededCallback(result, eventArgs)
{              
    if (result == true)
    {
        location.href = webRoot + '/MyProxis/Reviews.aspx';
    }
    else
    {
        location.href = webRoot + '/MyProxis/IndexError.aspx';
    }          
}  


