//JS FOR RUB HUB DIRECTORY SITE - JOHN

var tempId = 1;

function tabSelect_indDiv(tabId) {
	var tab = "indDivTabs_"+tabId;
	var content = "indDivContent_"+tabId;
	
	if (document.getElementById(tab) && document.getElementById(content)) {
	
		//RESET ALL TABS AND THEN SET SELECTED
		if (document.getElementById(tab).className != "indDivTabs_selected") {
			var tabs = document.getElementById("indDivTabsDiv").getElementsByTagName("div");
			for(i=0;i<tabs.length;i++) {
				if (tabs[i].className == "indDivTabs_selected") {
					tabs[i].className = "indDivTabs";
					//alert(a_tag[i].id);
				}
			}
			document.getElementById(tab).className = "indDivTabs_selected";
		
			//RESET ALL CONTENT AREAS AND THEN OPEN SELECTED
			var tabs = document.getElementById("indDivContent").getElementsByTagName("div");
			for(i=0;i<tabs.length;i++) {
				if (tabs[i].className == "indDivContent_selected") {
					tabs[i].className = "indDivContent";
				}
				if (tabs[i].className == "indDivContent_visible") {
					tabs[i].className = "indDivContent_hidden";
				}
			}
			if (document.getElementById(content)) {
				if (document.getElementById(content).className == "indDivContent") {
					document.getElementById(content).className = "indDivContent_selected";	
				} else if (document.getElementById(content).className == "indDivContent_hidden") {
					document.getElementById(content).className = "indDivContent_visible";					
				}
			}
			
		}										
	}

}									
function tabOver_indDiv(tabId) {
	var tab = "indDivTabs_"+tabId;
	if (document.getElementById(tab)) {
		if (document.getElementById(tab).className != "indDivTabs_selected") {
			document.getElementById(tab).className = "indDivTabs_over";	
		}
	}
}

function tabOut_indDiv(tabId) {
	var tab = "indDivTabs_"+tabId;
	if (document.getElementById(tab)) {
		if (document.getElementById(tab).className != "indDivTabs_selected") {
			document.getElementById(tab).className = "indDivTabs";
		}
	}
}

function addOnloadEvent(fnc){

  if ( typeof window.addEventListener != "undefined" ) {
	window.addEventListener( "load", fnc, false );
  }
  else if ( typeof window.attachEvent != "undefined" ) {
    window.attachEvent( "onload", fnc );
  }
  else {
    if ( window.onload != null ) {
      var oldOnload = window.onload;
      window.onload = function ( e ) {
        oldOnload( e );
        window[fnc]();
      };
    }
    else
      window.onload = fnc;
  }
}

function trigger_click(show_marker) {
	//alert(show_marker);
	//alert(global_markers[show_marker]);
	if (global_markers[show_marker]) {
		GEvent.trigger(global_markers[show_marker], "click");
	}
}

//POP-UP STUFF

function getElementLeft(p_elm) {
	var x = 0;
	var elm;
	if(typeof(p_elm) == "object"){
		elm = p_elm;
	} 
	else {
		elm = document.getElementById(p_elm);
	}
	while (elm != null) {
	  x+= elm.offsetLeft;
	  elm = elm.offsetParent;
	}
	return parseInt(x);
}

function getElementTop(p_elm) {
	var y = 0;
	var elm;
	if(typeof(p_elm) == "object"){
	  elm = p_elm;
	} 
	else {
	  elm = document.getElementById(p_elm);
	}
	while (elm != null) {
	  y+= elm.offsetTop;
	  elm = elm.offsetParent;
	}
	return parseInt(y);
} 

function hideSelects(visibility){
	selects = document.getElementsByTagName('select');
	for(i = 0; i < selects.length; i++) {
		selects[i].style.visibility = visibility;
	}
}

function showOverlay() {
	// prep objects
	var objOverlay = document.getElementById('overlay');
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// set height of Overlay to take up whole page and show
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';
}
function hideOverlay() {
	// get objects
	if (document.getElementById('overlay') && document.getElementById('overlay').style.display != 'none') {
		var objOverlay = document.getElementById('overlay');
		// hide lightbox and overlay
		objOverlay.style.display = 'none';
	}
}

function initOverlay() {
	var objBody = document.getElementsByTagName("body").item(0);
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlay');
	objOverlay.onclick = function () {
										//hideOverlay();
										close_pop_layer();
										if (objOverlay.style.display != 'none') objOverlay.style.display = 'none';
										return false;
										}
	objOverlay.style.display = 'none';
	objOverlay.style.position = 'absolute';
	objOverlay.style.top = '0';
	objOverlay.style.left = '0';
	objOverlay.style.zIndex = '5000';
 	objOverlay.style.width = '100%';
	objOverlay.style.backgroundColor = '#000000';
	objBody.insertBefore(objOverlay, objBody.firstChild);
}

function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

 function centerDiv(targetDiv, topMargin, divWidth) {

	//GET SCREEN SIZE
	var intH = 0;
	var intW = 0;

	if (self.innerHeight) {
	   intH = window.innerHeight;
	   intW = window.innerWidth;
	} else {
		if (document.documentElement && document.documentElement.clientHeight) {
			intH = document.documentElement.clientHeight;
			intW = document.documentElement.clientWidth;
		} else {
			if (document.body) {
				intH = document.body.clientHeight;
				intW = document.body.clientWidth;
			}
		}
	}
	
	//GET SCROLL POSITION FOR POP-UP Y-POSITION
	var spos = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
	
	var ypos = parseInt(spos + parseInt(topMargin), 10); //INCLUDES TOP MARGIN
	var xpos = parseInt((intW - parseInt(divWidth)) / 2, 10); //INCLUDES WIDTH OF DIV

	document.getElementById(targetDiv).style.left = xpos+"px";
	document.getElementById(targetDiv).style.top = ypos+"px";

	//SHOW OVERLAY
	showOverlay();		

	//HIDE SELECTS
	if (browser == 'Internet Explorer'){
		hideSelects('hidden');
	}

	//SHOW TARGET DIV
	document.getElementById(targetDiv).style.display = "block";
 
 } 

//BROWSER DETECT SCRIPTS
//created by Peter Paul Koch at http://www.quirksmode.org/
function getBrowserInfo() {
	if (checkIt('konqueror')) {
		browser = "Konqueror";
		OS = "Linux";
	}
	else if (checkIt('safari')) browser 	= "Safari"
	else if (checkIt('omniweb')) browser 	= "OmniWeb"
	else if (checkIt('opera')) browser 		= "Opera"
	else if (checkIt('webtv')) browser 		= "WebTV";
	else if (checkIt('icab')) browser 		= "iCab"
	else if (checkIt('msie')) browser 		= "Internet Explorer"
	else if (!checkIt('compatible')) {
		browser = "Netscape Navigator"
		version = detect.charAt(8);
	}
	else browser = "An unknown browser";

	if (!version) version = detect.charAt(place + thestring.length);

	if (!OS) {
		if (checkIt('linux')) OS 		= "Linux";
		else if (checkIt('x11')) OS 	= "Unix";
		else if (checkIt('mac')) OS 	= "Mac"
		else if (checkIt('win')) OS 	= "Windows"
		else OS 								= "an unknown operating system";
	}
}
//END BROWSER DETECT SCRIPTS

function checkIt(string) {
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

function launch_pop_up(vars) {

	try {

	if (document.getElementById("PopLayer")) {	

		//CLEAR POP-UP
		if (document.getElementById('PopLayerMsg')) {
			document.getElementById('PopLayerMsg').innerHTML = "";
		}	
		if (document.getElementById('PopLayerContent')) {
			document.getElementById('PopLayerContent').innerHTML = "loading...";
		}	
	
		//CENTER DIV
		centerDiv('PopLayer', 40, 590);
			
		//RETURN CONTENT
		ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'fbConnectInt_noMCE');		

	}
	
	}
	catch(e) {
		alert(e);
	}
}
function fbConnectInt() {
	// because this is XFBML, we need to tell Facebook to re-process the document
	FB.XFBML.Host.parseDomTree();
	initializeManageMCE_all();
}
function fbConnectInt_noMCE() {
	// because this is XFBML, we need to tell Facebook to re-process the document
	FB.XFBML.Host.parseDomTree();
}
function close_pop_layer() {
	if (document.getElementById("PopLayer") && document.getElementById("PopLayer").style.display != "none") {
		document.getElementById("PopLayer").style.display = "none";

		//lightbox close:
		if (document.getElementById('overlay').style.display != 'none') {
			hideOverlay();
			hideSelects('visible');
		}
	}
}


//AJAX HANDLERS
function ajax_json_call(callUrl, callType, callVars, onCompleteFunc) {
	try {
		$.ajax({
			type: callType,
			url: callUrl,
			data: callVars,
			dataType: "json",
			success: function(data) {
				if (data) {
					process_success_ajax_json_call(data);
				} else {
    			    //alert("error");
					//error
				}
		 	},
			complete: function() {
				//if we need to run something discard if we get data or not
				if (eval("typeof " + onCompleteFunc + " == 'function'")) {
					eval(onCompleteFunc+'()');
				}
			}
		});
	} catch (e) {
		//nothing for now
		alert(e);
	}
}

function process_success_ajax_json_call(data) {
	//var formElements = {formType:['input', 'type', 'radio', 'password', 'textarea', 'checkbox', 'select']}
	if (data) {
		var alert_content="";
		$.each(data, function(id, dataHolder) {
			//alert(dataHolder.jAction+" "+dataHolder.jContentReturn+" "+id);
			if ($("#"+id) && id!="alert_msg" && dataHolder.jAction) {
				//dataHolder is array (jAction,contentReturn,insertId)
				if (dataHolder.jAction.indexOf('insert')>-1) {
					//insertAfter, insertBefore
					$(dataHolder.jContentReturn)[dataHolder.jAction]('#'+dataHolder.jHelpId);
				} else {
					//replace/set new value
					//alert(dataHolder.jAction+" "+dataHolder.jContentReturn+" "+id);
					$("#"+id)[dataHolder.jAction](dataHolder.jContentReturn);
				}
			}
			//display js alert
			if (id=="alert_msg") alert_content += content+"\n";
		});
		if (alert_content != "") alert(alert_content);
	}
	else {
		//process error here...
	}
}

function scrollToDivTop(targetDiv) {

    try {
    
    //GET X SCROLL - USE EXISTING
    xScroll = document.body.scrollLeft || document.documentElement.scrollLeft;    
    
    //GET Y SCROLL - USE TOP OF TARGET DOC
    var divTop =	document.getElementById(targetDiv).style.top;
    yScroll = parseInt(divTop.replace("px", "") - 40);
    
    //SCROLL TO TOP OF ELEMENT
    window.scrollTo(xScroll, yScroll);
    
    }
    
    catch(e) {
        alert(e);
    }
    
}

function scrollToDivTopPixels(pixelsToScroll) {

    try {
    
    //GET X SCROLL - USE EXISTING
    xScroll = document.body.scrollLeft || document.documentElement.scrollLeft;    
    
    //GET Y SCROLL - USE TOP OF TARGET DOC
    yScroll = parseInt(pixelsToScroll);
    
    //SCROLL TO TOP OF ELEMENT
    window.scrollTo(xScroll, yScroll);
    
    }
    
    catch(e) {
        alert(e);
    }
    
}

//EVENT FUNCTIONS
function submitPastEvents(listingId, iteration) {

	var vars = "action=getPastEvents&id="+listingId+"&iteration="+iteration;
	
	//PROVIDE FEEDBACK
	if (document.getElementById('getPastEventsButton')) {
		document.getElementById('getPastEventsButton').innerHTML = '<img src="filebin/images/btn_getting_events.gif" alt="View Past Events" style="border: none;" />';
	}	
	
	//GET PAST EVENTS	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);	    

}


//REVIEW FUNCTIONS
function writeReview() {
	
	//GET LISTING ID FROM PAGE
	if (document.getElementById('listingId_forReview')) {
		var id = document.getElementById('listingId_forReview').value;
	}
	
	//LAUNCH POP-UP
	var vars = 'action=writeReview&listingId='+id;
	launch_pop_up(vars);
	
}

function submitReview() {

    scrollToDivTop("PopLayer");

	//PROVIDE FEEDBACK
	if (document.getElementById('PopLayerMsg')) {
		document.getElementById('PopLayerMsg').innerHTML = "loading...";
	}

	//GET REVIEW DATA
	var name = "";
	var email = "";
	var rating = "";
	var headline = "";
	var comments = "";
	var recommend = "";
	var id = "";
	var tableName = "";
	
	//NAME
	if (document.getElementById('nameReview')) {
		name = encodeURIComponent(document.getElementById('nameReview').value);
	}

	//EMAIL
	if (document.getElementById('emailReview')) {
		email = encodeURIComponent(document.getElementById('emailReview').value);
	}

	//RATING
	if (document.getElementById('ratingReview')) {
		rating = encodeURIComponent(document.getElementById('ratingReview').value);
	}

	//HEADLINE
	if (document.getElementById('headlineReview')) {
		headline = encodeURIComponent(document.getElementById('headlineReview').value);
	}
	
	//COMMENTS
	if (document.getElementById('commentsReview')) {
		comments = encodeURIComponent(document.getElementById('commentsReview').value);
	}	

	//RECOMMEND
	if (document.getElementById('recommendReview')) {
		if (document.getElementById('recommendReview').checked) {
		    recommend = "Yes";
		} else {
		    recommend = "No";
		}
	}	
	
	//ID
	if (document.getElementById('listingIdReview')) {
		id = encodeURIComponent(document.getElementById('listingIdReview').value);
	}		
	
	//TABLE NAME
	if (document.getElementById('tableNameReview')) {
		tableName = encodeURIComponent(document.getElementById('tableNameReview').value);
	}		
	
	var vars = "action=saveReview&name="+name+"&email="+email+"&rating="+rating+"&headline="+headline+"&comments="+comments+"&id="+id+"&tableName="+tableName+"&recommend="+recommend;
	
	//SAVE REVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);		

}

function writeResponse(id) {
	
	//INITIALIZE VARS
    var listing_id;
    var listing_name	;
	
	//GET LISTING ID FROM PAGE
	if (document.getElementById('listingId_forReview')) {
		listing_id = document.getElementById('listingId_forReview').value;
	}
	
	//GET LISTING NAME FROM PAGE
	if (document.getElementById('listingName_forReview')) {
		listing_name = document.getElementById('listingName_forReview').value;
	}	
	
	//LAUNCH POP-UP
	var vars = 'action=writeResponse&listingId='+listing_id+'&listingName='+listing_name+'&reviewId='+id;
	launch_pop_up(vars);
	
}

function submitResponse() {

    //scrollToDivTop("PopLayer");

	//PROVIDE FEEDBACK
	if (document.getElementById('PopLayerMsg')) {
		document.getElementById('PopLayerMsg').innerHTML = "loading...";
	}

	//GET REVIEW DATA
	var name = "";
	var comments = "";
	var listingId = "";
	var reviewId = "";
	var tableName = "";
	
	//NAME
	if (document.getElementById('nameReview')) {
		name = encodeURIComponent(document.getElementById('nameReview').value);
	}

	//COMMENTS
	if (document.getElementById('commentsReview')) {
		comments = encodeURIComponent(document.getElementById('commentsReview').value);
	}	

	//REVIEW ID
	if (document.getElementById('reviewIdReview')) {
		reviewId = encodeURIComponent(document.getElementById('reviewIdReview').value);
	}	

	//LISTING ID
	if (document.getElementById('listingIdReview')) {
		listingId = encodeURIComponent(document.getElementById('listingIdReview').value);
	}		
	
	//TABLE NAME
	if (document.getElementById('tableNameReview')) {
		tableName = encodeURIComponent(document.getElementById('tableNameReview').value);
	}		
	
	var vars = "action=saveResponse&name="+name+"&comments="+comments+"&tableId="+listingId+"&reviewId="+reviewId+"&tableName="+tableName;
	
	//SAVE REVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);		

}

function submit_listing_contact_form() {

    try {

    scrollToDivTopPixels(600);

	//PROVIDE FEEDBACK
	if (document.getElementById('indDivContactFormMsg')) {
		document.getElementById('indDivContactFormMsg').innerHTML = '<div class="success">submitting...</div>';
	}

	//GET FORM DATA
	var first_name = "";
	var last_name = "";
	var email = "";
	var phone = "";
	var message = "";
	var id = "";
	
	//FIRST NAME
	if (document.getElementById('first_name')) {
		first_name = encodeURIComponent(document.getElementById('first_name').value);
	}

	//LAST NAME
	if (document.getElementById('last_name')) {
		last_name = encodeURIComponent(document.getElementById('last_name').value);
	}

	//EMAIL
	if (document.getElementById('email')) {
		email = encodeURIComponent(document.getElementById('email').value);
	}

	//PHONE
	if (document.getElementById('phone')) {
		phone = encodeURIComponent(document.getElementById('phone').value);
	}

	//MESSAGE
	if (document.getElementById('message')) {
		message = encodeURIComponent(document.getElementById('message').value);
	}	

	//ID
	if (document.getElementById('listingId')) {
		id = encodeURIComponent(document.getElementById('listingId').value);
	}		

	var vars = "action=sendContact&first_name="+first_name+"&last_name="+last_name+"&email="+email+"&phone="+phone+"&message="+message+"&id="+id;

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);		

    }
    
    catch(e) {
        alert(e);
    }

}

function addJoin(listingId, type) {

    var buttonDiv = "manageButton_"+type;

    //PROVIDE FEEDBACK
    if (document.getElementById(buttonDiv)) {
        document.getElementById(buttonDiv).innerHTML = '<img src="filebin/images/btn_adding.gif" alt="Adding..." style="display: block; margin: 10px 0px 10px 0px; border: 0px;" />';
    }

    //SEND VARS
	var vars = "action=addJoin_"+type+"&listingId="+listingId+"&type="+type+"&tempId=temp_"+tempId;

    //RESET TINY MCE
    clearMCEDescripEditors();

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'addJoinFinish(\''+type+'\', \''+tempId+'\')');		

    //INCREMENT TempId
    tempId = tempId + 1;
	
}

function addJoinFinish(type, tempId) {

    //INITIALIZE DECRIPTION ELEMENTS
    initializeManageMCE_descrip();    
    
    //INITIALIZE DATE PICKER IF NECESSARY
    if (type == "events") {
        initializeDatePicker();
    }

    //SCROLL TO JOIN IF NECESSARY
    if (type == "menuCategory") {

        var joinFormLabel = "joinFormLabel_"+type+"_temp_"+tempId;
     
        //SCROLL TO TOP OF NEW LABEL FIELD
        //alert(joinFormLabel);
        if (document.getElementById(joinFormLabel)) {
            var formTop = getElementTop(document.getElementById(joinFormLabel)) - 40;
            scrollToDivTopPixels(formTop);
        }

    }
    
}

function scrollToJoinStart(type, tempId) {
 
    var joinFormLabel = "joinFormLabel_"+type+"_temp_"+tempId;
 
    //SCROLL TO TOP OF NEW LABEL FIELD
    //alert(joinFormLabel);
    if (document.getElementById(joinFormLabel)) {
        var formTop = getElementTop(document.getElementById(joinFormLabel)) - 40;
        scrollToDivTopPixels(formTop);
    }

    //ADD INITIALIZATION HERE IF NECESSARY
    if (type == "events") {
        var descripDiv = "descriptionEvents_temp_"+tempId;
        //initializeEvents(descripDiv);
        initializeAllEvents();
    }
    if (type == "locations") {
        var descripDiv = "descriptionLocation_temp_"+tempId;
        initializeManageMCE_descrip_ind(descripDiv);
    }  
    if (type == "menuItem" || type == "menuCategory" || type == "menu") {
        //var descripDiv = "descriptionMenu_temp_"+tempId;
        //initializeManageMCE_descrip_ind(descripDiv);
        initializeManageMCE_all();
    }      
}

function addJoinMenuItem(listingId, type, categoryId) {

    var buttonDiv = "manageButton_"+type;
    var menuItemButtonDiv = "addLineItemButton_menuItem_"+categoryId;
    
    //PROVIDE FEEDBACK
    if (document.getElementById(buttonDiv)) {
        document.getElementById(buttonDiv).innerHTML = '<img src="filebin/images/btn_adding.gif" alt="Adding..." style="display: block; margin: 10px 0px 10px 0px; border: 0px;" />';
    }
    if (type == "menuItem" && document.getElementById(menuItemButtonDiv)) {
        document.getElementById(menuItemButtonDiv).innerHTML = '<img src="filebin/images/btn_adding_small.gif" alt="Adding..." style="display: block; border: 0px;" />';
    }

    //SEND VARS
	var vars = "action=addJoin_"+type+"&listingId="+listingId+"&categoryId="+categoryId+"&type="+type+"&tempId=temp_"+tempId;

    clearMCEDescripEditors();

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'scrollToJoinStart(\''+type+'\', \''+tempId+'\')');		

    //INCREMENT TempId
    tempId = tempId + 1;
	
}

function deleteJoin(listingId, elementId, type) {

    //PROVIDE FEEDBACK
    if (confirm("Are you sure you want to delete this item?")) {

        var vars = "action=deleteJoin_"+type+"&listingId="+listingId+"&elementId="+elementId+"&type="+type;
    
        clearMCEDescripEditors();
        
        //SEND MESSAGE
        ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'deleteJoinFinish(\''+type+'\')');		
        
    }
	
}

function deleteJoinFinish(type) {

    //INITIALIZE DECRIPTION ELEMENTS
    initializeManageMCE_descrip();    
    
    if (type == "events") {
        initializeDatePicker();
    }
    
}

function clearMCEDescripEditors() {

    $("#indDivContent .manageFormMceEditor_descrip").each( 
    
        function(){
            tinyMCE.execCommand('mceRemoveControl', true, this.id);
    
    });

}

function submitCertificationJoin(listingId, elementId) {

    //INITIALIZE FORM CONTENT
    var msgDiv = "joinFormMsg_certification_"+elementId;
    var certElement = "labelCertification_"+elementId;
    var certSequence = "sequence_certification_"+elementId;
    var buttonDiv = "joinFormButton_certification_"+elementId;
    
	//PROVIDE FEEDBACK
	if (document.getElementById(buttonDiv)) {
		document.getElementById(buttonDiv).innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}

	//GET FORM DATA
	var certification = "";
	var sequence = "";
	
	//CERTIFICATION
	if (document.getElementById(certElement)) {
		certification = encodeURIComponent(document.getElementById(certElement).value);
	}

	//SEQUENCE
	if (document.getElementById(certSequence)) {
		sequence = encodeURIComponent(document.getElementById(certSequence).value);
	}

	var vars = "action=submitJoin_certification&type=certification&certification="+certification+"&sequence="+sequence+"&listingId="+listingId+"&elementId="+elementId;

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'certificationSaveFinish');		

}

function certificationSaveFinish() {

    //STROLL TO TOP OF MSG AREA
    if (document.getElementById('certificationContent')) {
        var formTop = getElementTop(document.getElementById('certificationContent'));
        scrollToDivTopPixels(formTop);
    }    
    
}

function submitLanguagesJoin(listingId, elementId) {

    //INITIALIZE FORM CONTENT
    var msgDiv = "joinFormMsg_languages_"+elementId;
    var languagesElement = "labelLanguages_"+elementId;
    var languagesSequence = "sequence_languages_"+elementId;
    var buttonDiv = "joinFormButton_languages_"+elementId;
    
	//PROVIDE FEEDBACK
	if (document.getElementById(buttonDiv)) {
		document.getElementById(buttonDiv).innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}

	//GET FORM DATA
	var languages = "";
	var sequence = "";
	
	//LANGUAGES
	if (document.getElementById(languagesElement)) {
		languages = encodeURIComponent(document.getElementById(languagesElement).value);
	}

	//SEQUENCE
	if (document.getElementById(languagesSequence)) {
		sequence = encodeURIComponent(document.getElementById(languagesSequence).value);
	}

	var vars = "action=submitJoin_languages&type=certification&languages="+languages+"&sequence="+sequence+"&listingId="+listingId+"&elementId="+elementId;

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'languagesSaveFinish');		

}

function languagesSaveFinish() {

    //STROLL TO TOP OF MSG AREA
    if (document.getElementById('languagesContent')) {
        var formTop = getElementTop(document.getElementById('languagesContent'));
        scrollToDivTopPixels(formTop);
    }    
    
}

function submitConnectJoin(listingId, elementId) {

    //INITIALIZE FORM CONTENT
    var msgDiv = "joinFormMsg_connect_"+elementId;
    var labelElement = "labelConnect_"+elementId;
    var valueElement = "valueConnect_"+elementId;
    var sequenceElement = "sequence_connect_"+elementId;    
    var buttonDiv = "joinFormButton_connect_"+elementId;
    
	//PROVIDE FEEDBACK
	if (document.getElementById(buttonDiv)) {
		document.getElementById(buttonDiv).innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}

	//GET FORM DATA
	var label = "";
	var value = "";
	var sequence = "";
	
	//LABEL
	if (document.getElementById(labelElement)) {
		label = encodeURIComponent(document.getElementById(labelElement).value);
	}

	//VALUE
	if (document.getElementById(valueElement)) {
		value = encodeURIComponent(document.getElementById(valueElement).value);
	}

	//SEQUENCE
	if (document.getElementById(sequenceElement)) {
		sequence = encodeURIComponent(document.getElementById(sequenceElement).value);
	}

	var vars = "action=submitJoin_connect&type=connect&label="+label+"&value="+value+"&sequence="+sequence+"&listingId="+listingId+"&elementId="+elementId;

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'connectSaveFinish');		

}

function connectSaveFinish() {

    //STROLL TO TOP OF MSG AREA
    if (document.getElementById('urlContent')) {
        var formTop = getElementTop(document.getElementById('urlContent'));
        scrollToDivTopPixels(formTop);
    }    
    
}

function submitSkillsJoin(listingId, elementId) {

    try {

    //INITIALIZE FORM CONTENT
    var msgDiv = "joinFormMsg_skills_"+elementId;
    var formElement = "selectorMenu_"+elementId;
    var subcatElement = "subcategorySelectorInput_"+elementId;    
    var sequenceElement = "sequence_skills_"+elementId;    

    //SCROLL TO TOP OF FORM
    var formTop = getElementTop(document.getElementById(formElement)) - 100;
    scrollToDivTopPixels(formTop);

	//PROVIDE FEEDBACK
	if (document.getElementById(msgDiv)) {
		document.getElementById(msgDiv).innerHTML = "saving...";
	}

    var subcatId = '';
    var subcatName = '';
    var sequence = '';

	//GET SUBCAT ID AND NAME
	//alert(document.getElementById(formElement).elements[subcatElement]);
	if (document.getElementById(formElement).elements[subcatElement]) {
	    var radioGroup = document.getElementById(formElement).elements[subcatElement];
	    for (var i=0; i<radioGroup.length; i++) {
	        if (radioGroup[i].checked) {
	            var subcatData = radioGroup[i].value.split(':');
	            //alert(subcatData);
	            subcatId = encodeURIComponent(subcatData[1]);
	            subcatName = encodeURIComponent(subcatData[0]);
	        }
	    }
	}
	
	//GET SEQUENCE
	if (document.getElementById(sequenceElement)) {
		sequence = encodeURIComponent(document.getElementById(sequenceElement).value);
	}

	var vars = "action=submitJoin_skills&type=skills&listingId="+listingId+"&elementId="+elementId+"&subcatId="+subcatId+"&sequence="+sequence+"&subcatName="+subcatName;

    //alert(vars);
	
	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'initializeSkillSelector');		    

    }
    
    catch(e) {
        alert(e);
    }

}

function submitLocationsJoin(listingId, elementId) {

    try {

    //INITIALIZE FORM CONTENT
    var msgDiv = "joinFormMsg_locations_"+elementId;
    var nameElement = "nameLocation_"+elementId;
    var address1Element = "address1Location_"+elementId;
    var address2Element = "address2Location_"+elementId;
    var cityElement = "cityLocation_"+elementId;
    var stateElement = "stateLocation_"+elementId;
    var zipElement = "zipLocation_"+elementId;
    var descriptionElement = "descriptionLocation_"+elementId;
    var sequenceElement = "sequence_locations_"+elementId;    
    var buttonDiv = "joinFormButton_location_"+elementId;
    
	//PROVIDE FEEDBACK
	if (document.getElementById(msgDiv)) {
		document.getElementById(msgDiv).innerHTML = '<div class="success">Calculating longitude and latitude...</div>';
	}
	if (document.getElementById(buttonDiv)) {
		document.getElementById(buttonDiv).innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}

	//GET FORM DATA
	var name = "";
	var address1 = "";
	var address2 = "";
	var city = "";
	var state = "";
	var zip = "";
	var description = "";
	var sequence = "";
	
	//NAME
	if (document.getElementById(nameElement)) {
		name = encodeURIComponent(document.getElementById(nameElement).value);
	}

	//ADDRESS1
	if (document.getElementById(address1Element)) {
		address1 = encodeURIComponent(document.getElementById(address1Element).value);
	}

	//ADDRESS2
	if (document.getElementById(address2Element)) {
		address2 = encodeURIComponent(document.getElementById(address2Element).value);
	}

	//CITY
	if (document.getElementById(cityElement)) {
		city = encodeURIComponent(document.getElementById(cityElement).value);
	}

	//STATE
	if (document.getElementById(stateElement)) {
		state = encodeURIComponent(document.getElementById(stateElement).value);
	}

	//ZIP
	if (document.getElementById(zipElement)) {
		zip = encodeURIComponent(document.getElementById(zipElement).value);
	}

	//DESCRIPTION - MODIFIED TO USE TINY MCE
	if (document.getElementById(descriptionElement)) {
		var descripobj = tinyMCE.getInstanceById(descriptionElement);
		description = encodeURIComponent(descripobj.getContent());
		tinyMCE.execCommand('mceRemoveControl', true, descriptionElement);
	}

	//SEQUENCE
	if (document.getElementById(sequenceElement)) {
		sequence = encodeURIComponent(document.getElementById(sequenceElement).value);
	}

	var vars = "action=submitJoin_locations&type=locations&name="+name+"&address1="+address1+"&address2="+address2+"&city="+city+"&state="+state+"&zip="+zip+"&description="+description+"&sequence="+sequence+"&listingId="+listingId+"&elementId="+elementId;

    //RESET TINY MCE
     clearMCEDescripEditors();

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'locationsSaveFinish');	

    }
    
    catch(e) {
        alert(e);
    }

}

function locationsSaveFinish() {

    //STROLL TO TOP OF MSG AREA
    if (document.getElementById('locationsContent')) {
        var formTop = getElementTop(document.getElementById('locationsContent'));
        scrollToDivTopPixels(formTop);
    }    
    
    //INITIALIZE DECRIPTION ELEMENTS
    initializeManageMCE_descrip();    
    
}

function submitMenuJoin(listingId, elementId, joinType) {

    try {

    //INITIALIZE FORM CONTENT
    var msgDiv = "manageMsg_menu";
    var buttonDiv = "joinFormButton_menu"+joinType+"_"+elementId;
    var nameElement = "nameMenu_"+elementId;
    var typeElement = "typeMenu_"+elementId;
    var priceElement = "priceMenu_"+elementId;
    var descriptionElement = "descriptionMenu_"+elementId;
    var specialElement = "specialMenu_"+elementId;
    var sequenceElement = "sequence_menu"+joinType+"_"+elementId;    
    
	//PROVIDE FEEDBACK
	if (document.getElementById(msgDiv)) {
		document.getElementById(msgDiv).innerHTML = '<div class="success">saving...</div>';
	}
	if (document.getElementById(buttonDiv)) {
		document.getElementById(buttonDiv).innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}

	//GET FORM DATA
	var name = "";
	var type = "";
	var price = "";
	var description = "";
	var special = "";
	var sequence = "";
	
	//NAME
	if (document.getElementById(nameElement)) {
		name = encodeURIComponent(document.getElementById(nameElement).value);
	}

	//TYPE
	if (document.getElementById(typeElement)) {
		type = encodeURIComponent(document.getElementById(typeElement).value);
	}

	//PRICE
	if (document.getElementById(priceElement)) {
		price = encodeURIComponent(document.getElementById(priceElement).value);
	}

	//DESCRIPTION - MODIFIED TO USE TINY MCE
	if (document.getElementById(descriptionElement)) {
		var descripobj = tinyMCE.getInstanceById(descriptionElement);
		description = encodeURIComponent(descripobj.getContent());
		tinyMCE.execCommand('mceRemoveControl', true, descriptionElement);
	}	
	

	//SPECIAL
	if (document.getElementById(specialElement)) {
		if (document.getElementById(specialElement).checked == true) {
		    special = 'Yes';
		} else {
		    special = 'No';
		}
	}

	//SEQUENCE
	if (document.getElementById(sequenceElement)) {
		sequence = encodeURIComponent(document.getElementById(sequenceElement).value);
	}

	var vars = "action=submitJoin_menu&type=menu&name="+name+"&menuType="+type+"&price="+price+"&description="+description+"&sequence="+sequence+"&listingId="+listingId+"&elementId="+elementId+"&special="+special;

    //alert(vars);

    //RESET TINY MCE
     clearMCEDescripEditors();

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'menuSaveFinish');	

    }
    
    catch(e) {
        alert(e);
    }    

}

function menuSaveFinish() {

    //STROLL TO TOP OF MSG AREA
    if (document.getElementById('menuContent')) {
        var formTop = getElementTop(document.getElementById('menuContent'));
        scrollToDivTopPixels(formTop);
    }    

    //INITIALIZE DECRIPTION ELEMENTS
    initializeManageMCE_descrip();

}

function submitEventsJoin(listingId, elementId) {

    try {

    //INITIALIZE FORM CONTENT
    var msgDiv = "joinFormMsg_events_"+elementId;
    var nameElement = "nameEvents_"+elementId;
    var startDateElement = "startDateEvents_"+elementId;
    var startTimeElement = "startTimeEvents_"+elementId;
    var endDateElement = "endDateEvents_"+elementId;
    var endTimeElement = "endTimeEvents_"+elementId;
    var urlElement = "urlEvents_"+elementId;
    var descriptionElement = "descriptionEvents_"+elementId;
    var buttonDiv = "joinFormButton_events_"+elementId;
    
	//PROVIDE FEEDBACK
	if (document.getElementById(msgDiv)) {
		document.getElementById(msgDiv).innerHTML = '<div class="success">Saving...</div>';
	}
	if (document.getElementById(buttonDiv)) {
		document.getElementById(buttonDiv).innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}

	//GET FORM DATA
	var name = "";
	var start_date = "";
	var start_time = "";
	var end_date = "";
	var end_time = "";
	var url = "";
	var description = "";
	
	//NAME
	if (document.getElementById(nameElement)) {
		name = encodeURIComponent(document.getElementById(nameElement).value);
	}

	//START DATE
	if (document.getElementById(startDateElement)) {
		start_date = encodeURIComponent(document.getElementById(startDateElement).value);
	}

	//START TIME
	if (document.getElementById(startTimeElement)) {
		start_time = encodeURIComponent(document.getElementById(startTimeElement).value);
	}

	//END DATE
	if (document.getElementById(endDateElement)) {
		end_date = encodeURIComponent(document.getElementById(endDateElement).value);
	}

	//END TIME
	if (document.getElementById(endTimeElement)) {
		end_time = encodeURIComponent(document.getElementById(endTimeElement).value);
	}

	//URL
	if (document.getElementById(urlElement)) {
		url = encodeURIComponent(document.getElementById(urlElement).value);
	}

	//DESCRIPTION - MODIFIED TO USE TINY MCE
	if (document.getElementById(descriptionElement)) {
		if (tinyMCE) {
		var descripobj = tinyMCE.getInstanceById(descriptionElement);
            description = encodeURIComponent(descripobj.getContent());
            tinyMCE.execCommand('mceRemoveControl', true, descriptionElement);
        }
	}	

	var vars = "action=submitJoin_events&type=events&name="+name+"&start_date="+start_date+"&start_time="+start_time+"&end_date="+end_date+"&end_time="+end_time+"&url="+url+"&description="+description+"&listingId="+listingId+"&elementId="+elementId;

    //RESET TINY MCE
     clearMCEDescripEditors();

	//SEND MESSAGE
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'eventsSaveFinish');	

    }
    
    catch(e) {
        alert(e);
    }

}

function eventsSaveFinish() {

    //STROLL TO TOP OF MSG AREA
    if (document.getElementById('eventsContent')) {
        var formTop = getElementTop(document.getElementById('eventsContent'));
        scrollToDivTopPixels(formTop);
    }    
    
    //INITIALIZE DECRIPTION ELEMENTS
    initializeManageMCE_descrip();    
    
    //INITIALIZE DATE PICKER
    initializeDatePicker();
    
}

function reorderSequence(listingId, joinName) {

    try {
    
    var msgDiv = "manageMsg_"+joinName;
    var topButtonDiv = "joinEditorSequence_"+joinName+"_top";
    var bottomButtonDiv = "joinEditorSequence_"+joinName+"_bottom";

	//PROVIDE FEEDBACK
	if (document.getElementById(msgDiv)) {
		document.getElementById(msgDiv).innerHTML = '<div class="success">Ordering...</div>';
	}
	if (document.getElementById(topButtonDiv)) {
		document.getElementById(topButtonDiv).innerHTML = '<img alt="Reordering..." src="filebin/images/btn_reordering.gif"/>';
	}
	if (document.getElementById(bottomButtonDiv)) {
		document.getElementById(bottomButtonDiv).innerHTML = '<img alt="Reordering..." src="filebin/images/btn_reordering.gif"/>';
	}
	
    //FIRST GET ALL SEQUENCE FIELDS
    var seqVars = '';
    
    var seqFields = $(".joinEditorSequenceText");
 
    for(i=0;i<seqFields.length;i++) {

        var seqArray = seqFields[i].id.split("_");
        
        //CHECK SECOND POSITION - WILL BE joinName - AND ADD TO POSTED VARS
        
        //CHECK FOR MENU - CUSTOM BECAUSE OF TWO MENU TYPES ON PAGE
        if (joinName == "menu") {
        
            if (seqArray[1] == "menuCategory" || seqArray[1] == "menuItem") {
                seqVars += "&seqId_"+seqArray[2]+"="+seqFields[i].value;      
            }            
        
        } else {
        
            if (seqArray[1] == joinName) {
                seqVars += "&seqId_"+seqArray[2]+"="+seqFields[i].value;      
            }
        
        }

    }
    
    if (seqVars != '') {
    
        var vars = "action=submitJoinSequence&type="+joinName+"&listingId="+listingId+seqVars;

         clearMCEDescripEditors();

    	//SEND MESSAGE
	    ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'initializeManageMCE_all');		
        
        //alert(vars);
        
    }    

    }
    
    catch(e) {
        alert(e);
    }

}

function handOver(id) {
	var length = 5;
	for(i=1; i<=length; i++) {
		var hand_id = "hand_"+i;
		if (document.getElementById(hand_id)) {
			if (i <= id) {			
				document.getElementById(hand_id).className="hand_highlighted";
			} else {
				document.getElementById(hand_id).className="hand_dull";			
			}
		}
	}
	
	//UPDATE TEXT
	handTextUpdate(id);

}
function handOut() {
	var length = 5;
	var current_id = document.getElementById("ratingReview").value;
	for(i=1; i<=length; i++) {
		var hand_id = "hand_"+i;
		if (document.getElementById(hand_id)) {
			document.getElementById(hand_id).className="hand_dull";			
		}
	}
	
	//UPDATE TEXT
	if (document.getElementById("reviewHandsText")) {
		document.getElementById("reviewHandsText").innerHTML = "";
	}	
	
	if (current_id != "") {
		handClick(current_id);
	}

}
function handClick(id) {
	var length = 5;
	for(i=1; i<=length; i++) {
		var hand_id = "hand_"+i;
		if (document.getElementById(hand_id)) {
			if (i <= id) {			
				document.getElementById(hand_id).className="hand_selected";
			} else {
				document.getElementById(hand_id).className="hand_dull";			
			}
		}
	}
	
	//UPDATE TEXT
	handTextUpdate(id);	
	
	document.getElementById("ratingReview").value = id;
}

function handTextUpdate(id) {

	var text = "";

	if (id == 1) {
		text = "Poor";
	} else if (id == 2) {
		text = "Nothing special";
	} else if (id == 3) {
		text = "Average";
	} else if (id == 4) {
		text = "Outstanding";
	} else if (id == 5) {
		text = "Exceeded expectations";
	}

	if (document.getElementById("reviewHandsText")) {
		$("#reviewHandsText").html(text);
	}
	
}

function toggleReview(id) {
	var hiddenDiv = "indDivReviewCommentExtra_"+id;
	var linkDiv = "extraLink_"+id;
	var linkCloseDiv = "extraLinkClose_"+id;
	
	//USE JQUERY TO HIDE/SHOW EXTRA LINKS
	if (document.getElementById(hiddenDiv) && document.getElementById(linkDiv)) {
		$("#"+hiddenDiv).slideToggle("fast");
	}
	
	//UPDATE TEXT
	if (document.getElementById(hiddenDiv).style.height == "1px") {
		document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleReview(\''+id+'\'); return false;">Close -</a>';
		
		//SHOW CLOSE LINK
    	if (document.getElementById(linkCloseDiv)) {
    	    document.getElementById(linkCloseDiv).style.display = 'block';
    	}
		
	} else {
		document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleReview(\''+id+'\'); return false;">Read More +</a>';		
		
		//CLOSE SECOND CLOSE LINK
    	if (document.getElementById(linkCloseDiv)) {
    	    document.getElementById(linkCloseDiv).style.display = 'none';
    	}		
		
	}
}

function toggleJoin(id, joinName) {

	var hiddenDiv = "joinForm_"+joinName+"_"+id;
	var linkDiv =  "opener_"+joinName+"_"+id;
	var msgDiv = "joinFormMsg_"+joinName+"_"+id;
	var addAnotherDiv = "addAnother_"+joinName+"_"+id;
	
	//USE JQUERY TO HIDE/SHOW EXTRA LINKS
	if (document.getElementById(hiddenDiv) && document.getElementById(linkDiv)) {
		$("#"+hiddenDiv).slideToggle("fast");
	}
	
	//UPDATE TEXT
	if (document.getElementById(hiddenDiv).style.height == "1px") {
		document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleJoin(\''+id+'\', \''+joinName+'\'); return false;">Close [-]</a>';
		
	} else {
		document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleJoin(\''+id+'\', \''+joinName+'\'); return false;">Open [+]</a>';		
		
	}
	
	//HIDE MSG IF IT EXISTS
	if (document.getElementById(msgDiv)) {
		document.getElementById(msgDiv).innerHTML = '';
	}	

	//HIDE ADD ANOTHER BUTTON IF IT EXISTS
	if (document.getElementById(addAnotherDiv)) {
		document.getElementById(addAnotherDiv).innerHTML = '';
	}	
	
}

function collapseAll(joinName) {
	
	//GO THROUGH ALL OPEN DIVS IN SPECIFIED AREA AND HIDE THEM
	//joinForm_
    var editorArray = $(".joinEditorForm");
    var editorExtendedArray = $(".joinEditorFormExtended");
    
    //GO THROUGH EDITOR ARRAY
    if (editorArray) {
        $.each(editorArray, function() {
            idArray = this.id.split("_"); 
            
            //FIRST CHECK IF MENU - MULTIPLE JOIN NAMES HERE
            if (joinName == "menu") {

                if (idArray[1] == "menuCategory") {
                    
                    //IF OPEN, CLOSE IT
                    if (this.style.display == "block") {
                        toggleJoin(idArray[2], "menuCategory");
                    }
                    
                }

                if (idArray[1] == "menuItem") {
                    
                    //IF OPEN, CLOSE IT
                    if (this.style.display == "block") {
                        toggleJoin(idArray[2], "menuItem");
                    }
                    
                }

            
            } else {

                //ALL OTHER JOINS            
                if (idArray[1] == joinName) {
                    
                    //IF OPEN, CLOSE IT
                    if (this.style.display == "block") {
                        toggleJoin(idArray[2], joinName);
                    }
                }
    
            }

        });
    }

    //GO THROUGH EDITOR EXTENDED ARRAY
    if (editorExtendedArray) {
        $.each(editorExtendedArray, function() {
            idArray = this.id.split("_"); 
            if (idArray[1] == joinName) {
                
                //IF OPEN, CLOSE IT
                if (this.style.display == "block") {
                    toggleJoin(idArray[2], joinName);
                }
            }
        });
    }
	
}

function toggleMenuFields(elementId) {
    
    var hiderDiv = "menuItemContent_"+elementId;
    var menuDrop = "typeMenu_"+elementId;
    var itemType = "";
    
    if (document.getElementById(menuDrop) && document.getElementById(hiderDiv)) {

        //SET ITEM TYPE
		itemType = document.getElementById(menuDrop).value;
    
        //CHECK IF TOGGLE NEEDED
        if (itemType == "item") {
        
            //DISPLAY ELEMENT
           if (document.getElementById(hiderDiv).style.display == "none") {
                $("#"+hiderDiv).slideToggle("fast");
           }
        
        } else {

            //HIDE ELEMENT
           if (document.getElementById(hiderDiv).style.display == "block") {
                $("#"+hiderDiv).slideToggle("fast");
           }
            
        }

    }

}

//ACCOUNT FUNCTIONS
function launchLogin() {
	
	//LAUNCH POP-UP
	var vars = 'action=launchLogin';
	launch_pop_up(vars);
	
}

function createToLogin() {
	
	//CLOSE CREATE ACCOUNT
	close_pop_layer();
	
	//LAUNCH POP-UP
	var vars = 'action=launchLogin';
	launch_pop_up(vars);
		
}

function submitLogin() {

    scrollToDivTop("PopLayer");

	//PROVIDE FEEDBACK
	if (document.getElementById('PopLayerMsg')) {
		document.getElementById('PopLayerMsg').innerHTML = "<div class='success'>loading...</div>";
	}

	//GET LOGIN DATA
	var email = "";
	var password = "";
	var keep = "";

	//EMAIL
	if (document.getElementById('emailLogin')) {
		email = encodeURIComponent(document.getElementById('emailLogin').value);
	}

	//PASSWORD
	if (document.getElementById('passwordLogin')) {
		password = encodeURIComponent(document.getElementById('passwordLogin').value);
	}

	//KEEP
	if (document.getElementById('keepLogin')) {
		if (document.getElementById('keepLogin').checked) {
		    keep = "Yes";
		} else {
		    keep = "No";
		}
	}

	var vars = "action=submitLogin&email="+email+"&password="+password+"&keep="+keep+"&pageId="+pageId;

	//SUBMIT LOGIN	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'fbConnectInt');		

}
function FBsubmitLogin() {
	
	/*
	var fbUserId = document.getElementById("fbUserId").value;
	alert(fbUserId+":id");
	*/
	
	scrollToDivTop("PopLayer");

	var vars = "action=FBsubmitLogin&pageId="+pageId;

	//SUBMIT LOGIN	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars , 'fbConnectInt');
	
	
	// because this is XFBML, we need to tell Facebook to re-process the document
	FB.XFBML.Host.parseDomTree();

}

function launchCreate() {
	
	//LAUNCH POP-UP
	var vars = 'action=launchCreate';
	launch_pop_up(vars);
	
}

function submitCreate() {

    scrollToDivTop("PopLayer");

	//PROVIDE FEEDBACK
	if (document.getElementById('PopLayerMsg')) {
		document.getElementById('PopLayerMsg').innerHTML = "loading...";
	}

	//GET LOGIN DATA
	var first_name = "";
	var last_name = "";
	var email = "";
	var password = "";
	var password_confirm = "";
	var referred_by = "";
	var keep = "";
	var agree = "";

	//FIRST NAME
	if (document.getElementById('first_nameCreate')) {
		first_name = encodeURIComponent(document.getElementById('first_nameCreate').value);
	}

	//LAST NAME
	if (document.getElementById('last_nameCreate')) {
		last_name = encodeURIComponent(document.getElementById('last_nameCreate').value);
	}

	//EMAIL
	if (document.getElementById('emailCreate')) {
		email = encodeURIComponent(document.getElementById('emailCreate').value);
	}

	//PASSWORD
	if (document.getElementById('passwordCreate')) {
		password = encodeURIComponent(document.getElementById('passwordCreate').value);
	}

	//PASSWORD CONFIRM
	if (document.getElementById('passwordConfirmCreate')) {
		password_confirm = encodeURIComponent(document.getElementById('passwordConfirmCreate').value);
	}

	//REFERRED BY
	if (document.getElementById('referredCreate')) {
		referred_by = encodeURIComponent(document.getElementById('referredCreate').value);
	}

	//KEEP
	if (document.getElementById('keepCreate')) {
		if (document.getElementById('keepCreate').checked) {
		    keep = "Yes";
		} else {
		    keep = "No";
		}
	}

	//AGREE
	if (document.getElementById('termsCreate')) {
		if (document.getElementById('termsCreate').checked) {
		    agree = "Yes";
		} else {
		    agree = "No";
		}
	}
	
	var vars = "action=submitCreate&first_name="+first_name+"&last_name="+last_name+"&email="+email+"&password="+password+"&password_confirm="+password_confirm+"&referred_by="+referred_by+"&keep="+keep+"&agree="+agree;
	
	//SUBMIT LOGIN	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars , 'fbConnectInt');		

}

function FBsubmitCreate() {

    scrollToDivTop("PopLayer");

	//PROVIDE FEEDBACK
	if (document.getElementById('PopLayerMsg')) {
		document.getElementById('PopLayerMsg').innerHTML = "loading...";
	}

	//GET LOGIN DATA
	var referred_by = "";
	var agree = "";
	var first_name = "";
	var last_name = "";

	
	//FIRST NAME
	if (document.getElementById('first_nameCreateFB')) {
		first_name = encodeURIComponent(document.getElementById('first_nameCreateFB').value);
	}

	//LAST NAME
	if (document.getElementById('last_nameCreateFB')) {
		last_name = encodeURIComponent(document.getElementById('last_nameCreateFB').value);
	}
	
	//REFERRED BY
	if (document.getElementById('referredCreateFB')) {
		referred_by = encodeURIComponent(document.getElementById('referredCreateFB').value);
	}

	//AGREE
	if (document.getElementById('termsCreateFB')) {
		if (document.getElementById('termsCreateFB').checked) {
		    agree = "Yes";
		} else {
		    agree = "No";
		}
	}
	
	var vars = "action=submitCreate&first_name="+first_name+"&last_name="+last_name+"&referred_by="+referred_by+"&agree="+agree;
	
	//SUBMIT LOGIN	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars , 'fbConnectInt');		

}

function logout() {
	var vars = "action=logout&pageId="+pageId;
	
	//LOGOUT	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars , 'fbConnectInt');		
    
}

function toggleForgotPasswordTool() {

	if (document.getElementById('forgotPasswordTool')) {
        $("#forgotPasswordTool").slideToggle("fast");
	}	    
    
}

function sendPassword() {

	//PROVIDE FEEDBACK
	if (document.getElementById('forgotPasswordButton')) {
		document.getElementById('forgotPasswordButton').src = 'filebin/images/btn_sending.gif" alt="Sending"';
	}

	if (document.getElementById('forgotPasswordMsg')) {
		$('#forgotPasswordMsg').html('<div class="success">retrieving password...</div>');
	}

	//GET LOGIN DATA
	var email = "";

	//EMAIL
	if (document.getElementById('forgotLogin')) {
		email = encodeURIComponent(document.getElementById('forgotLogin').value);
	}

	var vars = "action=sendPassword&email="+email;
	
	//SUBMIT LOGIN	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);		

}

//PHOTO UPLOADER
function launchPhoto() {
	
	//GET ID
	var listingId = "";
	if (document.getElementById('listingId')) {
		listingId = encodeURIComponent(document.getElementById('listingId').value);
	}	
	
	//LAUNCH POP-UP
	var vars = 'action=launchPhoto&listingId='+listingId;
	launch_pop_up(vars);	
	
}

function submitPhoto() {

    try {

    scrollToDivTop('PopLayer');

    //PROVIDE INSTANT FEEDBACK
    if (document.getElementById('submitPhoto')) {
        document.getElementById('submitPhoto').src = "filebin/images/btn_uploading_photo.gif";
    }


	if (document.getElementById('PopLayerMsg')) {
		document.getElementById('PopLayerMsg').innerHTML = "<div class='success'>uploading...</div>";
	}

    }
    
    catch(e) {
        alert(e);
    }


}

//ADMINISTRATION FEATURES

function submitOverview() {
    
    scrollToDivTopPixels(300);

	//PROVIDE FEEDBACK
	if (document.getElementById('overviewMsg')) {
		document.getElementById('overviewMsg').innerHTML = "<div class='success'>saving...</div>";
	}

	//PROVIDE FEEDBACK
	if (document.getElementById("overviewButton")) {
		document.getElementById("overviewButton").innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}

	//GET OVERVIEW DATA
	var account_email = "";
	var password = "";
	var password_confirm = "";
	var title = "";
	var first_name = "";
	var first_name_private = "";
	var last_name = "";
	var last_name_private = "";
	var public_email = "";
	var phone = "";
	var url = "";
	var experience = "";
	var member_type = "";
	var gender = "";
	var astro = "";
	var job = "";
	var housecalls = "";
	var credit_card = "";
	var insurance = "";
	var hasInsurance = "";
	var bio = "";
	var id = "";

	//ACCOUNT EMAIL
	if (document.getElementById('emailOverview')) {
		account_email = encodeURIComponent(document.getElementById('emailOverview').value);
	}

	//PASSWORD
	if (document.getElementById('passwordOverview')) {
		password = encodeURIComponent(document.getElementById('passwordOverview').value);
	}

	//PASSWORD
	if (document.getElementById('passwordConfirmOverview')) {
		password_confirm = encodeURIComponent(document.getElementById('passwordConfirmOverview').value);
	}

	//TITLE
	if (document.getElementById('titleOverview')) {
		title = encodeURIComponent(document.getElementById('titleOverview').value);
	}

	//FIRST NAME
	if (document.getElementById('firstNameOverview')) {
		first_name = encodeURIComponent(document.getElementById('firstNameOverview').value);
	}

	//FIRST NAME PRIVATE
	if (document.getElementById('firstNamePrivateOverview')) {
		if (document.getElementById('firstNamePrivateOverview').checked) {
		    first_name_private = "No";
		} else {
		    first_name_private = "Yes";
		}
	}

	//FIRST NAME
	if (document.getElementById('lastNameOverview')) {
		last_name = encodeURIComponent(document.getElementById('lastNameOverview').value);
	}

	//FIRST NAME PRIVATE
	if (document.getElementById('lastNamePrivateOverview')) {
		if (document.getElementById('lastNamePrivateOverview').checked) {
		    last_name_private = "No";
		} else {
		    last_name_private = "Yes";
		}
	}

	//PUBLIC EMAIL
	if (document.getElementById('emailPublicOverview')) {
		public_email = encodeURIComponent(document.getElementById('emailPublicOverview').value);
	}

	//PHONE
	if (document.getElementById('phoneOverview')) {
		phone = encodeURIComponent(document.getElementById('phoneOverview').value);
	}

	//WEBSITE
	if (document.getElementById('websiteOverview')) {
		url = encodeURIComponent(document.getElementById('websiteOverview').value);
	}

	//EXPERIENCE
	if (document.getElementById('experienceOverview')) {
		experience = encodeURIComponent(document.getElementById('experienceOverview').value);
	}

	//MEMBER TYPE
	if (document.getElementById('memberTypeOverview')) {
		member_type = encodeURIComponent(document.getElementById('memberTypeOverview').value);
	}

	//GENDER
	if (document.getElementById('genderOverview')) {
		gender = encodeURIComponent(document.getElementById('genderOverview').value);
	}

	//ASTRO SIGNS
	if (document.getElementById('astroOverview')) {
		astro = encodeURIComponent(document.getElementById('astroOverview').value);
	}

	//JOB STATUS
	if (document.getElementById('jobOverview')) {
		job = encodeURIComponent(document.getElementById('jobOverview').value);
	}

	//HOUSE CALLS
	if (document.getElementById('houseCallsOverview')) {
		if (document.getElementById('houseCallsOverview').checked) {
		    housecalls = "Yes";
		} else {
		    housecalls = "No";
		}
	}

	//ACCEPT CREDIT CARD
	if (document.getElementById('creditCardOverview')) {
		if (document.getElementById('creditCardOverview').checked) {
		    credit_card = "Yes";
		} else {
		    credit_card = "No";
		}
	}
	
	//ACCEPT INSURANCE
	if (document.getElementById('insuranceOverview')) {
		if (document.getElementById('insuranceOverview').checked) {
		    insurance = "Yes";
		} else {
		    insurance = "No";
		}
	}	

	//HAS INSURANCE
	if (document.getElementById('hasInsuranceOverview')) {
		if (document.getElementById('hasInsuranceOverview').checked) {
		    hasInsurance = "Yes";
		} else {
		    hasInsurance = "No";
		}
	}

	//BIO - MODIFIED TO USE TINY MCE
	//alert(document.getElementById('bioOverview'));
	if (document.getElementById('bioOverview')) {
		//obj = document.getElementById('bioOverview');
		var bioobj = tinyMCE.getInstanceById('bioOverview');
		bio = encodeURIComponent(bioobj.getContent());
		tinyMCE.execCommand('mceRemoveControl', true, 'bioOverview');
	}

	//ID
	if (document.getElementById('listingId')) {
		id = encodeURIComponent(document.getElementById('listingId').value);
	}

	var vars = "action=submitOverview&account_email="+account_email+"&password="+password+"&password_confirm="+password_confirm+"&title="+title+"&first_name="+first_name+"&first_name_private="+first_name_private+"&last_name="+last_name+"&last_name_private="+last_name_private+"&public_email="+public_email+"&phone="+phone+"&url="+url+"&experience="+experience+"&housecalls="+housecalls+"&gender="+gender+"&astro="+astro+"&job="+job+"&memberType="+member_type+"&creditCard="+credit_card+"&insurance="+insurance+"&hasInsurance="+hasInsurance+"&bio="+bio+"&id="+id;

	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'initializeManageMCE');		    
    
}

function submitShortURL() {
    
    try {

	//PROVIDE FEEDBACK
	if (document.getElementById("shortURLButton")) {
		document.getElementById("shortURLButton").innerHTML = '<input type="image" src="filebin/images/btn_saving.gif" alt="Saving" />';
	}
    
	if (document.getElementById('shortURLMsg')) {
		document.getElementById('shortURLMsg').innerHTML = "<div class='success'>saving...</div>";
	}

	//GET OVERVIEW DATA
	var short_url = "";
	var id = "";

	//SHORT URL
	if (document.getElementById('labelShortURL')) {
		short_url = encodeURIComponent(document.getElementById('labelShortURL').value);
	}

	//ID
	if (document.getElementById('listingId')) {
		id = encodeURIComponent(document.getElementById('listingId').value);
	}

	var vars = "action=submitShortURL&shortURL="+short_url+"&listingId="+id;

	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);		    
    
    }
    
    catch(e) {
        alert(e);
    }
    
}

function initializeManageMCE() {
    
    //PREP FOR TINY MCE HTML EDITOR
    tinyMCE.init({
        mode : "specific_textareas",
        theme: "advanced",
        editor_selector: "manageFormMceEditor",
        content_css : "filebin/css/default.css",
        
        //THEME OPTIONS
        theme_advanced_buttons1:"bold,italic,strikethrough,|,formatselect,|,bullist,numlist,|,undo,redo,|cleanup",
        theme_advanced_buttons2 :"",
        theme_advanced_buttons3 :"",
        theme_advanced_buttons4 :"",
        theme_advanced_blockformats : "p,h2,h3,h4,h5,h6",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "none"

    });
}

function initializeManageMCE_descrip() {
    
    //FIRST, REMOVE ALL MCE EDITORS?
    /*
    var descriptionElement = "descriptionMenu_147";

	if (document.getElementById(descriptionElement)) {
		var descripobj = tinyMCE.getInstanceById(descriptionElement);
		description = encodeURIComponent(descripobj.getContent());
		tinyMCE.execCommand('mceRemoveControl', true, descriptionElement);
	}	    
	*/
	
    //PREP FOR TINY MCE HTML EDITOR
    tinyMCE.init({
        mode : "specific_textareas",
        theme: "advanced",
        editor_selector: "manageFormMceEditor_descrip",
        content_css : "filebin/css/default.css",
        
        //THEME OPTIONS
        theme_advanced_buttons1:"bold,italic,strikethrough,|,formatselect,|,bullist,numlist,|,undo,redo,|cleanup",
        theme_advanced_buttons2 :"",
        theme_advanced_buttons3 :"",
        theme_advanced_buttons4 :"",
        theme_advanced_blockformats : "p,h2,h3,h4,h5,h6",        
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "none"

    });
}

function initializeManageMCE_all() {
    initializeManageMCE();
    initializeManageMCE_descrip();
    initializeDatePicker();
}

function initializeManageMCE_descrip_ind(targetDiv) {
    
    //PREP FOR TINY MCE HTML EDITOR
    tinyMCE.init({
        mode : "exact",
        elements : targetDiv,
        theme: "advanced",
        content_css : "filebin/css/default.css",
        
        //THEME OPTIONS
        theme_advanced_buttons1:"bold,italic,strikethrough,|,formatselect,|,bullist,numlist,|,undo,redo,|cleanup",
        theme_advanced_buttons2 :"",
        theme_advanced_buttons3 :"",
        theme_advanced_buttons4 :"",
        theme_advanced_blockformats : "p,h2,h3,h4,h5,h6",        
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "none"

    });
}

function initializeSkillSelector() {

    //PREP TOOLTIP FOR SKILL SELECTOR
    $("#indDivContent_skills label").tooltip({
        delay: 500, 
        showURL: false,
        left: -20,
        track: true
    });
    
}

function initializeEvents(targetDiv) {

    try {

    initializeManageMCE_descrip_ind(targetDiv);
    initializeDatePicker();

    }
    
    catch(e) {
        alert(e);
    }

}

function initializeAllEvents() {

    try {

    initializeManageMCE_descrip();
    initializeDatePicker();

    }
    
    catch(e) {
        alert(e);
    }

}

function initializeDatePicker() {

    $(function() {
        $(".manageFormInputBox_DatePicker").datepicker();
    });

}

function changeListingStatus(target_status) {

    try {

	//PROVIDE FEEDBACK
	if (document.getElementById('specialLinksEdit')) {
		document.getElementById('specialLinksEdit').innerHTML = "updating...";
	}

	//GET ID
	var id = "";
	if (document.getElementById('listingId')) {
		id = encodeURIComponent(document.getElementById('listingId').value);
	}

	var vars = "action=updateStatus&target_status="+target_status+"&id="+id;
	
	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);		    

    }
    
    catch(e) {
        alert(e);  
    }

}

function getSubcats(listingId, categoryId, type) {

    try {

    var categoryDiv =  "categorySelector_"+type+"_"+categoryId;
    var linkDiv = "categorySelectorLink_"+type+"_"+categoryId;

    //CHECK FOR HIDING OR SHOWING
    if (document.getElementById(categoryDiv)) {

        if (document.getElementById(categoryDiv).className == "categorySelectorDivHidden") {
            //document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleJoin(\''+id+'\', \''+joinName+'\'); return false;">Close [-]</a>';
            
            //GET SUBCATS
            
            //PROVIDE FEEDBACK
            if (document.getElementById(linkDiv)) {
                if (document.getElementById(linkDiv)) {
                    document.getElementById(linkDiv).innerHTML = "[ retrieving... ]";
                }
            }        

            var vars = "action=getSubcat&listingId="+listingId+"&categoryId="+categoryId+"&type="+type;
            
            //SUBMIT OVERVIEW	
            ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'finishGetSubcats(\''+listingId+'\', \''+categoryId+'\', \''+type+'\')');		    
    
            //document.getElementById(categoryDiv).className="categorySelectorDiv";
            //$("#"+categoryDiv).slideToggle("fast");		
            
        } else {
            
            //document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleJoin(\''+id+'\', \''+joinName+'\'); return false;">Open [+]</a>';		
            
            //CLOSE SUBCATS
            $("#"+categoryDiv).slideToggle("fast");	
            
            //UPDATE LINK
            if (document.getElementById(linkDiv) && document.getElementById(categoryDiv)) {
                if (document.getElementById(categoryDiv).style.height == "1px") {
                    document.getElementById(linkDiv).innerHTML = "[ - ]";
                } else {
                    document.getElementById(linkDiv).innerHTML = "[ + ]";                
                }
            }        
            
        }
    }

    } 
    
    catch(e) {
        alert(e);
    }

}

function getAilmentSubcats(listingId, categoryId) {

    try {

    var categoryDiv =  "ailmentSelector_"+categoryId;
    var linkDiv = "ailmentSelectorLink_"+categoryId;

    //CHECK FOR HIDING OR SHOWING
    if (document.getElementById(categoryDiv)) {

        if (document.getElementById(categoryDiv).className == "ailmentSelectorDivHidden") {
            //document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleJoin(\''+id+'\', \''+joinName+'\'); return false;">Close [-]</a>';
            
            //GET SUBCATS
            
            //PROVIDE FEEDBACK
            if (document.getElementById(linkDiv)) {
                if (document.getElementById(linkDiv)) {
                    document.getElementById(linkDiv).innerHTML = "[ retrieving... ]";
                }
            }        

            var vars = "action=getAilmentSubcat&listingId="+listingId+"&categoryId="+categoryId;
            
            //SUBMIT OVERVIEW	
            ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'finishGetAilmentSubcats(\''+listingId+'\', \''+categoryId+'\')');		    
    
            //document.getElementById(categoryDiv).className="categorySelectorDiv";
            //$("#"+categoryDiv).slideToggle("fast");		
            
        } else {
            
            //document.getElementById(linkDiv).innerHTML = '<a href="#" onclick="toggleJoin(\''+id+'\', \''+joinName+'\'); return false;">Open [+]</a>';		
            
            //CLOSE SUBCATS
            $("#"+categoryDiv).slideToggle("fast");	
            
            //UPDATE LINK
            if (document.getElementById(linkDiv) && document.getElementById(categoryDiv)) {
                if (document.getElementById(categoryDiv).style.height == "1px") {
                    document.getElementById(linkDiv).innerHTML = "[ - ]";
                } else {
                    document.getElementById(linkDiv).innerHTML = "[ + ]";                
                }
            }        
            
        }
    }

    } 
    
    catch(e) {
        alert(e);
    }

}

function finishGetAilmentSubcats(listingId, categoryId) {

    var categoryDiv =  "ailmentSelector_"+categoryId;
    var linkDiv = "ailmentSelectorLink_"+categoryId;
    
    //ANIMATE OPENER
    $("#"+categoryDiv).slideToggle("fast");		
    
    //CHANGE CLASS NAME
    if (document.getElementById(categoryDiv)) {
        document.getElementById(categoryDiv).className="ailmentSelectorDiv";
    }

    //UPDATE LINK
    if (document.getElementById(linkDiv)) {
        if (document.getElementById(linkDiv)) {
            document.getElementById(linkDiv).innerHTML = "[ - ]";
        }
    }    	
	
	//INITALIZE TOOLTIPS
	initializeSkillSelector();

}

function finishGetSubcats(listingId, categoryId, type) {

    var categoryDiv =  "categorySelector_"+type+"_"+categoryId;
    var linkDiv = "categorySelectorLink_"+type+"_"+categoryId;
    
    //ANIMATE OPENER
    $("#"+categoryDiv).slideToggle("fast");		
    
    //CHANGE CLASS NAME
    if (document.getElementById(categoryDiv)) {
        document.getElementById(categoryDiv).className="categorySelectorDiv";
    }

    //UPDATE LINK
    if (document.getElementById(linkDiv)) {
        if (document.getElementById(linkDiv)) {
            document.getElementById(linkDiv).innerHTML = "[ - ]";
        }
    }    	
	
	//INITALIZE TOOLTIPS
	initializeSkillSelector();

}

function setSkillsSelectorDiv(listingId, primaryId, nodeId, categoryId, type) {

    var selectorDiv =  "subcategorySelector_"+type+"_"+nodeId;
    var allSelectorForm =  "selectorMenu_"+type;

    //RESET ALL DIVS IN MENU
    var selectedArray = $("#"+allSelectorForm+" .subcategorySelectorDiv_current");
    if (selectedArray) {
        $.each(selectedArray, function() {
            this.className = "subcategorySelectorDiv_norm";
        });
    }
    
    //CHANGE SELECTED DIV
    if (document.getElementById(selectorDiv)) {
        document.getElementById(selectorDiv).className = "subcategorySelectorDiv_current";
    }

    //alert(primaryId);
    //alert(nodeId);
	
	var vars = "action=submitJoin_skills&primaryId="+primaryId+"&nodeId="+nodeId+"&categoryId="+categoryId+"&type="+type+"&listingId="+listingId;	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);

}

function setSkillsSelectorDivAdditional(listingId, primaryId, nodeId, categoryId, type) {

    var selectorDiv =  "subcategorySelector_"+type+"_"+nodeId;
    var allSelectorForm =  "selectorMenu_"+type;
    var status = 'add';

    //CHANGE SELECTED DIV
    if (document.getElementById(selectorDiv)) {
        if (document.getElementById(selectorDiv).className == "subcategorySelectorDiv_current") {
            document.getElementById(selectorDiv).className = "subcategorySelectorDiv_norm";
            status = 'delete';            
        } else {
            document.getElementById(selectorDiv).className = "subcategorySelectorDiv_current";
            status = 'add';            
         }
    }

    //alert(primaryId);
    //alert(nodeId);
	
	var vars = "action=submitJoin_skills&primaryId="+primaryId+"&nodeId="+nodeId+"&categoryId="+categoryId+"&type="+type+"&listingId="+listingId+"&status="+status;	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);

}

function setAilmentsSelectorDiv(listingId, primaryId, nodeId, categoryId) {

    var selectorDiv =  "ailmentSelector_"+nodeId;
    var $descriptionDiv = $('#ailmentDescription_'+nodeId);
    var checkboxId = 'ailmentSelectorInput_'+nodeId;
    var status = 'add';
    

    //CHANGE SELECTED DIV
    if (document.getElementById(selectorDiv)) {
        if (document.getElementById(selectorDiv).className == "ailmentSelectorDiv_current") {
            document.getElementById(selectorDiv).className = "ailmentSelectorDiv_norm";
            status = 'delete';            
        } else {
            document.getElementById(selectorDiv).className = "ailmentSelectorDiv_current";
            status = 'add';            
         }
    }
    
    //enable ailment description 
    if ($descriptionDiv.length && document.getElementById(checkboxId)) {
    	if ($('#'+checkboxId+':checked').length){
    		$descriptionDiv.removeAttr('disabled').removeClass('manageFormInputBoxDisabled');
    	} else {
    		$descriptionDiv.attr('disabled','disabled').addClass('manageFormInputBoxDisabled');
    	}
    }

    //alert(primaryId);
    //alert(nodeId);
	
	var vars = "action=submitJoin_ailments&primaryId="+primaryId+"&nodeId="+nodeId+"&categoryId="+categoryId+"&listingId="+listingId+"&status="+status;	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);

}

function setAilmentDescription(listingId, nodeId) {

    var $descriptionDiv = $('#ailmentDescription_'+nodeId);
	var description = $descriptionDiv.val();
	var descriptionMessage= 'ailmentDescriptionMsg_'+nodeId;
	$('#'+descriptionMessage).html('submitting...');
    
	
	var vars = "action=submitJoin_ailmentsDescription&nodeId="+nodeId+"&listingId="+listingId+"&description="+description;	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars);

}

//SEARCH / FILTER QUERY
function getMoreSearchResults(sid, iteration) {

	//PROVIDE FEEDBACK
	if (document.getElementById('extra_search_button')) {
		document.getElementById('extra_search_button').innerHTML = '<img src="filebin/images/btn_retrieving.gif" alt="Retrieving..." />';
	}
	
	var vars = "action=getMoreSearchResults&iteration="+iteration+"&sid="+sid;
	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'initializeIcons');
	
	return false;
	
}

//GET MORE LISTINGS
function getMoreListingResults(pageId, pageName, tableName, specialCase, iteration) {
	
	//PROVIDE FEEDBACK
	if (document.getElementById('extra_listing_button')) {
		document.getElementById('extra_listing_button').innerHTML = '<img src="filebin/images/btn_retrieving.gif" alt="Retrieving..." />';
	}
	
	var vars = "action=getMoreListingResults&iteration="+iteration+"&pageId="+pageId+"&pageName="+pageName+"&tableName="+tableName+"&specialCase="+specialCase;
	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'initializeIcons');
	
	return false;
}

function submitFilter(sid, label, value, optionLabel, fieldName, searchTable, filterTable, extraConditions, type) {

    try {

    var msgDiv =  "filterItem_"+label+"_"+value;

	//PROVIDE FEEDBACK
	if (document.getElementById(msgDiv)) {
		document.getElementById(msgDiv).innerHTML = "filtering...";
	}
    if (document.getElementById('searchFilterDisplayMiddleHead')) {
        document.getElementById('searchFilterDisplayMiddleHead').style.display = "inline";
    }
    if (document.getElementById('resetFiltersMiddle')) {
        document.getElementById('resetFiltersMiddle').style.display = "block";
    }

	var vars = "action=addFilter&sid="+sid+"&value="+encodeURIComponent(value)+"&optionLabel="+encodeURIComponent(optionLabel)+"&label="+label+"&fieldName="+fieldName+"&searchTable="+searchTable+"&filterTable="+filterTable+"&extraConditions="+extraConditions+"&type="+type;

    //alert(vars);

	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'checkSelectedForDisplay');		    

    }
    
    catch(e) {
        alert(e);  
    }
    
}

function deleteFilter(sid, label, value, fieldName, searchTable, filterTable, extraConditions, type) {

   var msgDivRight =  "deleteItemRight_"+label+"_"+value;
   var msgDivMiddle =  "deleteItemMiddle_"+label+"_"+value;

	//PROVIDE FEEDBACK
	if (document.getElementById(msgDivRight)) {
		document.getElementById(msgDivRight).innerHTML = "deleting...";
	}
	if (document.getElementById(msgDivMiddle)) {
		document.getElementById(msgDivMiddle).innerHTML = "deleting...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
	}

	var vars = "action=deleteFilter&sid="+sid+"&value="+encodeURIComponent(value)+"&label="+label+"&fieldName="+fieldName+"&searchTable="+searchTable+"&filterTable="+filterTable+"&extraConditions="+extraConditions+"&type="+type;
	
	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'checkSelectedForDisplay');		    

}

function checkSelectedForDisplay() {

    //CHECK FOR ACTIVE FILTERS
    var selectedFilters = $(".selectedFilterRight");

    if (selectedFilters.length > 0) {

        //DISPLAY AREAS WITH SELECTED FILTERS
        if (document.getElementById('searchFilterDisplayRightHolder') && document.getElementById('searchFilterDisplayMiddleHolder')) {
            document.getElementById('searchFilterDisplayRightHolder').style.display = "block";             document.getElementById('searchFilterDisplayMiddleHolder').style.display = "block"; 
        }

    } else {
    
        //HIDE AREAS WITH SELECTED FILTERS        
        if (document.getElementById('searchFilterDisplayRightHolder') && document.getElementById('searchFilterDisplayMiddleHolder')) {
            document.getElementById('searchFilterDisplayRightHolder').style.display = "none";             document.getElementById('searchFilterDisplayMiddleHolder').style.display = "none"; 
        }
        
        if (document.getElementById('resetFiltersMiddle')) {
            document.getElementById('resetFiltersMiddle').style.display = "none";
        }
        
    }
    
    //INITIALIZE ICONS
    initializeIcons();
    
}

function resetSearchPage(sid) {

    //PROVIDE FEEDBACK
    if (document.getElementById('searchFilterDisplayRightReset')) {
        document.getElementById('searchFilterDisplayRightReset').innerHTML = 'resetting...'
    }
    if (document.getElementById('resetPageMiddle')) {
        document.getElementById('resetPageMiddle').innerHTML = 'resetting...'
    }
    if (document.getElementById('resetFiltersMiddle')) {
        document.getElementById('resetFiltersMiddle').style.display = "none";
    }


	var vars = "action=resetSearchPage&sid="+sid;
	
	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'checkSelectedForDisplay');		    

}

function submitSearchSort(sid) {

    sort = '';

    //PROVIDE FEEDBACK
    if (document.getElementById('searchContent')) {
        document.getElementById('searchContent').innerHTML = '<div style="padding: 20px 0px 0px 0px;">sorting...</div>'
    }

    //GET SORT VALUE
    if (document.getElementById('searchSort')) {
        var sort = document.getElementById('searchSort').value;
    }

	var vars = "action=sortSearchPage&sid="+sid+"&sort="+sort;
	
	//SUBMIT OVERVIEW	
	ajax_json_call('resources/js/ajax_php/listingAJAX.php', 'POST', vars, 'initializeIcons');		    

}

function setAutocomplete() {

    //FIRST GET SEARCH TERMS
    vars = "action=getSearchTerms&ignoreJSON=ignoreJSON";    
    $('#search_term').autocomplete("resources/js/ajax_php/listingAJAX.php?"+vars, {cacheLenth: 200, minChars: 2, matchContains: true});		
    
}	

function initializeIcons() {

    //TOOLTIP - ICONS
    $(".icons div").tooltip({
        delay: 500, 
        showURL: false,
        left: -20,
        track: true
    });
    $("#indDivIcons div").tooltip({
        delay: 500, 
        showURL: false,
        left: -20,
        track: true
    });

}

//ACTIONS

//DETECT BROWSER
var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;

//START JQUERY FUNCS
$(document).ready(function() {

	//INITIALIZING FUNCS
	getBrowserInfo();
	initOverlay();
	
	//PREP FOR WRITE REVIEW
	$('#writeReview').bind('click', function(){
		//alert("test");
		writeReview();
	});
	
	//PREP FOR POP-UP CLOSE
	$('#popUpClose').bind('click', function(){
		close_pop_layer();
	});

	//PREP FOR SUBMIT CONTACT
	$('#indDivContactButton').bind('click', function(){
		submit_listing_contact_form();
	});

});

// START FACEBOOK FUNCTIONS
function create_user_fb() {
	var fb_user_box = document.getElementById("fb_user");
	fb_user_box.innerHTML = "<table cellpadding='0' cellspacing='0' style='padding:10px 0;width:298px;'><tr valign='top'><td>"
	+ "<fb:profile-pic uid='loggedinuser' size='square' linked='false' facebook-logo='true'></fb:profile-pic>"
	+ "</td><td style='padding-left:10px;'>"
	+ "Welcome, <fb:name uid='loggedinuser' linked='false' useyou='false'></fb:name>. You are almost done. Create a Rub Hub account to link to facebook."
	+ "</td></tr></table>";
	var fb_login_box = document.getElementById("fb_login_box");
	fb_login_box.innerHTML = "";
	
	var fbCreateAccount = document.getElementById("fbCreateAccount");
	var fullCreateAccount = document.getElementById("fullCreateAccount");
	
	fbCreateAccount.style.display = "block";
	fullCreateAccount.style.display = "none";
	
	// because this is XFBML, we need to tell Facebook to re-process the document
	FB.XFBML.Host.parseDomTree();
}