/*
 * Created by Amitabh Roy www.amitabhroy.info
 */

var timer;   
  

function getSearch()   
{
   /**************************************************
    * Step 1 - Assignments
    *************************************************/
	//clearTimeout(timer);   
	var results 					= "";   
	var theQuery 					= document.form1.query.value; 
	document.form1.word_track.value = theQuery;
    var invalidCharCheck 			= validateSearchText(theQuery);
	
   
   /**************************************************
    * Step 2 - validations
    *************************************************/
    if(theQuery.length == 0)
		{
			  $('#message_div').addClass('error_msg');
			  $('#message_div').html("Search string cannot be empty.");
			  $('#message_div').fadeIn();
			  return false;
		}
	else if(invalidCharCheck == true)
	    {
		     $('#message_div').addClass('error_msg');
			 $('#message_div').html("Please input valid search string. Special characters are not allowed.");
			 $('#message_div').fadeIn();
		      return false;
		}
	 else{
			  $('#message_div').removeClass('error_msg');
			  $('#message_div').fadeOut();
		}
	
   
   /**************************************************
    * Step 3 - ajax works
    *************************************************/
	//load the preloader div
	 $('#message_div').addClass('preloader-container');
	 $('#message_div').html('<img src="images/ajax-loader.gif" />');
	 $('#message_div').fadeIn();
		
	$.ajax({
					type: "POST",
					url: "includes/getSearch.php",
					data: "query="+theQuery,
					success: function(msg){
					
					var testMsgLength  = msg.length;
						
					if(testMsgLength == 6)
						{
							$('#message_div').addClass('error_msg');
							$('#message_div').html("No tweets avilable for the searched term.");
						}
					else if(msg){
							$('#message_div').fadeOut();
						//	$('#message_div').removeClass('preloader-container');
							$('#searchcontainer').html(msg);
							document.getElementById("oldTweetLink").style.display ="block";
					}
				}
			});
		//timer = setTimeout('getSearch()', 10000);   
	}





function refreshSearch()
	{
	   /**************************************************
		* Step 1 - Assignments
		*************************************************/
		var results 	= "";   
		var theQuery 	= document.form1.query.value;  
		var theTracker 	= document.form1.word_track.value;  
        
		
	   /**************************************************
		* Step 2 - validations
		*************************************************/
		//display or hide the error msg div as required
		if(theQuery.length == 0)
			{
			  //$('#error_msg').fadeIn();
			  $('#message_div').addClass('error_msg');
			  $('#message_div').html("Search string cannot be empty.");
			  $('#message_div').fadeIn();
			  return false;
			}
		else{
			  $('#message_div').fadeOut();
			}
		
		//check if clicked refresh after changing the term
		if(theQuery != theTracker)
			{
			  	$('#message_div').addClass('error_msg');
				$('#message_div').html("Please use the search button to initiate new search");
				$('#message_div').fadeIn();
				return false;
			}
			
		
	   /**************************************************
		* Step 3 - ajax works
		*************************************************/
		//load the preloader div
	   // $('#preloader-container').fadeIn();
		$('#message_div').removeClass('error_msg');
		$('#message_div').addClass('preloader-container');
		$('#message_div').html('<img src="images/ajax-loader.gif" />');
		$('#message_div').fadeIn();
		
		$.ajax({
						type: "POST",
						url: "includes/getSearch.php",
						data: "repeat=1&query="+theQuery,
						success: function(msg){
						
						var testMsgLength  = msg.length;
						
						if(testMsgLength == 6)
							{
								$('#message_div').addClass('error_msg');
								$('#message_div').html("No new results since last search.");
							}
						else if(msg){
								$('#message_div').fadeOut();
								$('#searchcontainer').prepend(msg);
						}else{
							 $('#message_div').fadeOut();
							}
						
					}
				});
	}
	
	

function getOldResults()
	{
		
		/**************************************************
		* Step 1 - Assignments
		*************************************************/
		var results 		= "";   
		var theQuery 		= document.form1.query.value;  
		var theTracker 		= document.form1.word_track.value;  
        var oldTweetLink  	= '<a href="#oldt" onclick="javascript:getOldResults();">More</a>';
		
	   /**************************************************
		* Step 2 - validations
		*************************************************/
		//display or hide the error msg div as required
		if(theQuery.length == 0)
			{
			  //$('#error_msg').fadeIn();
			  $('#message_div').addClass('error_msg');
			  $('#message_div').html("Search string cannot be empty.");
			  $('#message_div').fadeIn();
			  return false;
			}
		else{
			  $('#message_div').fadeOut();
			}
		
		//check if clicked refresh after changing the term
		if(theQuery != theTracker)
			{
			  	$('#message_div').addClass('error_msg');
				$('#message_div').html("Please use the search button to initiate new search");
				$('#message_div').fadeIn();
				return false;
			}
			
		
	   /**************************************************
		* Step 3 - ajax works
		*************************************************/
		//load the preloader div
	   // $('#preloader-container').fadeIn();
		$('#message_div').removeClass('error_msg');
		$('#message_div').fadeOut();
		$('#oldTweetLink').addClass('preloader-container');
		$('#oldTweetLink').html('<img src="images/ajax-loader.gif" />');
		//$('#message_div').fadeIn();
		
		$.ajax({
						type: "POST",
						url: "includes/getSearch.php",
						data: "oldTweet=1&query="+theQuery,
						success: function(msg){
						
						var testMsgLength  = msg.length;
						
						if(testMsgLength == 6)
							{
								$('#message_div').addClass('error_msg');
								$('#message_div').html("No older tweets avilable.");
							}
						else if(msg){
							$('#message_div').fadeOut();
							$('#searchcontainer').append(msg);
						}else{
							 $('#message_div').fadeOut();
							}
						
						$('#oldTweetLink').html(oldTweetLink);
					}
				});
	}

	
function checkEnter(e)
	{ //e is event object passed from function invocation
		var characterCode; //literal character code will be stored in this variable

		if(e && e.which)
			{ //if which property of event object is supported (NN4)
				e = e;
				characterCode = e.which //character code is contained in NN4's which property
			}
		else{
				e = event;
				characterCode = e.keyCode; //character code is contained in IE's keyCode property
			}

if(characterCode == 13)
	{ 
		//if generated character code is equal to ascii 13 (if enter key)
		//document.forms[0].submit() //submit the form
		getSearch();
		return false; 
	}
else
	{
		return true; 
	}
}


//searches a string for special characters and returns true in one is found
function validateSearchText(inputtext)
	{
		// validate for special characters
		var iChars = "!@#$%^&*+=[]\\;,./{}|:<>";

		for (var i = 0; i < inputtext.length; i++) {
			if (iChars.indexOf(inputtext.charAt(i)) != -1) 
			{
			   return true;
			}
		}
		return false;
	}