  var req;
  var errorMessageList = "";
  var errorMessageLabel = "";
  var method = "POST";
  var SUCCESS_CODE;
  var ERROR_CODE;
  var MESSAGE_ID;
  var HEADER_MESSAGE_ID = "HeaderMessage";
  var ID_ELEMENT = "id";
  var RESPONSE_ELEMENT = "response";
  var URL_ELEMENT = "url";
  var PARENT_ERROR_ELEMENT = "element";
  var APP_ERROR_ELEMENT = "app_error";
  var CHILD_ERROR_ELEMENT = "page_error";
  var ERRORS = "errors";
  var MAX_LIMIT = 0;
  var USED_LIMIT = 0;
  var BALANCE_LIMIT = 0;
  var DAILY_COUNT_ELEMENT = "daily_entry_cnt";
  var USG_COUNT_ELEMENT = "usg_entry_cnt";
  var MAX_LIMIT_ALLOWED = 'true';
  var STATUS_ELEMENT = "status";
  var QUESTION_TEXT_ELEMENT = "ques_text";
  var SECRET_QUESTION_ELEMENT = "sec_qstn";
  var captchaURL = "/callmcprm/prmentry/VerifyCaptchaChallengeController";
  var renderImageURL = "/callmcprm/prmentry/RenderImageCaptchaController?customCfgXML=MC_Captcha_Config";
  var SUCCESS_CODE = "success";
  var ERROR_CODE = "failure";
  //var captchaURL = "http://10.158.128.144/prmentry/VerifyCaptchaChallengeController";
  //var renderImageURL = "http://10.158.128.144/prmentry/RenderImageCaptchaController?customCfgXML=MC_Captcha_Config";
  var CAPTCHA_STATUS_MESSAGE_ELEMENT = "status-message";
  var urlValue;
  var frmValue;
  var processOpt;
  var captchaImageDisplay = "";
  var ERROR_FONT_COLOR;
  var ACTUAL_FONT_COLOR;
  var ERROR_COLOR_CHAGE_REQD;
  var emailAddr = null;
  var reciepent = null;
  var selReason = null;
  var requestURL = null;
  // Cookie add Enhancement STARTS
  var AUTH_CD = "auth_cd";
// Cookie add Enhancement ENDS
  function changeFontColor(frm)
  {
		if(ERROR_COLOR_CHAGE_REQD == undefined || ERROR_COLOR_CHAGE_REQD == null || ERROR_COLOR_CHAGE_REQD == "")
		{
			ERROR_COLOR_CHAGE_REQD = 'false';
		}
		if(ERROR_COLOR_CHAGE_REQD == 'true')
		{
			for(paramCount=0;paramCount<frm.elements.length;paramCount++)
			{
				if(frm.elements[paramCount].type == 'hidden' || frm.elements[paramCount].type == 'text' || frm.elements[paramCount].type == 'select-one' || frm.elements[paramCount].type == 'select-multiple' || frm.elements[paramCount].type == 'checkbox' || frm.elements[paramCount].type == 'radio' || frm.elements[paramCount].type == 'textarea'  || frm.elements[paramCount].type == 'password')
				{
					controlName = frm.elements[paramCount].name;
					if(ACTUAL_FONT_COLOR == undefined || ACTUAL_FONT_COLOR == null || ACTUAL_FONT_COLOR == "")
					{
						ACTUAL_FONT_COLOR = "#000000";
					}
					elementObj = frm.elements[controlName];
					if(elementObj.length == undefined)
					{			
						if(document.getElementById(controlName+"Id") != null && document.getElementById(controlName+"Id") != undefined)
							document.getElementById(controlName+"Id").style.color = ACTUAL_FONT_COLOR;
					}
					else if(elementObj.length > 1)
					{
						for(elementCnt=0; elementCnt < elementObj.length; elementCnt++) 
						{  
							if(document.getElementById(controlName+"Id" + elementCnt) != null && document.getElementById(controlName+"Id"+elementCnt) != undefined) {
								document.getElementById(controlName+"Id"+elementCnt).style.color = ACTUAL_FONT_COLOR;
							} else { 
								if(document.getElementById(controlName+"Id") != null && document.getElementById(controlName+"Id") != undefined) {
									document.getElementById(controlName+"Id").style.color = ACTUAL_FONT_COLOR;
								}
							}
						}
					} 					
				}
			}
			if(ERROR_FONT_COLOR == undefined || ERROR_FONT_COLOR == null || ERROR_FONT_COLOR == "")
				ERROR_FONT_COLOR = "#990000";
		}	
  }
function getCookieVal(cookieName) {
	var cookies = document.cookie;
	if (cookies.indexOf(cookieName) != -1)
	{
		var startpos = cookies.indexOf(cookieName)+cookieName.length+1;
		var endpos = cookies.indexOf(";",startpos)-1;
		if (endpos == -2) endpos = cookies.length;
		return unescape(cookies.substring(startpos,endpos+1));
		
	}
	else
	{
		return null; 
	}
	}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; domain=.priceless.com;path=/";
	//document.cookie = region+"="+value+expires+"; domain=.priceless.com;path=/";

}

function validatePage(url, frm, butOpt)
  {
	
	requestURL = url;
	changeFontColor(frm); // To change the form field colors when initial load
	url = "/callmcprm/prmentry/" + url; //For DEV WITH PROXY
	//url = "http://10.158.128.144/prmentry/" + url; //For DEV NO PROXY  
     // url = "http://localhost:3/prmentry/" + url;  //For LOCAL
	//url = "https://www.dev.mastercard.com/callmcprm/prmentry/" + url ;
    urlContent = buildRequest(frm);
	frmValue = frm;
	processOpt = butOpt;
	if (window.XMLHttpRequest) 
	{
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) 
	{ // IE
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
   if(req) 
    {
	 try
	  {
			  	
			req.onreadystatechange = processStateChange;
			req.open(method, url, true);				
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
			req.send(urlContent);
			if(req.onreadystatechange == null)  {
                processStateChange();
            }
				
	}
	catch(exception)
	{
	}
  }      
  }
  function processStateChange() 
  {
		var displayMessage = "";
		if(document.getElementById(MESSAGE_ID) != null)
			document.getElementById(MESSAGE_ID).innerHTML = "";
		if(document.getElementById(HEADER_MESSAGE_ID) != null)
			document.getElementById(HEADER_MESSAGE_ID).innerHTML = "";
		//alert("req.readyState .."+req.readyState);
  		if (req.readyState == 4) 
   		{
			//alert("req.status .."+req.status);
			if (req.status == 200) 
			{
				
				if(SUCCESS_CODE == undefined || SUCCESS_CODE == null)
					SUCCESS_CODE = "success";
				if(ERROR_CODE == undefined || ERROR_CODE == null)
					ERROR_CODE = "failure";					
				if(MESSAGE_ID == undefined || MESSAGE_ID == null)
					MESSAGE_ID = "message";
        			data = req.responseXML;
					//alert(req.responseText);
				errorMessageList = "";
				idTag = data.getElementsByTagName(ID_ELEMENT)[0];
				if(idTag != null)
				{
       				responseTag = data.getElementsByTagName(RESPONSE_ELEMENT)[0];
				    if (responseTag!=null && responseTag.firstChild.data == SUCCESS_CODE) 
					{
						// Cookie add Enhancement STARTS
						//if(url!=null && url.indexOf("login")!=-1)

						if(document.forms["frm"].elements["nickName"]!=undefined)
						{
							//createCookie('nickName',frm.nickName.value,"1");
							document.cookie = "nickName="+document.forms["frm"].elements["nickName"].value+ ";domain=.priceless.com;path=/;";
document.cookie = "region=EC"+ ";domain=.priceless.com;path=/;";

							//alert(frm.nickName.value);
						}
						// Cookie add Enhancement ENDS
						dailyCount = data.getElementsByTagName(DAILY_COUNT_ELEMENT)[0];
						usgCount = data.getElementsByTagName(USG_COUNT_ELEMENT)[0];
						if(dailyCount != null && dailyCount.firstChild != null)
						{
							MAX_LIMIT = dailyCount.firstChild.data;
							if(MAX_LIMIT == '')
							{
								MAX_LIMIT_ALLOWED = 'true';
							}
							if(MAX_LIMIT != '' && isNaN(MAX_LIMIT))
							{
								alert('Usage Entry Maximum limit should be numeric value');
							}
						}
						if(usgCount != null && usgCount.firstChild != null)
						{
							USED_LIMIT = usgCount.firstChild.data;
							if(isNaN(USED_LIMIT))
								alert('Usage Entry Used limit should be numeric value');
						}
						if(dailyCount != null && dailyCount.firstChild != null && usgCount != null && usgCount.firstChild != null)
						{
							if(dailyCount.firstChild.data == '')
							{	
								MAX_LIMIT_ALLOWED = 'true';
							}
							else
							{
								MAX_LIMIT_ALLOWED = 'false';
							}
							BALANCE_LIMIT = MAX_LIMIT - USED_LIMIT;
						}
        				urlTag = data.getElementsByTagName(URL_ELEMENT)[0];
						if(urlTag!=null)
						{
							/*if(MAX_LIMIT_ALLOWED == 'false' && BALANCE_LIMIT == 0)
							{
								alert('Sorry, You have reached maximum level for today. Please add the entry tomorrow or contact System administerator.');
							}*/
							// Cookie add Enhancement STARTS
							auhCdTag = data.getElementsByTagName(AUTH_CD)[0];
							urlValue = urlTag.firstChild.data;
							if(auhCdTag!= null && auhCdTag.firstChild != null && auhCdTag.firstChild.data != "" && auhCdTag.firstChild.data != null)
							{
								document.cookie = "loginAuthCd="+auhCdTag.firstChild.data+";domain=.priceless.com;path=/;";
								//alert(auhCdTag.firstChild.data);
								//alert(document.cookie);
							}							
							if(document.frm.promoSecAnsTxt != undefined)
							{
								document.frm.recipient_name.value = document.frm.emailAddr.value;
								document.frm.recipient_email.value = document.frm.emailAddr.value;
								sendMailForRegistration(document.frm);
								//alert("after send mail");
								document.location.href = 'thankyou.html';
							}
							else
							{
								// Cookie add Enhancement ENDS
								if(processOpt == 'SE' || MAX_LIMIT_ALLOWED == 'true')
								{
									document.location.href = '../'+urlTag.firstChild.data;
								}
								else if(MAX_LIMIT_ALLOWED == 'false' && BALANCE_LIMIT > 0)
								{
									document.location.href = '../'+urlTag.firstChild.data+'&balanceCount='+BALANCE_LIMIT;
								}
								else if(dailyCount.firstChild.data != '0' && MAX_LIMIT_ALLOWED == 'false' && BALANCE_LIMIT == 0)
								{
									alert('Sorry, You have already reached the limit of max entries for the day.');
									document.location.href = '../'+urlTag.firstChild.data;
								}
								else
								{
									document.location.href = '../'+urlTag.firstChild.data;
								}
							}
						}
					}
					else if (responseTag!=null && responseTag.firstChild.data == ERROR_CODE) 
					{
	        			urlTag = data.getElementsByTagName(URL_ELEMENT)[0];
        				formErrorTag = data.getElementsByTagName(PARENT_ERROR_ELEMENT);	
						var applnMessageObj = data.getElementsByTagName(APP_ERROR_ELEMENT)[0];
						if(applnMessageObj!=null && applnMessageObj.firstChild!=null)
						{
							//displayMessage = applnMessageObj.firstChild.data;
							displayMessage = "Un error inesperado ha ocurrido. Por favor intente otra vez m&aacute;s tarde.";
							document.getElementById(HEADER_MESSAGE_ID).innerHTML = "<ul class='alert'><li><b>"+displayMessage+"</b></li></ul><br/>";// implement stylesheet
						}
						var displayMessageObj = data.getElementsByTagName(CHILD_ERROR_ELEMENT)[0];
						

						if(displayMessageObj!=null)
						{
							displayMessage = displayMessageObj.firstChild.data;
							//alert(displayMessage);
							if(displayMessage.indexOf("The following fields have invalid input")!=-1) 
							{
                                 displayMessage = "Uno o m&aacute;s de los campos contienen informaci&oacute;n incompleta. Corrija los campos destacados en rojo para continuar.";
                            }  
							else if(displayMessage.indexOf("User is not registered")!=-1) 
							{
                                displayMessage = "El usuario no est&aacute; registrado. La informaci&oacute;n del registro ingresada no concuerda con nuestros registros. Por favor corrija los campos destacados en rojo para continuar.";
                            } 
							else if(displayMessage.indexOf("User is already registered")!=-1) 
							{
								displayMessage = "El usuario ya est&aacute; registrado. Por favor, ingrese nuevamente. La informaci&oacute;n que proporcion&oacute; ya se encuentra registrada por otro usuario. Por favor ingrese para continuar.";
                            }
							if(document.getElementById(HEADER_MESSAGE_ID) != null)
							{
								document.getElementById(HEADER_MESSAGE_ID).innerHTML = "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'>"+displayMessage+"</font><br/>";// implement stylesheet
							}
						} 
						for(tagCount=0 ; tagCount < formErrorTag.length ; tagCount++)
						{ 
							buildTable(formErrorTag[tagCount]);
						}
						if(document.getElementById(MESSAGE_ID) != null && formErrorTag.length>0) {
                            if(document.getElementById(HEADER_MESSAGE_ID) != null)
							{
								document.getElementById(HEADER_MESSAGE_ID).innerHTML = "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'>"+displayMessage+"</font><br/>";// implement stylesheet
							}
                            document.getElementById(MESSAGE_ID).innerHTML = errorMessageList;  
                        }
						if(errorMessageList != null && errorMessageList != "")
						{
							if(frmValue.jcaptcha_response !=undefined && frmValue.jcaptcha_response != null && frmValue.jcaptcha_response.value != "")
							{
								if(document.getElementById("jcaptcha_responseId")!=null && document.getElementById("jcaptcha_responseId") != undefined)
								{
									document.getElementById("jcaptcha_responseId").style.color = ERROR_FONT_COLOR;
								}
							}
						}
						if(frmValue.jcaptcha_response !=undefined && frmValue.jcaptcha_response != null)
							callImageCaptcha(frmValue);							
					}
				}
      		} 
			else 
			{
				  alert("Session has been failed. Please login again.");
    		}
	    }
  }
  
  function buildTable(formErrorTag)
  {
		var fieldCount = formErrorTag.childNodes.length;		
		// For Form field color change Starts in the case of validation failure
		if(ERROR_COLOR_CHAGE_REQD == 'true')
		{   
			var tgCnt = formErrorTag.childNodes.length;
			formFieldObj = formErrorTag.childNodes.item(0);
			if(formFieldObj.childNodes.item(0) != null)
			{   
				//alert( " IN TAG LEN :: " +tgCnt);
				formField = formFieldObj.childNodes.item(0).data;
				for(c=0; c < tgCnt; c++)
				{
			    // alert( " IN  :: " + formErrorTag.childNodes.item(c).firstChild.data );
				// alert( " IN  :: " + formErrorTag.childNodes.item(c).tagName );
				   if(tgCnt > 2) {
					 if( formErrorTag.childNodes.item(c).tagName =='ind') 
					 {
						var ind = formErrorTag.childNodes(c).getAttribute("ind");
						var res = formErrorTag.childNodes(c).firstChild.data;
						//alert( "IN tgCnt ATT VAL " + res );
						if(res == 'false') {
							if(document.getElementById(formField+"Id"+ind)!=null && document.getElementById(formField+"Id"+ind) != undefined)
							{
								//alert( " getElementById :: " + formField+"Id"+ind);
								document.getElementById(formField+"Id"+ind).style.color = ERROR_FONT_COLOR;
							} else {
								//alert("In Single label " + formField+"Id");
								//alert("In Single label ELEM " + document.getElementById(formField+"Id"));
								document.getElementById(formField+"Id").style.color = ERROR_FONT_COLOR;
							}
						} else {
							if(document.getElementById(formField+"Id"+ind)!=null && document.getElementById(formField+"Id"+ind) != undefined)
							{
								document.getElementById(formField+"Id"+ind).style.color = ACTUAL_FONT_COLOR;
							} 							
						}

                     }
				   } else {
				
					 if(document.getElementById(formField+"Id")!=null && document.getElementById(formField+"Id") != undefined)
						{
							document.getElementById(formField+"Id").style.color = ERROR_FONT_COLOR;
						}
				  }
				}
			} 
		}
		// For Form field color change Ends in the case of validation failure
		for(chkCount=1;chkCount<fieldCount;chkCount++)
		{
			errorMsgObj = formErrorTag.childNodes.item(chkCount);
			for(errChkCount = 0; errChkCount < errorMsgObj.childNodes.length; errChkCount++)
			{
				if(errorMsgObj.childNodes.item(errChkCount).firstChild != null && errorMsgObj.childNodes.item(errChkCount).firstChild.data!=null)
				{
 						errorMessageList += "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'><li/>"+ errorMsgObj.childNodes.item(errChkCount).firstChild.data+"</font>";				

				}
			}
		}
  }  
      
  function buildRequest(frm)
  {
	    controlParams = "";	    
	    for(paramCount=0;paramCount<frm.elements.length;paramCount++)
	    {
	    	if(frm.elements[paramCount].type == 'hidden' || frm.elements[paramCount].type == 'text' || frm.elements[paramCount].type == 'select-one' || frm.elements[paramCount].type == 'select-multiple' || frm.elements[paramCount].type == 'checkbox' || frm.elements[paramCount].type == 'radio' || frm.elements[paramCount].type == 'textarea' || frm.elements[paramCount].type == 'password' )
	    	{
				if(frm.elements[paramCount].type == 'checkbox')
				{
					if(frm.elements[paramCount].checked)
					{
						frm.elements[paramCount].value = "Y";
						controlParams += frm.elements[paramCount].name+"=";
				    	controlParams += encodeURIComponent(frm.elements[paramCount].value)+"&";
					}
				}
				else if(frm.elements[paramCount].type == 'radio')
				{
					if(frm.elements[paramCount].checked == true)
					{
						controlParams += frm.elements[paramCount].name+"=";
			    		controlParams += encodeURIComponent(frm.elements[paramCount].value)+"&";
					}
				}
				if(frm.elements[paramCount].type != 'checkbox' && frm.elements[paramCount].type != 'radio')
				{
					controlParams += frm.elements[paramCount].name+"=";
	    			controlParams += encodeURIComponent(frm.elements[paramCount].value)+"&";
				}
	    	}
	    }
	    if(controlParams != "")
	    	controlParams = controlParams.substring(0,controlParams.lastIndexOf("&"));	    	
	  	return controlParams;      	
}
      
  function submitPage(url, frm, butOpt)
  {
		processOpt = butOpt;
		changeFontColor(frm); // To change the form field colors when initial load
		urlValue = url;
		frmValue = frm;
		urlContent = "jcaptcha_response="+frm.jcaptcha_response.value.toUpperCase();
    	if (window.XMLHttpRequest) 
    	{        
  			req = new XMLHttpRequest();
		} 
    	else if (window.ActiveXObject) 
    	{ // IE
      		req = new ActiveXObject("Microsoft.XMLHTTP");
    	}
		if(req) 
		{
			try
			{
        		req.onreadystatechange = processCaptchaStateChange;
        		req.open(method, captchaURL, true);
   				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        		req.send(urlContent);
				if(req.onreadystatechange == null) 
					processCaptchaStateChange();
			}
			catch(exception)
			{
			}
		}   
  }

  function processCaptchaStateChange() 
  {
		// For Captcha Image lebel color change Starts in the case of validation failure
		if(ERROR_COLOR_CHAGE_REQD == 'true')
		{
			formField = "jcaptcha_response";
			if(document.getElementById(formField+"Id")!=null && document.getElementById(formField+"Id") != undefined)
			{
				document.getElementById(formField+"Id").style.color = ERROR_FONT_COLOR;
			}
		}
		// For Captcha Image lebel color change Ends in the case of validation failure
		captchaImageDisplay = "";
		if(document.getElementById(MESSAGE_ID) != null)
			document.getElementById(MESSAGE_ID).innerHTML = "";
		if(document.getElementById(HEADER_MESSAGE_ID) != null)
			document.getElementById(HEADER_MESSAGE_ID).innerHTML = "";
  		if (req.readyState == 4) 
   		{
			if (req.status == 200) 
			{				
				data = req.responseXML;
				statusTag = data.getElementsByTagName(RESPONSE_ELEMENT)[0];
				if(statusTag != null)
				{
        			statusMessage = statusTag.firstChild.data;
					//alert("statusMessage..."+statusMessage);
					if(statusMessage == 'success')
					{
						validatePage(urlValue, frmValue, processOpt);
					}
					else
					{
						/*erroStatusMessage = data.getElementsByTagName(CAPTCHA_STATUS_MESSAGE_ELEMENT)[0];
						if(erroStatusMessage!=null)
						{
							alert(erroStatusMessage.firstChild.data);
							callImageCaptcha(frmValue);
						}*/
						if(statusMessage != null && statusMessage == 'failure')
							captchaImageDisplay = "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'><li/>Se ha introducido un texto inv&aacute;lido. Por favor, introduzca el texto que aparece en la imagen visual.</font>";
						else if(statusMessage != null && statusMessage == 'inputError')
							captchaImageDisplay = "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'><li/>Por favor, introduzca el texto que se observa en la imagen Captcha.</font>";
						else
							//captchaImageDisplay = "<font color='red'><li/>"+erroStatusMessage.firstChild.data+"</font>";
							captchaImageDisplay = "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'><li/>El sistema ha detectado un problema. Por favor, intente nuevamente. Ingrese el texto que se observa en la imagen Captcha.</font>";
						//captchaImageDisplay += errorMessageList;
						if(document.getElementById(MESSAGE_ID) != null)
							document.getElementById(MESSAGE_ID).innerHTML = "<ul>"+captchaImageDisplay+"</ul>";
					
						callImageCaptcha(frmValue);
	
					}
				}
      		} 
			else 
			{
				  alert("Session has been failed. Please login again.");
    		}
	    }
  }

 function forgotPasswordPage(url, frm, butOpt)
  {
	if(document.getElementById(MESSAGE_ID) != null)
		document.getElementById(MESSAGE_ID).innerHTML = "";
	if(document.getElementById(HEADER_MESSAGE_ID) != null)
		document.getElementById(HEADER_MESSAGE_ID).innerHTML = "";
	
	document.getElementById(HEADER_MESSAGE_ID).innerHTML = "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'>Por favor, espera unos instantes mientras procesamos tu solicitud.</font>";
	
	requestURL = url;
	changeFontColor(frm); // To change the form field colors when initial load
	url = "/callmcprm/prmentry/" + url; //For DEV WITH PROXY
	//url = "http://dev.mcprm.mastercard.com/prmentry/" + url;
	//url = "https://www.stage.mastercard.com/callmcprm/prmentry/" + url;
    	urlContent = buildRequest(frm);
	frmValue = frm;
	processOpt = butOpt;
	
	if (window.XMLHttpRequest) 
	{
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) 
	{ // IE
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
   if(req) 
    {
	 try
	  {
			  	// Cookie add Enhancement STARTS
				//if(url!=null && url.indexOf("login")!=-1)
				if(frm.nickName!=undefined || getCookieVal("nickName") == "null")
				{
					//alert("set nickname");
					document.cookie = "forgotNickName="+frm.nickName.value+ ";domain=.priceless.com;path=/;";
					document.cookie = "region=EC"+ ";domain=.priceless.com;path=/;";
					//alert(frm.nickName.value);
				}
				// Cookie add Enhancement ENDS
			//alert(url);
			req.onreadystatechange = processForgotPasswordStateChange;
			req.open(method, url, true);			
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
			req.send(urlContent);
			if(req.onreadystatechange == null)  {
		processForgotPasswordStateChange();
            }
				
	}
	catch(exception)
	{
	}
  }      
  }
  
  function processForgotPasswordStateChange() {
		
		//alert("req.readyState .."+req.readyState);
  		if (req.readyState == 4) 
   		{
			//alert("req.status .."+req.status);
			if (req.status == 200) 
			{
				if(SUCCESS_CODE == undefined || SUCCESS_CODE == null)
					SUCCESS_CODE = "success";
				if(ERROR_CODE == undefined || ERROR_CODE == null)
					ERROR_CODE = "failure";					
				if(MESSAGE_ID == undefined || MESSAGE_ID == null)
					MESSAGE_ID = "message";
        			data = req.responseXML;
					//alert(req.responseText);
				
				idTag = data.getElementsByTagName(ID_ELEMENT)[0];
				if(idTag != null) {
       				responseTag = data.getElementsByTagName(RESPONSE_ELEMENT)[0];
       				
				    if (responseTag!=null && responseTag.firstChild.data == SUCCESS_CODE) {
					    //alert("Inside sucess");
						sec_qstn = data.getElementsByTagName(SECRET_QUESTION_ELEMENT)[0];
						
						if(sec_qstn != null && sec_qstn.firstChild != null) {
							ques_text = sec_qstn.getElementsByTagName(QUESTION_TEXT_ELEMENT)[0];
							ques_id = sec_qstn.getElementsByTagName(ID_ELEMENT)[0];
							
							if(ques_text != null && ques_text.firstChild.data != null && ques_id != null && ques_id.firstChild.data != null) {
								//alert("questions");
								
								document.cookie = "ques_text="+ques_text.firstChild.data+ ";domain=.priceless.com;path=/;";
								document.cookie = "ques_id="+ques_id.firstChild.data+ ";domain=.priceless.com;path=/;";
								document.location.href = 'forgot_2.html';
							}
						} else {
							//alert("sucess forgot password");
							location.href="login.html?password=sent";
						}

					} else if (responseTag!=null && responseTag.firstChild.data == ERROR_CODE) {
						//alert("Inside failure");
						var displayMessage;
						errors = data.getElementsByTagName(ERRORS)[0];
						if(errors != null) {
							
							app_error = errors.getElementsByTagName(APP_ERROR_ELEMENT)[0];
							if(app_error != null && app_error.firstChild != null) {
								var displayMessageObj = app_error.attributes.getNamedItem("errorCode").nodeValue;
								
								if(displayMessageObj=="PRO_0006") {
									displayMessage = "Nombre de usuario no v&aacute;lido. Por favor, ingr&eacute;salo nuevamente o reg&iacute;strate.";
								}
								if(displayMessageObj=="PRO_0028") {
									displayMessage = "Por favor, responde la pregunta de seguridad.";
								}
								if(displayMessageObj=="PRO_0019") {
									displayMessage = "La respuesta ingresada es incorrecta. Por favor, int&eacute;ntalo nuevamente.";
								}

							}
							
							/*page_error = errors.getElementsByTagName(CHILD_ERROR_ELEMENT)[0];
							if(page_error != null && page_error.firstChild != null) {//alert("inside page_error");
								var displayMessageObj = page_error.firstChild.data;
								if(displayMessageObj.indexOf("The following fields have invalid input")!=-1) {
									document.getElementById(HEADER_MESSAGE_ID).innerHTML = "Uno o m&aacute;s de los campos contienen informaci&oacute;n incompleta. Corrija los campos destacados en rojo para continuar.";
								}
							}*/
							
							form_error = errors.getElementsByTagName("form_error")[0];
							if(form_error != null && form_error.firstChild != null) {//alert("inside form_error");
								
								element = errors.getElementsByTagName(PARENT_ERROR_ELEMENT)[0];
								errors = element.getElementsByTagName(ERRORS)[0];
								error_name = element.getElementsByTagName("name")[0];
								if(error_name != null && error_name.firstChild != null) {
								
									error_message = errors.getElementsByTagName("msg")[0];
									if(error_message.firstChild.data.indexOf("El Apodo debe tener")!=-1) {
										displayMessage = "El Apodo debe tener al menos 5 caracteres.";
									}
									if(error_message.firstChild.data.indexOf("El Apodo es requerido")!=-1) {
										displayMessage = "Por favor, ingresa tu nombre de usuario.";
									}
								}
							}
							if(displayMessage != null) {
								
								document.getElementById(HEADER_MESSAGE_ID).innerHTML ="";
								document.getElementById(HEADER_MESSAGE_ID).innerHTML = "<font style='font-family: Arial, Helvetica, sans-serif; font-size: 11px; color:#990000'>"+displayMessage+"</font>";
							}
						}
					} else {
						alert("Session has been failed. Please login again.");
					}
				}
			} //status
		} //readyState
  }
