/* RANDOM FUNCTIONS */
function popMap(url){ window.open(url,"vbMap","menubar=no,width=750,height=650,toolbar=no,scrollbars=yes"); }
function launchPostcard(){ window.open('http://www.vbfun.com/createPostcard/','reunionPostcard','width=810,height=678,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes'); }
function webcam_loaded(){ $("#shoutout").delay(1500).animate({opacity: 0}, 2000, function(){ /* alert("done"); */ }); }

function flash_newsletter(id,val){
	if(validemail(val)){
		document[id].handleSignupProcess();
		return_val = getremotevalue("/visitors/bluehornet.aspx?action=doubleoptin&email_address="+val);
		if(return_val=="1"){
			document[id].handleSignupComplete();
		} else {
			document[id].handleSignupError("error");
		}
	} else {
		document[id].handleSignupError("invalid");
	}
}



function ajax_newsletter_send_state(val, state){
	if(validemail(val))
	{
		if (validState(state)){
		
		return_val = getremotevalue("/visitors/bluehornet.aspx?action=doubleoptin_sendstate&email_address=" + val + "&state=" + state);
		if(return_val=="1"){
			/* <![CDATA[ */
			var google_conversion_id = 1070970338;
			var google_conversion_language = "ar";
			var google_conversion_format = "2";
			var google_conversion_color = "ffffff";
			var google_conversion_label = "84N3CJK_9QEQ4uvW_gM";
			var google_conversion_value = 0;
			/* ]]> */
			document.write = function(text) {
				$('#content').append(text);
			};
			$.getScript('https://www.googleadservices.com/pagead/conversion.js');
			document.getElementById("newsletter_signup").style.display = "none";
			document.getElementById("conversion_email_tracker").innerHTML = '<img height="1" width="1" style="border-style:none;" alt=""  src="http://www.googleadservices.com/pagead/conversion/1070970338/?label=_54UCNrNqQEQ4uvW_gM&amp;guid=ON&amp;script=0"/>';
			document.getElementById("newsletter_thanks").style.display = "block";
		 
		} else {
			alert("There was a problem saving your address, please make sure your email address is valid.\nThanks!");
		}
		
		}
		else
		{ 
				alert("Please select a state");
		}
	} else {
		alert("Please enter a valid email address to receive our newsletter.");
	}
}

//old, default. Get state from geo.
function ajax_newsletter(val){
	if(validemail(val)){
		return_val = getremotevalue("/visitors/bluehornet.aspx?action=doubleoptin&email_address=" + val);
		if(return_val=="1"){
			/* <![CDATA[ */
			var google_conversion_id = 1070970338;
			var google_conversion_language = "ar";
			var google_conversion_format = "2";
			var google_conversion_color = "ffffff";
			var google_conversion_label = "84N3CJK_9QEQ4uvW_gM";
			var google_conversion_value = 0;
			/* ]]> */
			document.write = function(text) {
				$('#content').append(text);
			};
			$.getScript('https://www.googleadservices.com/pagead/conversion.js');
			document.getElementById("newsletter_signup").style.display = "none";
			document.getElementById("conversion_email_tracker").innerHTML = '<img height="1" width="1" style="border-style:none;" alt=""  src="http://www.googleadservices.com/pagead/conversion/1070970338/?label=_54UCNrNqQEQ4uvW_gM&amp;guid=ON&amp;script=0"/>';
			document.getElementById("newsletter_thanks").style.display = "block";
		} else {
			alert("There was a problem saving your address, please make sure your email address is valid.\nThanks!");
		}
	} else {
		alert("Please enter a valid email address to receive our newsletter.");
	}
	
}
function ajax_newsletter_state(val){
	if(validemail(val)){
		return_val = getremotevalue("/visitors/bluehornet.aspx?action=doubleoptinstate&email_address=" + val);
		if(return_val=="1"){
			/* <![CDATA[ */
			var google_conversion_id = 1070970338;
			var google_conversion_language = "ar";
			var google_conversion_format = "2";
			var google_conversion_color = "ffffff";
			var google_conversion_label = "84N3CJK_9QEQ4uvW_gM";
			var google_conversion_value = 0;
			/* ]]> */
			document.write = function(text) {
				$('#content').append(text);
			};
			$.getScript('https://www.googleadservices.com/pagead/conversion.js');
			document.getElementById("newsletter_signup").style.display = "none";
			document.getElementById("conversion_email_tracker").innerHTML = '<img height="1" width="1" style="border-style:none;" alt=""  src="http://www.googleadservices.com/pagead/conversion/1070970338/?label=_54UCNrNqQEQ4uvW_gM&amp;guid=ON&amp;script=0"/>';
			document.getElementById("newsletter_thanks").style.display = "block";
		} else {
			alert("There was a problem saving your address, please make sure your email address is valid.\nThanks!");
		}
	} else {
		alert("Please enter a valid email address to receive our newsletter.");
	}
	
}



function ajax_newsletter_french(val){
	if(validemail(val)){
		return_val = getremotevalue("/visitors/bluehornet.aspx?action=doubleoptin&email_address=" + val);
		if(return_val=="1"){
			/* <![CDATA[ */
			var google_conversion_id = 1070970338;
			var google_conversion_language = "ar";
			var google_conversion_format = "2";
			var google_conversion_color = "ffffff";
			var google_conversion_label = "84N3CJK_9QEQ4uvW_gM";
			var google_conversion_value = 0;
			/* ]]> */
			document.write = function(text) {
				$('#content').append(text);
			};
			$.getScript('https://www.googleadservices.com/pagead/conversion.js');
			document.getElementById("newsletter_signup").style.display = "none";
			document.getElementById("conversion_email_tracker").innerHTML = '<img height="1" width="1" style="border-style:none;" alt=""  src="http://www.googleadservices.com/pagead/conversion/1070970338/?label=_54UCNrNqQEQ4uvW_gM&amp;guid=ON&amp;script=0"/>';
			document.getElementById("newsletter_thanks").style.display = "block";
		} else {
			alert("Un problème est intervenu lors de l'enregistrement, veuillez vérifier que votre adresse est bien valide.\nMerci!");
		}
	} else {
		alert("Veuillez entrer une adresse courriel afin de recevoir notre bulletin aux nouvelles.");
	}
	
}


function getremotevalue(url){
	var content = '';
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (request){
		request.open("GET", url, false);
		request.send(null);
		if (request.status == 200) {
			content = request.responseText;
		} else {
			content = 'Error: ' + request.status + ' ' + request.statusText;
		}
	}
	return content;
}

function validemail(emailform){
		if(emailform.length>5){
			if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailform)) {
				return true;
			} else {
				return false;			
			}
		} else {
			return false;		
		}
	return false;
}  

function validState(stateform){
		if(stateform != "")
		{
			//alert(stateform);
				return true;
		}
		else
		{
				return false;
	  }
}  


function isInteger(s) {
	return (s.toString().search(/^-?[0-9]+$/) == 0);
}



/*
	VBFUN SEARCH SCRIPTS
*/
var numTabs = 10;
var currArea = 0;
	
function updateSelect(tabID){
	currArea = tabID;
	var zoneOptions = document.getElementById("zoneOptions");
	zoneOptions[currArea].selected = true;
	if(zoneOptions[0].selected){
		zoneOptions[0].selected = false;
	}
}
function rollOut(){
	updateSelect(currArea,false);
	document['search_map'].changeArea(currArea);
}
function updateFlash(theSelect,multiple){
	if(multiple){
		document['search_map'].changeArea(-1);
	} else {
		document['search_map'].changeArea(theSelect.selectedIndex);
	}
}
function multiSelect(obj){
	var x = 0;
	for (var i = 0; i < obj.length; i++) { if (obj[i].selected) { x++; } }
	if(x>1){ obj[0].selected = false; show=true; } else { show=false; }
	updateFlash(obj, show);
}
/* END SEARCH */

function gup(name){
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}



function pageselectCallback(page_index, jq){
    var items_per_page = $('#items_per_page').val();
    var max_elem = Math.min((page_index+1) * items_per_page, $(".vb_listing").length);
	$(".vb_listing").css("display", "none");
    for(var i=page_index*items_per_page;i<max_elem;i++){ $(".vb_listing:eq(" + i + ")").css("display", "block"); }


	if( gup("page") == 7 && window.location.href.indexOf("/search/") > 0 ){
		if($(".vb_listing").length > 10){
			randomIndex = 0;
			while (randomIndex==0){
				var rand_no = Math.ceil(($(".vb_listing").length)*Math.random());
				if(rand_no < (page_index*items_per_page) || rand_no>i){
					randomIndex = rand_no;
					$("#featured").html($(".vb_listing:eq(" + (randomIndex - 1) + ")").html());
					
					tempNum = $(".vb_listing:eq(" + (randomIndex - 1) + ")").attr("rel");
					tempId = $(".vb_listing:eq(" + (randomIndex - 1) + ")").attr("id");
					realID = tempId.split("_");
					a = parseInt(tempNum);
					b = Math.floor(a / 20);
					c = (a - (b * 20)) + 1;
					
					$("#featured .listing_marker").html("<a href=\"#\" onclick=\"google.maps.event.trigger(marker" + realID[1] + " , 'click'); return false;\"><img src='http://www.google.com/mapfiles/marker" + colored_markers[b] + String.fromCharCode(65 + (c-1)) + ".png' /></a>");
				}
			}
			
		} else {
			$("#featured").html("");
		}
	}


	scrollTo(0,0);

	if($(".vb_listing").length == 0){
		$("#search_pagination").css("display", "none");
	} else {
		$("#search_pagination").css("display", "block");
	}

    // $('#Searchresult').html(newcontent);

    return false;
}

function getOptionsFromForm(){
    var opt = {callback: pageselectCallback};
    $("input:hidden").each(function(){ opt[this.name] = this.className.match(/numeric/) ? parseInt(this.value) : this.value; });
    var htmlspecialchars ={ "&":"&amp;", "<":"&lt;", ">":"&gt;", '"':"&quot;"}
    $.each(htmlspecialchars, function(k,v){
        opt.prev_text = opt.prev_text.replace(k,v);
        opt.next_text = opt.next_text.replace(k,v);
    })
    return opt;
}

var google_map;
var infowindow; //  = new google.maps.InfoWindow({ content: "" });

function gmsr_init(){
	var lat = 37.342;
	var lon = -78.58; 
	var mapzoom = 7;

	if( $("#google_map").attr("rel")!=undefined && $("#google_map").attr("rel").indexOf(",")!=-1 ){
		var latlon_temp = $("#google_map").attr("rel").split(",");
		lat = parseFloat(latlon_temp[0]);
		lon = parseFloat(latlon_temp[1]);
		mapzoom = parseInt(latlon_temp[2]);
	}

	var latlng = new google.maps.LatLng(lat, lon);
	var myOptions = {
		zoom: mapzoom,
		center: latlng,
		mapTypeControl: false,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	
	google_map = new google.maps.Map(document.getElementById("google_map"), myOptions);
	infowindow = new google.maps.InfoWindow({ content: "" });
}



$(document).ready(function() {

	/* LIGHTBOX.  YOU'RE WELCOME! */
	// $("a.lightbox").lightbox();


	/* TABBED LEFT */
	if($(".tabbedleft").length > 0 && $(".tabbedleft .tabbedleft_content").length == 0){ 
		$(".tabbedleft li h4").eq(0).addClass("selected");
		$(".tabbedleft").append("<div class=\"tabbedleft_content\"></div><div class=\"breaker\"></div>");
		$(".tabbedleft_content").html($(".tabbedleft li:first").html());
		
		$(".tabbedleft li h4").click(function(){
			$(".tabbedleft li h4").removeClass("selected");
			$(this).addClass("selected");
			$(".tabbedleft_content").html($(this).parent().html());
		});
		
	}
	
	/* booking tabs */
	if($(".bookingtabs").length > 0 && $(".bookingtabs .bookingtabs_content").length == 0){ 
		$(".bookingtabs li h4").eq(0).addClass("selected");
		$(".bookingtabs li").eq(0).css("z-index","1000");
		$(".bookingtabs li h4").click(function(){
			$(".bookingtabs li h4").removeClass("selected");
			$(".bookingtabs li").css("z-index","-10");
			$(this).addClass("selected");
			$(this).parent().css("z-index","1000");
			$(".bookingtab_content").css("display","none");
			$(document.getElementById($(this).attr("target"))).css("display","block");
		});
	}

	// Slinky...of DOOM
	$(".accordion li h4").click(function(){
		$(this).parent().addClass("selected");
		$(this).parent().siblings().removeClass("selected");
	});


	/* welcome to the wonderful world of live for video boxes */
	$("#more_videos_link, #video_list_close").click(function(){
		if($("#video_list").attr("class").indexOf("expand")==-1){
			$("#video_list").animate({height: 200},'slow',function(){
				$("#video_list").css("overflow","auto");
			});
			$("#video_list").addClass("expand");
		} else {
			$("#video_list").animate({height: 10},'slow',function(){
				$("#video_list").css("overflow","hidden");
			});
			$("#video_list").removeClass("expand");
		}
		return false;
	});
	$("#video_list").css("overflow","hidden");
	
	/*
		GET DIRECTIONS
		NOTE: THIS FUNCTION NEEDS TO BE LOWER IN THE STACK
		COMPARED TO THE TABBED INTERFACES.
		... YOU'RE WELCOME!
	*/
	$(".getDirectionsSubmit").live("click", function(){

		if( $(".tabbedleft_content").length > 0 ){
			str_tabs = ".tabbedleft_content ";
		} else {
			str_tabs = "";
		}
		
		var start_addr = $(str_tabs + ".dirStart:eq(0)").attr("value");
		var end_addr = $(str_tabs + ".dirEnd:eq(0)").attr("value");
		
		if((start_addr!="" && start_addr!=null) && (end_addr!="" && end_addr!=null)){
			url = "http://maps.google.com/maps?f=d&hl=en&ie=UTF8&daddr=" + end_addr + "&saddr=" + start_addr;
			window.open(url, "google_maps");
		} else {
			alert("Please enter a zip or postal code to receive directions");
		}
		
		return false;
	});
	
	
	$(".getDirectionsSubmit_bg").live("click", function(){

		if( $(".tabbedleft_content").length > 0 ){
			str_tabs = ".tabbedleft_content ";
		} else {
			str_tabs = "";
		}
		
		var start_addr = $(str_tabs + ".dirStart_bg:eq(0)").attr("value");
		var end_addr = $(str_tabs + ".dirEnd_bg:eq(0)").attr("value");
		
		if((start_addr!="" && start_addr!=null) && (end_addr!="" && end_addr!=null)){
			url = "http://maps.google.com/maps?f=d&hl=en&ie=UTF8&daddr=" + end_addr + "&saddr=" + start_addr;
			window.open(url, "google_maps");
		} else {
			alert("Please enter a zip or postal code to receive directions");
		}
		
		return false;
	});
	
	

	$("#newsletter_email").focus(function(){
		if( this.value == "Enter your email address" ){ this.value = ""; }
		if( this.value == "Entrez courriel et adresse" ){ this.value = ""; }
	});



	/* USED FOR THE CONVENTION CENTER HOMEPAGE... */
	if ( $("#bring_beach img").length > 0 ){
		
		if( $("#bring_beach img").attr("width")!="" ){
			h = parseInt($("#bring_beach img").attr("height"));
			w = parseInt($("#bring_beach img").attr("width"));
			
			if(w>h){
				
				$("#bring_beach img").attr("height", "105");
				$("#bring_beach img").attr("width", parseInt( (w*105)/h ) );
				
			} else if(h>w){
				
				$("#bring_beach img").attr("width", "105");
				$("#bring_beach img").attr("height", parseInt( (h*105)/w ) );
				
			} else {
				
				$("#bring_beach img").attr("height", "105");
				$("#bring_beach img").attr("width", "105");
				
			}
		} else {
			
			$("#bring_beach img").css("width", "105px");
			
		}
		
	}
	
	
	
	if($("#search_results").length>0){
		var optInit = getOptionsFromForm();
		$("#search_pagination").pagination($(".vb_listing").length, optInit);
	}
	
	
	if($("#google_map").length>0){
		gmsr_init();
	}
	
	$("#hide_map").toggle(function(){
		$(this).addClass("toggleclose");
		$(this).html("Show Map");
		$("#google_map").css("display", "none");
		if ($(location).attr('href').indexOf("search") >= 0){ $("#searchFilterForm").css("margin-top", "190px"); }
	}, function(){
		$(this).removeClass("toggleclose");
		$(this).html("Hide Map");
		$("#google_map").css("display", "block");
		if ($(location).attr('href').indexOf("search") >= 0){ $("#searchFilterForm").css("margin-top", "15px"); }
		google.maps.event.trigger(google_map, "resize");
	});




	/* BULLSHIT I NEED TO CLEAN UP */

	if($("#searchFilterForm").length>0){
		$(".searchFormItems").each(function(){
			if(this.type=="checkbox"){ $(this).click(function(){ formsubmit(); }); }
			if(this.type.indexOf("select")!=-1){ $(this).change(function(){ formsubmit(); }); }
		}); 
		$(".searchFormItems_zones").each(function(){ $(this).click(function(){ formsubmit(); }); });
		$('form').attr('action','http://www.visitvirginiabeach.com/visitors/search/');
		$('form').attr('method','get');
	}
	
	
	$(".follow a, .follow_ca a, .visitors #social_media a").click(function(){
		url = $(this).attr("href");
		outlet = (url.match(/:\/\/(.[^/]+)/)[1]).replace('www.','').replace('.com','');
		pageTracker._trackPageview("/follow-us/" + outlet);
	});
	
	

});


	function formsubmit(){
		$('input[type=hidden]').remove(); 
		$('form').each(function(){ $(this).submit(); });
	}



		


