/* Copyright (c) 2006 Mathias Bank (http://www.mathias-bank.de)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * 
 * Thanks to Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
 */
jQuery.extend({
/**
* Returns get parameters.
*
* If the desired param does not exist, null will be returned
*
* @example value = $.getURLParam("paramName");
*/ 
 getURLParam: function(strParamName){
	  var strReturn = "";
	  var strHref = window.location.href;
	  var bFound=false;
	  
	  var cmpstring = strParamName + "=";
	  var cmplen = cmpstring.length;

	  if ( strHref.indexOf("?") > -1 ){
	    var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	    var aQueryString = strQueryString.split("&");
	    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
	      if (aQueryString[iParam].substr(0,cmplen).toLowerCase()==cmpstring.toLowerCase()){
	        var aParam = aQueryString[iParam].split("=");
	        strReturn = aParam[1];
	        bFound=true;
	        break;
	      }
	      
	    }
	  }
	  if (bFound==false) return '';
	  return strReturn;
	},
	
	

  /*
   This Javascript function returns the current page with the query string parameter data included that is passed to the function.
   If the current url already contains the supplied query string and value, no redirect will take place.  
   Existing parameters and values are retained in the url.
   Created by Digizon Beheer B.V. 2012-01-18
  * @example value = $.setURLParam("paramName", "paramValue");
  */
  setURLParam: function(parameter, value)
  {
     //Get Query String from url
     fullQString = window.location.search.substring(1);
     
     paramCount = 0;
     queryStringComplete = "?";

     // set to lowercase
     parameter = parameter.toLowerCase();

     if(fullQString.length > 0)
     {
         //Split Query String into separate parameters
         paramArray = fullQString.split("&");
         
         //Loop through params, check if parameter exists.  
         for (i=0;i<paramArray.length;i++)
         {
           currentParameter = paramArray[i].split("=");
           
           if(currentParameter[0].toLowerCase() == parameter) //Parameter already exists in current url
           {
              //don't include existing (will be appended to end of url)
           }
           else //Existing unrelated parameter
           {
              if(paramCount > 0)
                 queryStringComplete = queryStringComplete + "&";
             
              queryStringComplete = queryStringComplete + paramArray[i];
              paramCount++;
           }
         }
     }
     
     //Add/Update query string if required.
     if(paramCount == 0)
         queryStringComplete = queryStringComplete + parameter + "=" + value;
     else
         queryStringComplete = queryStringComplete + "&" + parameter + "=" + value;
     
     // Return complete path + querystring
     return self.location.pathname + queryStringComplete;
  }	
	
	
});
