/**
 * --------------------------------------------------------
 * CUSTOM WRITTEN JS FUNCTIONS FOR THE BACK-END
 * --------------------------------------------------------
 * @author James Wright
 * @version 2008-03-13
 * ---------------------------------------------------
 */

 	/* GET BROWSER INFO */
		var b_type = $.browser.browser;
		var b_version = $.browser.version.string;

	/* RUN ON EVERY PAGE WHEN DOCUMENT IS READY */
		$(document).ready(function() {
			setBinds();
			initiateThickbox();
			$('.rte-zone').rte('rte.css');
		});

	/* SET BINDS */
		function setBinds() {
			$('*').unbind(); // UNBIND EVERYTHING SO NOTHING IS BOUND TWICE
			$('.selfLabel').toggleVal();
			$("#adminReport").tablesorter();
			adminFormHandler();
			selectorFormHandler();
			$('#reportSelector').change(function() { $('#selectorForm').submit(); });

			$('img.tooltip').hover(function(){
				var alt = $(this).attr("alt");
				var name = $(this).attr("name");
				$('#tooltip_'+name).html(alt).show();
			},function(){});

			$('div.actionHolder').hover(function(){},function(){ $(this).children('div.tooltip').hide(); });


		}

	/* SET PRIMARY NAVIGATION LOCATION */
		function setNav(id) { $("#priNav_" + id).addClass('selected'); }

	/* BIND ADMIN FORMS TO THE "ajaxForm" HANDLER  */
		function adminFormHandler()
		{
		    var adminForm_options = {
		        target: '#adminContent',
       			success: clearMultiPics,  	// POST-SUBMIT CALLBACK
		        clearForm: true        		// CLEAR THE FORM AFTER SUBMISSION
		    };
		    // BIND FORM USING 'ajaxForm'
		    $('#adminForm').ajaxForm(adminForm_options);
			$(function(){
				if((b_type == 'MSIE') && (b_version < 7.0)) {  } else {
					$('.multiFile').MultiFile({
						max: 15,		// MAX OF 15 PER PROPERTY
						accept: 'jpg'   // ONLY ALLOWING JPEGS FOR NOW
					});
				}
			});
		}

	/* CLEARS ALL FILE FORM ELEMENTS ON SUBMIT CREATED BY THE MUTLI-FILE UPLOAD JS */
		function clearMultiPics() { $('#MultiFile1_wrap_labels div a').each(function(){ $(this).trigger("click"); }); }


	/* BIND REPORT SELECTOR FORMS TO THE "ajaxForm" HANDLER  */
		function selectorFormHandler()
		{
		    var selectorForm_options = {
		        target: '#reportArea',
       			success: setBinds,  		// RESET BINDS AFTER SUCCESS
		        clearForm: false        		// CLEAR THE FORM AFTER SUBMISSION
		    };
		    // BIND FORM USING 'ajaxForm'
		    $('#selectorForm').ajaxForm(selectorForm_options);
		}


// INITIALIZE THICKBOX
	function initiateThickbox() { tb_init('a.thickbox'); }


// PROPERTY PHOTO MANAGEMENT FUNCTIONS

	function initializePhotoMngr()
	{
		// SETUP MULTI-FILE UPLOAD TO WORK
			if((b_type == 'MSIE') && (b_version < 7.0)) { } else {
				$('.multiFile').MultiFile({
					max: 15,		// MAX OF 15 PER PROPERTY
					accept: 'jpg'   // ONLY ALLOWING JPEGS FOR NOW
				});
			}
		    var adminForm_options = {
       			success: photoList_AJAX,  		// POST-SUBMIT CALLBACK
		        clearForm: false        		// CLEAR THE FORM AFTER SUBMISSION
		    };
		    // BIND FORM USING 'ajaxForm'
		    $('#photoForm').ajaxForm(adminForm_options);

		// BIND PHOTO TOOLS
			photoManagerBinds();

	}

// PROVIDE AJAX FUNCTIONALITY FOR LISTING PHOTO MANAGER
	function photoAJAX(property_id, picture_id, method) {
		var listingNumber = $('#listingNumber').val();
		$.ajax({
		  type: "POST",
		  url: "php/ajaxGateway.php",
		  data: "method="+method+"&listingNumber="+listingNumber+"&property_id="+property_id+"&picture_id="+picture_id
		});
	}

// REFRESH LIST OF PHOTOS AFTER SUBMITTING NEW ONES
	function photoList_AJAX() {
		// CLEAR PREVIOUSLY ADDED PHOTOS FROM MULTI-FILE UPLOAD BIT
			clearMultiPics();
		// GET IMPORTANT VARIABLES FROM HIDDEN FIELDS
			var listingNumber = $('#listingNumber').val();
			var property_id = $('#property_id').val();
		// GET NEW LIST OF PHOTOS AND UPDATE ON PAGE
			$.ajax({
			  type: "POST",
			  url: "php/ajaxGateway.php",
			  data: "method=managePhotos_list&listingNumber="+listingNumber+"&property_id="+property_id,
			  success: function(msg){
			  	$(".tb_manage_photos").html( msg );
			  	photoManagerBinds();
			  }
			});
	}

// BIND PHOTO MANAGEMENT INDIVIDUAL PHOTO TOOLS
	function photoManagerBinds()
	{
			$('.makePrimary').unbind();
			$('.delete').unbind();
			$('.makePrimary').bind('click', function() {
				// DO CLASS MANIPULATION FOR LOOK
				$(this).parent().parent().children('div.primary').removeClass("primary").addClass("picBox");
				$(this).parent('div').removeClass("picBox").addClass("primary");
				// GET VARS TO PASS TO AJAX FUNCTION
				var theID 			= $(this).attr('id');
				var splitter 		= theID.split('_');
				var property_id 	= splitter[1];
				var picture_id 		= splitter[2];
				// SET SELECTED PHOTO TO PRIMARY VIA AJAX
				photoAJAX(property_id, picture_id, 'makePrimary');
			});
			$('.delete').bind('click', function() {
				// DO CLASS MANIPULATION FOR LOOK
				$(this).parent('div').fadeOut("slow");
				// GET VARS TO PASS TO AJAX FUNCTION
				var theID 			= $(this).attr('id');
				var splitter 		= theID.split('_');
				var property_id 	= splitter[1];
				var picture_id 		= splitter[2];
				// SET SELECTED PHOTO TO PRIMARY VIA AJAX
				photoAJAX(property_id, picture_id, 'deleteListingPhoto');
			});
	}