﻿function getStyleObject(objectId) {

    // cross-browser function to get an object's style object given its id

    if(document.getElementById && document.getElementById(objectId)) {

            // W3C DOM

            return document.getElementById(objectId).style;

    } else if (document.all && document.all(objectId)) {

            // MSIE 4 DOM

            return document.all(objectId).style;

    } else if (document.layers && document.layers[objectId]) {

            // NN 4 DOM.. note: this won't find nested layers

            return document.layers[objectId];

    } else {

            return false;

    }

} // getStyleObject

 

function changeObjectVisibility(objectId, newVisibility) {

    // get a reference to the cross-browser style object and make sure the object exists

    var styleObject = getStyleObject(objectId);

    if(styleObject) {

            styleObject.visibility = newVisibility;

            return true;

    } else {

            // we couldn't find the object, so we can't change its visibility

            return false;

    }

} // changeObjectVisibility

 

function moveObject(objectId, newXCoordinate, newYCoordinate) {

    // get a reference to the cross-browser style object and make sure the object exists

    var styleObject = getStyleObject(objectId);

    if(styleObject) {

                        var clientWidth = document.body.clientWidth;

                        if( newXCoordinate + 336 > clientWidth ) {

                                    newXCoordinate = clientWidth - 386;

                        }

                        styleObject.left = newXCoordinate + "px";

                        styleObject.top = newYCoordinate + "px";

                        return true;

    } else {
            // we couldn't find the object, so we can't very well move it

            return false;
    }

} // moveObject
 

var xOffset = 30;

var yOffset = 5; 

function showPopup (targetObjectId, eventObj) 
{

    if(eventObj)
     {
    xOffset=0;

            // hide any currently-visible popups

            hideCurrentPopup();

            // stop event from bubbling up any farther

            eventObj.cancelBubble = true;

            // move popup div to current cursor position 

            // (add scrollTop to account for scrolling for IE)
            var newXCoordinate = ( eventObj.pageX ) ? ( eventObj.pageX + xOffset ) : ( eventObj.x + xOffset + ( ( document.documentElement.scrollLeft ) ? document.documentElement.scrollLeft : 0 ) );

            var newYCoordinate = ( eventObj.pageY ) ? ( eventObj.pageY + yOffset ) : ( eventObj.y + yOffset + ( ( document.documentElement.scrollTop ) ? document.documentElement.scrollTop : 0 ) );

            moveObject(targetObjectId, newXCoordinate, newYCoordinate);

            // and make it visible

            if( changeObjectVisibility(targetObjectId, 'visible') ) {

                // if we successfully showed the popup

                // store its Id on a globally-accessible object

                window.currentlyVisiblePopup = targetObjectId;

                //return true;

            } 
            else 
            {

                // we couldn't show the popup, boo hoo!
                return false;

            }

    } 
    else 
    {
            // there was no event object, so we won't be able to position anything, so give up
            return false;
    }
    return false;

} // showPickUp
xOffset=30;
//(targetObjectId, eventObj,DivDataListID,Div,intTourId,iCountyid
function showPickUp(targetObjectId, eventObj,Div,intTourId,iCountyid,ddlDepartureDates) {   
    if(eventObj) {

            // hide any currently-visible popups

            hideCurrentPopup();

            // stop event from bubbling up any farther

            eventObj.cancelBubble = true;

            // move popup div to current cursor position 

            // (add scrollTop to account for scrolling for IE)
             //Start:Comented by Sreevani on 11/09/09 to fix MT#155 pickup popup Browser issue
            //var newXCoordinate = ( eventObj.pageX ) ? ( eventObj.pageX + xOffset ) : ( eventObj.x + xOffset + ( ( document.documentElement.scrollLeft ) ? document.documentElement.scrollLeft : 0 ) );

            //var newYCoordinate = ( eventObj.pageY ) ? ( eventObj.pageY + yOffset ) : ( eventObj.y + yOffset + ( ( document.documentElement.scrollTop ) ? document.documentElement.scrollTop : 0 ) );
             //End:Comented by Sreevani on 11/09/09 to fix MT#155 pickup popup Browser issue
	//Start:Added by Sreevani on 11/09/09 to fix MT#155 pickup popup Browser issue
	var newXCoordinate = ( eventObj.pageX ) ? ( eventObj.pageX + xOffset ) : (eventObj.clientX  + xOffset );

            var newYCoordinate = ( eventObj.pageY ) ? ( eventObj.pageY + yOffset ) : ( eventObj.clientY + yOffset + ( ( document.documentElement.scrollTop ) ? document.documentElement.scrollTop : 0 ) );
	 //End:Added by Sreevani on 11/09/09 to fix MT#155 pickup popup Browser issue
            moveObject(targetObjectId, newXCoordinate, newYCoordinate);

            var DepartureID=0;
            if(document.getElementById(ddlDepartureDates)==null)
               {
                    DepartureID=ddlDepartureDates
               }
               else
               {
                DepartureID=document.getElementById(ddlDepartureDates).value;
               }
               var IsPickUp=true;
            GetPickUpPoints(intTourId,iCountyid,Div,DepartureID,IsPickUp);
            if( changeObjectVisibility(targetObjectId, 'visible') ) {

                // if we successfully showed the popup

                // store its Id on a globally-accessible object

                window.currentlyVisiblePopup = targetObjectId;
              
//                if(document.getElementById(DivDataListID)!=null)
//                {
//                    document.getElementById(Div).innerHTML=document.getElementById(DivDataListID).innerHTML;
//                }
               
                    
            
                return false;

            } else {

                // we couldn't show the popup, boo hoo!

                return false;

            }

    } else {

            // there was no event object, so we won't be able to position anything, so give up

            return false;

    }

} // showPopup

// showHomePickUp

 function showHomePickUp (targetObjectId, eventObj,Div,intTourId) {


    if(eventObj) {

            // hide any currently-visible popups

            hideCurrentPopup();

            // stop event from bubbling up any farther

            eventObj.cancelBubble = true;

            // move popup div to current cursor position 

            // (add scrollTop to account for scrolling for IE)
            var newXCoordinate = ( eventObj.pageX ) ? ( eventObj.pageX + xOffset ) : ( eventObj.x + xOffset + ( ( document.documentElement.scrollLeft ) ? document.documentElement.scrollLeft : 0 ) );

            var newYCoordinate = ( eventObj.pageY ) ? ( eventObj.pageY + yOffset ) : ( eventObj.y + yOffset + ( ( document.documentElement.scrollTop ) ? document.documentElement.scrollTop : 0 ) );

            moveObject(targetObjectId, newXCoordinate, newYCoordinate);

            // and make it visible
             var IsPickUp=false;
             
            GetHomePickUpPoints(intTourId,0,Div,0,IsPickUp);
            if( changeObjectVisibility(targetObjectId, 'visible') ) {

                // if we successfully showed the popup

                // store its Id on a globally-accessible object

                window.currentlyVisiblePopup = targetObjectId;
                document.getElementById(Div).innerHTML=document.getElementById(DataListID).outerHTML;
                if(document.getElementById(DataListID).outerHTML == null)
                 document.getElementById(Div).innerHTML = document.getElementById(DataListID).innerHTML;
            
                return false;;

            } else {

                // we couldn't show the popup, boo hoo!

                return false;

            }

    } else {

            // there was no event object, so we won't be able to position anything, so give up

            return false;

    }

} // showHomepickupPopup

 

function hideCurrentPopup() {

    // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup

    if(window.currentlyVisiblePopup) {

            changeObjectVisibility(window.currentlyVisiblePopup, 'hidden');

            window.currentlyVisiblePopup = false;

    }

} // hideCurrentPopup

 

 

// initialize hacks whenever the page loads

window.onload = initializeHacks;

 

// setup an event handler to hide popups for generic clicks on the document

document.onclick = hideCurrentPopup;

 

function initializeHacks() {

    // this ugly little hack resizes a blank div to make sure you can click

    // anywhere in the window for Mac MSIE 5

    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 

            && (navigator.platform.indexOf('Mac') != -1)

            && getStyleObject('blankDiv')) {

            window.onresize = explorerMacResizeFix;

    }

    resizeBlankDiv();

    // this next function creates a placeholder object for older browsers

    createFakeEventObj();

}

 

function createFakeEventObj() {

    // create a fake event object for older browsers to avoid errors in function call

    // when we need to pass the event object to functions

    if (!window.event) {

            window.event = false;

    }

} // createFakeEventObj

 

function resizeBlankDiv() {

    // resize blank placeholder div so IE 5 on mac will get all clicks in window

    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 

            && (navigator.platform.indexOf('Mac') != -1)

            && getStyleObject('blankDiv')) {

            getStyleObject('blankDiv').width = document.body.clientWidth - 20;

            getStyleObject('blankDiv').height = document.body.clientHeight - 20;

    }

}

 

function explorerMacResizeFix () {

    location.reload(false);

}

function DoCallback(url,intTourId,iCountyid,DepartureID,IsPickUp){ 

   var pageUrl = url + "?callback=true&param1=" + intTourId +"&param2="+iCountyid+"&param3="+DepartureID+"&param4="+IsPickUp;
   
    try 
    {
        //Mozilla Browsers
        xmlRequest = new XMLHttpRequest();
    } 
    catch (e)
    {
        try 
        {
            //IE
	  
           xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
		// Branch for native XMLHttpRequest object
        } 
        catch (e) 
        {
            //Something else that won't work with this code...
            xmlRequest=false;
        }
    } 
    // Post our XmlRequest and get our desired string
    xmlRequest.open("GET", pageUrl, false);
    xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//    xmlRequest.setRequestHeader('If-Modified-Since', 'Fri, 31 Dec 1999 00:00:00 GMT');
    xmlRequest.send(null);
    // Return the XmlHttp object
	
    return xmlRequest;
}

function GetPickUpPoints(intTourId,iCountyid,Div,DepartureID,IsPickUp)
{

    document.getElementById(Div).innerHTML = "";
       
    //Get the value of the selected item
    //Get data from the server
    var xml = DoCallback("AjaxCall.aspx", intTourId,iCountyid,DepartureID,IsPickUp);
    //Place data in a string
    var PickUpPoints = xml.responseText;
  
    document.getElementById(Div).innerHTML=PickUpPoints;
     
}
function GetHomePickUpPoints(intTourId,iCountyid,Div,DepartureID,IsPickUp)
{

    document.getElementById(Div).innerHTML = "";
       
    //Get the value of the selected item
    //Get data from the server
    var xml = DoCallback("AjaxCall.aspx", intTourId,iCountyid,DepartureID,IsPickUp);
    //Place data in a string
    var PickUpPoints = xml.responseText;
  
    document.getElementById(Div).innerHTML=PickUpPoints;
     
}





