var pageNumber = 0;
function clearAddress(){
	$("#startAddr").val("");
}
function filterJobs(page){
	pageNumber = page;
	//Filters Job Listings based on Keyword: $("#jobKeywords");
	initialize();
}

function showDescription(descriptionID){
	var descriptionText = unescape(descriptions[descriptionID]);
	/* unescape() is a native javascript function */
	$('html').append('<p style="font-size:.8em;z-index:35;position:absolute;border: solid black 1em;left:0;top:0;background:silver;" id="descr" align="left">'+descriptionText+'<br><\/p>');				
	//$('html').append('<span id="blackbg" style="background: #000000;opacity:.75;filter: alpha(opacity=75); -moz-opacity: 0.75;z-index: 30;position:absolute;left: 0;top:0;width: 100%;height: 100%;">&nbsp;<\/span>');
	$("#descr").append('<input type="button" value="close description" id="descrClose">');
	$("#descrClose").click( function (){
		$("#descr").remove();
		$("#blackbg").remove();
	});
	
}

function removeposting(){
		alert("Remove posting");
}
function initialize() {
		var dicePageNumber = 30*pageNumber;
		
		
		//alert(dicePageNumber);
		
		var tabContainers = $('div.tabs > div');
		tabContainers.hide().filter(':first').show();
		
		$('div.tabs ul.tabNavigation a').click(function () {
			tabContainers.hide();
			tabContainers.filter(this.hash).show();
			$('div.tabs ul.tabNavigation a').removeClass('selected');
			$(this).addClass('selected');
			return false;
		}).filter(':first').click();

    var descriptions = new Object();
    var descriptionID = 0;
   var feedEntryCount = 0;
   var rssFeedURL = $("#rssFeed").val();
	var diceJobQuery = $("#jobKeywords1").val().toLowerCase();


   var feed = new google.feeds.Feed("http://seeker.dice.com/jobsearch/servlet/JobSearch?op=301&N=0&No="+dicePageNumber+"&Ntk=JobSearchRanking&Ntt="+diceJobQuery+"&Ntx=mode+matchall&Nty=1&Nf=p_Geocode|GCLT%2040.75205,-73.994514%2064.37376|p_PostedAge|LTEQ%201");
   
	  $("#feed").html("");
	  $("#mnh").html("");
	  $("#que").html("");
	  $("#brk").html("");
	  $("#brx").html("");
	  $("#lgi").html("");
	  $("#wch").html("");

	  $("UL.tabNavigation LI A").css("backgroundColor","#ccc");
	  $("UL.tabNavigation LI A").css("color","#000");

		
   feed.setNumEntries(200);
   feed.load(function(result) {
     if (!result.error) {
                 
       $("#panel *").hide();
       //alert(result.feed.entries.length);
       for (var i = 0; i < result.feed.entries.length; i++) {
   	
			
    	  
         var entry = result.feed.entries[i];
         var diceTitle = "<h3>"+entry.title+"</h3>";
         var diceLink = "<div class=\"link\" style=\"display:none;\"><a href=\""+entry.link+"\">Visit Site</a></div>";
         var diceDescription = "<div>"+entry.content+"</div>";
         
			var description = entry.content.toLowerCase();
         var locationLength = entry.title.indexOf(")")-entry.title.indexOf("(")-1;
         
 		var toAddr = entry.title.substr(entry.title.indexOf("(")+1,locationLength);

			//http://www.webreference.com/js/column5/define.html
			//http://www.regular-expressions.info/javascriptexample.html
			var jobQuery_unfilter1 = $("#jobKeywords_unfilter1").val().toLowerCase();
			var stopWords = new RegExp("(Associates|Career|Consulting|Enterprises|Group|International|LLC|Management|Partners|Placement|Resources|Solutions|Staffing|Systems|Technologies|Technology).*?<br>","i");
			//var stopWords = ["Consulting", "Enterprises", "Group", "International", "Management", "Partners", "Resources", "Solutions", "Staffing", "Technologies", "Technology"];
			if(stopWords.exec(diceDescription)){
				continue;
			}

			var diceID = "dicejob"+descriptionID

			//http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/
			$("<div id=\""+diceID+"\" style=\"border:dotted black 1px;width:auto;\">"+
					diceTitle+
					diceLink+
					"<h3>Right-click for more options</h3>"+
					diceDescription+
				"<\/div>").appendTo("#feed");	
			
				
			window.console.log("outside context"+diceID);
			/*
	        $('.dicejobs').dblclick(function(){
	            $(this).flyOffPage({
	                retainSpace: {
	                    height: 0,
	                    width: 0,
	                    margin: 0
	                },
	                tween: {
	                    opacity: 0
	                }
	            });
	            return false;
	        });
	        */
			
	        $("#"+diceID).contextMenu({
	            menu: 'myMenu'
	        },
	            function(action, el, pos) {
	        	if(action == "removeposting"){
	        		window.console.log("inner context"+diceID)
	        		var elementID = $(el).attr('id');
		            $("#"+elementID).flyOffPage({
		                retainSpace: {
		                    height: 0,
		                    width: 0,
		                    margin: 0
		                },
		                tween: {
		                    opacity: 0
		                }
		            });	        		
	        	}
	        	if(action == "jobposting"){
	        		var elementID = $(el).attr('id');
	        		var diceEmailURL = $("#"+elementID+" .link a").attr("href");
	        		//replace op parameter 302 (webpage) with 305 (email)
	        		window.console.log("url"+diceEmailURL);
	        		window.open(diceEmailURL);
	        	}	        	
	        	if(action == "emailposting"){
	        		var elementID = $(el).attr('id');
	        		var diceEmailURL = $("#"+elementID+" .link a").attr("href");
	        		//replace op parameter 302 (webpage) with 305 (email)
	        		diceEmailURL = diceEmailURL.replace("op=302","op=305");
	        		window.console.log("url"+diceEmailURL);
	        		window.open(diceEmailURL);
	        	}
	        	/*
	            alert(
	                'Action: ' + action + '\n\n' +
	                'Element ID: ' + $(el).attr('id') + '\n\n' + 
	                'X: ' + pos.x + '  Y: ' + pos.y + ' (relative to element)\n\n' + 
	                'X: ' + pos.docX + '  Y: ' + pos.docY+ ' (relative to document)'
	                );
	            */
	        });
	        
			descriptionID = descriptionID + 1;
			
       }
     }
     	$(".spanJob").hide();//Hide all job elements

     	$("#jobCount").text(descriptionID+" Jobs Found");//Update Job Count


   });

   

 }