//
// Provides error validation for the page.
//
function PMRC_ErrorValidation() { }

PMRC_ErrorValidation.prototype = {
	//
	// Displays the current error messages.
	//
	showErrors : function() {
		var message = this._getCurrentErrorMessage();
		var errorBubble;

		if(message != "") {
			errorBubble = new ErrorBubble(document.getElementById("PMRC_ErrorSummary"));
			errorBubble.show(message);
		}
	},
	
	//
	// Get the current error message for the page.
	//
	_getCurrentErrorMessage : function() {
		var elements = document.getElementsByTagName("span");
		var message = "";
		
		if(elements) {
			for(var i = 0; i < elements.length; i++) {
				var element = elements[i];
				var className = element.className.toLowerCase();
				
				if(className == "sppm_resultmessage" && element.innerHTML != "") {
					message += element.innerHTML + "<br>";
				}
			}
		}
		
		return message;
	}
}

function SPPM_ShowOrHideAnswer(HiddenAnswer_Current, bHide)
{
     if(bHide==true){
		 if (document.all) {
			SetOuterHTML(HiddenAnswer_Current,GetOuterHTML(HiddenAnswer_Current).split(' id=').join(' type="password" id='));
		 }
		 else{
			HiddenAnswer_Current.type = "password";
		 }
	}
	else
	{ 
	   if (document.all) {
			SetOuterHTML(HiddenAnswer_Current,GetOuterHTML(HiddenAnswer_Current).split('type=password').join('value="'+HiddenAnswer_Current.value+'"'));
		 }
		 else{
			HiddenAnswer_Current.type = "text";
		 }
	}
}
function SPPM_ToggleAnswers(bHide, noQuestion){
    for (var i=1; i<=noQuestion; i++)
    {
      var answerID = "DataListQuestion_ctl0" + i + "_txtAnswer";
      var HiddenAnswer_Current = document.getElementById(answerID);
      SPPM_ShowOrHideAnswer(HiddenAnswer_Current,bHide);	
    }    
}

function SPPM_Hide(txtId, bHide)
{
	var HiddenAnswer_Current = document.getElementById(txtId);
     if(bHide==true){
		 if (document.all) {
			SetOuterHTML(HiddenAnswer_Current,GetOuterHTML(HiddenAnswer_Current).split(' id=').join(' type="password" id='));
		 }
		 else{
			HiddenAnswer_Current.type = "password";
		 }
	}
	else
	{ 
	   if (document.all) {
			SetOuterHTML(HiddenAnswer_Current,GetOuterHTML(HiddenAnswer_Current).split('type=password').join('value="'+HiddenAnswer_Current.value+'"'));
		 }
		 else{
			HiddenAnswer_Current.type = "text";
		 }
	}
}


function GetOuterHTML(ele){
            if(typeof(ele)=="string") ele=document.getElementById(ele);
            if(ele.outerHTML){
                        return ele.outerHTML;
            }else{
                      var _emptyTags = {
                           "IMG":   true,
                           "INPUT": true
                        }
                        var att = ele.attributes;
                        var html = "<" + ele.tagName;
                        for(var index=0; index<att.length; index++){
                                    var currentAtt = att[index];
                                    var value = currentAtt.value;
                                    if(value!="null" && value!=""){
                                                html += " " + currentAtt.name + '="' + value + '"';
                                    }
                        }     
                        if (_emptyTags[ele.tagName])
                        {
                                    return html + ">";
                        }else{
                                    return html + ">" + ele.innerHTML + "</" + ele.tagName + ">";
                        }
            }
}

function SetOuterHTML(ele,html) {
            if(ele.outerHTML){
                  ele.outerHTML = html;
            }else{
                  var rng = ele.ownerDocument.createRange();
                  rng.setStartBefore(ele);
                  var newNode = rng.createContextualFragment(html);
                  ele.parentNode.replaceChild(newNode, ele);
            }
       }


function SPPM_FieldValidate(e,fld1,fld2,length,minLengthMsg,changePassword,MinAgeMsg){
	var msg = "";
	var txt1, txt2;
	var errorBubble = new Bubble(document.getElementById("PMRC_ErrorSummary"));
	
	if(fld1){
		txt1 = document.getElementById(fld1);
		if(txt1.value==""){
			msg += "<li>" +  txt1.getAttribute("label") + "</li>";
		}
		else{
		   if (txt1.value.length < length) {
		      msg += "<li>" +  minLengthMsg + "</li>";
		   }
		}
		
	}
	if(fld2){
		txt2 = document.getElementById(fld2);
		if(txt2.value==""){
			msg += "<li>" + txt2.getAttribute("label") + "</li>";
		}
	}
	
	
	
	if(txt1 && txt2){
		if(txt2.value!=txt1.value){		
			msg += "<li>" + e.srcElement.getAttribute("label") + "</li>"; 
		}
	}
	if (changePassword == "false")
   {
     msg +="<li>" + MinAgeMsg + "</li>";
   }
	
	if(msg != "") {
	    errorBubble.type="Error";
		errorBubble.show("<ul>" +  msg + "</ul>");
		StopEventBubble(e,true);
	}else{
		errorBubble.hide();
	}
}
function SPPM_CheckMinAge(isMinAge,msg)
{
   if (isMinAge)
   {
      var errorBubble = new Bubble(document.getElementById("PMRC_ErrorSummary"));
      errorBubble.show(msg);
	  StopEventBubble(e,true);
   }
}
var errorValidation = new PMRC_ErrorValidation();

function ErrorBubble(container) {
	var bubble = new Bubble(container);
	bubble.autoPopDelay = 5000;
	bubble.type = "Error";
	bubble.size = "Medium";
	return bubble;
}
