function getOuterHTML(element) {
var myOuter = '';
if( undefined == element.outerHTML ) {
myOuter += '<' + element.tagName;
for(var i = 0; i < element.attributes.length; i++) {
myOuter += ' ' + element.attributes[i].name + '=\'' + element.attributes[i].value + '\'';
}
myOuter += '>'
myOuter += element.innerHTML;
myOuter += '' + element.tagName + '>';
}
else {
myOuter = element.outerHTML;
}
return myOuter;
}
function IsValidTab(tabNum) {
var isValid = true;
// Are any required form elements empty?
var tabData = GetTabElements(tabNum);
for(var i=0;i < tabData.length; i++) {
// is every field complete?
var input = tabData[i].GetValue(tabNum);
if(tabData[i].required && !tabData[i].IsEntryComplete(input)) {
isValid = false;
break;
}
// is every complete field valid?
if(!tabData[i].IsValid(input)) {
isValid = false;
break;
}
// Are any fields too large?
if(tabData[i].IsValid(input) && tabData[i].IsToLarge(input)) {
isValid = false;
break;
}
}
return isValid;
}
function GetTabErrors(tabNum) {
var validationErrors='';
// Are any required form elements empty?
var tabData = GetTabElements(tabNum);
for(var i=0;i < tabData.length; i++) {
var input = tabData[i].GetValue(tabNum);
if(tabData[i].required && !tabData[i].IsEntryComplete(input))
validationErrors+= "'" + tabData[i].name + "' on the " + tabData[i].sectionName + " tab is required!\n";
// is every complete field valid?
if(!tabData[i].IsValid(input))
validationErrors += "'" + tabData[i].name + "' on the " + tabData[i].sectionName + " tab must have the form: '" + tabData[i].formatDisplay + "'\n";
// Is every complete field small enough? -- hack for small money (max 214,748.36)
if(tabData[i].IsValid(input) && tabData[i].IsToLarge(input))
validationErrors += "'" + tabData[i].name + "' on the " + tabData[i].sectionName + " tab is too large.\n";//(" + tabData[i].ToString(input) + "). It has a maximum value of: " + tabData[i].maxSize + "\n";
}
return validationErrors;
}
function GetTabElements(tabNum) {
// Get data for the current tab
var tabData = new Array();
var j, k
for(j=0; j < top.formData.length; j++) {
for(k=0; k < top.formData[j].length; k++) {
if( top.formData[j][k].section == tabNum )
tabData.push(top.formData[j][k]);
}
}
return tabData;
}
function CreateNewLayerFieldData(tabNum, lCnt) {
var tabData = GetTabElements(tabNum);
for( var i = 0; i < tabData.length; i++) {
if(!tabData[i].id.match(/\|\d*$/))
{
var newItem = top.GetFieldDataElement(tabData[i].InputType);
newItem['id'] = tabData[i].id + '|' + lCnt;
newItem['required'] = tabData[i].required;
newItem['dataType'] = tabData[i].dataType;
newItem['dataLength'] = tabData[i].dataLength;
newItem['InputType'] = tabData[i].InputType;
newItem['name'] = tabData[i].name + ' number ' + (lCnt + 1);
newItem['canAddMore'] = tabData[i].canAddMore;
newItem['section'] = tabData[i].section;
newItem['dataTest']= tabData[i].dataTest;
newItem['formatDisplay'] = tabData[i].formatDisplay;
eval('top.section_' + tabNum + '.push(newItem)');
}
}
}
function GetFormElement(tabNum, name) {
var retval = undefined;
var isMulti = false;
for(var i = 0; i < top.multiLayers.length; i++ ) {
if( top.multiLayers[i] == tabNum ) {
isMulti = true;
break;
}
}
if(isMulti) {
retval = GetFrameContent('SFrame' + tabNum).getElementById(name);
} else {
retval = top.document.getElementById(name);
}
if( undefined != retval && "radio" == retval.type ){
if(isMulti) {
retval = GetFrameContent('SFrame' + tabNum).getElementsByName(name);
} else {
retval = top.document.getElementsByName(name);
}
}
return retval;
}
function GetFrameContent(frame) {
var retval = undefined;
var frame = top.document.getElementById(frame);
if(frame.contentDocument) {
retval = frame.contentDocument;
}
else {
retval = frame.contentWindow.document;
}
return retval;
}
function GetStyle(element) {
var retval = undefined;
if( undefined != element.getAttribute("Style").cssText) {
retval = element.getAttribute("Style").cssText;
}
else {
retval = element.getAttribute("Style");
}
return retval;
}
function SetStyle(element, myStyle) {
if(undefined != element.style.cssText) {
element.style.cssText = myStyle;
} else {
element.setAttribute("style",myStyle);
}
}
function processForm(act,submit)
{
// validate all fields
if(AreAllTabsValid()
// validate move in stuff
&& ValidateOthers()){
// Parse and save all data from frames.
MoveFrameDataToTop();
// do not required an email address to submit an application
if ( 'Y' != submit && !chkLoginData() ) {
viewHideLayers('email','save');
return;
}
raf.action="VWRentalApp_ProcessForm.aspx?action=" + act;
raf.submit();
}
}
function saveOnly(act)
{
// if no data is entered on the first tab, then do not save
if( !IsValidTab(1) )
{
var tabData = GetTabElements(1);
alert("The required fields on the \"" + tabData[0].sectionName + "\" tab must be completed before you can submit your data.");
} else {
if(act=="saveonly") {
if(chkLoginData()) {
// Parse and save all data from frames.
MoveFrameDataToTop();
raf.action="VWRentalApp_ProcessForm.aspx?action=saveonly";
raf.submit();
}
} else {
if(''!='') { //existing app so just save
// Parse and save all data from frames.
MoveFrameDataToTop();
raf.action="VWRentalApp_ProcessForm.aspx?action=saveonly";
raf.submit();
} else {//new rental app
//Now we need user email and password before submitting
viewHideLayers('email','saveonly');
}
}
}
}
function AreAllTabsValid() {
var retval = true;
// do validations
for(var i = 0; i < top.sectionNumbers.length;i++) {
if( !IsValidTab(top.sectionNumbers[i]) ) {
retval = false;
break;
}
}
// Create and display validation messages
if(!retval ) {
alert(GetAllTabErrors());
}
return retval;
}
function GetAllTabErrors() {
var retval = '';
for(var i = 0; i < top.sectionNumbers.length;i++) {
retval += GetTabErrors(top.sectionNumbers[i]);
}
return retval;
}
function MoveFrameDataToTop(){
for(var i = 0; i < top.multiLayers.length;i++) {
var topFormElement = '';
var frameElements = GetTabElements(top.multiLayers[i]);
var currentObj = 0;
var nextObj = -1;
var dataList = new Array();
var tmpObj = new Object();
for(var j = 0; j < frameElements.length; j++ ) {
var fieldData = frameElements[j];
var matches = fieldData.id.match(/\|(\d*$)/);
var currentObj = null != matches ? matches[1] : "0";
if( currentObj != nextObj ) {
if( currentObj != 0 ) {
dataList.push(tmpObj);
tmpObj = new Object();
}
nextObj = currentObj;
}
var value = fieldData.GetValue(top.multiLayers[i]);
value = fieldData.ToString(value);
tmpObj[fieldData.name] = value;
}
dataList.push(tmpObj);
GetFormElement(0, 'updsql' + top.multiLayers[i]).value = Stringify(dataList);
}
}
function Stringify( list ) {
var retval = undefined;
if(typeof(JSON) != "undefined"){
retval = JSON.stringify(list);
} else {
retval = YAHOO.lang.JSON.stringify(list);
}
return retval;
}
function ValidateOthers() {
var retval = true;
if(!raf.elements['15FF0146'].checked)
{
alert('Before you continue,\nyou must agree to the terms and conditions.');
goPageLayer('fin');
raf.elements['15FF0146'].focus();
retval = false;
}
// validate that raf.moveinyr.value, raf.moveinmo & raf.moveinday are not in the past
if(''=='')
{
}
return retval;
}
function tabSwitchNotify(tabTo) {
var session = 'ozgptiy13bgwr3blor2sosmv';
try {
var xmlhttp = false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
xmlhttp.open("GET", "tabTracker.ashx?tabTo=" + tabTo + "&ServerSessionID=" + session /*"tabTracker.aspx"*/,true);
xmlhttp.send(null);
}
catch (err) {
// Keep on truckin'
}
}
function updateDOMinnerHTML(doc) {
try {
var l_i=doc.getElementsByTagName('input');
var l_s=doc.getElementsByTagName('select');
var l_t=doc.getElementsByTagName('textarea');
var l_field_sets=Array(l_i,l_s,l_t);
var l_set, l_input, l_count=0, l_sel;
for(var x=0;x