/*
**********************************************************
T&G Insurance - Common functionality used through the site
Created on: 08/02/2007
Development by: Socialfabric Ltd
**********************************************************
*/

// constants
var normal = '#ffffff';
var highlight = '#ffff99';
var fieldset_selected = '#E1E1E1';
var fieldset_normal = '#F1F1F1';
var border_error = 'solid 1px red';
var border_normal = 'solid 1px #7f9db9';
var lb = '\n';

// general functions
function addLoadEvent(func) {	
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function alertmsg(msg) {
    var newmsg='';
    var tmp = msg.split(lb);
    var firstItem;
    
    // display error at top
    showMsg(msg);
          
    for (var intCounter = 0; intCounter < tmp.length -1; intCounter++) 
	{ 
	    if (intCounter == 0){ firstItem = tmp[intCounter].split('|')[1] }
	    newmsg += intCounter + 1 + '. ' + tmp[intCounter].split('|')[0] + lb;
	    
	}
	
	var elementFocus = document.getElementById(firstItem);
    if (elementFocus !=null){
        elementFocus.focus(); 
        }
        
    alert('You have missed the following form items.\n\n' + newmsg);
}	

function confirmmsg(msg){          
    if (confirm(msg + lb))
        {return true;}
    else
        {return false;} 
}	

function doLink(url) {
  if (url != null){
    document.location.href = url;
  }
}

function replaceTags(xStr){
    var regExp = /<\/?[^>]+>/gi;
    
    xStr = xStr.replace(regExp,"");
    return xStr;
}

function getElementByClass(classname){ 
     var messages=new Array();
     var inc=0; 
     var alltags=document.all? document.all : document.getElementsByTagName("*"); 
     for (i=0; i<alltags.length; i++){ 
       if (alltags[i].className==classname) 
         messages[inc++]=alltags[i]; 
     }
     if(messages != null){return messages;}
     else {return null;}
} 

// calendar functions
function initCalendars()
{
    // get all calendars by className.
    var elementDate = getElementByClass('date');
    var elementTrigger = getElementByClass('date_trigger');
       
    if (elementTrigger != null){
        for (var intCounter = 0; intCounter < elementTrigger.length; intCounter++)
        {
            var dateInput =	Tools.getPreviousSibling(elementTrigger[intCounter], function (node) {
                                        return (Tools.isElement(node) &&
                                        ((node.nodeName == 'INPUT') || (node.nodeName == 'input')));
                                        });                                        
            setupCalendar(dateInput.id,elementTrigger[intCounter].id);
        }
    }        
} 

function dateStatusCheck(date, y, m, d) {
    var min = new Date(); // Today's date...
    if (d < min.getDate()) {
        return true; // true says "disable"
        } 
       else
       {
        return false; // leave other dates enabled 
       }
}


function onCalendarClose(calendar){
    calendar.hide();
}

function setupCalendar(inputField, button){
    Calendar.setup({
                    inputField     :    inputField,     // id of the input field                                    
                    button         :    button          // trigger for the calendar  
                    //dateStatusFunc :    dateStatusCheck,
                    //onSelect       :    dateChanged

                });
}

function dateChanged(calendar) {
        
    var iToDay = calendar.date.getDate();
	var iToMonth = calendar.date.getMonth() + 1;
	var iToYear = calendar.date.getFullYear();

    // format date dd/mm/yyyy
	if(iToDay < 10){iToDay = "0" + iToDay;}
	if(iToMonth <= 9){iToMonth = "0" + iToMonth;}
	iToYear = y2k(iToYear);
	var sToDate = iToDay + '/' + iToMonth + '/' + iToYear;
     
    if (calendar.dateClicked) {
        calendar.params.inputField.value = sToDate ;
        calendar.callCloseHandler();
       }
}

function checkDateValid(inputField) {

    var blnvalidate = true;
    errorMsg = '';
    resetFormatOnForms(inputField);
    
    // check for valid dates
    if (inputField.value != ''){
        if (validateDate(inputField)){
            blnvalidate = errorHandler(inputField, 'Please enter a valid date.');
        }
    }
    
    if (blnvalidate != true){alertmsg(errorMsg);}
	return blnvalidate;	
}

function checkDaysValid(inputField) {

    var blnvalidate = true;
    errorMsg = '';
    resetFormatOnForms(inputField);
    
    // check for valid positive number
    if (validateNumber(inputField)){
        blnvalidate = errorHandler(inputField, 'Please enter a valid number of days.');
    }
            
    if (blnvalidate != true){alertmsg(errorMsg);}
	return blnvalidate;	
}

// recalculate date
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function recalcDate() {
    
    var elementNumdays = document.getElementById("numdays");
    var elementJDate = document.getElementById("jdate");
    var elementRDate = document.getElementById("rdate");
    var elementsInputs;
	
    // add the number of days
    if (!(validateDate(elementJDate)) && (!(validateNumber(elementNumdays))) && elementNumdays.value > 0){
    
        var iDays = elementNumdays.value - 1;
        var aFromArray = elementJDate.value.split("/");
        var sDepartureDate = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
        //var sReturnDate = new Date(sDepartureDate.getTime() + iDays*24*60*60*1000);
		// Better for spanning daylight saving
        var sReturnDate = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
        sReturnDate.setDate(sDepartureDate.getDate() + iDays);
        var iToDay = sReturnDate.getDate();
		var iToMonth = sReturnDate.getMonth() + 1;
		var iToYear = sReturnDate.getYear();

        // format date dd/mm/yyyy
		if(iToDay < 10){iToDay = "0" + iToDay;}
		if(iToMonth <= 9){iToMonth = "0" + iToMonth;}
		iToYear = y2k(iToYear);

        // set return date
	    var sToDate = iToDay + '/' + iToMonth + '/' + iToYear;
        elementRDate.value = sToDate;
        }

}

function updateReturn(){
    var elementReturn = document.getElementById("return");
    var elementCDate = document.getElementById("cdate");

    if (elementReturn!=null && elementCDate!=null){
        if (!(validateDate(elementCDate))){

            var aArrayDate = elementCDate.value.split("/");
            var sDepartDate = new Date(parseInt(aArrayDate[2]),(aArrayDate[1]-1),aArrayDate[0]);
            //var sReturnDate = new Date(sDepartDate.getTime() + 365*24*60*60*1000);
			// Better for leap years
			var sReturnDate = new Date((parseInt(aArrayDate[2]) + 1),(aArrayDate[1]-1),aArrayDate[0]);
			sReturnDate.setDate(sReturnDate.getDate() - 1);

            var iToDay = sReturnDate.getDate();
		    var iToMonth = sReturnDate.getMonth() + 1;
		    var iToYear = sReturnDate.getYear();

            // format date dd/mm/yyyy
		    if(iToDay < 10){var iToDay = "0" + iToDay;}
		    if(iToMonth <= 9){iToMonth = "0" + iToMonth;}
            iToYear = y2k(iToYear);

            // set return date
	        var sToDate = iToDay + '/' + iToMonth + '/' + iToYear;
            elementReturn.innerHTML = '<span>Return <strong>' + sToDate + '</strong></span>';
            }
    }
}
	
// error handling
function errorHandler(formElement, errMsg){
    
    if (formElement!=null){
    
        if (formElement.type == 'checkbox') {
            formElement.style.backgroundColor = highlight;
            }
        else{
            formElement.style.backgroundColor = highlight;
            }
        
	    errorMsg += errMsg + '|' + formElement.id +lb;
        return false;
    }			    
}

function showMsg(msg) {
    var newmsg='';
    var tmp = msg.split(lb);
    var strHTML = '';
    //var elementDiv = document.getElementById("error_msg");
    var elementDivWrap = document.getElementById("nav_error");
              
    // Build error list
    strHTML = '<h2>Form information incorrect</h2>';
    strHTML += '<p id="errormessage">You have missed the following form item(s). Please enter these details and try again.</p>';
    strHTML += '<div id="error_msg">';
    strHTML += '<ul>';
    for (var intCounter = 0; intCounter < tmp.length -1; intCounter++) 
	{ 
	    strHTML += '<li><img src="../library/images/req.gif" width="6" height="12" alt="Required field" class="reqField" /> <a href="#'+ tmp[intCounter].split('|')[1] +'">' + tmp[intCounter].split('|')[0] + '</a></li>';
	}
	strHTML += '</ul>';
    strHTML += '</div>';
	
	if (elementDivWrap!=null)
	{
	    elementDivWrap.className = 'nav_error_show';
	    elementDivWrap.innerHTML = strHTML;
	}
}

function initCustomErrors(){
    var blnvalidate = true;
    var elementHiddenCustomFields = document.getElementById("custom_fields");
    var elementHiddenCustomMsgs = document.getElementById("custom_msg");
    errorMsg = '';
    
    if (elementHiddenCustomFields!=null && elementHiddenCustomMsgs!=null){
    
        if (elementHiddenCustomFields.value.length > 0){
             var tmpFields = elementHiddenCustomFields.value.split("|");
             var tmpMsgs = elementHiddenCustomMsgs.value.split("|");
             
             for (var intCounter = 0; intCounter < tmpFields.length; intCounter++) 
	            { 
	            blnvalidate = errorHandler(document.getElementById(tmpFields[intCounter]), tmpMsgs[intCounter]);            
	            }
        }
        
        if (blnvalidate != true){alertmsg(errorMsg);}
    }
}

//  format functions
function resetFormatOnForms(formElement){
    if (formElement!=null){
        if (formElement.type != 'submit' &&
            formElement.type != 'radio' &&
            formElement.type != 'button' &&
            formElement.type != 'checkbox' ){
            formElement.style.backgroundColor = normal;
        }
        else if (formElement.type == 'checkbox'){
            formElement.style.backgroundColor = 'transparent';
        }
        
    }    
}

// validation functions
function validateForms()
{
	var elementsForms;
	
	if (!document.getElementsByTagName) return false;
	elementsForms = document.getElementsByTagName("form");	
	for (var intCounter = 0; intCounter < elementsForms.length; intCounter++) 
	{ 
	    return validateForm(elementsForms[intCounter]);
	} 
}
	
function validateEmail(elementsInputs, intCounter)
{
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!emailFilter.test(elementsInputs[intCounter].value)) 
	{ 
		return true; 
	} 
}

function validateCCSecurityNumber(elementsInputs, intCounter, strDefault, strErrorMessage)
{
    var creditCCV2Filter=/^([0-9]{3,4})$/;
    if (intCounter!=null)
    {
	    if (!creditCCV2Filter.test(elementsInputs[intCounter].value) || elementsInputs[intCounter].value == '' || elementsInputs[intCounter].value == strDefault) 
	    {
		    return true;
	    }
	}
	else
	{
	    if (!creditCCV2Filter.test(elementsInputs.value) && elementsInputs.value == '' || elementsInputs.value == strDefault) 
        {
	        return true;
        }
	}
}

function validateCCExpiryDate(elementsInputs, intCounter, strDefault, strErrorMessage) 
{
    var creditCCExpiryFilter=/^((0[1-9])|(1[0-2]))\/(\d{2})$/;
    if (intCounter!=null)
    {
	    if (!creditCCExpiryFilter.test(elementsInputs[intCounter].value) || elementsInputs[intCounter].value == '' || elementsInputs[intCounter].value == strDefault) 
	    {
		    return true;
	    }
	}
	else
	{
	    if (!creditCCExpiryFilter.test(elementsInputs.value) && elementsInputs.value == '' || elementsInputs.value == strDefault) 
        {
	        return true;
        }
	}
}

function validateCCNumber(elementsInputs, intCounter, strDefault, strErrorMessage)
{
    // JC 08/06/07 Not handling all types, so disable for now
	return false;
    
    var creditcardFilter=/^3(?:[47]\d([ -]?)\d{4}(?:\1\d{4}){2}|0[0-5]\d{11}|[68]\d{12})$|^4(?:\d\d\d)?([ -]?)\d{4}(?:\2\d{4}){2}$|^6011([ -]?)\d{4}(?:\3\d{4}){2}$|^5[1-5]\d\d([ -]?)\d{4}(?:\4\d{4}){2}$|^2014\d{11}$|^2149\d{11}$|^2131\d{11}$|^1800\d{11}$|^3\d{15}$/;
    if (intCounter!=null)
    {
	    if (!creditcardFilter.test(elementsInputs[intCounter].value) || elementsInputs[intCounter].value == '' || elementsInputs[intCounter].value == strDefault) 
	    {
		    return true;
	    }
	}
	else
	{
	    if (!creditcardFilter.test(elementsInputs.value) && elementsInputs.value == '' || elementsInputs.value == strDefault) 
        {
	        return true;
        }
	}
}

	
function validateNumber(elementsInputs, intCounter, strDefault, strErrorMessage)
{
    var numberFilter=/^\d+$/;
    
    if (intCounter!=null)
    {
	    if (!numberFilter.test(elementsInputs[intCounter].value) || elementsInputs[intCounter].value != '' || elementsInputs[intCounter].value == strDefault) 
	    {
		    return true;
	    }
	}
	else
	{
	    if (!numberFilter.test(elementsInputs.value) && elementsInputs.value != '' || elementsInputs.value == strDefault) 
        {
	        return true;
        }
	}
}

	
function validateText(elementsInputs, intCounter, strDefault, strErrorMessage)
{
	if (elementsInputs[intCounter].value == "" || elementsInputs[intCounter].value == strDefault) 
	{
		return true;
	}
}


function validatePassword(elementsInputs, intCounter, strDefault)
{
    var passwordFilter=/^([a-zA-Z0-9@*#]{8,20})$/;
    
    if (intCounter!=null)
    {
	    if (!passwordFilter.test(elementsInputs[intCounter].value) || elementsInputs[intCounter].value == '' || elementsInputs[intCounter].value == strDefault) 
	    {
		    return true;
	    }
	}
	else
	{
	    if (!passwordFilter.test(elementsInputs.value) && elementsInputs.value == '' || elementsInputs.value == strDefault) 
        {
	        return true;
        }
	}
}

function validatePostCode(elementsInputs, intCounter, strDefault)
{
    var postcodeFilter=/^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$/;
    
    if (intCounter!=null)
    {
	    if (!postcodeFilter.test(elementsInputs[intCounter].value) || elementsInputs[intCounter].value == '' || elementsInputs[intCounter].value == strDefault) 
	    {
		    return true;
	    }
	}
	else
	{
	    if (!postcodeFilter.test(elementsInputs.value) && elementsInputs.value == '' || elementsInputs.value == strDefault) 
        {
	        return true;
        }
	}
}

function validateTelephone(elementsInputs, intCounter, strDefault)
{
    var telephoneFilter=/^[0-9\s\(\)\+\-*]{10,40}$/;
	
	if (!telephoneFilter.test(elementsInputs[intCounter].value) ||elementsInputs[intCounter].value == "" || elementsInputs[intCounter].value == strDefault) 
	{
		return true;
	}
}

function validateMobile(elementsInputs, intCounter, strDefault)
{
	if (elementsInputs[intCounter].value == "" || elementsInputs[intCounter].value == strDefault) 
	{
		return true;
	}
}


function validateDate(elementsInputs, intCounter, strDefault) {
    //var regEx = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    //var regEx = /^((((0?[1-9]|[12]\d|3[01])[\/](0?[13578]|1[02])[\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\/](0?[13456789]|1[012])[\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\/]0?2[\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\/]0?2[\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    //var regEx = /^\d{1,2}\/\d{1,2}\/\d{4}$/; 
    
    // JC 04/06/07 Too rigid, so disable for now
	return false;
	
	var regEx = /(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))/;
    
    // check for array
    if (intCounter !=null){
        if ((elementsInputs[intCounter].value.match(regEx)) && (elementsInputs[intCounter].value != '')) {
            return false;            
        }
        else {
            return true;
        }
    } 
    else{
        if ((elementsInputs.value.match(regEx)) && (elementsInputs.value != '')) {
            return false;            
        }
        else {
            return true;
        }
    }
}

function validateCheckBox(elementsInputs, intCounter, strDefault)
{
	if (elementsInputs[intCounter].checked == false || elementsInputs[intCounter].value == strDefault) 
	{
		return true;
	}
}

function validateRadioBox(elementsInputs, intCounter, strDefault)
{
 	if (elementsInputs[intCounter].checked == false || elementsInputs[intCounter].value == strDefault) 
	{
		return true;
	}
}

function validateSelectBox(elementsSelect, intCounter, strDefault)
{
	// check for array
    if (intCounter !=null){
	    if (elementsSelect[intCounter].selectedIndex == 0 || elementsSelect[intCounter].value == strDefault) 
	    {
		    return true;
	    }
    }
    else{
        if (elementsSelect.selectedIndex == 0 || elementsSelect.value == strDefault) 
	    {
		    return true;
	    }
    }	    
}


function validateLogin(currentForm)
{
	var blnvalidate = true;
	var elementsInputs;
    errorMsg = '';	
    	
	elementsInputs = currentForm.getElementsByTagName("input");
 
    for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++)
    {
        resetFormatOnForms(elementsInputs[intCounter]); // clears form formatting
	    
	    if (elementsInputs[intCounter].className == "reqpassword")
	    {
	        if (validateText(elementsInputs, intCounter, 'password'))
		    {
		        blnvalidate = errorHandler(elementsInputs[intCounter], "Please enter a password.");
		    }
	    }
	    else if (elementsInputs[intCounter].className == "reqemail")
	    {
		    if (validateEmail(elementsInputs, intCounter))
		    {
		        blnvalidate = errorHandler(elementsInputs[intCounter], "Please insert a valid email.");
		    }
	    }
    }
    if (blnvalidate != true){alertmsg(errorMsg);}
	return blnvalidate;		
}


// accessible functions
function presentForm()
{
	var eleDiv; 
	var eleForms;
	
	if (document.getElementById && document.getElementsByTagName)
	{
		eleDiv = document.getElementById("content");
		eleForms = eleDiv.getElementsByTagName("form");
		for (var intCounter = 0; intCounter < eleForms.length; intCounter++)
			{
				eleInputs = eleForms[intCounter].getElementsByTagName("input");
				eleTextAreas = eleForms[intCounter].getElementsByTagName("textarea");
				eleSelect = eleForms[intCounter].getElementsByTagName("select");
				
				applyFunctionToFormElements(eleInputs);
				applyFunctionToFormElements(eleTextAreas);
				applyFunctionToFormElements(eleSelect);
			}
	}
}
	
function applyFunctionToFormElements(htmlObjectCollection)
{

	for (var intCounter = 0; intCounter < htmlObjectCollection.length; intCounter++)
		{
			if (htmlObjectCollection[intCounter].type != 'submit' &&
                htmlObjectCollection[intCounter].type != 'button')
			{
				htmlObjectCollection[intCounter].onfocus = function applyFormat()
					{
						clearFieldsetsAndLabels();
						
						var fieldset =	Tools.getLastChild(this.parentNode.parentNode.parentNode.parentNode, function (node) {
                                        return (Tools.isElement(node) &&
                                        ((node.nodeName == 'FIELDSET') || (node.nodeName == 'fieldset')));
                                        });
                                        
                        var fieldset_tbl =	Tools.getLastChild(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode, function (node) {
                                        return (Tools.isElement(node) &&
                                        ((node.nodeName == 'FIELDSET') || (node.nodeName == 'fieldset')));
                                        }); 
                                        
                        var label =	Tools.getLastChild(this.parentNode, function (node) {
                                        return (Tools.isElement(node) &&
                                        ((node.nodeName == 'LABEL') || (node.nodeName == 'label')));
                                        });
                                                          
                        if (label !=null)
					    {
					        label.style.fontWeight = "bold";
					    }   
					    
					    if (fieldset !=null)
					    {
					        fieldset.className = "fieldsetHighlight";
					    } 
					    
					    if (fieldset_tbl !=null)
					    {
					        fieldset_tbl.className = "fieldsetHighlight";
					    }                              
                        
					}
			}
		}
}	

function realPreviousSibling(node){
  var tempNode=node.previousSibling;
  if (tempNode !=null) {
    while(tempNode.nodeType!=1){
        alert(tempNode.nodeType);
        tempNode=tempNode.previousSibling;
    }  
    return tempNode;
  }
  else { 
        return null;
       }      
}

function isLabel(node) {
    return Tools.isElement(node, 'label');
}

var Tools = function () {
    return {
    createElementCallback: function (tagName) {
        return function (node) {
        return isElement(node, tagName);
    };
    },
    getFirstChild: function (parent, test) {
        var node = parent.firstChild;

        if (node) return test(node) ? node : this.getNextSibling(node, test);
        return null;
    },
    getLastChild: function (parent, test) {
        var node = parent.lastChild;

        if (node) return test(node) ? node : this.getPreviousSibling(node, test);
        return null;
    },
    getNextSibling: function (node, test) {
        while ((node = node.nextSibling))
        if (test(node)) return node;
        return null;
    },
    getPreviousSibling: function (node, test) {
        while ((node = node.previousSibling))
        if (test(node)) return node;
        return null;
    },
    isElement: isElement
};

function isElement(node, tagName) {
    return (node.nodeType == 1)
    && (tagName ? (node.nodeName == tagName) : (node.nodeName != '!'));
    }
}();

function clearFieldsetsAndLabels()
{
	var eleDiv;
 	var eleFieldsets;
 	var eleLabels;

	eleDiv = document.getElementById("content");	
	eleFieldsets = eleDiv.getElementsByTagName("fieldset");
	eleLabels = eleDiv.getElementsByTagName("label");
	//eleInput = eleDiv.getElementsByTagName("input");
	//clearEle(eleInput);	
	clearEle(eleLabels);
	clearEle(eleFieldsets);
}
	
function clearEle(elements)
{
	for (var intCounter = 0; intCounter < elements.length; intCounter++)
		{
		       	//elements[intCounter].className = "";
		       	//alert(elements[intCounter].nodeName);		       
		       	if (elements[intCounter].nodeName == "FIELDSET")
		       	{
		       	    //alert(elements[intCounter].nodeName);
		       	    elements[intCounter].className = "fieldsetNormal";
		       	    //elements[intCounter].style.backgroundColor = fieldset_normal;
		       	    
		       	}
		       	else if (elements[intCounter].nodeName == "LABEL")
		       	{	
    		       	elements[intCounter].style.fontWeight = "normal";	       			       	
    		    }
    		    
		}
}

function cancelDialog(strText)
{
    if ( confirm(strText))
    {
	document.forms[0].submit();
    }
}

function handlePCR(otherID)
{
    var pcrReason = document.getElementById("pcrReason");
    var pcrid1 = document.getElementById("pcrid1");
    var pcrid2 = document.getElementById("pcrid2");
    var pcrid3 = document.getElementById("pcrid3");

	if ((pcrid1 != null) && (pcrid1 != undefined))
	{
		if (pcrReason.value == otherID)
		{
			pcrid1.style.display = "";
			pcrid2.style.display = "";
			pcrid3.style.display = "none";
		}
		else
		{
			pcrid1.style.display = "none";
			pcrid2.style.display = "none";
			pcrid3.style.display = "";
		}
	}
}
