jQuery.fn.extend({
/* Returns get parameters.
 * If the desired param does not exist, null will be returned
 *
 * To get the document params:
 * @example value = $(document).getUrlParam("paramName");
 * 
 * To get the params of a html-attribut (uses src attribute)
 * @example value = $('#imgLink').getUrlParam("paramName");
 */ 
 getUrlParam: function(strParamName){
	  strParamName = escape(unescape(strParamName));
	  
	  var returnVal = new Array();
	  var qString = null;
	  
	  if ($(this).attr("nodeName")=="#document") {
	  	//document-handler
		
		if (window.location.search.search(strParamName) > -1 ){
			
			qString = window.location.search.substr(1,window.location.search.length).split("&");
		}
			
	  } else if ($(this).attr("src")!="undefined") {
	  	
	  	var strHref = $(this).attr("src")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else if ($(this).attr("href")!="undefined") {
	  	
	  	var strHref = $(this).attr("href")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else {
	  	return null;
	  }

	  if (qString==null) return null;

	  for (var i=0;i<qString.length; i++){
			if (escape(unescape(qString[i].split("=")[0])) == strParamName){
				qString[i] = qString[i].replace("%40","@");
				returnVal.push(qString[i].split("=")[1]);
			}
			
	  }

	  if (returnVal.length==0) return null;
	  else if (returnVal.length==1) return returnVal[0];
	  else return returnVal;
	}
});

// Returns true if the e-mail is in a  syntactical format
function isValidEmail(EmailString) {
   return (/^[\w-]+(\.[\w-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.[a-z]{2,4}$/i.test(EmailString));
}
// Returns true if the field is left blank
function fieldValueIsBlank(InputName) {
   var TestInput = this.getElement(InputName);
   return ((typeof TestInput == 'object') && (isBlank(TestInput.value)));
}

/* assign URL paramaters example:
http://www.microsofthup.com/hupuk/promotionlogon.aspx?culture=en-US&workEmail=wsong@digitalriver.com&programCode=123123
*/
var workEmail = $(document).getUrlParam("workEmail"); 
var programCode = $(document).getUrlParam("programCode");

$(document).ready(function() {
	
	// pre-polpuate form with parameters from URL
	if (programCode != null)
	{
		$("input.workEmail").val(workEmail);
		$("input.programCode").val(programCode);
	}
	
});
