//<script>

function tackTicket(){

  ticket.tackticket();
  return false;
}

function TicketClass(divName,storeid,locationid,zipcodes,servername,customerid){  
  this.addoptionstoticket=addoptionstoticket;
  this.additem=additem;
  this.removeitem=removeitem;
  this.tackticket=tackticket;
  this.show=showticket;
  this.dragStart=dragStart;
  this.showdata=showdata;
  this.divName=divName;
  this.dragGo=dragGo;
  this.dragStop=dragStop;
  this.checkout=checkout;
  this.highlight=highlight;
  this.storeid=storeid;
  this.locationid=locationid;
  this.servername=servername;
  this.customerid=customerid;
  this.zipcodes=zipcodes;
  this.cancelopt=cancelopt;
  var currItemRef;
  var items
  var TT;
  var divRef;
  var divContent;
  var divTotal;
  var tempContent;

  function cancelopt(){
    var divRef=document.getElementById('OptDiv');
    divRef.style.display='none';
    
  }

  function writeln(line){
    tempContent=tempContent+line;
  }
  function clearticket(){
    tempContent='';
  }
  
  function highlight(i,onflag){
    var el=document.getElementById('item_'+i);
    if(onflag==1){
      el.style.backgroundColor='yellow';
    } else {
      el.style.backgroundColor='';
    }
  }
  function updateticket(){
    var i=0;
    clearticket();
    writeln('<table border=0 cellspacing=0 cellpadding=0 style="width:180px">')
    writeln('<tr><td style="height:14px" class=ticketlist bgcolor=steelblue width=160 colspan=2>Item</td><td width=40 bgcolor=steelblue class=ticketlist>Price</td></tr>');
    var total=0;

    for( i=0;i<items.length;i++){    
      writeln('<tr style="cursor:pointer" id=item_'+i+' onClick=ticket.removeitem('+i+') onMouseOver=ticket.highlight('+i+',1) onMouseOut=ticket.highlight('+i+',0)>');
      writeln('<td class=ticketlist valign=top>&middot;</td>');
      writeln('<td class=ticketlist valign=bottom style="width:160px">'+items[i][0]+'</td>');
      writeln('<td class=ticketlist valign=bottom align=right>$'+items[i][1].toFixed(2)+'</td>');
      total=total+items[i][1];
      writeln('</tr>'); 
    }
    writeln('</table>');    
    divTotal.innerHTML='$'+total.toFixed(2);
    divContent.innerHTML=tempContent;
  }

  function checkout(){
    var t=''
    for(i=0;i<items.length;i++){
      t=t+'[1]';
      for(k=0;k<items[i].length;k++){
        t=t+'[2]'+items[i][k];
      }
    }
    document.forms['ticketForm'].zipcodes.value=zipcodes;
    document.forms['ticketForm'].servername.value=servername;
    document.forms['ticketForm'].customerid.value=customerid;
    document.forms['ticketForm'].storeid.value=storeid;
    document.forms['ticketForm'].locationid.value=locationid;
    document.forms['ticketForm'].ticketdata.value=t;
    document.forms['ticketForm'].inset.value=inset;
    document.forms['ticketForm'].submit();
  }
  
  function findgrouplist(id){
    for(var i=0;i<Groups.length;i++){
      if (Groups[i][0]==id){
        return Groups[i][1]
      }
    }
    return false;
  }
  
  function finditem(itemid){
    for(var i=0;i<MenuItems.length;i++){
      if(MenuItems[i][0]==itemid) return MenuItems[i][1];
    }
    return false;
  }
  
  function selectfromgroups(oArr){
    var groupid=oArr[1];
    var count=oArr[2];
    var cost=oArr[4];
    var grouplist=findgrouplist(groupid);
    if(!grouplist) return false;
    var optData='';
    optdrop='';
    if(count>0){
      for(var i=count;i>-1;i--){
        if(i==0){var s='selected'}
        optdrop=optdrop+'<option '+s+' value="'+i+'">'+i+'</option>';
      }    
      if(grouplist){
        gItems=grouplist.split(',');
        for(var i=1;i<gItems.length;i++){
          var OptItem=finditem(gItems[i]);        
          if(OptItem){
//            optData=optData + '<table cellpadding=0 cellspacing=0 border=0><tr><td style="width:12px" valign=top><input type=text readonly size="1" class=optiontextbox value=0 name="i_'+OptItem+'"></td><td valign=top style="width:8px"><img src=images/ud_arrows.gif height=14px width=8px></td><td>&nbsp;'+OptItem+'</td></tr></table>';          
           optData=optData + '<table cellpadding=0 cellspacing=0 border=0><tr><td><select style="font-size:10px" name="i_'+OptItem+'">'+optdrop+'</select></td><td>'+OptItem+'</td></tr></table>';          
          }
        }
      }
    } else {
      if(grouplist){
        gItems=grouplist.split(',');
        for(var i=1;i<gItems.length;i++){
          var OptItem=finditem(gItems[i]);        
          if(OptItem){
            optData=optData+'<input type=checkbox name="i_'+gItems[i]+'_'+cost+'">'+OptItem+'<br>';
          }
        }
      }
    }
    optData='<center><b>'+oArr[3]+'</b><br>--</center>'+optData
    if(count>0) 
      if(oArr[3]!='prompt'){
        return optData
      }else{
        return 'You must choose '+count+' of the following items.  You may choose more than one of an item so long as you do not excede '+count+'.<br>'+optData;
      }
    else return optData;
  }
  
  function selectfromcustom(oArr){
    var Opts=oArr[1];
    if(oArr.length>2){
      var Prompt=oArr[2];
    } else {
      var Prompt='Select ';
    }
  }
    
  function selectfromselect(oArr){
    Opts=oArr[1];
    var Prompt=oArr[2];
    Opts=Opts.split(',');
    var c=''
    for(var x=0;x<Opts.length;x++){
      c=c+'<option value="'+Opts[x]+'">'+Opts[x]+'</option>'
    }
    return Prompt+' <select name="'+Prompt+'" class=optdrop>'+c+'</select>';
  }

  function getoptions(ItemRef){
    var Opts=MenuItems[ItemRef][3]
    if(Opts=='') return false
    var OptDiv=document.getElementById('OptDiv');    
    if(!OptDiv) return false;    
    var OptContent=document.getElementById('OptContent');
    var OptLines=Opts.split('|')
    var content='';
    var colcolor='white';
    for (var i=0;i<OptLines.length;i++){
      var oArr=OptLines[i].split(':');
      var gContent='';
      switch (oArr[0]){
        case 'g':
          if (oArr.length>=3) {
            gContent=selectfromgroups(oArr);
          }
          break
        case 's':
            gContent=selectfromselect(oArr);
          break
        default:
      }
   
      if(gContent){
        if(colcolor=='azure'){
          colcolor='white'
        } else {
          colcolor='azure'
        }
        content=content+'<td style="background-color:'+colcolor+'" valign=top width=150px><img src=images/clearpixel.gif width=150 height=1px><br>'+gContent+'</td>';
      }
    }
    if(content!=''){
      currItemRef=ItemRef;
      OptContent.innerHTML='<form id=optForm><table border=0><tr><td>'+content+'</td></tr></table></form>';
//      OptContent.innerHTML='<table border=0><form id=optForm><tr>'+content+'</tr></form></table><img src=images/continue.gif onClick="ticket.addoptionstoticket('+ItemRef+')" style="cursor:pointer">';
      OptDiv.style.display='block';
      return true;
    } else {
      return false;
    }
  }
  function IndexStrPrice(IndexStr,ListStr){
    IndexStr=IndexStr.replace(/"/,"&quot;")
    var ListArr=ListStr.split('|');
    for (var x=0;x<ListArr.length;x++){
      var v=ListArr[x].split('=');       
      if(v[0]==IndexStr) return Number(v[1]);
    }
    return 0  
  }
  function addticketinfo(ItemRef,IndexStr){
    var id=items.length;
    items[id]=new Array(3);
    if(IndexStr){           
      items[id][1]=IndexStrPrice(IndexStr,MenuItems[ItemRef][2]); //price
      items[id][0]=MenuItems[ItemRef][1]+'<br>&nbsp;&nbsp;&nbsp;('+IndexStr+')' //title
    }else{
      items[id][0]=MenuItems[ItemRef][1]; //title
      items[id][1]=MenuItems[ItemRef][2]; //price
    }
    items[id][2]=MenuItems[ItemRef][0]; //itemid
    items[id][3]=MenuItems[ItemRef][3];
    return id;
  }
  function additem(ItemRef,IndexStr){
    if(MenuItems[ItemRef][2]<=0){
      alert('This item cannot be purchased separately');
      return false
    }
    if(getoptions(ItemRef)) return false;
    showticket();    
    addticketinfo(ItemRef,IndexStr);
    updateticket();
  }
  
  function addoptionstoticket(){
    var ItemRef=currItemRef;
    elems=document.getElementById('optForm').elements;
    var id=addticketinfo(ItemRef);
    items[id][0]=items[id][0]+'<ul style="margin-left:10px;margin-top:0;">'
    for(var x=0;x<elems.length;x++){
      var name=elems[x].name;
      var etype=elems[x].type;
      switch(etype){
        case 'checkbox':
          if(elems[x].checked){
            p=name.split('_');
            items[id][0]=items[id][0]+'<li style="font-size:10px">'+finditem(p[1])+'</li>';        
            var cost=parseFloat(p[2]);
            items[id][1]=items[id][1]+cost;
          }
          break;
        case 'select-one':
          if(name.indexOf('i_')!=0){
          items[id][0]=items[id][0]+name+': '+elems[x].value+'<br>';
          } else {
            if(elems[x].value>0){
              name=name.substr(2);
              items[id][0]=items[id][0]+elems[x].value+' '+name+'<br>';
            }
          }
          break;
      }
    }
    items[id][0]=items[id][0]+'</ul>'
    updateticket();
    showticket();    
    cancelopt();
  }
  
  function removeitem(i){
    for(x=i+1;x<items.length;x++){
      items[x-1]=items[x];
    }
    items.length=items.length-1;
    updateticket();  
  }

  function getoffsetTop(el){
    var itemRef=el;
    var iHeight=0;
    while (itemRef.tagName!="BODY" && itemRef.tagName!="HTML"){
      iHeight+=itemRef.offsetTop;
      itemRef=itemRef.offsetParent;
    }
//iHeight=(IE5)?iHeight:iHeight;
    return  iHeight;
  } 
  function getoffsetLeft(itemRef){
    var iLeft=0;
    while (itemRef.tagName!="BODY" && itemRef.tagName!="HTML"){
      iLeft+=itemRef.offsetLeft;
      itemRef=itemRef.offsetParent;
    }
  //iHeight=(IE5)?iHeight:iHeight;
    return  iLeft;
  } 


  function tackticket(){
    var el
    //alert('ok');
  }
  
  function showticket(){
    if (browser.isIE){
      divRef.style.display='block';
//      divRef.style.top=getoffsetTop(divRef);
//      divRef.style.left=getoffsetLeft(divRef);
    }else{
//      divRef.style.position='fixed';
      divRef.style.display='block';
    }
  }
  
  function showdata(){      
  }
  
  function initTicket(){
//    divRef=document.getElementById('LoadingDiv');
    //divRef.style.display='none';
    window.clearInterval(initTimer);
    document.body.innerHTML=document.body.innerHTML+'<form name=ticketForm method=post action='+SecureURL+'><input type=hidden name=action value=checkout><input type=hidden name=ticketdata><input type=hidden name=storeid><input type=hidden name=locationid><input type=hidden name=zipcodes><input type=hidden name=servername><input type=hidden name=customerid><input type=hidden name=inset></form>';
    var pos='fixed';
    if(browser.isIE && browser.version=='6') pos='absolute'; 
    document.body.innerHTML=document.body.innerHTML+'<div id=OptDiv style="position:'+pos+';background-color:white;display:none;width=300px;height:300px;left:10px;top:40px"><table style="width:300px;height:300px;background-color:white" cellpadding=0 cellspacing=0 border=0><tr class=ticketheader><td><span class=ticketheader>Item Options</span></td><td align=right><a href="javascript:void 0" onClick="ticket.cancelopt()"><img src=images/x.gif border=0></a></td></tr><tr><td colspan=2 valign=top><div id=OptContent style="overflow:auto;height:266px;width:700px"></div></td></tr><tr class=ticketheader><td align=right colspan=2><img src=images/continue.gif onClick="ticket.addoptionstoticket()" style="cursor:pointer"></td></tr></table></div>'
    divRef=document.getElementById(divName);
    divRef.style.left=browser.Width-240+'px';
//    divRef.style.left=getoffsetLeft(divRef)+'px';
//    divRef.style.top=getoffsetTop(divRef)+'px';
    divRef.innerHTML='<div onMouseDown="dragStart(event,\''+divName+'\')" id='+divName+'_Header style="cursor:pointer;" class=ticketheader><table cellpadding=0 cellspacing=0 border=0 width=100%><tr><td align=left><span class=ticketheader>Ticket</span></td><td align=right><div onClick=tackTicket() class=ticketheader><img src=images/clearpixel.gif width=17 height=11></a></td></tr></table></div><div class=ticketcontent style="width:100%;height:100%;overflow:auto" id='+divName+'_Content></div><table cellpadding=0 cellspacing=0 border=0 style="width:100%"><tr bgcolor=steelblue><td><img onClick="ticket.checkout()" style="cursor:pointer" src=images/checkout.gif width=77 height=11></td><td align=right width=63px>Total:</td><td align=right><div id='+divName+'_Total>$0.00</div><td><td width=20px></td></tr></table>';
    divContent=document.getElementById(divName+'_Content');
    divTotal=document.getElementById(divName+'_Total');
  }
  //var TT='<div id='+divName+' style="border-color:black;border-width:1;border-style:solid;background-color:#e2f8f7;position:absolute;width:300;height:400;top:1;left:1;display:none">Ticket</div>';
  var initTimer=window.setInterval(initTicket,500);
  items=new Array()
}


//var initTimer=window.setInterval('test()',100);



