﻿////////////////////////////////////////////////////////////////////////////////
// infostat.js 
//

	$(document).ready(function() {
		
		// Search
		//alert( "eff" );
		$('#searchdiv').tagdragon({'field':'keywords','url':'~search.php'});
		
		// Dates
		// .. Standard
		if( $("input.datepicker").length > 0 )
			$("input.datepicker").datepicker();
		
		// .. Date Range
		if( $("input.daterange").length > 0 )
		$("input.daterange").each(function(i){
			//alert( $(this).attr("rel") );
			$(this).daterangepicker({
				//presetRanges: [
				//{text: "Today's Events", dateStart: "Today", dateEnd: "Today"},
				//{text: "This Week's Events", dateStart: "Today", dateEnd: "t + 7 d"}
				//],
				presetRanges: [],
				presets: { specificDate: 'Specific Date', allDatesAfter: 'All Dates After', dateRange: 'Date Range' },
				appendTo: $("#date_range"),
				posX: null,
				posY: null,
				arrows: true, 
				dateFormat: 'm/d/yy',//'M d, yy',
				rangeSplitter: ' :: ',
				datepickerOptions: {
					changeMonth: true,
					changeYear: true
				},
				onClose: function() {
					if( $("input.daterange").val() != "")
					{
						$("form.refine").submit(); 
					}
				}
			});
		});
		
		
		// Sliders		
		if( $("#slider").length > 0 )
		{
			$("#slider").slider();
			$("#slider").bind('slide', function(event, ui) {
				$("#sliderlabel span:first").html( ui.value +"%" );
			});
			
			$("#slider_check").click( function() {			
				
				// Prep
				var parts = $("#slider").attr("rel").split("_");
				var rank = $("#sliderlabel span:first").html().replace( "%", "" );
				var data = "entity="+ parts[0] +"&entity_id="+ parts[1] +"&rank="+ rank;
				
				// Update 
				// .. Database
				$.post( "~ajax.php?rank", data, function( d ) {
					// Hide Current Content					
					$(".sliderBox").hide( 1, function() { $(this).html( "<div id=\"currentRank\">New Rating: <span>"+ d +"%</span></div>" ); $(this).show(); } );
				});
							
				// Hide Slider
				//$("#slider").hide("fast");
				//$(this).hide("fast");
			
			});
		}
		
		
		// Movies
		// .. Show 5
		if( $("#fla_movies").length > 0 )
		{
			var parts = $("#fla_movies").attr("rel").split( "||" );
			$("#fla_movies").flash({
				src:"swf/movies.swf",
				width: 668,
				height: 243,
				wmode:"transparent",
				flashvars: { host: parts[0], content: parts[1] }
			});
		}
		// .. Show 3
		if( $("#fla_movies3").length > 0 )
		{
			var parts = $("#fla_movies3").attr("rel").split( "||" );
			$("#fla_movies3").flash({
				src:"swf/movies_3.swf",
				width: 417,
				height: 243,
				wmode:"transparent",
				flashvars: { host: parts[0], content: parts[1] }
			});
		}
		
		// Seats
		if( $("#fla_seats").length > 0 )
		{
			var parts = $("#fla_seats").attr("rel").split( "||" );
			$("#fla_seats").flash({
				src: "swf/VenueSeats.swf",
				width: 360,
				height: 360,
				wmode: "transparent",
				flashvars: { host: parts[0], venue_id: parts[1], seats: parts[2] }
			});
		}
		
		// Seats
		if( $("#fla_overview").length > 0 )
		{
			var parts = $("#fla_overview").attr("rel").split( "||" );
			$("#fla_overview").flash({
				src: "swf/VenueOverview.swf",
				width: parts[3],
				height: parts[4],
				wmode: "transparent",
				flashvars: { host: parts[0], venue_id: parts[1], sections: parts[2] }
			});
		}
		
		// Flash
		$(".flash").each( function() {
		
			var rel = $(this).attr( "rel" );
				rel = rel.split( "||" );
			
			$(this).flash({
				src: rel[1],
				width: rel[2],
				height: rel[3],
				wmode: "transparent",
				flashvars: { host: rel[0] }
			});
		});
		
		// Weather
		if( $("#fla_weather").length > 0 )
		$("#fla_weather").flash({
			src:"swf/weather.swf",
			width: 150,
			height: 47,
			wmode:"transparent"
		});
		
		if( $("#fla_mainevent").length > 0 )
		$("#fla_mainevent").flash({
			src:"swf/ME_ex.swf",
			width: 252,
			height: 252,
			wmode:"transparent"
		});
		
		// Tabs
		// .. Directory
		if( $("#tabs").length > 0 )
		{
			$("#tabs").tabs();
			$("#tabs").tabs('select',$("#tabs").attr("rel"));
		}
		
		// .. Event Tabs
		if( $("#event_tabs").length > 0 )
		{
			$("#event_tabs li").hover(
				function () {
				$(this).addClass("ui-state-hover");
				}, 
				function () {
				$(this).removeClass("ui-state-hover");
				}
				);

		}
		
		// Gallery
		if( $(".gallery").length > 0 )
		{
			var galleryImage = document.createElement( "div" );
				galleryImage.id = "dialog_gi";
				
			document.body.appendChild( galleryImage );
				
			$("#dialog_gi").dialog({autoOpen: false});			
			$(".gallery").find( "img" ).each( function() {
				var imgObj = $(this);
				$(this).css( "cursor", "pointer" );
				$(this).click( function() {
					
					var dims = imgObj.attr( "rel" ).split( "," );
						//dims = dims.split( "," );
					//alert( dims[0] );
					//$("#dialog_gi").attr( "title", dims[2] );
					$("#dialog_gi").data("width.dialog", parseInt(dims[0]) + 27).data("height.dialog", parseInt(dims[1]) + 47).data("title.dialog", dims[2]); 
					$("#dialog_gi" ).html( '<img src="'+ this.src.replace( "_thumb.jpg", ".jpg" ) +'" />' );
					$("#dialog_gi" ).dialog( "open" );
				
				});
			
			});
		}
		
		// Map		
		if( $("#gMap").length > 0)
		{
			var map = new GMap2( document.getElementById( "gMap" ) );
				map.setMapType( G_PHYSICAL_MAP );
				map.addControl( new GSmallZoomControl3D() );
				//map.addControl( new GOverviewMapControl() );
			var geocoder = new GClientGeocoder();
				geocoder.getLatLng(
					$("#business_address").attr( "rel" ),
					function( point )
					{
						if( point )
						{
							map.setCenter( point, parseInt( $("#gMapZoom").val() ) );
							map.addOverlay( new GMarker( point ) );
						}
					}
				);		
		}
		
		// Pagination
		if( $("#News-Pagination").length > 0 )
		{
			$("#News-Pagination").pagination( $("#businesses").attr("rel"), {
				items_per_page:20,
				current_page: $("#cpage").val(),
				callback:handlePaginationClick
			});
		}
		
		// Calendar w/ Times
		//if( $("#showtimes").length > 0 )
		//{
			$(".calendarShowtime").each(function(i){
				
				$(this).datepicker({  
					duration: '',  
					showTime: true,  
					constrainInput: false  
				});
				
			});
		//}
		
		// Blog
		// .. Comments
		if( $(".comment_header").length > 0 )
		{
			$(".comment_header").each( function() {
			
				var commentObj = $(this);
				$(this).css( "cursor", "pointer" );
				$(this).click( function(){
				
					$("#comments_"+commentObj.attr( "rel" )).show();
				
				});
			
			});
		}
		
		// Scrollers?
		$(".scroller_obj").each( function() {
		
			// Determine Children
			//alert( $(this).find(".scroller_obj").length );
			$(this).attr( "rel", $(this).find(".scroller_item").length );
			$(this).hover(
				function() { $(this).stop(); clearTimeout( scrollerTimer ); },
				function() { scrollerTimer = setTimeout( doScroller, 1500, $(this) ); }
			);	
			//$(this).animate( { left: $(this).position().left - 207 }, 1500, "swing", function() { $(this).animate() } );
			scrollerTimer = setTimeout( doScroller, 1500, $(this) );
		});
		
		// Editors
		$(".editor").each( function( i, elem ) {
			new nicEditor({buttonList : ['fontFormat','bold','italic','underline','strikeThrough','subscript','superscript','ol','ul','link','unlink','html','image']}).panelInstance(elem.id);
		});
		
		// Ideas
		$(".ideas").hide();
		$(".gift_link").click( function(event) { showGiftIdeas( event, $(this) ); } );
		
		// Meebo
		//Meebo("domReady");
	});
	
	var pag = false;
	function handlePaginationClick(new_page_index, pagination_container) {
		
		// Initialize
		if( pag )
		{	
			
			var s_index = $("#bcategory").val();
			var npi = parseInt( new_page_index );
			var gpage = $("#gpage").val();
			//alert( gpage + s_index +'&page='+npi );
			//return;
			window.open( gpage + s_index +'&page='+npi, '_self' );
			
		}
		else
			pag = true;
    }
	
	var scrollerTimer;
	function doScroller( obj )
	{
		var inc = 203;
		var speed = 1000;
		var curPos = obj.position().left;
		//var cur_node = parseInt( Math.abs( obj.position().left) / (parseInt(obj.attr( "rel" ))*inc) );
		var cur_node = Math.abs( Math.ceil( obj.position().left / inc ) );
		//alert( cur_node);
		if( (Math.abs( curPos ) - inc) < (( Math.ceil( parseInt(obj.attr( "rel" ))/2 ) )*inc) )
			obj.animate( {left: -(cur_node * inc + inc)}, speed, "swing", function() { scrollerTimer = setTimeout( doScroller, 1500, obj ); } );
		else
			obj.animate( { left: 0 }, speed, "swing", function() { scrollerTimer = setTimeout( doScroller, 1500, obj ); } );
	}
	function showGiftIdeas( event, obj )
	{
		 event.preventDefault();
		
		$(".ideas").hide( 'slow' );
		//alert( obj.attr( "rel" ) );
		$( "#"+ obj.attr( "rel" ) ).show( 'slow' );
	}
	function addReferral()
	{
		var ref = $("#tblRefer").clone();
			ref.attr( "id", "" );
			ref.find( "input" ).val( "" );
			ref.appendTo( $("#referrals") );
			
		// Background Colors
		$("#referrals table").css( "backgroundColor", "#ffffff" );
		$("#referrals table:odd").css( "backgroundColor", "#eeeeee" );
	}
	// -----------------------------------------------------------------------------
	// -- Admin --------------------------------------------------------------------
	function addShowtime()
	{
		$(".cloneme").clone().insertAfter( $("#tblWhen").find( "tr:last" ) );
		$("#tblWhen").find( "tr:last" ).removeClass( "cloneme" );
			
		$("#tblWhen").find( "tr:last" ).find( "input" ).each( function(i) {
		
			// Datepicker
			if( $(this).attr( "name" ) == "showtime_new[]" )
			{
				$(this).datepicker({  
					duration: '',  
					showTime: true,  
					constrainInput: false  
				});
			}
			
		});
	}
	function removeShowtime( elem )
	{
		if( $("#tblWhen").find( "tr" ).length > 2 )
			elem.parent().parent().remove();
	}
	
	var showDateWarning = false;
	function editShowtime( showtime )
	{
		var proceed = true;
		
		if( showDateWarning )
			proceed = confirm( "WARNING!\nEditing event dates after an event has gone ON SALE is NOT recommended.  Please evaluate your decision before continuing.\n\nAre you sure?" );
			
		if( proceed )
		{
			// Showtime
			var showElem = $("#field_when_e"+ showtime );
				showElem.html( '<input type="text" id="dp_'+ showtime +'" name="when['+ showtime +']" value="'+ showElem.html() +'" />' );
				showElem.dblclick( function() {} );
			
				$("#dp_"+ showtime ).datepicker({  
					duration: '',  
					showTime: true,  
					constrainInput: false  
				});
			
			// Seats
			var seatsElem = $("#field_seats_e"+ showtime );
				seatsElem.html( '<input type="text" name="seats['+ showtime +']" value="'+ seatsElem.html() +'" />' );
				seatsElem.dblclick( function() {} );
		}
	}
	function findWinner()
	{
		var ctr = 0;
		var rnd = parseInt( Math.random() * ($("#contestWinners").find( "tr" ).length-1) + 1 );
		$("#contestWinners").find( "tr" ).each( function() {
						
			if( ctr == rnd )
				$(this).css( "backgroundColor", "#ffff00" );
						
			ctr++;
			
		});
	}
	// -----------------------------------------------------------------------------	
	
//
////////////////////////////////////////////////////////////////////////////////