/************************************************************************************************************
(C) www.dhtmlgoodies.com, March 2006

This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	

Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.

Version:
	1.0	Released	March. 3rd 2006

Thank you!

www.dhtmlgoodies.com
Alf Magne Kalleland

************************************************************************************************************/


var url_addProductToBasket = 'frm_update_menu.aspx';
var ajaxObjects = new Array();
var total=0;
var scheme_array = new Array();
/*------------------------View product Image --------------------------*/
var url;
     var img_div;
     var prod_img;
    url = window.location.host;
/* ============================================================================== */
    
   
function shoppingCart_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}
/* ============================================================================== */

function shoppingCart_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}

    function ShowImagepopup(img_path,rest_id,this_id)
    {
    var me;
    if(img_path != '' && img_path != 'no_img.gif')
    {
           if(!img_div){
    var img_div = document.createElement("DIV");
    
    img_div.id = "image_popup";
    }
    img_div.style.display = "inline";
   img_div.style.position = 'absolute';
    me = document.getElementById(this_id);
   
   img_div.style.width = 200;
   img_div.style.height = 200;
 
     img_div.style.top = shoppingCart_getTopPos(me)-40; //screen.height-400
     img_div.style.left = shoppingCart_getLeftPos(me) + 80; //screen.width - 400
     if(!prod_img){
     prod_img = document.createElement("IMG");
    prod_img.id = "Prod_img";
    }
    prod_img.style.height = "100px";
    prod_img.style.width= "100px";
    prod_img.src = "http://" + url + "/Images/Rest_img/" + rest_id + "/product_img/" + img_path;
    
   img_div.appendChild(prod_img);
    document.body.appendChild(img_div);
    }
   } 
    function HideImagepopup()
    {
    if (document.getElementById("image_popup"))
    {
    var img_div1 = document.getElementById("image_popup");
    document.body.removeChild(img_div1);
    }
 }

    



/*=======================================================================================*/

function ajaxEditShopCart(productId,subprodid,qty,operation)
{


	var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	
	
	if (operation=='ADD')
	{
	
	ajaxObjects[ajaxIndex].requestFile = url_addProductToBasket + '?OP=A&productId=' + productId + '&producttypeID=' + subprodid + '&qty=' + qty;	// Saving product in this file
	ajaxObjects[ajaxIndex].onCompletion = function(){ CheckAddStatus(); }; //function(){ showAjaxBasketContent(ajaxIndex); };	// Specify function that will be executed after file has been found
	}
	else if (operation=='DELETE')
	{
	ajaxObjects[ajaxIndex].requestFile = url_addProductToBasket + '?OP=D&productId=' + productId + '&producttypeID=' + subprodid	// Saving product in this file
	ajaxObjects[ajaxIndex].onCompletion = function(){ }; //function(){ showAjaxBasketContent(ajaxIndex); };	// Specify function that will be executed after file has been found
	}
	else if (operation=='SELECT')
	{
	ajaxObjects[ajaxIndex].requestFile = url_addProductToBasket + '?OP=S';	// Saving product in this file
	ajaxObjects[ajaxIndex].onCompletion = function(){ showBasketContent() }; //function(){ showAjaxBasketContent(ajaxIndex); };	// Specify function that will be executed after file has been found
	}
else if (operation=='TableBook')
	{

	ajaxObjects[ajaxIndex].requestFile =  'frm_Tablebooking_complete.aspx?Tbook_refid=' + productId;	// Saving product in this file
	
	ajaxObjects[ajaxIndex].onCompletion = function(){ table_booking_complete() };
	}
	else if (operation=='Transaction')
	{

	ajaxObjects[ajaxIndex].requestFile =  'frm_update_transaction.aspx?Trans_id=' + productId;	// Saving product in this file
	
	ajaxObjects[ajaxIndex].onCompletion = function(){ update_transaction_status() }; //function(){ showAjaxBasketContent(ajaxIndex); };	// Specify function that will be executed after file has been found
	}
	ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function		
}

/* ============================================================================== */

function table_booking_complete()
{
   

   var response_text = ajaxObjects[0].response;

    var response = response_text.split('$$$');
    response_text = response[1];
   

   
    if (response_text)
    {
      
     if(response_text.indexOf("Complete")!=-1)
      {
        
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
          
           if(response_text=='SMSComplete')
           {
           lbl_message.innerText="Your order has been sent to the restaurant through SMS & EMAIL.";
           }
           else if(response_text=='FAXComplete') 
           {
           lbl_message.innerText="Your order has been sent to the restaurant through FAX & EMAIL.";
           }
           else if(response_text=='WAPComplete') 
           {
           lbl_message.innerText="Your order has been sent to the restaurant through WAP & EMAIL.";
           }
           else if(response_text=='EMAILComplete') 
           {
           lbl_message.innerText="Your order has been sent to the restaurant through EMAIL.";
           }
           else
           {
           lbl_message.innerText="Your order has been sent to the restaurant.";
           }
           lblstatus.innerText="You may ";
        
      }
      else if(response_text.indexOf("Failed")!=-1) 
      {
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
           
           if(response_text=='SMSFailed')
           {
           lbl_message.innerText="Your order has been failed to sent through SMS.";
           }
           else if(response_text=='FAXFailed') 
           {
           lbl_message.innerText="Your order has been failed to sent through FAX.";
           }
           else if(response_text=='EMAILFailed') 
           {
           lbl_message.innerText="Your order has been failed to sent through EMAIL.";
           }
           else if(response_text=='WAPFailed') 
           {
           lbl_message.innerText="Your order has been failed to sent through WAP.";
           }
           lblstatus.innerText="Please ";
    
      }
      else if(response_text.indexOf("Rejected")!=-1) 
      {
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
           
           if(response_text=='WAPRejected')
           {
           lbl_message.innerText="Your order has been rejected by restaurant.";
           }
           lblstatus.innerText="Please ";
      }
      else if(response_text.indexOf("Pending")!=-1) 
      {
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
           
           if(response_text=='WAPPending')
           {
           lbl_message.innerText="Your order has been kept pending  by restaurant.";
           }
           lblstatus.innerText="Please ";
      }
      else if(response_text=='Processed') 
      {
      //alert('already been processed');
      }
      else
      {
            var img_progress,lbl_message;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           
           img_progress.style.display="none";
           lbl_message.innerText="Failed to send your table booking information.";
           lblstatus.innerText="Please ";
      }
    }  
}


/* ============================================================================== */

function update_transaction_status()
{
   

   var response_text = ajaxObjects[0].response;
    
    var response = response_text.split('$$$');
    response_text = response[1];
   

   
    if (response_text)
    {
      
     if(response_text.indexOf("Complete")!=-1)
      {
        
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
          
           if(response_text=='SMSComplete')
           {
           lbl_message.innerText="Your order has been sent to restaurant through SMS & EMAIL.";
           }
           else if(response_text=='FAXComplete') 
           {
           lbl_message.innerText="Your order has been sent to restaurant through FAX & EMAIL.";
           }
           else if(response_text=='WAPComplete') 
           {
           lbl_message.innerText="Your order has been sent to restaurant through WAP & EMAIL.";
           }
           else if(response_text=='EMAILComplete') 
           {
           lbl_message.innerText="Your order has been sent to restaurant through EMAIL.";
           }
           else
           {
           lbl_message.innerText="Your order has been sent to restaurant .";
           }
           lblstatus.innerText="You may ";
        
      }
      else if(response_text.indexOf("Failed")!=-1) 
      {
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
           
           if(response_text=='SMSFailed')
           {
           lbl_message.innerText="Your order has been failed to sent through SMS.";
           }
           else if(response_text=='FAXFailed') 
           {
           lbl_message.innerText="Your order has been failed to sent through FAX.";
           }
           else if(response_text=='EMAILFailed') 
           {
           lbl_message.innerText="Your order has been failed to sent through EMAIL.";
           }
            else if(response_text=='WAPFailed') 
           {
           lbl_message.innerText="Your order has been failed to sent through WAP.";
           }
           lblstatus.innerText="Please ";
    
      }
      else if(response_text.indexOf("Rejected")!=-1) 
      {
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
           
           if(response_text=='WAPRejected')
           {
           lbl_message.innerText="Your order has been rejected by restaurant.";
           }
           lblstatus.innerText="Please ";
      }
      else if(response_text.indexOf("Pending")!=-1) 
      {
           var img_progress,lbl_message,lblstatus;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           img_progress.style.display="none";
           
           if(response_text=='WAPPending')
           {
           lbl_message.innerText="Your order has been kept pending  by restaurant.";
           }
           lblstatus.innerText="Please ";
      }
      else if(response_text=='Processed') 
      {
      //alert('already been processed');
      }
      else
      {
            var img_progress,lbl_message;
           img_progress= document.getElementById('img_progress');
           lbl_message=document.getElementById('lbl_message');
           lblstatus=document.getElementById('lblstatus');
           
           img_progress.style.display="none";
           lbl_message.innerText="Your order has been failed to send.";
           lblstatus.innerText="Please ";
      }
    }  
}
/* ============================================================================== */

//function Closethread()
//{
//    
//    if(!img_progress){
//    var img_progress = document.getElementById('Image1');}

//    var response_text = ajaxObjects[0].response;
//   
//    
//    var response = response_text.split('$$$');
//    response_text = response[1];

//    //alert(response_text);
//    if (response_text)
//    {
//      
//     if(response_text=='Complete')
//        {
//        //alert('complete');
//            img_progress.src='../images/add_to_cart.gif';
//        }
//        else if(response_text=='NonComplete')
//        {
//        //alert('error in execution');
//        
//        }
//        else
//        {
//        //alert('error');
//        
//            ajaxEditShopCart('','','','Thread');
//        }

//    }

//}








/* ============================================================================== */

function CheckAddStatus()
{
  var response_text = ajaxObjects[0].response;
   
    
    var response = response_text.split('$$$');
 
    response_text = response[1];



    if (response_text)
    {
        if(response_text=='ADMIN')
        {
        //alert("Please login as user.");
        }
        else if (response_text=='SESSION')
        {
        alert("Your session has bee expired, Please refresh the page.");
        
        }
        
        }
}


/* ============================================================================== */

function showBasketContent()
{

if(!shop_cart){
var shop_cart = document.getElementById('shopping_cart_bucket');}

var response_text = ajaxObjects[0].response;

var response = response_text.split('$$$');
response_text = response[1];

if (response_text)
{
   if(response_text=='ADMIN')
        {
        alert("Please login as user");
        }
        else if (response_text=='SESSION')
        {
        alert("Your session has been expired, Please refresh the page.");
        
        }
else if(response_text!='success' && response_text!='error')
{
response = response_text.split('&&&');
var row_count = response[0];
response_text = response[1];
response = response_text.split('#');

var i,row_text,row_elements,row,col

for(i=0;i<row_count;i++)
{
row_text = response[i];
row_elements = row_text.split('|||');
row = document.createElement('<tr>');
row.id = "rw" + row_elements[0] + '$' + row_elements[1];

col = document.createElement('<td width="20%" valign="top" align="center">');
col.id="qty" + row_elements[0] + row_elements[1];
col.innerHTML =  row_elements[2] ;

row.appendChild(col);

col = document.createElement('<td width="40%" valign="top" align="left" >');
col.innerHTML =  row_elements[3];
row.appendChild(col);

col = document.createElement('<td width="30%" valign="top" align="center">');
col.id="price" + row_elements[0] + row_elements[1];

var perProdPrice =  parseFloat(row_elements[4]) * parseInt(row_elements[2]);
perProdPrice=perProdPrice.toFixed(2);

col.innerHTML ='&pound;' + perProdPrice;
row.appendChild(col);

total = parseFloat(total) + (parseFloat(row_elements[4]) * parseFloat(row_elements[2]));
total = total.toFixed(2);
col = document.createElement('<td width="10%" valign="top" align="center">');
var str = "<A href='' onclick='javascript:menu_item_remove(rw" + row_elements[0] + "$" + row_elements[1] + ");return false;'><Img src='../images/delete_icon.gif' border=0 /></A> ";
col.innerHTML =str;
row.appendChild(col);
shop_cart.appendChild(row);
}
CalculateTotal();
}
}
}
/* ============================================================================== */

function CalculateTotal()
{
	
if(!shop_cart){
var shop_cart = document.getElementById('shopping_cart_bucket');}
var i,row_text,row_elements,row,col


if(total > 0)
{
if(document.getElementById('rwTotalBreak'))
{
var total_rowBk=document.getElementById('rwTotalBreak');

  shop_cart.removeChild(total_rowBk);

}


row = document.createElement('<tr>');
row.id = "rwTotalBreak";

col = document.createElement('<td colspan=4 valign="top" align="center" height=1 bgcolor="black" >');
row.appendChild(col);


shop_cart.appendChild(row);

if(document.getElementById('rwTotal'))
{
var total_row=document.getElementById('rwTotal');
  shop_cart.removeChild(total_row);
}


row = document.createElement('<tr>');
row.id = "rwTotal";

col = document.createElement('<td colspan=2 valign="top" align="center">');
col.id="TotalPrice";
col.innerHTML = "<b>Subtotal</b>";

row.appendChild(col);

col = document.createElement('<td colspan=2 valign="top" align="center">');
col.innerHTML = "<b>&pound;" + total + "</b>";
row.appendChild(col);

shop_cart.appendChild(row);
}
else
{
if(document.getElementById('rwTotalBreak'))
{
var total_rowBk=document.getElementById('rwTotalBreak');
  shop_cart.removeChild(total_rowBk);
}

if(document.getElementById('rwTotal'))
{
var total_row=document.getElementById('rwTotal');
  shop_cart.removeChild(total_row);
}

}


/*           Discount        */
var Cal_disc = CalculateDiscount();
return_val = Cal_disc.split("$");
var order_count = Ordinal(return_val[1]);
var Discountvalue = return_val[0];
if (parseFloat(Discountvalue) > 0)
{
Discountvalue = parseFloat(Discountvalue).toFixed(2);
var DiscountTotal = parseFloat(total) - parseFloat(Discountvalue);
}
else
{
var DiscountTotal = 0;
}

if(DiscountTotal > 0)
{

if(document.getElementById('rwDiscountValue'))
{
var Disctotalval_row=document.getElementById('rwDiscountValue');
  shop_cart.removeChild(Disctotalval_row);
}


row = document.createElement('<tr>');
row.id = "rwDiscountValue";

col = document.createElement('<td colspan=2 valign="top" align="center" >');
col.id="DiscountPrice";
col.innerHTML = "" + order_count +" Order Discount";

row.appendChild(col);

col = document.createElement('<td colspan=2 valign="top" align="center" >');
col.innerHTML = "<b>-&pound; " + Discountvalue + "</b>";
row.appendChild(col);

shop_cart.appendChild(row);


DiscountTotal = DiscountTotal.toFixed(2);

if(document.getElementById('rwDiscountBreak'))
{
var Disctotal_rowBk=document.getElementById('rwDiscountBreak');
  shop_cart.removeChild(Disctotal_rowBk);
}


row = document.createElement('<tr>');
row.id = "rwDiscountBreak";

col = document.createElement('<td colspan=4 valign="top" align="center" height=1 bgcolor="black" >');
row.appendChild(col);

shop_cart.appendChild(row);


if(document.getElementById('rwDiscountTotal'))
{
var Disctotal_row=document.getElementById('rwDiscountTotal');
  shop_cart.removeChild(Disctotal_row);
}


row = document.createElement('<tr>');
row.id = "rwDiscountTotal";

col = document.createElement('<td colspan=2 valign="top" align="center" >');
col.id="DiscountPrice";
col.innerHTML = "After Discount Total";

row.appendChild(col);

col = document.createElement('<td colspan=2 valign="top" align="center" >');
col.innerHTML = "<b>&pound;" + DiscountTotal + "</b>";
row.appendChild(col);

shop_cart.appendChild(row);

}
else
{

if(document.getElementById('rwDiscountValue'))
{
var Disctotalval_row=document.getElementById('rwDiscountValue');
  shop_cart.removeChild(Disctotalval_row);
}

if(document.getElementById('rwDiscountBreak'))
{
var Disctotal_rowBk=document.getElementById('rwDiscountBreak');
  shop_cart.removeChild(Disctotal_rowBk);
}
if(document.getElementById('rwDiscountTotal'))
{
var Disctotal_row=document.getElementById('rwDiscountTotal');
  shop_cart.removeChild(Disctotal_row);
}
}
}



/*================================================================================ */
function isNumber(valChk)
/* ============================================================================== */
{     
       	var matchArray = /^(\d{1,12})?$/;
     if(valChk.match(matchArray) == null)  
     {
        return false;             
     }
     return true;
}
/*================================================================================ */

function menu_item_remove(row_id)
{
if(!shop_cart){
var shop_cart = document.getElementById('shopping_cart_bucket');}
var remove_row = document.getElementById(row_id.id);
var str = row_id.id;
var subprod_id = str.split("$")
var prod_id = subprod_id[0].split("rw")

var pricetd =  document.getElementById('price' + prod_id[1] + subprod_id[1]);
var qtytd = document.getElementById('qty' + prod_id[1] + subprod_id[1]);
var price = pricetd.innerHTML;
var qty = qtytd.innerHTML;

total = parseFloat(total) - (parseFloat(price.substring(1,price.length)))// * parseFloat(qty))
total = total.toFixed(2);
shop_cart.removeChild(remove_row);

CalculateTotal();

ajaxEditShopCart(prod_id[1],subprod_id[1],'','DELETE')
}
/*================================================================================ */


function call_ajax(prod_id,prod_name,subprod_id,price,txtqty_id)
{

if(!shop_cart){
var shop_cart = document.getElementById('shopping_cart_bucket');}



var txtqty = document.getElementById(txtqty_id);

if(isNumber(txtqty.value) && txtqty.value > 0)
{
var row
var col




if (!document.getElementById("rw" + prod_id + '$' + subprod_id))
{

row = document.createElement('<tr>');
row.id = "rw" + prod_id + '$' + subprod_id;

col = document.createElement('<td width="20%" valign="top" align="center">');
col.id="qty" + prod_id + subprod_id;
col.innerHTML = txtqty.value;


row.appendChild(col);

col = document.createElement('<td width="40%" valign="top" align="left">');
while( prod_name.search("&lsquot;") != -1 )
   prod_name = prod_name.replace("&lsquot;", "'");

col.innerHTML = prod_name;

row.appendChild(col);

col = document.createElement('<td width="30%" valign="top" align="center">');
col.id="price" + prod_id + subprod_id;
var perProdPrice =  parseFloat(price.substring(1,price.length)) * parseInt(txtqty.value);
perProdPrice=perProdPrice.toFixed(2);
col.innerHTML = "&pound;" + perProdPrice;

row.appendChild(col);



total = parseFloat(total)  + (parseFloat(price.substring(1,price.length)) * parseFloat(txtqty.value));

total = total.toFixed(2);


col = document.createElement('<td width="10%" valign="top" align="center">');
var str = "<A href='' onclick='javascript:menu_item_remove(rw" + prod_id + "$" + subprod_id + ");return false;'><Img src='../images/delete_icon.gif' border=0 /></A> ";
col.innerHTML =str;
row.appendChild(col);
shop_cart.appendChild(row);
}
else
{

col = document.getElementById("qty" + prod_id + subprod_id);
var totalqTY = parseInt(col.innerHTML) + parseInt(txtqty.value);

col.innerHTML = parseInt(col.innerHTML) + parseInt(txtqty.value);

col = document.getElementById("price" + prod_id + subprod_id);
var perProdPrice =  parseFloat(price.substring(1,price.length)) * parseInt(totalqTY);
perProdPrice=perProdPrice.toFixed(2);
col.innerHTML = "&pound;" + perProdPrice;

total = parseFloat(total) + (parseFloat(price.substring(1,price.length)) * parseFloat(txtqty.value));

total = total.toFixed(2);

}

CalculateTotal();

ajaxEditShopCart(prod_id,subprod_id,txtqty.value,'ADD');

}
//isnumber complete


}




/*-----------------------------SCroll Bucket---------------------------*/

// ----------------------------------------

// Detectind user browser

// ----------------------------------------

var Nav = navigator, Ag = Nav.userAgent;

var bIE = (Ag.indexOf('MSIE') >= 0), bMacIE = false;

var bNC = (navigator.appName == "Netscape");

var bOpera = (Ag.indexOf('Opera') >= 0);

var nVer = 0, sTmp = "";

if (bIE) {

            sTmp = Ag.substring(Ag.indexOf("MSIE") + 5, Ag.length);

            nVer = Math.floor (sTmp.substring(0, sTmp.indexOf(";")));

            if (nVer >= 4 && !document.all)

                        nVer = 0;

            if (Ag.indexOf("Mac") >= 0)

                        bMacIE = true;

}

if (bNC)

            nVer = Math.floor (Nav.appVersion.substring (0, Nav.appVersion.indexOf (" ") ) );

 

bDynamic = (document.all || document.layers) ? true : false;

            

// ----------------------------------------

// Menu moving functions

// ----------------------------------------

nMenuYPos = 260;

nYDelta = 25;

nPrevScrollPos = 0;

function Spy () {
var bucket = document.getElementById("floatingmenu");
var menu_card = document.getElementById("menu_card");
var left_pos = shoppingCart_getLeftPos(menu_card);
bucket.style.left =  left_pos + 570;
bucket.style.position = 'absolute';
    if (bNC && nVer >= 4) {

                        if (window.pageYOffset < nMenuYPos - nYDelta)

                                    nNeededPos = nMenuYPos;

                        else      

                                    nNeededPos = window.pageYOffset + nYDelta;

                        nCurrentPos = document.layers["floatingmenu"].top;
                        if (nNeededPos == nCurrentPos)
                                    return;

                        nCurrentPos += Math.round ( (nNeededPos - nCurrentPos) / 4);
                        document.layers["floatingmenu"].top = nCurrentPos;
            }
            if (bIE && nVer >= 4 && !bMacIE) {
                     
            if (document.documentElement)
            {
                        if (document.documentElement.scrollTop < nMenuYPos - nYDelta)
                                    nNeededPos = nMenuYPos;
                        else
                                    nNeededPos = document.documentElement.scrollTop + nYDelta;
             }
             else
             {
             
             if (document.body.scrollTop < nMenuYPos - nYDelta)
                                    nNeededPos = nMenuYPos;
                        else
                                    nNeededPos = document.body.scrollTop + nYDelta;
             }                       
             
                        nCurrentPos = document.all["floatingmenu"].offsetTop;
                        if (nNeededPos == nCurrentPos)
                                    return;
                        nDelta = (nNeededPos - nCurrentPos) / 6;

                        if (nDelta > 0 && nDelta < 0.5)
                                    nCurrentPos += nNeededPos - nCurrentPos;
                        else
                                    if (nDelta < 0 && nDelta >= -0.5)
                                                nCurrentPos --;
                                    else
                                                nCurrentPos += Math.round (nDelta);
                        pnt = document.all ["floatingmenu"].style;
                        pnt.top = nCurrentPos;
            }
}

function ScriptStart () {
    if (bNC && nVer >= 4)
                        setInterval ("Spy ()", 20);
            if (bIE && nVer >= 4 && !bMacIE)
                        setInterval("Spy ()", 20);
}

bScriptLoaded = true;

//--------------------------------------------------------------------------------------
//This js function is to display the schemes of the restaurant on th mouseover on the rest_listing page 
//--------------------------------------------------------------------------------------


   function ShowScheme(index,this_id)
    {
    if(!img_div){
    var img_div = document.createElement("DIV");
    
    img_div.id = "image_popup";

    img_div.style.display = "inline";
    img_div.style.position = 'absolute';
    me = document.getElementById(this_id);
   
    img_div.style.width = 200;
    img_div.style.height = 200;
 
    img_div.style.top = shoppingCart_getTopPos(me)-40; //screen.height-400
    img_div.style.left = shoppingCart_getLeftPos(me) + 80; //screen.width - 400
     
    img_div.innerHTML = scheme_array[index];
      
    document.body.appendChild(img_div);
    }
   } 
   
    function HideScheme()
    {
    if (document.getElementById("image_popup"))
    {
    var img_div1 = document.getElementById("image_popup");
    document.body.removeChild(img_div1);
    }
    }
    
    
    
    function Ordinal(m)
    {
    return (m + ["th","st","nd","rd"][(!(((m=m%10) >3) ||  (Math.floor(m%100/10)==1)))*m]);
    } 
   