//This File Contains Java Script & AJAX Functions to be Used in Ticket Search Pages

//First Section-AJAX Functions Begins Here
var xmlHttp
var MyCtrl;


function fun_Hide_ShowDivs(divId,divId1)   // Only for /English/Ticket_Listing_AJAXFile.asp
{
    document.getElementById(divId).style.display = "inline";
    document.getElementById(divId1).style.display = "none";
}

function ItmeID(id,txtNumeric_id) //Submit Central Package Item Details(AddToCart_Pkg.asp)
{ 
  document.getElementById("pkgcom_"+txtNumeric_id).pkg_id.value=id;
  document.getElementById("pkgcom_"+txtNumeric_id).submit();
}

//Attraction Tabs
function Hide_AttDetails(Ctrl)
{   javascript:MM_showHideLayers('DivToDispTicketDetails','','hide');
    javascript:MM_showHideLayers('MyCalendar','','hide');
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
    
    if (Ctrl=="") 
    {   return;
    }
   
    MyCtrl=Ctrl;
    document.getElementById(MyCtrl).innerHTML="";
}

function Show_AttDetails(Cat_Id,Ctrl,SQLFilterCondition)
{   
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
    document.getElementById("SelectedCategory").value=Cat_Id;
    ReturnURL=document.getElementById('Tkt_ReturnURL').value;
    Hide_AttDetails(Ctrl);
    
    if (Cat_Id==""||Ctrl=="") 
    {   return;
    }
    
    document.getElementById(Ctrl).innerHTML="";
    //if (Cat_Id=="Sightseeing")
    //{
         document.getElementById(Ctrl).innerHTML="<br><br><br><center><font color=red size=2>Please be patient, our  options are currently loading</font></center>";
    //}  
    
    var url="/English/Ticket_Listing_AJAXFile.asp";
    url=url+"?Cat_Id="+Cat_Id;
    url=url+"&SQLFilterCondition="+SQLFilterCondition;
    url=url+"&ReturnURL="+ReturnURL;
    //alert(url);

    MyCtrl=Ctrl;
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}
//**Attraction Tabs





function showNames(str1,str2,SpanToDispTktDetails,Item_Numeric_Id1,RtnPkg,Item_Status)
{  
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
   
    //Category
    Cat_Id=document.getElementById('SelectedCategory').value;
    ReturnURL=document.getElementById('Tkt_ReturnURL').value;
    
   
    var url="/English/Ticket_Search.asp";
    url=url+"?SelShow="+str1;
    url=url+"&SelDate="+str2;
    url=url+"&Item_Numeric_Id="+Item_Numeric_Id1;
    url=url+"&RtnPkg="+RtnPkg;
    url=url+"&Item_Status="+"Attraction";
    url=url+"&Cat_Id="+Cat_Id;
    url=url+"&ReturnURL="+ReturnURL;
   

    SpanToDispTktDetails='SelectedTicketDetails_'+Item_Numeric_Id1;
    MyCtrl=SpanToDispTktDetails;

    xmlHttp.onreadystatechange=stateChanged;

    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
} 



function showEventNames(scode,sdt,SpanToDispTktDetails,Item_Numeric_Id1,Item_Status,Prop_id,pkg_code)
{  
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
   
    //Category
    var Cat_Id,ReturnURL,Item_Status;
    Item_Status='Event';
    //Cat_Id=document.getElementById('SelectedCategory').value;
    //ReturnURL=document.getElementById('Tkt_ReturnURL').value;
    var AttractionId=document.getElementById('AttractionId').value;
    
    var url="/English/Ticket_Search.asp";
    url=url+"?Prop_id="+Prop_id;
    url=url+"&pkg_code="+pkg_code;
    url=url+"&Tk_Code="+scode;
    url=url+"&arr_date="+sdt;
    url=url+"&txtNumeric_id="+Item_Numeric_Id1;
    url=url+"&Item_Status="+Item_Status;
    url=url+"&Cat_Id="+Cat_Id;
    url=url+"&ReturnURL="+ReturnURL;
    url=url+"&Attraction_Id="+AttractionId;

    SpanToDispTktDetails='SelectedTicketDetails_Event_'+Item_Numeric_Id1+Prop_id;
    MyCtrl=SpanToDispTktDetails;

    xmlHttp.onreadystatechange=stateChanged;

    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
} 


function CreateCalendar(MSearching,cdt,CtrlSpan,Mov,SpanTKT,Item_Code,Item_Count)
{   javascript:MM_showHideLayers('MyCalendar','','show');
    
    if(Mov=="MoveCalendar")
    {    
        moveIt(MyCalendar,document.frmTkt.MouseY.value,document.frmTkt.MouseX.value);   //First Time Only
    }    
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
    
    if (cdt=='') //Setting First Available Date. First Time Only
    {  txtFirstAvailDate='txtAvailDate'+ Item_Count;
       cdt=document.getElementById(txtFirstAvailDate).value;
       document.getElementById(CtrlSpan).innerHTML='';
    }
    
    
    //Type of the Ticket. (Central Att or Prop Att
    txtItem_Status='txtItem_Status_'+ Item_Count;
    Item_Status=document.getElementById(txtItem_Status).value;
    
    
    DDl='SelectedItemCode'+ Item_Count;
    Item_Code=document.getElementById(DDl).value;
    if(Item_Code=="")
    {  javascript:MM_showHideLayers('MyCalendar','','hide');
       alert ("Please select your show.");
       return;
    }
    //document.getElementById(CtrlSpan).innerHTML='';
    
    
    if (Item_Status==''||Item_Code=='')
    {  return;
    }
    
    var url="/English/Ticket_Event_Calendar.asp";
    url=url+"?chdate="+cdt;
    url=url+"&SpanTkt="+SpanTKT;
    url=url+"&Item_Code="+Item_Code;
    url=url+"&Item_Count="+Item_Count;
    url=url+"&Item_Status="+Item_Status;
    url=url+"&MSearching="+MSearching;


    MyCtrl=CtrlSpan;
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function CreateCalendarEvents(Prp_Id,cdt,CtrlSpan,Mov,SpanTKT,Item_Code,Item_Count)
{   javascript:MM_showHideLayers('MyCalendar','','show');
    
    if(Mov=="MoveCalendar")
    {    
        moveIt(MyCalendar,document.frmTkt.MouseY.value,document.frmTkt.MouseX.value);   //First Time Only
    }    
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
    
    if (cdt=='') //Setting First Available Date. First Time Only
    {  txtFirstAvailDate='txtAvailDateEvent_'+ Item_Count+Prp_Id;
       cdt=document.getElementById(txtFirstAvailDate).value;
       document.getElementById(CtrlSpan).innerHTML='';
    }
    
    
    //Type of the Ticket. (Central Att or Prop Att)
    //txtItem_Status='txtItem_Status_Event_'+ Item_Count+Prp_Id;
    //Item_Status=document.getElementById(txtItem_Status).value;
    var Item_Status='Event';
    
     //Event's Property.
    txtPropID='txtPropID_Event_'+ Item_Count+Prp_Id;
    Eve_Prop_Id=document.getElementById(txtPropID).value;
    
    //Package Code
    txtPkgCode='txtPkgCode_Event_'+ Item_Count+Prp_Id;
    Pkg_Code=document.getElementById(txtPkgCode).value;
    
    
    DDl='SelectedItemCode_Event_'+ Item_Count+Prp_Id;
    Item_Code=document.getElementById(DDl).value;
    if(Item_Code=="")
    {  javascript:MM_showHideLayers('MyCalendar','','hide');
       alert ("Please select your show.");
       return;
    }
    //document.getElementById(CtrlSpan).innerHTML='';
    
    
    if (Item_Status==''||Item_Code==''||Eve_Prop_Id==''||Pkg_Code=='')
    {  return;
    }
    
    
    var url="/English/Ticket_Event_Calendar.asp";
    url=url+"?chdate="+cdt;
    url=url+"&SpanTkt="+SpanTKT;
    url=url+"&Item_Code="+Item_Code;
    url=url+"&Item_Count="+Item_Count;
    url=url+"&Item_Status=Event";
    url=url+"&Eve_Prop_Id="+Eve_Prop_Id;
    url=url+"&Pkg_Code="+Pkg_Code;

    MyCtrl=CtrlSpan;
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function AJAXfunViewTktDes(ItmCode)
{   javascript:MM_showHideLayers('DivToDispTicketDetails','','show');
    moveIt(DivToDispTicketDetails,document.frmTkt.MouseY.value,document.frmTkt.MouseX.value);  
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
    document.getElementById("SpanToDispTicketDetails").innerHTML='';
    var url="/English/Ticket_Details.asp";
    url=url+"?Item_Code="+ItmCode;
   
    MyCtrl="SpanToDispTicketDetails";
   
    xmlHttp.onreadystatechange=stateChanged;

    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function AJAXfunViewEventDes(ItmCode,Property_id,Rm_Code,Pkg_Code)
{   javascript:MM_showHideLayers('DivToDispTicketDetails','','show');
    moveIt(DivToDispTicketDetails,document.frmTkt.MouseY.value,document.frmTkt.MouseX.value);  
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
    document.getElementById("SpanToDispTicketDetails").innerHTML='';
    var url="/English/Ticket_Details.asp";
    url=url+"?Item_Code="+ItmCode;
    url=url+"&TktType=Event";
    url=url+"&Property_id="+Property_id;
    url=url+"&Rm_Code="+Rm_Code;
    url=url+"&Pkg_Code="+Pkg_Code;
   
    MyCtrl="SpanToDispTicketDetails";
   
    xmlHttp.onreadystatechange=stateChanged;

    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}
function Display_EveContent(EventProperty_id,Cat_Id)
{  
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) 
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
   
    if(EventProperty_id=='')
    {
      return;
    }  
   
    var url="/English/Ticket_Event_Packages.asp";
    url=url+"?EventProperty_id="+EventProperty_id;
    url=url+"&Cat_Id="+Cat_Id;

    MyCtrl='EveProp_'+EventProperty_id;
    //document.getElementById(MyCtrl).innerHTML='';

    xmlHttp.onreadystatechange=stateChanged;

    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}
function stateChanged() 
{ 
    //The readyState property holds the status of the server's response.Each time the readyState changes, the onreadystatechange function will be executed.
    //0 The request is not initialized 
    //1 The request has been set up 
    //2 The request has been sent 
    //3 The request is in process 
    //4 The request is complete 
    if (xmlHttp.readyState==4)
    { 
        //The data sent back from the server can be retrieved with the responseText property.
        document.getElementById(MyCtrl).innerHTML=xmlHttp.responseText;
        //document.getElementById("Ser_Result").innerHTML="";
    }
}

//AJAx  Object
function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
        // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
  }
return xmlHttp;
}
//-AJAX Functions Ends Here
//********************************************************************************************//





//Second Section-Javascript Functions Begins Here

function MM_showHideLayers()
  {  //v9.0
    var i,p,v,obj,args=MM_showHideLayers.arguments;
    for (i=0; i<(args.length-2); i+=3) 
       with (document) 
    if (getElementById && ((obj=getElementById(args[i]))!=null)) 
    { 
      v=args[i+2];
      if (obj.style) 
      { 
        obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; 
      }
      obj.visibility=v;
    }
}
  


var IE = document.all?true:false;             // (Ticket_Listing_AJAXFile.asp)
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) 
{
   if (IE) 
   { 
      tempX = event.clientX + document.body.scrollLeft;
      tempY = event.clientY + document.body.scrollTop;
   }
   else 
   {  
      tempX = e.pageX;
      tempY = e.pageY;
   }  
   if (tempX < 0){tempX = 0;}
   if (tempY < 0){tempY = 0;}  
   document.frmTkt.MouseX.value = tempX;
   document.frmTkt.MouseY.value = tempY;

   return true;
}


function moveIt(obj, mvTop, mvLeft)  //Fun Call In Ticket_EventSearch.js (Ticket_Listing_AJAXFile.asp)
{
	obj.style.position = "absolute";
	obj.style.top = mvTop;
	obj.style.left = mvLeft;
}

function ShowSel(sdt,scode,SpanToDispTktDetails,Item_Numeric_Id1,Item_Status)   //Fun Call In Ticket_Event_Calendar.asp (Ticket_Listing_AJAXFile.asp)
{  
    document.ShowCal.SelDate.value=sdt;
    document.ShowCal.SelShow.value=scode;    
    document.ShowCal.Item_Numeric_Id.value=Item_Numeric_Id1;

    showNames(scode,sdt,SpanToDispTktDetails,Item_Numeric_Id1,Item_Status);
    MM_showHideLayers('MyCalendar','','hide');
}

function ShowSelEvent(sdt,scode,SpanToDispTktDetails,Item_Numeric_Id1,Item_Status,Prop_id,pkg_code)   //Fun Call In Ticket_Event_Calendar.asp (Ticket_Listing_AJAXFile.asp)
{  
    document.ShowCal.SelDate.value=sdt;
    document.ShowCal.SelShow.value=scode;    
    document.ShowCal.Item_Numeric_Id.value=Item_Numeric_Id1;
    
    showEventNames(scode,sdt,SpanToDispTktDetails,Item_Numeric_Id1,Item_Status,Prop_id,pkg_code)
    MM_showHideLayers('MyCalendar','','hide');
}


function HideCalendar()  //Ticket_Listing_AJAXFile.asp
{
   MM_showHideLayers('MyCalendar','','hide');
}
function ShowCalendar()  //Ticket_Listing_AJAXFile.asp
{
   MM_showHideLayers('MyCalendar','','show');
}
function ShowDetailsOnCalendar(Prp_Id,cdt,CtrlSpan,Mov,SpanTKT,Item_Code,Item_Count)
{
    DDl='SelectedItemCode'+ Item_Count;
    Item_Code=document.getElementById(DDl).value;
    if(Item_Code!="")
        CreateCalendar(Prp_Id,cdt,CtrlSpan,Mov,SpanTKT,Item_Code,Item_Count);
    else
        MM_showHideLayers('MyCalendar','','hide');
  
}
function ShowEveDetailsOnCalendar(Prp_Id,cdt,CtrlSpan,Mov,SpanTKT,Item_Code,Item_Count)
{
    DDl='SelectedItemCode_Event_'+ Item_Count+Prp_Id;
    Item_Code=document.getElementById(DDl).value;
    if(Item_Code!="")
        CreateCalendarEvents(Prp_Id,cdt,CtrlSpan,Mov,SpanTKT,Item_Code,Item_Count);
    else
        MM_showHideLayers('MyCalendar','','hide');
  
}