/*
* This script is coded by hairiemx (http://www.hairiemx.com)
* This script can be used for any purpose (either non profit, commercial whatsoever) 
* but please retain this credit.
* Please visit my website, http://www.hairiemx.com for more scripts
*/

//Function used to start filling the form
String.prototype.substitute = function(was, becomes) {
     return this.split(was).join(becomes);
}
function myGETAutofield_start(formid){
	var formobj=document.getElementById(formid);
	var getdata=new Object();
	//First break the url and get data
	var is_input = document.URL.indexOf('?');
	var addr_str = document.URL.substring(is_input+1, document.URL.length);
	var arVars=addr_str.split("&");

	for(i=0;i<arVars.length;i++){
			var arVarsItem=arVars[i].split("=");
			if(arVarsItem.length==2){
				if(typeof getdata[arVarsItem[0]] == "undefined"){
					getdata[arVarsItem[0]]=new Array();
				}
				getdata[arVarsItem[0]].push(unescape(arVarsItem[1].substitute("+"," ")));
				
			}
	}	
	//Now fill in the form
	for(i=0; i<formobj.elements.length; i++) {
		
		var fieldType = formobj.elements[i].type;
		var fieldName = formobj.elements[i].name;
		
		if(typeof getdata[fieldName] != "undefined"){
					
			switch(fieldType){

					case "checkbox":
					for(var j=0;j<getdata[fieldName].length;j++){
							if(formobj.elements[i].value==getdata[fieldName][j]){
								formobj.elements[i].checked=true;
								break;
							}
					}
					break;
					case "radio":
					for(var j=0;j<getdata[fieldName].length;j++){
							if(formobj.elements[i].value==getdata[fieldName][j]){
								formobj.elements[i].checked=true;
								break;
							}
					}
					break;
					case "select-one":
					var is_option_found=false;
					
					for(var j=0;j<getdata[fieldName].length;j++){
							for(var k=0;k<formobj.elements[i].options.length;k++)
								if(formobj.elements[i].options[k].value==getdata[fieldName][j]){
										formobj.elements[i].selectedIndex=k;
										getdata[fieldName][j]=null;
										is_option_found=true;//First match only
										break;
								}
							if(is_option_found)
								break;
					}					
					break;
					
					case "select-multiple":
					for(var j=0;j<getdata[fieldName].length;j++){
							for(var k=0;k<formobj.elements[i].options.length;k++)
								if(!formobj.elements[i].options[k].selected && formobj.elements[i].options[k].value==getdata[fieldName][j]){
										formobj.elements[i].options[k].selected=true;
										getdata[fieldName][j]=null;
								}
					}				
					
					break;
					case "text":
					case "password":
					case "textarea":
					var textvalue=getdata[fieldName].shift();
					if(textvalue!=null)
						formobj.elements[i].value=textvalue;			
					break;
			}
		}
	}
}

