	$(document).ready(function(){
	$("#counter").load("counter.php");

	$("#result p").hide();
	$("#privacy").hide();
			
	$("#privacylink").click(function(){
					$("#home").hide();
      	  	 	   $("#privacy").show('slow');
			}); 
			
			$("#homelink").click(function(){
			 $("#privacy").hide();
					$("#home").show('slow');
      	  	 	  
			}); 
			
 	

			$("#generate").click(function(){
      	  	 	   showEncryptionResult();
			}); 	
		}); //document ready
		
		function showEncryptionResult(){
				$("#result p").hide();
				
		//		var submitted_type  = $("#type").val();
					switch($("#type").val())
					{
						case "Ascii to Binary":
					var submitted_text = URLEncode($("#text").val());
					  var submitted_type = "ascii2bin";
					  break;
					case "Binary to Ascii":
					var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "bin2ascii";
					  break;
					case "Ascii to Hexa":
					var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "ascii2hex";
					  break;
					  case "Hexa to Ascii":
					  var submitted_text = URLEncode($("#text").val());
					  var submitted_type = "hex2ascii";
					  break;
					case "Binary to Hexa":
					var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "bin2hex";
					  break;
					  	case "Hexa to Binary":
					var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "hex2bin";
					  break;
					//////////////////////////////////
					case "Backwards":
					var submitted_text = URLEncode($("#text").val());
					  var submitted_type = "backwards";
					  break;
					case "ROT-13":
					var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "rot13";
					  break;
					case "Base 64 Encode":
					var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "b64encode";
					  break;
					  case "Base 64 Decode":
					  var submitted_text = URLEncode($("#text").val());
					  var submitted_type = "b64decode";
					  break;
					case "Leet (hacker Language) Encode":
					var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "leetencode";
					  break;
					  
					 case "Leet (hacker Language) Decode":
					 var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "leetdecode";
					  break;
					  
					  case "Pig Latin":
					  var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "piglatin";
					  break;
					  
					 case "Un-Pig Latin":
					 var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "unpiglatin";
					  break;
					    case "URL Encode":
						var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "urlencode";
					  break;
					  
					 case "URL Decode":
					 var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "urldecode";
					  break;
					  
					     case "HTML Entities Encode":
						 var submitted_text = URLEncode($("#text").val());
					   var submitted_type = "htmlencode";
					  break;
					  
					 case "HTML Entities Decode":
					  var submitted_text = URLEncode($("#text").val());
					  submitted_text = submitted_text.replace("\n", "");
					   var submitted_type = "htmldecode";
					  break;
					  
					default:
					  var submitted_type = "md5";
					  var submitted_text = URLEncode($("#text").val());
					}
				
				 submitted_url = ("format=text&type=")+submitted_type+"&text="+submitted_text;
				
			
				
				
				$.ajax({ 
				method: "get",url: "api/1.0/encrypt/index.php",data: submitted_url,
                            	beforeSend: function(){$("#result p").show('fast'); 
                            	$("#result p").html("Your Encryption <br/> <img src='load.gif' id='loadimg' />");}, 
                            	complete: function(){ $("#loadimg").remove(); }, //stop showing loading 
                            	success: function(result){
				
				
				
				
				
							if (submitted_type == "htmlencode") {
							
								$("#result p").html(result+"<br> <b>double click on the text then copy it</b>");
								$("#counter").load("counter.php");
							}	
							else {
							$("#result p").html(breakStr(result));
							$("#counter").load("counter.php");
							
						 }//else
			
					                          		
                            		}//funtion(result)
								
									
									
                            	}); //ajax


								
		}//showEncryptionResult();
		
		
		
		function html_entity_decode(str) {
  var ta=document.createElement("textarea");
  ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
					}
					
					
		function breakStr(str){
				var breakedStr = "";
				for(var i = 0;i < str.length; i++){
					breakedStr += str.charAt(i);					
					if(i%78 == 0 && i != 0){
						breakedStr += "<br>";
					}
				}				
			return breakedStr;
		}

		
		function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

function URLDecode (encodedString) {
  var output = encodedString;
  var binVal, thisString;
  var myregexp = /(%[^%]{2})/;
  while ((match = myregexp.exec(output)) != null
             && match.length > 1
             && match[1] != '') {
    binVal = parseInt(match[1].substr(1),16);
    thisString = String.fromCharCode(binVal);
    output = output.replace(match[1], thisString);
  }
  return output;
}


		
