﻿// Global reference variables

//var stockImgArray = new Array();
//var stockTitleArray = new Array();

//Client-Callback Implementation Start
function emailClientCallback( arg, Context )
{
    var targetArray     = Context.split("=");
    var productTitle = document.getElementById( targetArray[0] );
    var nameText = document.getElementById( targetArray[1] );
    var emailText = document.getElementById( targetArray[2] );    
    var messageText = document.getElementById( targetArray[3] );
    
    //productTitle.innerHTML = "sending";
            
    //alert(targetArray.length + "/r/n" + Context);
    
    if ( targetArray.length > 4 )
    {
        var friendText = document.getElementById( targetArray[4] );
        CallServer( productTitle.value + "=" + nameText.value + "=" + emailText.value+ "=" + messageText.value + "=" + friendText.value, Context );
    }
    
    else
        CallServer( productTitle.value + "=" + nameText.value + "=" + emailText.value + "=" + messageText.value, Context );
}

function emailReceiveServerData( returnValue )
{   
    var targetArray = returnValue.split("=");
    var emailSent = targetArray[0];
    var title = document.getElementById( targetArray[1] );
    //alert(returnValue);
    if( emailSent == "True" )
    {        
        title.innerHTML = "Message Sent";
    }
}

function buyClientCallback( arg, Context )
{
    var lbl = document.getElementById( Context );
    lbl.innerHTML = "Adding";
    //alert(arg + " " + Context);
    CallServer( arg + "=" + Context, Context );
}

function buyReceiveServerData( returnValue )
{   
    var lbl = document.getElementById( returnValue );
    //alert(returnValue);
    lbl.innerHTML = "ADDED"; 
}

function ReceiveServerData( returnValue, value )
{   
    var lbl = document.getElementById( returnValue );
    lbl.value = value; 
}

function ClientCallbackError(result, context)
{
    alert(Error + " " + result);
}

function ShippingClientCallback( arg, Context )
{
    var targetArray     = arg.split("=");
    var RuralDelivery   = targetArray[0];
    var ShippingCost    = targetArray[1];
    
    var shippingList    = document.getElementById( ShippingCost );
    var RuralBox        = document.getElementById( RuralDelivery );
    var shippingListvalue = shippingList.options[shippingList.selectedIndex].value;
    
    /*if ( parseInt(shippingListvalue) > 1 )
        RuralBox.disabled = false;
    else
        RuralBox.disabled = true;*/
    
    CallServer( RuralBox.checked + "=" + shippingListvalue, Context );
}

function ShippingReceiveServerData( returnValue )
{
    //alert(returnValue);
    var targetArray = returnValue.split(",");
    var prefix = targetArray[0];
    var price = targetArray[1];
    price = parseFloat(price).toFixed(2);   

    var subTotal = document.getElementById( prefix +  'subTotal');
    var freight  = document.getElementById( prefix +  'freight');
    var tax      = document.getElementById( prefix +  'tax');
    var total    = document.getElementById( prefix +  'total');
    
    var oldSub   = FormatStringNumber( subTotal.innerHTML );
    var oldTax   = FormatStringNumber( tax.innerHTML );
    var oldTotal = FormatStringNumber( total.innerHTML );
    
    freight.innerHTML   = FormatCurrency( price, 1 );
    tax.innerHTML       = FormatCurrency( ( ((parseFloat( oldSub ) + parseFloat( price )) * 0.125).toFixed(2) + ""), 1 );
    total.innerHTML     = FormatCurrency( ((parseFloat( oldSub ) + parseFloat( FormatStringNumber( tax.innerHTML ) ) + parseFloat( price )).toFixed(2) + ""), 1 );
}
//Client-Callback Implementation END

//shipping Calculate for productDetail.ascx
function displayShipping(lblID, listID)
{
     var lblObj  = document.getElementById( lblID  );
     var listObj = document.getElementById( listID );
     
     lblObj.innerHTML = "$" + listObj.options[listObj.selectedIndex].value;
}

function initStock(imgArray, titleArray)
{
    stockImgArray = imgArray.split("@");
    stockTitleArray = titleArray.split("@");
}

//Stock Image
function displayStockImage(prefix, count, valueArray, imgArray, titleArray)
{   
    valueArray = valueArray.split("@");
    stockImgArray = imgArray.split("@");
    stockTitleArray = titleArray.split("@");
     
    for (var index = 0; index < count; index++)
    {
        var stockLal = document.getElementById( prefix + 'sti' + index);
        var stockImage = document.getElementById( prefix + 'st' + index);
        
        var imgValue = stockLal.innerHTML;
        var current = (stockImage.style.display == 'none') ? 'block' : 'none';        
        stockImage.style.display = current;
        
        //alert( stockImgArray[ stockLal.innerHTML ] );
        var imgIndex = 1;
        for (var v = 0; v < valueArray.length; v++)
        {
            if ( valueArray[v] == imgValue )
                imgIndex = v;
        }
        stockImage.src = stockImgArray[ imgIndex ];
        stockImage.title = stockTitleArray[ imgIndex ];
    }
}

//Stock Image
function displayStockImage2(prefix, count, valueArray, imgArray, titleArray)
{   
    valueArray = valueArray.split("@");
    stockImgArray = imgArray.split("@");
    stockTitleArray = titleArray.split("@");
     
    for (var index = 0; index < count; index++)
    {
        if (index < 10)
            index = '0' + index;
        var stockImage = document.getElementById( prefix + 'ctl' + index + '_indicator');
        var stockLal = document.getElementById( prefix + 'ctl' + index + '_stockLbl');
        
        if(stockLal && stockImage)
        {
            var imgValue = stockLal.innerHTML;
            var current = (stockImage.style.display == 'none') ? 'block' : 'none';        
            stockImage.style.display = current;
            
            //alert( stockImgArray[ stockLal.innerHTML ] );
            var imgIndex = 1;
            for (var v = 0; v < valueArray.length; v++)
            {
                if ( valueArray[v] == imgValue )
                    imgIndex = v;
            }
            stockImage.src = stockImgArray[ imgIndex ];
            stockImage.title = stockTitleArray[ imgIndex ];
        }
    }
}

function setFocus( name )
{
	document.getElementById( name ).focus();
}

function confirm_Message( message )
{
	if ( confirm( message ) == true )
		return true;
	else
		return false;
}

/*
    Convert String to number
    Used: FormatStringNumber( string obj )
*/
function FormatStringNumber( val )
{
    val = val.replace('$', '');
    val = val.replace(',', '');
    return val;
}

/*
    Convert String to Currency
    Used: FormatCurrency( string obj, 1 )
*/
function GetDecimalDelimiter(nCountryCode)
{
    var sRet='';
    switch (nCountryCode)
    {
        case 3:  
           sRet = '#';
           break;            
        case 2:
           sRet = ',';
           break;
        default:
           sRet = '.';
           break;
    }
    return sRet;
}

function GetCommaDelimiter(nCountryCode)
{
    var sRet='';
    switch (nCountryCode)
    {           
        case 3:     
           sRet = '*';
           break;
        case 2:   
           sRet = ',';
           break;
        default:
           sRet = ',';
           break;
    }
    return sRet;

}

function FormatClean(num)
{
    var sVal='';
    var nVal = num.length;
    var sChar='';     
    try
    {
        for(u=0;u<nVal;u++)
        {
             sChar = num.charAt(u);
             nChar = sChar.charCodeAt(0);
             if ((nChar >=48) && (nChar <=57))
                sVal += num.charAt(u);
        }
    }
    catch (exception) 
    { 
        AlertError("Format Clean",e); 
    }
    return sVal;
} 

function FormatCurrency( num, nCountryCode )
{
    var sVal='';
    var minus='';
    var Decimal='';
    Decimal = GetDecimalDelimiter(nCountryCode);
    if (num.lastIndexOf("-") == 0) 
    { 
        minus='-'; 
    }
    if (num.lastIndexOf(Decimal) < 0) 
    { 
        num = num + '00'; 
    }
    num = FormatClean(num);
    sVal = minus + FormatDollar(num,GetCommaDelimiter(nCountryCode)) + GetDecimalDelimiter(nCountryCode) + FormatCents(num); 
    return "$" + sVal;
}

function FormatNumber(num,nCountryCode)
{       
    var sVal='';
    var minus='';
    var CommaDelimiter='';
    try 
    {
       CommaDelimiter = GetCommaDelimiter(nCountryCode);

       if (num.lastIndexOf("-") == 0) 
       { 
            minus='-';
       }

       num = FormatClean(num);
       num = parseInt(num);
       var samount = new String(num);
         
       for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
       {
         samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
       }
    }
    catch (exception) 
    { 
        AlertError("Format Number",e); 
    }
    return minus + samount;
}

function FormatCents(amount)
{
    var cents = '';
    try
    {
        amount = parseInt(amount);
        var samount = new String(amount);

        if (samount.length == 0) { return '00'; }
        if (samount.length == 1) { return '0' + samount; }
        if (samount.length == 2) { return samount; }

        cents =  samount.substring(samount.length -2,samount.length);      
    }
    catch (exception) { AlertError("Format Cents",e); }
    return cents;
}

function FormatDollar(amount,CommaDelimiter)
{
    try 
    {
        amount = parseInt(amount);
        var samount = new String(amount);

        if (samount.length < 3) { return 0; }  

        samount =  samount.substring(0,samount.length -2);
             
        for (var a = 0; a < Math.floor((samount.length-(1+i))/3); a++)
        {
         samount = samount.substring(0,samount.length-(4*a+3)) + CommaDelimiter + samount.substring(samount.length-(4*a+3));
        }
    }
    catch (exception) { AlertError("Format Comma",e); }
    return samount;
}

function displayOnlyTable(table)
{	
	if (document.layers)
	{
		current = (document.layers[ table ].display == 'none') ? 'block' : 'none';
		document.layers[table].display = current;		
	}
	else if (document.all)
	{
		current = (document.all[ table ].style.display == 'none') ? 'block' : 'none';
		document.all[table].style.display = current;
	}
	else if (document.getElementById)
	{
		vista = (document.getElementById( table ).style.display == 'none') ? 'block' : 'none';
		document.getElementById( table ).style.display = vista;
	}
}

function hideTable(table)
{	
	if (document.layers)
	{
		document.layers[table].display = 'none';		
	}
	else if (document.all)
	{
		document.all[table].style.display = 'none';
	}
	else if (document.getElementById)
	{
		document.getElementById( table ).style.display = 'none';
	}
}

function openNewWindows( url, name )
{
	newwindow = window.open(url, name, "height=500,width=200");
	//if (window.focus) 
	//{
	    //newwindow.focus()
	//}
	//alert(url);
}

