/* Elliott's JQ */
parseSearch = function(data) {
    ids = [];
    if (data.indexOf(',') > -1) {
        textids = data.split(',');
        for (i = 0; i < textids.length; i++) {
            ids.push(parseInt(textids[i]))
        }
    } else {
        //updateFilter([ids]);
        ids.push(parseInt(data));
    }
    if (ids.length > 0) {
        updateFilter(ids);
    } else {
        clearSelection();
    }
}
/* 
getTabDetails = function(objid,mod_pla,lon,lat) {
    $.post('/gough/getobjdetail', {
        'mapID': objid
    },
    function(data) {
        if (data) {
					if (popup_array.length==1) {
					popup_array[0].destroy();
					//alert('popup destroyed');
					};
	

			popupHTML = "<div class='olPopup start'></div><img id='popupcloser' src='/_a/i/close.png' alt='Close' onclick='popupclose();'><div id='popuptitle' class='popup'> <h4>"+mod_pla+"</h4><div id='popupbody'><ul id='tabControls' class='mapPopup'><li id='details_tab' class='current_tab' onclick='switchTab(1)'>Details</li><li id='map_tab'class='waiting_tab' onclick='switchTab(2)'>Map</li></ul><div id='tabDetails'><dl><dt><strong>Gough name</strong></dt><dd>"+data+"</dd></dl></div><div id='google_map'></div></div> <!-- Close popupbody --></div> <!-- Close popuptitle --><div class='olPopup end'></div>"
			

		
					popup_array[0]=
					new OpenLayers.Popup.AnchoredBubble("overlay",
					new OpenLayers.LonLat(feature.geometry.x,feature.geometry.y),
					new OpenLayers.Size(310,330),
					popupHTML,
					null,
					false,
					{autoSize:false,disableFirefoxOverflowHack:true});
		
					popup_array[0].setBackgroundColor("Transparent");
					popup_array[0].setOpacity(0.95);
					popup_array[0].autoSize = false;
					popup_array[0].disableFirefoxOverflowHack = true;
		
					map.addPopup(popup_array[0]);
		
					popup_array[0].panIntoView();
					
					google_map();
					
					if (lon) {
					transformPoint(lon,lat,mod_pla);
					}
					else
					{
					// do nowt
					};
					
			} //end if
		} // end function(data)
       ); //end post request
}; // end getTabDetails
*/


getTabDetails = function(objid,mod_pla,lon,lat) {
    $.post('/gough/getobjdetail', {
        'mapID': objid
    },
    function(data) { 
        if (data) {
					if (popup_array.length==1) {
					popup_array[0].destroy();
					//alert('popup destroyed');
					};
					
		if (lon==0 && lat==0) 
        {
        mapImgURL = "http://maps.google.com/maps/api/staticmap?center=54.7,-2.5&zoom=5&size=273x201&maptype=terrain&style=feature:all|element:labels|visibility:off&sensor=false";
        }
        
        else 
        {
        Proj4js.defs["WGS84"] = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
        Proj4js.defs["EPSG:27700"] = "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs";
        var bng = new Proj4js.Proj('EPSG:27700');
        var wrld = new Proj4js.Proj('WGS84');
    
        point = new Proj4js.Point(lon,lat);
    
        Proj4js.transform(bng,wrld,point);

        transformed_x = point.x;
        transformed_y = point.y;
    
        mapImgURL = "http://maps.google.com/maps/api/staticmap?center="+transformed_y+","+transformed_x+"&zoom=6&size=273x201&maptype=terrain&markers=color:red|label:noLabel|"+transformed_y+","+transformed_x+"&style=feature:all|element:labels|visibility:off&sensor=false";
		}		
	
			popupHTML = "<div class='olPopup start'></div><img id='popupcloser' src='/_a/i/close.png' alt='Close' onclick='popupclose();'><div id='popuptitle' class='popup'> <h4>"+mod_pla+"</h4><div id='popupbody'><ul id='tabControls' class='mapPopup'><li id='details_tab' class='current_tab' onclick='switchTab(1)'>Details</li><li id='map_tab'class='waiting_tab' onclick='switchTab(2)'>Map</li></ul><div id='tabDetails'><dl><dt><strong>Gough name</strong></dt><dd>"+data+"</dd></dl></div><div id='google_map'><img src='"+mapImgURL+"'/></div></div> <!-- Close popupbody --></div> <!-- Close popuptitle --><div class='olPopup end'></div>"
			
					popup_array[0]=
					new OpenLayers.Popup.AnchoredBubble("overlay",
					//new OpenLayers.LonLat(feature.geometry.x,feature.geometry.y),
					new OpenLayers.LonLat( 
											map.getCenter().lon +
												((map.getExtent().right - map.getCenter().lon)/2),
											map.getCenter().lat +
												((map.getExtent().top - map.getCenter().lat)/1.5)		
					),	
					new OpenLayers.Size(310,330),
					popupHTML,
					null,
					false,
					{autoSize:false,disableFirefoxOverflowHack:true});
		
					popup_array[0].setBackgroundColor("Transparent");
					popup_array[0].setOpacity(0.95);
					popup_array[0].autoSize = false;
					popup_array[0].disableFirefoxOverflowHack = true;
		
					map.addPopup(popup_array[0]);
		
					popup_array[0].panIntoView();
										
			} //end if
		} // end function(data)
       ); //end post request
}; // end getTabDetails

/*
getTabDetailsFromMapClick = function(objid,mod_pla,lon,lat,mouseLoc) {
    $.post('/gough/getobjdetail', {
        'mapID': objid
    },
    function(data) {
        if (data) {
					if (popup_array.length==1) {
					popup_array[0].destroy();
					//alert('popup destroyed');
					};
	

			popupHTML = "<div class='olPopup start'></div><img id='popupcloser' src='/_a/i/close.png' alt='Close' onclick='popupclose();'><div id='popuptitle' class='popup'> <h4>"+mod_pla+"</h4><div id='popupbody'><ul id='tabControls' class='mapPopup'><li id='details_tab' class='current_tab' onclick='switchTab(1)'>Details</li><li id='map_tab'class='waiting_tab' onclick='switchTab(2)'>Map</li></ul><div id='tabDetails'><dl><dt><strong>Gough name</strong></dt><dd>"+data+"</dd></dl></div><div id='google_map'></div></div> <!-- Close popupbody --></div> <!-- Close popuptitle --><div class='olPopup end'></div>"
			

		
					popup_array[0]=
					new OpenLayers.Popup.AnchoredBubble("overlay",
					mouseLoc,
					//new OpenLayers.LonLat(feature.geometry.x,feature.geometry.y),
					new OpenLayers.Size(310,330),
					popupHTML,
					null,
					false,
					{autoSize:false,disableFirefoxOverflowHack:true});
		
					popup_array[0].setBackgroundColor("Transparent");
					popup_array[0].setOpacity(0.95);
					popup_array[0].autoSize = false;
					popup_array[0].disableFirefoxOverflowHack = true;
		
					map.addPopup(popup_array[0]);
		
					popup_array[0].panIntoView();
					
					google_map();
					
					if (lon) {
					transformPoint(lon,lat,mod_pla);
					}
					else
					{
					// do nowt
					};
					
			} //end if
		} // end function(data)
       ); //end post request
}; // end getTabDetailsFromMapClick
*/

getTabDetailsFromMapClick = function(objid,mod_pla,lon,lat,mouseLoc) {
    $.post('/gough/getobjdetail', {
        'mapID': objid
    },
    function(data) { 
        if (data) {
					if (popup_array.length==1) {
					popup_array[0].destroy();
					//alert('popup destroyed');
					};
		
		lon = parseInt(lon);
		lat = parseInt(lat);
		
		if (lon==0 && lat==0) 
        {
        mapImgURL = "http://maps.google.com/maps/api/staticmap?center=54.7,-2.5&zoom=5&size=273x201&maptype=terrain&style=feature:all|element:labels|visibility:off&sensor=false";
        }
        
        else 
        {
        Proj4js.defs["WGS84"] = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
        Proj4js.defs["EPSG:27700"] = "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs";
        var bng = new Proj4js.Proj('EPSG:27700');
        var wrld = new Proj4js.Proj('WGS84');
    
        point = new Proj4js.Point(lon,lat);
    
        Proj4js.transform(bng,wrld,point);

        transformed_x = point.x;
        transformed_y = point.y;
    
        mapImgURL = "http://maps.google.com/maps/api/staticmap?center="+transformed_y+","+transformed_x+"&zoom=6&size=273x201&maptype=terrain&markers=color:red|label:noLabel|"+transformed_y+","+transformed_x+"&style=feature:all|element:labels|visibility:off&sensor=false";
		}		
	
			popupHTML = "<div class='olPopup start'></div><img id='popupcloser' src='/_a/i/close.png' alt='Close' onclick='popupclose();'><div id='popuptitle' class='popup'> <h4>"+mod_pla+"</h4><div id='popupbody'><ul id='tabControls' class='mapPopup'><li id='details_tab' class='current_tab' onclick='switchTab(1)'>Details</li><li id='map_tab'class='waiting_tab' onclick='switchTab(2)'>Map</li></ul><div id='tabDetails'><dl><dt><strong>Gough name</strong></dt><dd>"+data+"</dd></dl></div><div id='google_map'><img src='"+mapImgURL+"'/></div></div> <!-- Close popupbody --></div> <!-- Close popuptitle --><div class='olPopup end'></div>"
			
					popup_array[0]=
					new OpenLayers.Popup.AnchoredBubble("overlay",
					//nmouseLoc
					new OpenLayers.LonLat( 
											map.getCenter().lon +
												((map.getExtent().right - map.getCenter().lon)/2),
											map.getCenter().lat +
												((map.getExtent().top - map.getCenter().lat)/1.5)		
					),	
					new OpenLayers.Size(310,330),
					popupHTML,
					null,
					false,
					{autoSize:false,disableFirefoxOverflowHack:true});
		
					popup_array[0].setBackgroundColor("Transparent");
					popup_array[0].setOpacity(0.95);
					popup_array[0].autoSize = false;
					popup_array[0].disableFirefoxOverflowHack = true;
		
					map.addPopup(popup_array[0]);
		
					popup_array[0].panIntoView();
										
			} //end if
		} // end function(data)
       ); //end post request
}; // end getTabDetailsFromMapClick

runSearch = function(sType, search, page) {
    //debug
    var jqxhr = $.post('/gough/search/ajax', {
        'search': search,
        'sType': sType,
        'page': page
    },
    function(data) {
        //Map server stuff
        if (data) {


            if (data.indexOf('£££') > -1) {
                var oids = data.substring(0, data.indexOf('£££'));
                data = data.replace(oids + '£££', '');
                parseSearch(oids);
            }
            $('#searchResults').html(data);
			
        }

    });

};
/* end Elliott's JQ */





function popupclose(e)
 {
    if (popup_array.length == 1) {
        popup_array[0].destroy();
        popup_array = [];
		// To stop mouse click initiating anotther search..
		map.events.register('click', map, doNothing);
    }; 

};

function doNothing() {
	//alert('Doing nothing!')
	map.events.unregister('click', map, findLayerClick);
	map.events.register('click', map, findLayerClick);
}


function switchTab(tab) {
    if (tab == 1) {
        $('#tabDetails').css({
            'display': 'block'
        });
        $('#google_map').css({
            'z-index': -10
        });
        $('#details_tab').attr('class', 'current_tab');
        $('#map_tab').attr('class', 'waiting_tab');
    }
    else {
        $('#tabDetails').css({
            'display': 'none'
        });
        $('#google_map').css({
            'z-index': 20000
        });
        $('#details_tab').attr('class', 'waiting_tab');
        $('#map_tab').attr('class', 'current_tab');
    }

};


$(document).ready(function() {

    var marginLeft = "39.615384615384615em";
    var negMarginLeft = "-26.153em";
    var togMarginLeft = "23.153em";

    var searchPanel = true;
    $("#panelToggle").css("margin-left", togMarginLeft);


    $("#panelToggle").click(function() {
        var toglink = $(this);

        if (!searchPanel) {



            $(toglink).css("opacity", "0");
            $(toglink).toggleClass('s6 s7');
            /*$(".cg .m").animate({marginLeft:"-26.153em"}, 600, 'easeOutQuad');*/
            $(".cg .c2").animate({
                marginLeft: "0"
            },
            600, 'easeOutQuad',
            function() {
                $(toglink).css("margin-left", togMarginLeft);
				$(toglink).css("opacity", "1");
                $(toglink).attr("title", "Hide search panel");
            });

            searchPanel = true;

        } else {
            $(toglink).css("opacity", "0");
            $(toglink).toggleClass('s6 s7');
            $(".cg .c2").animate({
                marginLeft: negMarginLeft,
                borderRight: "0",
                boxShadow: "0"
            },
            400, 'easeOutQuad',
            function() {
                $(toglink).css("margin-left", "0");
				$(toglink).css("opacity", "1");
                $(toglink).attr("title", "Show search panel");
            });
            searchPanel = false;
        }
    });


    /* show / hide */
    $(".showList").contents().each(function(i, item) {
        linktext = item.nodeValue;
        full_link = '<a href="#">' + linktext + '</a>';
        $(this).replaceWith(full_link);
    });

    $(".showList").click(function() {
        $(this).toggleClass("hide");
        $(this).next().toggle('fast');
        return false;
    }).next().hide();

    /* end show / hide */


	/* Clear search form */
	$('.reset').click( function() {
		$(':input','#fullSearch')
	 	.not(':button, :submit, :reset, :hidden')
	 	.val('')
	 	.removeAttr('checked')
	 	.removeAttr('selected');
	});
	
	/* highlight picked letter */
	browselinks = $('.inl.nvz li a');
	var clearBrowseStyling = function() {
		browselinks.each(function(i, item) {
			try {
				$(this).attr("class","");
			} catch(e) { 
				// pass
			}			
		});
	}
	browselinks.click( function() {
		clearBrowseStyling();
		$(this).attr("class","s1");
	});
	
	/* highlighted picked letter on browse screen */
	var url = window.location.search;
	if (url.length>0) {
		browselinks.each( function(i, item) {
				linkUrl = $(this).attr('href');
				if ( linkUrl.indexOf(url)>-1) {
					$(this).attr("class","s1");
				} else { $(this).attr("class",""); }
		});
	};
	
	
	/*  reset button action */
	$('.reset').click( function() {
		clearedLoc = "search/?clear=1";
		currentLoc = window.location.hostname;
		newLoc = "http://" + currentLoc + "/" + clearedLoc;
		window.location.href = newLoc;		
		return false;
	});
	
	/* dynamically resize searchPane results */
	

	
	
    /* 
	JQUERY PLUGINS / MODULES 
*/

    /* 's: using jQuery Tools' integration */
    /* tabs without slideshow */
	
	/* check to see which tab is open on search page */
	var browseUrl = '/search/?letter';
	currentUrl = window.location.href;
	var selectedTab = 0;
	if ( currentUrl.indexOf(browseUrl)>-1) {
		selectedTab = 1;
	}
	// scroll down to the results if showing 
/*  for testing
	tst = confirm("which tab. Ok = 1; Cancel = 0");
	if (tst == true) {
		selectedTab=1;
	} else { selectedTab = 0}
 */	
	
	
    if ($('.slideshow').length <= 0) {

        tabsParams = {
            initialIndex: selectedTab
			
        };
        $(".mod.tabControls").tabs(".tabPanes > div", tabsParams);

    } else {

        try {
            /* tabs with slideshow */
            var slideshowParams = {
                rotate: true
			};
            $('.mod.tabControls').tabs('.tabPane', slideshowParams);
			
			
        } catch(e) {
            //alert(e);
            }
    };

	

    /* autocomplete: jQuery UI */
    /* var places for testing: replace with source list */
    var places = ['Cambridge', 'London', 'Oxford', 'Edinburgh', 'Stornaway', 'Norfolk', 'Suffolk', 'Sussex', 'Kent',
    'Greenwich', 'Lorem', 'Ipsum', 'Dolor', 'Sit', 'Amet'];

    $(".qs").click(function() {
        $(this).attr("value", "");
        return false
    });

    try {
        $(".mod.autoComplete").autocomplete({
            appendTo: "#autocompleteDrop",
            source: places
        });
    } catch(e) {
        // pass
        }
    /* Tipsy tool tips */
    try {
        $(".tip").tipsy({
            delayIn: 500,
            delayOut: 500,
            fade: true
        });
    } catch(e) {
        // pass
        }


    /* end jQuery modules */


    /* 
	OPEN LAYERS API STUFF STARTS HERE 

*/

    try {
        //init();
        google_map();
    } catch(e) {
        // pass
        }

    try {


        $("#layer-names").hide();

        $("#layer-title-expand").click(function() {
            $("#layer-names").slideToggle(500);


            if ($("#layer-title-expand").attr('class') == 'minimised_select') {
                $("#layer-title-expand").attr('src', '/_a/s/img/layer-switcher-collapse.png');
                $("#layer-title-expand").attr('class', 'maximised_select');
            } else {
                $("#layer-title-expand").attr('class', 'minimised_select');
                $("#layer-title-expand").attr('src', '/_a/s/img/layer-switcher-expand.png');
            }
        });
    } catch(e) {
        // pass
        } 

    /* remove for testing
*/




    /* end open layers */





});
