function ChangeQueryStringValue(action, qsname, qsvalue)   {
	if (action.indexOf('?') == -1 )	 //If no querystring present
		return (action+"?"+qsname+"="+UrlEncode(qsvalue)); //xxx.php?Name=Peter+Paul
	else  	{		
		if ( (action.indexOf("?"+qsname+"=") == -1 ) && (action.indexOf("&"+qsname+"=") == -1 ) ) {	//Passed querystring not already present		
				return (action+"&"+qsname+"="+UrlEncode(qsvalue)); //xxx.php?Age=25&Name=Peter+Paul;
		}else {		//Passed Querystring already present, replace it no matter if it is ?Name= or &Name=
				var replaceQSPrefix=(action.indexOf("?"+qsname+"=")==-1)?"&"+qsname+"=":"?"+qsname+"=";
				var replaceQSSuffix=""; //This will be John in case of ?Name=John or &Name=John 
				startpos=action.indexOf(replaceQSPrefix);
				
				for (a=(startpos+replaceQSPrefix.length);a<action.length;a++){
						if ( action.charAt(a)=='&' ) //Next querystring beginning
							break;
						else
							replaceQSSuffix += action.charAt(a);
				}
				newaction = action.replace(replaceQSPrefix+replaceQSSuffix,replaceQSPrefix+UrlEncode(qsvalue));
				return newaction;
			}	
		}		
}

function UrlEncode(text)        {	               	
	text=ReplaceAll(text, "?", "%3F");
	text=ReplaceAll(text, "=", "%3D");
	text=ReplaceAll(text, "&", "%26");
	text=ReplaceAll(text, " ", "+");
	text=ReplaceAll(text, ",", "%2c");	                	
	return text;
}

//Replace all given string from a string               
function ReplaceAll(varb, replaceThis, replaceBy)    {	
	newvarbarray=varb.split(replaceThis);
	newvarb=newvarbarray.join(replaceBy);	
	return newvarb;
}

function processThisElement(objTarget){	
	var processedLink='';
	var is_urlProcessed = false;

	processedLink = objTarget.href;
	
	
	isHashAdded = processedLink.indexOf("#");
	isJSAdded = processedLink.indexOf("javascript:");
	isMailToAdded = processedLink.indexOf("mailto:");

	if(isHashAdded!=-1 || isJSAdded!=-1 || isMailToAdded!=-1){
		return true;
	}	
	
	if(loginParamVal!=''){
		processedLink = ChangeQueryStringValue(processedLink, 'login', loginParamVal);
		is_urlProcessed = true;
	}				
	
	if(refEmailParamVal!=''){
		processedLink = ChangeQueryStringValue(processedLink, 'email', refEmailParamVal);
		is_urlProcessed = true;
	}
	if(refCatParamVal!=''){
		processedLink = ChangeQueryStringValue(processedLink, 'cat', refCatParamVal);
		is_urlProcessed = true;
	}
	if(refBannerParamVal!=''){
		processedLink = ChangeQueryStringValue(processedLink, 'banner', refBannerParamVal);
		is_urlProcessed = true;
	}
	if(refAlertParamVal!=''){
		processedLink = ChangeQueryStringValue(processedLink, 'alert', refAlertParamVal);
		is_urlProcessed = true;
	}
	if(refCampaignParamVal!=''){
		processedLink = ChangeQueryStringValue(processedLink, 'campaign', refCampaignParamVal);
		is_urlProcessed = true;
	}

	if(is_urlProcessed){
		objTarget.href = processedLink;
	}	
}


function processThisForm(objTarget){
	var processedLink='';
	var is_urlProcessed = false;

	processedLink = objTarget.action;	
	
	isHashAdded = processedLink.indexOf("#");
	isJSAdded = processedLink.indexOf("javascript:");
	isMailToAdded = processedLink.indexOf("mailto:");

	if(isHashAdded!=-1 || isJSAdded!=-1 || isMailToAdded!=-1){
		return true;
	}	
	
	if(loginParamVal!=''){
		processedLink = ChangeQueryStringValue(processedLink, loginParamKey, loginParamVal);
		is_urlProcessed = true;
	}
	
	if(loginParamVal!=''){
		
		objSEOlogin = document.getElementById('SEOlogin');
		if(objSEOlogin){
			objSEOlogin.value = loginParamVal;
		}else{
			var hiddenElement = document.createElement("input");
			hiddenElement.setAttribute("type", "hidden");
			hiddenElement.setAttribute("name", "login");
			hiddenElement.setAttribute("id", "SEOlogin");
			hiddenElement.setAttribute("value", loginParamVal);
			objTarget.appendChild(hiddenElement );
		}		
	}
	
	if(refEmailParamVal!=''){
		
		objSEOemail = document.getElementById('SEOemail');
		if(objSEOemail){
			objSEOemail.value = refEmailParamVal;
		}else{
			var hiddenElement = document.createElement("input");
			hiddenElement.setAttribute("type", "hidden");
			hiddenElement.setAttribute("name", "email");
			hiddenElement.setAttribute("id", "SEOemail");
			hiddenElement.setAttribute("value", refEmailParamVal);
			objTarget.appendChild(hiddenElement );
		}		
	}
	if(refCatParamVal!=''){

		objSEOcat = document.getElementById('SEOcat');
		if(objSEOcat){
			objSEOcat.value = refCatParamVal;
		}else{
			var hiddenElement = document.createElement("input");
			hiddenElement.setAttribute("type", "hidden");
			hiddenElement.setAttribute("name", "cat");
			hiddenElement.setAttribute("id", "SEOcat");
			hiddenElement.setAttribute("value", refCatParamVal);
			objTarget.appendChild(hiddenElement );
		}		
	}
	if(refBannerParamVal!=''){
		
		objSEObanner = document.getElementById('SEObanner');
		if(objSEObanner){
			objSEObanner.value = refBannerParamVal;
		}else{
			var hiddenElement = document.createElement("input");
			hiddenElement.setAttribute("type", "hidden");
			hiddenElement.setAttribute("name", "banner");
			hiddenElement.setAttribute("id", "SEObanner");
			hiddenElement.setAttribute("value", refBannerParamVal);
			objTarget.appendChild(hiddenElement );
		}		
	}
	if(refAlertParamVal!=''){
		objSEOalert = document.getElementById('SEOalert');
		if(objSEOalert){
			objSEOalert.value = refAlertParamVal;
		}else{
			var hiddenElement = document.createElement("input");
			hiddenElement.setAttribute("type", "hidden");
			hiddenElement.setAttribute("name", "alert");
			hiddenElement.setAttribute("id", "SEOalert");
			hiddenElement.setAttribute("value", refAlertParamVal);
			objTarget.appendChild(hiddenElement );
		}		
	}
	if(refCampaignParamVal!=''){
		
		objSEOcampaign = document.getElementById('SEOcampaign');
		if(objSEOcampaign){
			objSEOcampaign.value = refCampaignParamVal;
		}else{
			var hiddenElement = document.createElement("input");
			hiddenElement.setAttribute("type", "hidden");
			hiddenElement.setAttribute("name", "campaign");
			hiddenElement.setAttribute("id", "SEOcampaign");
			hiddenElement.setAttribute("value", refCampaignParamVal);
			objTarget.appendChild(hiddenElement );
		}		
	}	
}