function randomString() {	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";	var string_length = 4;	var randomstring = ""; 	for (var i=0; i<string_length; i++) {		var rnum = Math.floor(Math.random() * chars.length);		randomstring += chars.substring(rnum,rnum+1);	}	return randomstring.toUpperCase(); // Added for EPUB-859}var xmlhttpObjSave = null;function getFormElements() { 	var str = "";	var elemValue = "";	var optText ="";	var elemName ="";	var list = new Array();	var fieldArray = new Array(); // Added to get the elements in order. EPUB-859	var elem = document.getElementById("emailForm").elements;	// Added to get the elements in order. EPUB-859 **** START ***	for(var  m= 0; m < elem.length; m++){ 		fieldArray[m] = elem[m].name;     }	var fieldsStr = fieldArray.join(":"); 	document.emailForm.formFields.value = fieldsStr; 	// Added to get the elements in order. EPUB-859 **** END ***	for(var i = 0; i < elem.length; i++){ 		elemValue = elem[i].value;		elemName  = elem[i].name ; 		 /***********Added for EPUB-910 START*************/		if(elemName.indexOf("required_")!=-1){		 	if(elemValue=="" && elemValue.length==0){		 		alert("Not all required fields have been entered");		 		return false;	 		}		}		/***********Added for EPUB-910 END*************/		optText ="";		if(elem[i].type == 'select-multiple'){			var multipleBox=eval("document.forms['emailForm']."+elem[i].name); 			var z = 0;			for(var j=0;j<multipleBox.length;j++){				var mb=multipleBox[j];								if(mb.selected){					if (z != 0){						optText += "," + multipleBox[j].text ;					}else{						optText += multipleBox[j].text ;					}				z++;				   				}			}    	var name=multipleBox.name;		/***********Added for EPUB-910 START*************/					if(name.indexOf("required_")!=-1){				if(optText==""){					alert("Not all required fields have been entered");					return false;					}			}		elemValue = optText;			/***********Added for EPUB-910 END*************/		}		if(elem[i].type == 'radio'){			var radioText="";			var radioobj = eval("document.forms['emailForm']."+elem[i].name);			var x = 0;			for(var k=0;k<radioobj.length;k++) 			{				var radioField = radioobj[k];				if(radioField.checked == true){					if (x != 0){					   radioText += "," + radioField.value ;					}else{					   radioText +=radioField.value ;				}				x++;	            }		}		elemValue = radioText;		/***********Added for EPUB-910 START*************/					for(var s=0;s<radioobj.length;s++) {	     	var radname=radioobj[s].name;		 	if(radname.indexOf("required_")!=-1){				if(elemValue==""){					alert("Not all required fields have been entered");						return false;					}				}			} 			/***********Added for EPUB-910 END*************/		}	   if(elem[i].type == 'checkbox'){			var checkboxText="";			var obj = eval("document.forms['emailForm']."+elem[i].name);			var y=0;			if(obj.length!= undefined){				for(var j=0;j<obj.length;j++) {					var checkboxField= obj[j];					if(checkboxField.checked == true){						if (y != 0){						   checkboxText  += "," + checkboxField.value ;						}else{						   checkboxText +=checkboxField.value ;						}    					y++;					    }		        }			}else{				if(obj.checked == true){					 checkboxText =obj.value;				}			}		 	elemValue = checkboxText;			/***********Added for EPUB-910 START*************/		 	for(var s=0;s<obj.length;s++) {				var radname=obj[s].name;			 	if(radname.indexOf("required_")!=-1){					if(elemValue==""){						alert("Not all required fields have been entered");						return false;					}				}			}			/***********Added for EPUB-910 END*************/		}		if(!list[elemName] ){			if(i!=0) { 				 str += "&"+elemName +"="+ encodeURIComponent(elemValue);			} else { 				 str += elemName +"="+ encodeURIComponent(elemValue);			} 		    list[elemName] =elemName;		}	}  	str += "&WARNINGMESSAGE=As a precaution, a maximum is set for the number of emails generated by any single form.  Please contact your ISG liaison for further information!";	return str;} var holdRandomStr = '';function doSubmit(){	document.emailForm.randomstr.value =  holdRandomStr;	var valueEntered = getFormElements();	if(!valueEntered) return false; 	try	{ 		xmlhttpObjSave = new ActiveXObject("Msxml2.XMLHTTP");	}catch(e) {  	}	if (xmlhttpObjSave == null ){  		xmlhttpObjSave = new XMLHttpRequest();	} 	xmlhttpObjSave.open("POST","/external/main/SendEmail",true);	xmlhttpObjSave.setRequestHeader("Content-Type","application/x-www-form-urlencoded");	xmlhttpObjSave.setRequestHeader("charset","utf-8"); xmlhttpObjSave.onreadystatechange=stateChange1;	xmlhttpObjSave.send(valueEntered);} function stateChange1(){	if (xmlhttpObjSave.readyState == 4) {		var response = xmlhttpObjSave.responseText;				if(response.indexOf("success") != -1){			var landingpage=response.split("cess~");		 	if(landingpage[1]!=""){				window.location.href=landingpage[1];			}else{				alert("Thank you.  Your form has been submitted");				history.back();			}		} else if (response.indexOf("WARNING") != -1){			alert("ERROR: maximum responses received (all users).  Further submissions are no longer accepted at this time.");		} else if (response.indexOf("queued")!=-1) {			alert("SYSTEM MESSAGE: Email will be sent shortly.");		} else {			alert("Please enter the code as it is shown.");		}		return;	}}function fn() {	var rstr = randomString();	//Uncomment for DEV env	//var url ="http://wbes828.worldbank.org:3124/contentrating/servlet/main/dynimg?randomstr="+rstr;	//Uncomment for QA env	//var url ="http://ispcontentqa.worldbank.org/contentrating/servlet/main/dynimg?randomstr="+rstr;	//Uncomment for PROD env	var url ="http://ispcontent.worldbank.org/contentrating/servlet/main/dynimg?randomstr="+rstr; 		try{		document.emailForm.randomstr.value = rstr;      //epub-903		document.emailForm.randomimg.src = url;		holdRandomStr = rstr;	}catch(e){		alert("Error : "+e);	}}fn();