    //var quotime=30;
    var paymentService="/services/payment";
	
	function adv_date_check(date) { 
	    var now=new Date();
	    if(date>=now.stripTime())return true;
	    else return false;
	}
	
	function _onBuildDay(day){
	    var now=new Date(info.systemTime);
	    var minDate=new Date(now.getFullYear(),now.getMonth(),now.getDate()+advOrder.minLeadTime);
	    var maxDate=new Date(now.getFullYear(),now.getMonth(),now.getDate()+advOrder.maxLeadTime);
	    
	    if( stripTime(day)>=stripTime(minDate) && stripTime(day)<=stripTime(maxDate))return true;
	    else false;
	    
	    
	}
	
	function _onDayClick(day){
	    var now=new Date(info.systemTime);
	    var minDate=new Date(now.getFullYear(),now.getMonth(),now.getDate()+advOrder.minLeadTime);
	    var maxDate=new Date(now.getFullYear(),now.getMonth(),now.getDate()+advOrder.maxLeadTime);
	    if( stripTime(day)>=stripTime(now) && stripTime(day)<=stripTime(maxDate))return true;
	    else false;
	    
	}
	
	
	
	function updateCalendar(date){
	    
	    updateSelection(date);
	}
	
	function updateSelection(date){
	    var now = new Date(info.systemTime);
	    var startTime=advOrder.startTime.substring(0,2);
	    var endTime=advOrder.endTime.substring(0,2);
	    var startMin=now.getMinutes();
	    var isToday=false;
	    //alert('Check point1');
	    
	    var hSel=$('adv_h');
	    var mSel=$('adv_m');
	    hSel.options.length=0;
	    mSel.options.length=0;
	    if (stripTime(date) == stripTime(now)) {
	        if ((parseInt(now.getHours())+parseInt(advOrder.minLeadHour))>=startTime) 
	        {
	            startTime = parseInt(now.getHours()) + parseInt(advOrder.minLeadHour);
	        }
	        
	         //startTime=now.getHours();
	        writeDebug("Advanced Order Start time: "+startTime);
	        isToday=true;
	        
	        for(var i=0;i<60;i+=advOrder.interval){
	            //if(isToday && i<now.getMinutes())continue;
	            //writeDebug("Advance Order Minute Interval: "+i);
	            var s=i<10?"0"+i:i+"";
	            //writeDebug("Advance Order Minutes: "+s);
	            mSel.options.add(new Option(s,s));
	        }

	        if (parseInt(mSel.options[mSel.options.length - 1].value) <= parseInt(now.getMinutes())
	            && ((parseInt(now.getHours()) + parseInt(advOrder.minLeadHour)) >= startTime)) {
	            startTime = parseInt(startTime) + 1;
	         }
	        
	        for(var i=startTime;i<=endTime;i++){
	            var s = i < 10 ? "0" + i : i + "";
	            hSel.options.add(new Option(s,s));
	        }
	        
	        if(parseInt(now.getHours()) + parseInt(advOrder.minLeadHour) == startTime)
	        {
                for(var i=0;i<mSel.options.length;i++){
                    if(parseInt(mSel.options[i].value) >  parseInt(now.getMinutes()))
                    {
                        mSel.options[i].selected = true;
                        break;
                    }
                }       
	        }
	        //alert($('adv_h').options[0].value)
	        
	        /*for(var i=0;i<60;i+=advOrder.interval){
	            //if(isToday && i<now.getMinutes())continue;
	            writeDebug("Advance Order Minute Interval: "+i);
	            var s=i<10?"0"+i:i+"";
	            writeDebug("Advance Order Minutes: "+s);
	            //if (startMin <  i ) mSel.options.add(new Option(s,s));
	            if ((60-i)==advOrder.interval){
	                if (startMin > i) startTime+=1;
	                }
	        }*/
	    }    
	    else{
	    
	        for(var i=startTime;i<=endTime;i++){
	            var s=i<10?"0"+i:i+"";
	            hSel.options.add(new Option(s,s));
	        }
	    
	        for(var i=0;i<60;i+=advOrder.interval){
	            //if(isToday && i<now.getMinutes())continue;
	            writeDebug("Advance Order Minute Interval: "+i);
	            var s=i<10?"0"+i:i+"";
	            writeDebug("Advance Order Minutes: "+s);
	            mSel.options.add(new Option(s,s));
	        }
	    
	    }
	    
	    
	    if(hSel.options.length==0)hSel.options.add(new Option("00","00"));
	    if(mSel.options.length==0)mSel.options.add(new Option("00","00"));
	}
	
	var mainCalObj;
	function advInit(){
	    try{
	        mainCalObj= new scal('adv_cal',updateCalendar ,{year:info.systemTime.getFullYear(),month:info.systemTime.getMonth()+1,day:info.systemTime.getDate(),onBuildDay:_onBuildDay,onDayClick:_onDayClick});
	        updateSelection(new Date(info.systemTime));
	        //$('adv_tr').show();
	    }catch(e){
	    
	    }
	}
	
	function validate()
	{
	    var f=document.mainForm;
		f.adv_date_time.value=mainCalObj.dayselected.format("yyyy-mm-dd")+" "+f.adv_h.options[f.adv_h.selectedIndex].value+":"+f.adv_m.options[f.adv_m.selectedIndex].value;
		var now=new Date(info.systemTime); 
		var date=new Date(); 
		date.setFullYear(mainCalObj.dayselected.format("yyyy"),mainCalObj.dayselected.format("mm") - 1 ,mainCalObj.dayselected.format("dd"));
		if(stripTime(date) == stripTime(now))
		{
		    var d = new Date()
		    var t= d.getHours() * 60 + d.getMinutes();
		    var advT = f.adv_h.options[f.adv_h.selectedIndex].value * 60 + f.adv_m.options[f.adv_m.selectedIndex].value*1;
		    var advTime = f.adv_h.options[f.adv_h.selectedIndex].value + ':' + f.adv_m.options[f.adv_m.selectedIndex].value*1;
		    
		    if($("adv_h").value == "00" || advT - t <= advOrder.minLeadMin)
		    {
		        alert(label["order.js.errorMsg.advanceTime"]);
		        return false;
		    }else if( advTime > advOrder.endTime || advTime < advOrder.startTime)
		    {
		        alert(label["order.js.errorMsg.advance.servicetime"]);
		        return false;
		    }
		}
	    return true;
	}
	
	function submitForm()
	{
	    var r = false;
	   if(cart.items.length > 0 || expressCart.items.length > 0)
       {
            r=confirm(label["order.js.shoppingCart.clear.alert"]);
       }
       else
       {
            r=true;
       }
	   
       if (r==true)
        {
	        var  url=paymentService+".html";
	        var seed=Math.floor(Math.random()* 100000000);
	        if(!validate())return;
	        //var cartData="adv_date_time:"+qty+",adv_h:"++",adv_m:";
	        //callOrderService("advanceOrder",)
	        writeDebug("online advance call>action:advanceOrder");
	        var params= Object.extend(
	              { 
		            cartAction:"advanceOrder",
		            adv_date_time:$("adv_date_time").value,
		            adv_h:$("adv_h").value,
		            adv_m:$("adv_m").value
		          }
		        );
	        new Ajax.Request( url, {
		        onSuccess:function(transpot){
		            //var result = transpot.responseText.evalJSON();
		            //alert(transpot.responseText+"success");
		            //var result=('/*-secure-\n'+transpot.responseText+'\n*/').evalJSON();
		            //updateCart();
		            goHome("/"+info.lang+"/home.html");
		            //$('successMsg').update(label["order.js.advance.order.success"]+result.advanceTime);
		          },
		        onFailure:function(transpot){
			        //Dialog.closeInfo();
		            //alert(transpot.responseText+"fail");
			        writeDebug('order service error');
			        writeDebug(transpot.responseText);
		        },
		        method: 'post',
		        parameters: params
	        });
        }
        else
        {
        return;    
        }
	}
	
	function hideTopMenu()
	{
		//alert($('top_menu').innerHTML);
		$('main_menu').hide();
	}
	
	Event.observe(window, "load", hideTopMenu);
	Event.observe(window, "load", advInit);
	
