function replaceSubstring(inputString, fromString, toString) {
      var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { 
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { 
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";

      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      }
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } 
   return temp; 
}

Array.prototype.find = function(searchStr) {

  var returnArray = false;
  for (i=0; i<this.length; i++) {
    if (typeof(searchStr) == 'function') {
      if (searchStr.test(this[i])) {
        if (!returnArray) { returnArray = [] }
        returnArray.push(i);
      }
    } else {
      if (this[i]===searchStr) {
        if (!returnArray) { returnArray = [] }
        returnArray.push(i);
      }
    }
  }
  return returnArray;
}

/*
function general_post2(span_id,file_uri,formName)
{
var amp;
var h = $("#"+span_id).height();
var xmlHttp = get_request();
  
params = ""

for (var n=0; n < formName.elements.length; n++) 
	{
	
	amp = (n == 0) ? "" : "&";
	
	if(formName.elements[n].type == "checkbox")
	 {
   if(formName.elements[n].checked)
      {
      params +=  amp+formName.elements[n].id+"="+formName.elements[n].value;
      }
    else
      {      
      params +=  amp+formName.elements[n].id+"=";      
      }
   }
  else if(formName.elements[n].type == "radio")
	 {
   if(formName.elements[n].checked)
      {
      params +=  amp+formName.elements[n].id+"="+formName.elements[n].value;
      }
    else
      {      
      params +=  amp+formName.elements[n].id+"=";      
      }
   }
	
	else
	 {	
	 if(specialCase.find(formName.elements[n].name))
	    {
      if(typeof tinyMCE != "undefined")
        { 
        var mceContent = tinyMCE.get(formName.elements[n].name).getContent();
	      var passedVal = replaceSubstring(escape(mceContent),"+","&#43;")
        params += amp+formName.elements[n].name+"="+passedVal;
        }
    
      var staff = $('.staff_mce');
      var total = staff.length;
  
      for(var i = 0; i < total; i++ )
        { 
        if(document.getElementById(staff[i].id) != null)
          {    
          var mceContent = tinyMCE.get(staff[i].id).getContent();
	        var passedVal = replaceSubstring(escape(mceContent),"+","&#43;")
          params += amp+staff[i].id+"="+passedVal;
          }
        }
      }
	 else
	    {
	    var passedVal = replaceSubstring(formName.elements[n].value,"+","&#43;")
      params += amp+formName.elements[n].name+"="+escape(passedVal);
      }
    }
  }

  
xmlHttp.open("POST",file_uri,true);

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    xmlHttp.onreadystatechange=function()
	{
      if(xmlHttp.readyState==4)
        {
		
		var response = xmlHttp.responseText.split("|");
		if($.trim(response[0]) == "fail")
			{
			// Empty any previous Error Messages
			for (var n=0; n < formName.elements.length; n++) 
	     { 
       if(formName.elements[n].type != "hidden" && formName.elements[n].name != "")
        {
	      document.getElementById("res_"+formName.elements[n].name).innerHTML = " ";
	      }
       }
			
			var checkNum = response.length;
			var errNum = 0;
			
			for(i = 1; i < checkNum; i++)
				{
				
				var subResponse = new Array()
				sr = response[i].split("::");
									
				document.getElementById("res_"+sr[0]).innerHTML= (sr[1] !== "ok") ? "<p class=\"form_warning\">"+sr[1]+"</p>" : "";
				errNum = (sr[1] !== "ok") ? errNum+1 : errNum;
			
				}
					
			if(errNum > 0)
				{ 
				if($("#res_add_button").length > 0)
				  { 
				  document.getElementById("res_add_buton").innerHTML= "<p class=\"form_warning\">You have "+errNum+" error(s)</p>\n";
				  }
        }
			}

		else
			{
			if(span_id !== "")
				{
				document.getElementById(span_id).innerHTML=xmlHttp.responseText;
				if(typeof sortCategories == 'function') 
				  {
          //sortCategories();
			    } 
				}
			}
			
    if(typeof changeSize == 'function') 
      { 
      changeSize();
      } 
      
    add_tinymce();
			
		}
	}

xmlHttp.send(params);  
	
} */
/*
$(document).ready(function() {
init_colour_picker();
})

function init_colour_picker(){
  if($(".colour-selector").length > 0)
    {
    $(".colour-selector").each(function(){
      var cpID = $(this).attr("id");
      
      $("#"+cpID).ColorPicker({
		    color: $("#"+cpID+' div').css('backgroundColor'),
	      
        onShow: function (colpkr) {
		      $(colpkr).fadeIn(500);
		      return false;
	        },
	      
        onHide: function (colpkr) {
		      $(colpkr).fadeOut(500);
		      return false;
	        },
	      
        onChange: function (hsb, hex, rgb) {
		      $("#"+cpID+' div').css('backgroundColor', '#' + hex);
	        },
	
        onSubmit: function(hsb, hex, rgb, el) {
		      check(cpID+'-hidden-colour',"ajax/ajax.php?c=gui_Display_products_class&a=change_hidden_colour&ct="+cpID+"&co=",hex,"dontBlock");
		      $(el).ColorPickerHide();
	        },
      });
    })
  }
} */

function toggle_hide(div)
  {
  $("#"+div).toggle(500,function(){
      if (typeof(calcHeights) == 'function')
        {
        calcHeights();
        }
    });
  }

function show_div(div)
{
$("#"+div).show(500);
}
