﻿//Ibtesam: JScript File added for PowerSearch function

var gSortOrder = "Ascending";
var gPageIndex = 0;
var gEventSelection = "";
var gLocSelection = "";
var gDaySelection = "";
var gTimeDaychk = "";
var gTimeEveningchk = "";
var gTimeSelection = "";
var gGameSelection = "";
var gCatSelection = "";
var gStartDate= "";
var gEndDate= "";
var gIsSport = "True";
var gStartDatetxt= "";
var gEndDatetxt= "";
//Commented Price and Qty filter
//var gPriceFromtxt = "";
//var gPriceTotxt = "";
//var gFromPrice= "";
//var gToPrice= "";
//var gQuantity= 0;
//var gQuantityddl= "";
//End Commented Price and Qty filter
var gHomeCity = "";
var gHomeEvents=""; 
var gAwayEvents=""; 
var gAllEvents=""; 
var gHomeEventschk=""; 
var gAwayEventschk="";
var gMaxDateValue = "";
var homeCheck = true;
var awayCheck = true;
var dayCheck = true;
var eveningCheck = true;
var HomeConst = "Home";
var AwayConst = "Away";
var AllConst = "All";
var AnyConst = "Any";
var AnyDayConst = "Any Day";
var EveningConst = "Evening";
var DayConst = "Day";
var firstCheck = false;
var startTime = "";
var latencyPeriod = 3000;
var wsFilter = null;
var gIsHitboxEnabled = "False";
var gOmnitureData='';

var _IS_CHROME = (navigator.userAgent && (navigator.userAgent.toLowerCase().indexOf("chrome") != -1 ));
var _IS_SAFARI = (navigator.userAgent && navigator.vendor && (navigator.userAgent.toLowerCase().indexOf("applewebkit") != -1 || navigator.vendor.indexOf("Apple") != -1));

function GetFlyoutsDetail(perfid,bkrid,spanid,sellbyPriceLevel,venueName,date,performanceName)
{   
    if(sellbyPriceLevel=='undefined' || sellbyPriceLevel === null)
        {sellbyPriceLevel = false;}
      
    document.getElementById('hideToopTipValue').value = "FALSE";       
    document.getElementById(spanid).innerHTML="Loading...   <img alt='' src='/gui/CST/images/indicator.gif' />";        
    TagToTip(spanid, BALLOON, true, ABOVE, true);      
    document.getElementById('hdnTooTipId').value = spanid;      
    getSeatBlocksForPerformances(perfid,bkrid,sellbyPriceLevel,venueName,'category',flashMapPath,date,performanceName); 
}    
        
function GetFlyoutsDetail_CallBack(response) 
{
    if(document.getElementById('hideToopTipValue').value == "TRUE")
    {
        UnTip();
    }
    else
    {
        document.getElementById(document.getElementById('hdnTooTipId').value).innerHTML = response;  

        if(_IS_CHROME || _IS_SAFARI)
        {
            window.setTimeout("LoadToolTip()",500);
        }    
        else      
            {TagToTip(document.getElementById('hdnTooTipId').value, BALLOON, true, ABOVE, true,FOLLOWMOUSE, false,SHADOW, true, SHADOWCOLOR, '#dd99aa');}
    }            
}       

function LoadToolTip()
{
    TagToTip(document.getElementById('hdnTooTipId').value, BALLOON, true, ABOVE, true,FOLLOWMOUSE, false,SHADOW, true, SHADOWCOLOR, '#dd99aa');
}        

function HideFlyoutDetails()
{
    document.getElementById('hideToopTipValue').value = "TRUE";
    UnTip();
}

function HideFlyout(){tt_HideInit();}

function AddToDateSelection(id)
{     
    if(id.indexOf("Start")!=-1)
        {gStartDate =document.getElementById(id).value;}
    else
        {gEndDate=document.getElementById(id).value;}
    
    var ISVALID = ValidateData();
        
    if(ISVALID)  
    {        
        CheckFirstCheck();
    }   
}

function resetDateSelection()
{    
    gStartDate = eventFilter.StartDate;
    gEndDate = eventFilter.EndDate;
    
    if( document.getElementById(gStartDatetxt)!=null)
    {
       document.getElementById(gStartDatetxt).value = gStartDate;
    }

    if( document.getElementById(gEndDatetxt)!=null)
    {
          if(gEndDate == gMaxDateValue)
            {document.getElementById(gEndDatetxt).value = "End Date(optional)";}
          else
            {document.getElementById(gEndDatetxt).value = gEndDate;}
    }
}

// Commented Price and Qty filter
//function AddToPriceSelection(mxP,mnP)
//{    
//    if((gFromPrice != document.getElementById(mnP).value) || (gToPrice != document.getElementById(mxP).value))
//    {
//        gFromPrice =document.getElementById(mnP).value;       
//        gToPrice=document.getElementById(mxP).value; 
//    
//        var ISVALID = ValidateData();
//        
//        if(ISVALID)  
//        {        
//            CheckFirstCheck();
//        }
//    }
//}

//Commented Price and Qty filter
//function AddToPriceSelectionOnblur(id)
//{ 
//    var checkRepeat = false;
//    
//    if(id.indexOf("from")!=-1)
//    {
//        if(gFromPrice == document.getElementById(id).value)
//        {
//            checkRepeat = true;
//        }
//        else
//        {
//            gFromPrice =document.getElementById(id).value;
//        }
//    }
//    else
//    {
//        if(gToPrice == document.getElementById(id).value)
//        {
//            checkRepeat = true;
//        }
//        else
//        {
//            gToPrice =document.getElementById(id).value;
//        }
//    }
//   
//   if(checkRepeat == false)         
//   {
//        var ISVALID = ValidateData();
//        if(ISVALID)  
//        {
//            CheckFirstCheck(); 
//        }
//   }
//}

// Commented Price and Qty filter
//function ResetPrice()
//{
//   gFromPrice = eventFilter.PriceFrom ;
//   gToPrice = eventFilter.PriceTo;     
//}

// Commented Price and Qty filter
//function AddToQtySelection(id)
//{     
//    gQuantity =document.getElementById(id).value; 
//    var ISVALID = ValidateData();
//        
//    if(ISVALID)  
//    {        
//        CheckFirstCheck();
//    }       
//}

//Commented Price and Qty filter
//function resetQtyCombo()
//{
//    if(gQuantityddl.length>0)
//    {
//        if(document.getElementById(gQuantityddl)!=null)
//        {
//            document.getElementById(gQuantityddl).selectedIndex=0;
//        }
//    }
//    gQuantity=0;    
//}

//End : Commented Price and Qty filter
/* start: functions for event filter*/
function CreateGameDiv(gamestring,callWS)
{
    if(gamestring.length>0)
    {
        var eventsArray = gamestring.split(","); 
        var availableSelected = "";

        var result="<table width='115' cellspacing='0' cellpadding='0' border='0' style='white-space:normal;'>"; 
        
        if(gIsSport == "False")
        {
            result+="<tr><td width='20' valign='top' align='left'>";
            if(callWS == false)
                result+="<input type='checkbox' id='chkAny' checked='checked' eventname='Any'";
            else
                result+="<input type='checkbox' id='chkAny' eventname='Any'";
            result+=" onclick= 'CheckSelectedEvents(this.id);' /></td>" ;
            result+="<td width='95' valign='middle' align='left' class='eventList'>Any</td>";
            result+="</tr>"
        }
        
        for(i=0;i< eventsArray.length-1;i++) 
        { 
            var eventArray = eventsArray[i].split("|");
            var eventChecked = false;
            eventName = eventArray[0].replace(" ","");
            eventName = eventArray[0].replace("'", "")

            if(gEventSelection.indexOf(eventArray[0] + ',') != -1)
            {
                eventChecked = true;
                availableSelected = eventArray[0] + ',' + availableSelected ;
            }
            
            result+="<tr><td width='20' valign='top' align='left'>"
            if(eventChecked == true)
                {result+="<input type='checkbox' checked='checked' id='chk" + eventName + "' eventname='"+ eventArray[0]  +"'";}
            else
                {result+="<input type='checkbox' id='chk" + eventName + "' eventname='"+ eventArray[0]  +"'";}
            result+= " onclick= 'CheckSelectedEvents(this.id);' /></td>" ;
            result+="<td width='95' valign='middle' align='left' class='eventList'>"+ eventArray[0] ;
            result+="<span class='eventCountText'>(" + eventArray[1] + ")</span></td>"; 
            result+="</tr>"
        } 
        result+="</table>"; 
        document.getElementById("eventListDiv").innerHTML= result;
        gEventSelection = availableSelected;
       
    } 
    
    if(callWS == true)
    {
        var ISVALID = ValidateData();
        if(ISVALID)  
        {        
            CheckFirstCheck();
        }
    }
}

function GameSelected(id, checked)
{
    if(id.indexOf(HomeConst)!= -1)
        {homeCheck = checked;}
    if(id.indexOf(AwayConst)!= -1 ) 
        {awayCheck = checked;}
     
     //if both home and away checkbox are checked or both empty
    if((homeCheck == true && awayCheck == true) || (homeCheck == false && awayCheck == false))
    {
        gGameSelection = AllConst;
        if(gLocSelection == gHomeLocation+ ',')
            {checkAllLocationOnly();}
        CreateGameDiv(gAllEvents,true);
    }
    else if(homeCheck == true)       //if just home checkbox is checked
    {
        gGameSelection = HomeConst;
        CreateGameDiv(gHomeEvents,true);
        checkHomeLocationOnly();
    }
    else if(awayCheck == true)       //if just away checkbox is checked
    {
        gGameSelection = AwayConst; 
        CreateGameDiv(gAwayEvents,true);
    }
}

function getAwayGames(blnAway)
{
   if(blnAway)
        gGameSelection = AllConst;
    else
        gGameSelection = HomeConst;
     
   document.getElementById('dvNoPerformances').innerHTML = '';
   document.getElementById('dvNoPerformances').style.display = 'none';  
   //showLoading();     
   gPrevSortColumnName = gDefaultSortColumnName;
   gSortOrder = "Ascending";
   gPageIndex = 0;
   CallWebservice(); 
}

function CheckSelectedEvents(id)
{
    var e = document.getElementsByTagName('input');
    var objAnyEvent=""; 
    
    for (var i=0; i<e.length; i++)
    {
        if(e[i].type == 'checkbox' && e[i].getAttribute('eventname')!= null)
        {   
            if(id ==e[i].id)
            {
                var isItemsChecked = CheckforUncheckedEvent();
                if(isItemsChecked == false)
                {  
                  for (var j=0; j < e.length; j++)
                  {
                       if( e[j].type == 'checkbox' && (e[j].getAttribute('eventname')==AnyConst) )
                       {
                         e[j].checked=true;
                         break;
                       }                                
                  }
                } 
                
                if (e[i].getAttribute('eventname')==AnyConst)
                {   
                    if(e[i].checked == true)  
                    {  
                      objAnyEvent="selected";    
                      gEventSelection = "";              
                      CheckUncheckEventList(false);
                    }
                    else
                    {
                      if(e[i].checked == false)
                            e[i].checked = true;
                            break;
                    }
                } 
                
                if(e[i].getAttribute('eventname') !=AnyConst)
                {
                    //condition added for ajaxifying event filter
                    var eventname = e[i].getAttribute('eventname');
                    
                    if (gEventSelection.indexOf(eventname + ',')==-1 &&  e[i].checked)
                    {
                        gEventSelection = eventname + ',' + gEventSelection;
                        
                    }
                    else if(gEventSelection.indexOf(eventname + ',')!=-1 &&  !e[i].checked)
                    {
                        gEventSelection = gEventSelection.replace((eventname + ','), '');
                    }
                }
            }
            else if(objAnyEvent!="selected" && e[i].getAttribute('eventname') == AnyConst)
            {
                e[i].checked = false;
            }
        }
    }
    var ISVALID = ValidateData();
        
    if(ISVALID)  
    {        
        CheckFirstCheck();
    }  
    
}

function CheckforUncheckedEvent()
{
    var isAnyChecked = false;
      var e = document.getElementsByTagName('input');
      for (var i=0; i<e.length; i++)
      {
        if(e[i].type == 'checkbox' && e[i].getAttribute("eventname")!= null)
        {
          if(e[i].checked == true)
          {
           isAnyChecked = true;
          }
        }
      }
      return isAnyChecked;
}

function CheckUncheckEventList(status)
{
    var e = document.getElementsByTagName('input'); 
    var checked=false;
    for (var i=0; i<e.length; i++)
    {
      if(e[i].type == 'checkbox' && (e[i].getAttribute("eventname")!= null)&& (e[i].getAttribute('eventname')!=AnyConst))
      {
            e[i].checked = status;
      }
    }
}


/* end: functions for event filter*/
  function CheckFirstCheck()
  {
    if(firstCheck == false)
    {
        var isObjDuplicate = false;
        
        if( wsFilter!=null 
        && wsFilter.EventString == gEventSelection
        && wsFilter.LocationString == gLocSelection
        && wsFilter.DayString == gDaySelection
        && wsFilter.TimeSelection == gTimeSelection
//         Commented Price and Qty filter
//        && wsFilter.PriceFrom == gFromPrice
//        && wsFilter.PriceTo == gToPrice
//       && wsFilter.SelectedQty == gQuantity
// end : Commented Price and Qty filter
        && wsFilter.StartDate == gStartDate
        && wsFilter.EndDate == gEndDate
        && wsFilter.GameSelection == gGameSelection
        && wsFilter.CategoryString == gCatSelection)
            {isObjDuplicate= true;}
        
        if(!isObjDuplicate)
        {
            document.getElementById('dvNoPerformances').innerHTML = '';
            document.getElementById('dvNoPerformances').style.display = 'none';  
            showLoading();                              
            firstCheck = true;
            window.setTimeout("CheckTimer()",latencyPeriod);
        }
    }
    gOmnitureData="PowerSearch";
    if(gEventSelection!='')
        gOmnitureData+= "-"+"Events["+gEventSelection+"]";
    if(gLocSelection != '')
        gOmnitureData+= "-"+"Location["+gLocSelection+"]";
        
    if(gDaySelection != '')
        gOmnitureData+= "-"+"Day["+gDaySelection+"]";
        
     if(gTimeSelection != '')
        gOmnitureData+= "-"+"Time["+gTimeSelection+"]";
        
     if(gGameSelection != '')
        gOmnitureData+= "-"+"Game["+gGameSelection+"]";
 }
  
  function CheckTimer()
  { 
    gPrevSortColumnName = gDefaultSortColumnName;
    gSortOrder = "Ascending";
    gPageIndex = 0
    CallWebservice(); 
    firstCheck = false;
    //SetHitBox();
    SetOmnitureVariables();
  }
  
  
  
   /* For Location Selection*/
  
                         
    function ChecknUncheckLocation(id)
    {                     
	    var e = document.getElementsByTagName('input'); 
	    var checked=false;
	    var objAny="";
	    var isItemsChecked=false;

	    for (var i=0; i<e.length; i++)
	    {
	        if(e[i].type == 'checkbox' && e[i].getAttribute("city")!= null)
	        {                                   
	            if(id ==e[i].id)
	            {
			        //Check if atleast one checkbox is checked
			        isItemsChecked = chkforUnchkedLocations();      
			        
			        //If not then check "Any" checkbox
			        if(isItemsChecked == false)
				    {  
				        //This code is Executed only when we uncheck all checkboxes
				        for (var j=0; j<e.length; j++)
				        {
					        if( e[j].type=='checkbox' && (e[j].getAttribute('city')==AnyConst))
					        {
						        e[j].checked=true;
						        break;
					        } 
				        }
				    } 
    				
    									 
				    if (e[i].type=='checkbox' && (e[i].getAttribute('city')==AnyConst))
				    {   
					    //If any is checked then uncheck others		
					    if(e[i].checked == true)  
					    {  
						    objAny="selected";                  
						    UncheckAllLocation(false);
					    }
					    else
					    {
						    if(e[i].checked == false)
							    e[i].checked = true;
						    break;
					    }
				    } 


				    if(e[i].getAttribute('city')!=AnyConst)
				    {
					    //condition added for ajaxifying location filter
					    var locname = e[i].getAttribute('city')+'|'+ e[i].getAttribute('state');

					    if (gLocSelection.indexOf(locname + ',')==-1 &&  e[i].checked)
					    {
						    gLocSelection = locname + ',' + gLocSelection;
					    }
					    else if(gLocSelection.indexOf(locname + ',')!=-1 &&  !e[i].checked)
					    {
						    gLocSelection = gLocSelection.replace((locname + ','), '');
					    }

				    }
				    else if(e[i].getAttribute('city')==AnyConst)
				    {
					    //nullify all selections when clicked on ANY
					    gLocSelection= "";
				    } 
				    
				    if(e[i].getAttribute('ishome')!="True" && e[i].checked)
				    {
                        if(gHomeEventschk.length>0)
			            {
			                if( document.getElementById(gHomeEventschk)!=null && document.getElementById(gHomeEventschk).checked && !document.getElementById(gAwayEventschk).checked)
			                {
			                    document.getElementById(gAwayEventschk).click();
			                }
			            }
				    }                                           
			    }                         
			    else
			    {
				    if(objAny!="selected" && e[i].getAttribute('city')==AnyConst)
				    {
					    e[i].checked = false;
				    }
			    } 
		    }
	    }
     
	    var ISVALID = ValidateData();
	    if(ISVALID)  
	    {        
		    CheckFirstCheck();
	    }                           
    }         

    function chkforUnchkedLocations()
    {
        var isAnyChecked = false;
        var e = document.getElementsByTagName('input');
        for (var i=0; i<e.length; i++)
        {
            if(e[i].type == 'checkbox' && e[i].getAttribute("city")!= null)
            {
                if(e[i].checked == true)
                {
                    isAnyChecked = true;
                }
            }
        }
        return isAnyChecked;
    }

    function UncheckAllLocation(status)
    {
        var e = document.getElementsByTagName('input'); 
        var checked=false;
        for (var i=0; i<e.length; i++)
        {
            if(e[i].type == 'checkbox' && (e[i].getAttribute("city")!= null)&& (e[i].getAttribute('city')!=AnyConst))
            {
                e[i].checked = status;
            }            
        }
    }           

    function checkAllLocationOnly()
    {
        var e = document.getElementsByTagName('input'); 
        var checked=false;
        for (var i=0; i<e.length; i++)
        {
            if(e[i].type == 'checkbox' && (e[i].getAttribute("city")!= null))
            {
                if(e[i].getAttribute('city')==AnyConst)
                e[i].checked = true;
                else
                e[i].checked = false;
            } 
        }
        gLocSelection= "";
    }  

    function checkHomeLocationOnly()
    {
        var e = document.getElementsByTagName('input'); 
        var checked=false;
        for (var i=0; i<e.length; i++)
        {
            if(e[i].type == 'checkbox' && (e[i].getAttribute("city")!= null))
            {
                if(e[i].getAttribute('ishome')=="True")
                {
                    e[i].checked = true;
                    gLocSelection = e[i].getAttribute('city')+'|'+ e[i].getAttribute('state');
                }
                else
                e[i].checked = false;
            }  
        }
        gLocSelection= gHomeLocation + ',';
    }              

//    function CheckAnyLocation(id)
//    {
//        if(id== 'All Games')
//        {
//            checkAllLocationOnly();
//        }
//    } 
             
      /* End of Location Selection */
      
        /* For Category Selection*/                         
             function CheckUncheckCategory(id)
              {                     
                 var e = document.getElementsByTagName('input'); 
                 var checked=false;
                 var objAny="";
                  var isItemsChecked=false;
                 
                  for (var i=0; i<e.length; i++)
                  {
                    if(e[i].type == 'checkbox' && e[i].getAttribute("categoryname")!= null)
                    {                                   
                        if(id ==e[i].id)
                        {
                           isItemsChecked = chkforUnchkedCategory();      
                           if(isItemsChecked == false)
                           {  
                              for (var j=0; j<e.length; j++)
                                {
                               if( e[j].type=='checkbox' && (e[j].getAttribute('categoryname')==AnyConst))
                               {
                                 e[j].checked=true;
                                 break;
                               }                                
                              
                             }
                          } 
                                                                             
                            if (e[i].type=='checkbox' && (e[i].getAttribute('categoryname')==AnyConst))
                            {   
                              if(e[i].checked == true)  
                              {  
                                objAny="selected";                  
                                 UncheckAllCategory(false);
                              }
                               else
                               {
                                    if(e[i].checked == false)
                                        e[i].checked = true;
                                        break;
                                }
                            } 

			
	                        if(e[i].getAttribute('categoryname')!=AnyConst)
                            {
                                //condition added for ajaxifying location filter
                                 var catname = e[i].getAttribute('categoryname');
                                
                                if (gCatSelection.indexOf(catname + ',')==-1 &&  e[i].checked)
                                {
                                    gCatSelection = catname + ',' + gCatSelection;
                                    
                                }
                                else if(gCatSelection.indexOf(catname + ',')!=-1 &&  !e[i].checked)
                                {
                                    gCatSelection = gCatSelection.replace((catname + ','), '');
                                }
                                
                           }
                           else if(e[i].getAttribute('categoryname')==AnyConst)
                           {
                                //nullify all selections when clicked on ANY
                                gCatSelection= "";
                           }
                                                                                 
                     }                         
                    else
                    {
                      if(objAny!="selected" && e[i].getAttribute('categoryname')==AnyConst)
                      {
                        e[i].checked = false;
                      }
                    } 
                }
              }  
               var ISVALID = ValidateData();
        
                if(ISVALID)  
                {        
                    CheckFirstCheck();
                }                           
           }
           
           
    function chkforUnchkedCategory()
    {
        var isAnyChecked = false;
        var e = document.getElementsByTagName('input');
        for (var i=0; i<e.length; i++)
        {
            if(e[i].type == 'checkbox' && e[i].getAttribute("categoryname")!= null)
            {
                if(e[i].checked == true)
                {
                    isAnyChecked = true;
                }
            }
        }
        return isAnyChecked;
    }
              
    function UncheckAllCategory(status)
    {
        var e = document.getElementsByTagName('input'); 
        var checked=false;
        for (var i=0; i<e.length; i++)
        {
            if(e[i].type == 'checkbox' && (e[i].getAttribute("categoryname")!= null)&& (e[i].getAttribute('categoryname')!=AnyConst))
            {
                e[i].checked = status;
            }            
        }
    }           
              
    function checkAllCategoryOnly()
    {
        var e = document.getElementsByTagName('input');
        for (var i=0; i<e.length; i++)
        {
            if(e[i].type == 'checkbox' && (e[i].getAttribute("categoryname")!= null))
            {
                if(e[i].getAttribute('categoryname')==AnyConst)
                    e[i].checked = true;
                else
                    e[i].checked = false;
            }
        }
        gCatSelection= "";
    }              
              
      /* End of Category Selection */
   
  function CheckDaySelection(id)
  {   
     var e = document.getElementsByTagName('input'); 
     var checked=false;
     var objAnyDay="";
     var isItemsChecked=false;
     
    
     
      for (var i=0; i<e.length; i++)
      {
        if(e[i].type == 'checkbox' && e[i].getAttribute("weekday")!= null)
        {                                     
            if(id ==e[i].id)
            {
               isItemsChecked = CheckforUncheckedDay();      
               if(isItemsChecked == false)
               {  
                  for (var j=0; j<e.length; j++)
                    {
                   if( e[j].type=='checkbox' && (e[j].getAttribute('weekday')==AnyDayConst) )
                   {
                     e[j].checked=true;
                     break;
                   }                                
                  
                 }
              } 
                                                      
                if (e[i].type=='checkbox' && (e[i].getAttribute('weekday')==AnyDayConst))
                {   
                  if(e[i].checked == true)  
                  {  
                    objAnyDay="selected";                  
                     CheckUncheckDayList(false);
                  }
                   else
                   {
                        if(e[i].checked == false)
                            e[i].checked = true;
                            break;
                    }
                } 
                 
                if(e[i].getAttribute('weekday')!=AnyDayConst)
                {
                    //condition added for ajaxifying day of week filter
                     var dayofWeek = e[i].getAttribute('dayofWeek');
                    
                    if (gDaySelection.indexOf(dayofWeek + ',')==-1 &&  e[i].checked)
                    {
                        gDaySelection = dayofWeek + ',' + gDaySelection;
                        
                    }
                    else if(gDaySelection.indexOf(dayofWeek + ',')!=-1 &&  !e[i].checked)
                    {
                        gDaySelection = gDaySelection.replace((dayofWeek + ','), '');
                    }
                }
                else if(e[i].getAttribute('weekday')==AnyDayConst)
                {
                    //nullify day selection when any day is checked;
                    gDaySelection= "";
                }                                                                                
            } 
            
            else
            {
              if(objAnyDay!="selected" && e[i].getAttribute('weekday') == AnyDayConst)
              {
                e[i].checked = false;
              }
            } 
        }
      }  
      var ISVALID = ValidateData();        
        if(ISVALID)  
        {        
            CheckFirstCheck();
        } 
   } 
   
function CheckTimeSelected(id, checked)
{    
    if(id.indexOf(DayConst)!= -1)
        dayCheck = checked;
    if(id.indexOf(EveningConst)!= -1 ) 
        eveningCheck = checked;
    
    //if both evening and day checkbox are checked or both empty
    if((dayCheck == true && eveningCheck == true) || (dayCheck == false && eveningCheck == false))
        gTimeSelection = "";
    else if(dayCheck == true)       //if just day checkbox is checked
        gTimeSelection = DayConst;
    else if(eveningCheck == true)       //if just evening checkbox is checked
        gTimeSelection = EveningConst;
        
    var ISVALID = ValidateData();
        
    if(ISVALID)  
    {        
        CheckFirstCheck();
    }   
}

function checkAllTimeSelection()
{
    if(document.getElementById(gTimeDaychk)!=null)
    {
       document.getElementById(gTimeDaychk).checked = true;
    }
    if(document.getElementById(gTimeEveningchk)!=null)
    {
       document.getElementById(gTimeEveningchk).checked = true;
    }
    dayCheck = true;
    eveningCheck = true;
    gTimeSelection="";
}            


function FlipCheckItems(flipCheck,typeofGames)
{             
 var e = document.getElementsByTagName('input'); 
 
    for (var i=0; i<e.length; i++)
    {                         
     if(typeofGames == HomeGameConst)
     {
          if(e[i].type == 'checkbox' && e[i].getAttribute("eventname")== AllGameConst)                     
               e[i].checked = flipCheck;                                                       
      }
          else
          {
               if(typeofGames == AllGameConst)
               {
                   if(e[i].type == 'checkbox' && e[i].getAttribute("eventname")== HomeGameConst)  
                     e[i].checked = flipCheck;                                      
                    
               } 
          }
    }              
}

function CheckforUncheckedDay()
{
   var isAnyChecked = false;
      var e = document.getElementsByTagName('input');
      for (var i=0; i<e.length; i++)
      {
        if(e[i].type == 'checkbox' && e[i].getAttribute("weekday")!= null)
        {
          if(e[i].checked == true)
          {
           isAnyChecked = true;
          }
        }
      }
      return isAnyChecked;
 }  
 
  
  function CheckUncheckDayList(status)
  {
     var e = document.getElementsByTagName('input'); 
     var checked=false;
      for (var i=0; i<e.length; i++)
      {
      if(e[i].type == 'checkbox' && (e[i].getAttribute("weekday")!= null)&& (e[i].getAttribute('weekday')!=AnyDayConst))
        {
            e[i].checked = status;
        }
      
      
      }
  } 
  
function CheckAnyDayList()
{
    var e = document.getElementsByTagName('input'); 
    var checked=false;
    for (var i=0; i<e.length; i++)
    {
        if(e[i].type == 'checkbox' && (e[i].getAttribute("weekday")!= null))
        {
            if(e[i].getAttribute('weekday')!=AnyDayConst)
                e[i].checked = false;
            else
                e[i].checked = true;
        }
    }
     gDaySelection="";
} 
  
function DoSort(columnName)
{
    document.getElementById('dvNoPerformances').innerHTML = '';
    document.getElementById('dvNoPerformances').style.display = 'none';  
    //document.body.style.cursor = "wait";   
    if(gPrevSortColumnName == columnName)
    {
        if(gSortOrder == "Ascending" || gSortOrder == "")
        {
            gSortOrder = "Descending";
        }
        else if(gSortOrder == "Descending" )
        {
            gSortOrder = "Ascending";
        }
    }
    else
    {
        gSortOrder = "Ascending";
    }
    
    gPageIndex = 0;
    gPrevSortColumnName = columnName;
    CallWebservice();
    
}

function Paginate(pageIndex)
{
    document.getElementById('dvNoPerformances').innerHTML = '';
    document.getElementById('dvNoPerformances').style.display = 'none';    
    //document.body.style.cursor = "wait";  
    gPageIndex = pageIndex;
    CallWebservice();
}

function CallWebservice()
{     
    wsFilter = new Razorgator.Web.AjaxWebServiceProxies.WSEventFilter();
    wsFilter.EventId =  eventFilter.EventId;
    wsFilter.EventBrokerId = eventFilter.EventBrokerId;
    wsFilter.SortKey = gPrevSortColumnName;
    wsFilter.SortDirection = gSortOrder;
    wsFilter.PageIndex = gPageIndex;
    wsFilter.EventString = gEventSelection;
    
    //pageload flag added for getting the default value of location
   /* if(checkPageLoad == true && document.getElementById('homeLocation')!=null)
    {
        gLocSelection =  gLocSelection + document.getElementById('homeLocation').value + ',';
        checkPageLoad = false;
    }*/
    
    wsFilter.LocationString = gLocSelection;
    wsFilter.DayString = gDaySelection;
    wsFilter.TimeSelection = gTimeSelection;
    wsFilter.CategoryString = gCatSelection;
    
//   Commented Price and Qty filter
//    if(gFromPrice != "")
//    wsFilter.PriceFrom = gFromPrice;
//    else
//    wsFilter.PriceFrom = eventFilter.PriceFrom;
//    
//    if(gToPrice != "")
//    wsFilter.PriceTo = gToPrice;
//    else
//    wsFilter.PriceTo = eventFilter.PriceTo;
    
//    if(gQuantity != null)
//        wsFilter.SelectedQty = gQuantity;
//    else
//        wsFilter.SelectedQty = eventFilter.SelectedQty;
//  End:Commented Price and Qty filter   
    
    if(gStartDate != "")
    wsFilter.StartDate = gStartDate;
    else
    wsFilter.StartDate = eventFilter.StartDate;
   
    if(gEndDate != "")
    wsFilter.EndDate = gEndDate;
    else
    wsFilter.EndDate = eventFilter.EndDate;

    if(gGameSelection!= "")
        wsFilter.GameSelection = gGameSelection;
    else
        wsFilter.GameSelection = eventFilter.GameSelection;
    
    //Razorgator.Web.AjaxWebServiceProxies.PerformanceListing.GetFilteredPerformances(wsFilter, GetPerformanceData_CallBack);
    getPerfs();
    
}

function GetPerformanceData_CallBack(performancesList)
{
    if(performancesList.error == null)
    {
        if(performancesList.PerformanceHtm =='' || performancesList.PerformanceHtm == null)
        {
             document.getElementById('dvNoPerformances').style.display = 'inline'; 
             document.getElementById('dvNoPerformances').innerHTML = '<div style="padding:10px 0px 10px 0px;clear:both;"><h3> No performances available based on search. Please refine your search.</h3></div>';
             gPerformanceDiv.innerHTML = '';
        }
        else
        {
            document.getElementById('dvNoPerformances').innerHTML = '';
            document.getElementById('dvNoPerformances').style.display = 'none';  
            gPerformanceDiv.innerHTML = performancesList.PerformanceHtm;
        }        
    }
    else
    {
         document.getElementById('dvNoPerformances').style.display = 'inline'; 
         document.getElementById('dvNoPerformances').innerHTML = '<h3> No performances available based on search. Please refine your search.</h3>';
         gPerformanceDiv.innerHTML = '';
    }
     //document.body.style.cursor = "default"; 
    //EnableAllInputs();
}

function DisableAllInputs()
{
    for(i=0;i<document.all.tags('INPUT').length;i++)
    {         
         var io = document.all.tags('INPUT')[i];     
         //Make sure you are not working with hidden INPUTS
         if(io.type != 'hidden')
         {
              io.disabled=true;
              io.style.cursor ="wait";
         }
   }
  for(i=0;i<document.all.tags('SELECT').length;i++)
  {         
         var select = document.all.tags('SELECT')[i];       
         //Make sure you are not working with hidden INPUTS
         if(select.type != 'hidden')
         {
              select.disabled=true;
              select.style.cursor ="wait";
         }

   }

    //Disables all the HyperLink Controls
    for(i=0;i<document.all.tags('a').length;i++)
    {         

         var io = document.all.tags('a')[i];
         //Make sure you are not working with hidden Links

         if(io.type != 'hidden')
         {
               io.disabled=true;
               io.style.cursor ="wait";
         }

      }
}

function EnableAllInputs()
{
    for(i=0;i<document.all.tags('INPUT').length;i++)
    {         
         var io = document.all.tags('INPUT')[i];     
         //Make sure you are not working with hidden INPUTS
         if(io.type != 'hidden')
         {
              io.disabled=false;
              io.style.cursor ="default";
         }
   }
   for(i=0;i<document.all.tags('SELECT').length;i++)
   {         
         var select = document.all.tags('SELECT')[i];       
         //Make sure you are not working with hidden INPUTS
         if(select.type != 'hidden')
         {
              select.disabled=false;
              select.style.cursor ="default";
         }

   }

    //Disables all the HyperLink Controls
    for(i=0;i<document.all.tags('a').length;i++)
    {         

         var io = document.all.tags('a')[i];
         //Make sure you are not working with hidden Links

         if(io.type != 'hidden')
         {
               io.disabled=false;
               io.style.cursor ="default";
         }

    }
    
}

  function OnFailed(error, userContext, methodName) 
  {
        document.getElementById('dvNoPerformances').style.display = 'inline';
        document.getElementById('dvNoPerformances').innerHTML = '<h3> No performances available based on search. Please refine your search.</h3>';
         gPerformanceDiv.innerHTML = '';
         EnableAllInputs();
         
  }

function ValidateData()
{
   var startDate; 
   var endDate; 
  // var minPrice;
  // var maxPrice;
   var errorMessage='';
   var strErrorHeader='';
   var objErrorMessage = '';  
   var e = document.getElementsByTagName('input'); 
   var isValid = true;  
   var objstYear;
   var objedYear;
   gErrorPanel.innerHTML='';
   gErrorPanel.style.display='none';  
         
    for (var i=0; i<e.length; i++)
    {        
       if(e[i].type == 'text' && (e[i].getAttribute("dateText")!= '' || e[i].getAttribute("pricerange")!= ''))   
       {       
         if(e[i].getAttribute("dateText")=='stDate')         
            startDate = e[i].value;     
         
         if(e[i].getAttribute("dateText")=='endDate')         
            endDate = e[i].value; 
            
            //Commented Price and Qty filter
//        if(e[i].getAttribute("pricerange")=='minPrice')      
//        {       
//            minPrice = e[i].value.substring(1,e[i].value.length)            
//        }  
         
//         if(e[i].getAttribute("pricerange")=='maxPrice')         
//            maxPrice = e[i].value.substring(1,e[i].value.length)   
// End:Commented Price and Qty filter
       }
         
     }  
       
        if(startDate != '' && endDate != 'End Date(optional)')	
        {        
            var objstDate = new Date(startDate);
            var objedDate = new Date(endDate);
            
            if(endDate !='')
            {
                var isInValid =false;
           
                if(objstDate > objedDate)
                {
                  isInValid=true;
                  objErrorMessage += "|"    	  
                  objErrorMessage += "Date Range is not valid."      
                }   
            } 
        }     
          
           if(startDate == '' || endDate == '')	
           {              
              objErrorMessage += "|"          
              if(startDate == '' && endDate == '')	
              {
                objErrorMessage += "Start Date is not valid."  
                return;
              }
                
              else
              {
                  if(startDate == '' && endDate != '')          
                   objErrorMessage += "Start Date is not valid."   
                   else
                     objErrorMessage += "End Date is not valid." 
               }  
            }
             
            
                //Commented Price and Qty filter       
                // if(maxPrice == '0' || parseInt(minPrice) > parseInt(maxPrice)) 
                //{ 
                // objErrorMessage += "|"    	  
                // objErrorMessage += "Price Range is not valid."                           
                //  }   
                // End:Commented Price and Qty filter
                
            if(objErrorMessage.length >0)
            {	       
      	         isValid = false;
      	         strErrorHeader ="<br/><br/><div class='error' style='height:auto;width:auto;'><ul style='list-style: none; color: #f00; font-weight: bold;'>Please correct the following error(s):"    	               	   
      	         errorMessage = strErrorHeader.replace('undefined','');
          	     
      	         errorMessage +=  FormatErrors(objErrorMessage); 
          	    	
      	          gErrorPanel.style.display='block'     
      	         gErrorPanel.innerHTML =errorMessage;        	         
      	     } 
      	     else
      	     isValid = true;
      	     
      	     return isValid;
    } 


function FormatErrors(_errorMessage)
{
   var objGetArray = _errorMessage.split('|');
   var strErrorMessage='';
              	       
      for (var i=0; i<objGetArray.length; i++)
      {
        strErrorMessage += '<li><b>' + objGetArray[i] + '</b></li>' ;                   
      }
       strErrorMessage+="</ul>"
      strErrorMessage+="<div style='float:right;vertical-align:text-top;'><a href='#' onclick='ClearErrors();'>Clear</a></div></div>"   
      return strErrorMessage;
}


function ClearErrors()
{
  gErrorPanel.style.display='none';
}

function scrollToCityLoad(ctrl)
{
    
    gHomeCity=ctrl;
    document.getElementById(ctrl).focus();
    //document.getElementById("locl1").scrollBy(0,50);
    //window.setTimeout("document.getElementById('locl1').doScroll('down')",500);
     //document.getElementById("locl1").doScroll("down")
   // document.getElementById(ctrl).scrollIntoView(true);
    document.getElementById(ctrl).blur();
    window.scrollTo(0,0);
}
function scrollToCity(ctrl)
{
    document.getElementById(gHomeCity).focus();
    document.getElementById(gHomeCity).blur();
    //document.getElementById(ctrl).focus();
}

function resetAll()
{
    document.getElementById('dvNoPerformances').innerHTML = '';
    document.getElementById('dvNoPerformances').style.display = 'none';  
    showLoading();     

    gErrorPanel.innerHTML = '';
    gErrorPanel.style.display = 'none';             
    
    gPrevSortColumnName = gDefaultSortColumnName;
    gSortOrder = "Ascending";
    gPageIndex = 0;
    gEventSelection = "";    
    
    if(eventFilter.GameSelection == HomeConst)
    {
        gGameSelection = HomeConst
        CreateGameDiv(gHomeEvents,false);
        checkHomeLocationOnly();
        if(gHomeEventschk.length>0)
        {
            if( document.getElementById(gHomeEventschk)!=null)
            {
               document.getElementById(gHomeEventschk).checked = true;
               document.getElementById(gAwayEventschk).checked = false;
            }
        }
        homeCheck = true;
        awayCheck = false;
    }
    else if(eventFilter.GameSelection == AwayConst)      //if just away checkbox is checked
    {
        gGameSelection = AwayConst; 
        CreateGameDiv(gAwayEvents,false);
        checkAllLocationOnly();
        if(gHomeEventschk.length>0)
        {
            if( document.getElementById(gHomeEventschk)!=null)
            {
               document.getElementById(gHomeEventschk).checked = false;
               document.getElementById(gAwayEventschk).checked = true;
            }
        }
        awayCheck = true;
        homeCheck = false;
    }
    else
    {
        gGameSelection = AllConst;
               
        checkAllLocationOnly()
        
        CreateGameDiv(gAllEvents,false);
        if(gHomeEventschk.length>0)
        {
            if( document.getElementById(gHomeEventschk)!=null)
            {
               document.getElementById(gHomeEventschk).checked = true;
               document.getElementById(gAwayEventschk).checked = true;
            }
        }
        homeCheck= true;
        awayCheck = true;
    }
        
    CheckAnyDayList();
    gDaySelection="";
    
    checkAllTimeSelection();
    gTimeSelection="";
    
    checkAllCategoryOnly();
    gCatSelection="";
    
     //Commented Price and Qty filter
    //gFromPrice = eventFilter.PriceFrom;    
    //gToPrice = eventFilter.PriceTo;
    //End: Commented Price and Qty filter
    
    gStartDate = eventFilter.StartDate;
    gEndDate = eventFilter.EndDate;
    resetDateSelection();
   
    //Commented Price and Qty filter
    //ResetPrice();  
    //gQuantity = eventFilter.SelectedQty;
    //resetQtyCombo();
    //End: Commented Price and Qty filter
       
    gGameSelection = eventFilter.GameSelection;
    
    CallWebservice();
}

//hitbox tracking for power search feature
function SetHitBox()
{
    if(gIsHitboxEnabled == "True")
    {
        _hbSet('n', hbx.pn + "+Power+Search");
        _hbSend();
    }
}

function SetOmnitureVariables()
{
    var s=s_gi('razorgprod');
    s.linkTrackVars='events';
    s.linkTrackEvents='PowerSearch';    
    s.events='PowerSearch';    
    s.tl(this,'o',gOmnitureData);
}

 
function SetPostOmnitureVariables()
{     
    $("#container").find("img").click(
    function(){    
    InitializeOmnitureVariables(this);
    });
}


function InitializeOmnitureVariables(obj)
{
  var objImg = obj;
  var elementName='';
 
  if(objImg != 'undefined' && objImg.nameProp  != 'undefined')
  { 
        elementName="Image-"+objImg.nameProp;   
        var s = s_gi('razorgprod');
        s.linkTrackVars='events';
        s.linkTrackEvents=elementName;   
        s.events='ImageClick';        
        s.tl(obj,'o',elementName);   
  }   
}

$(document).load(function() {
	SetPostOmnitureVariables();
});
