var cloneNo = 0; var dateIntervalIndex = -1; function rtrim(argvalue) { while (1) { if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ") break; argvalue = argvalue.substring(0, argvalue.length - 1); } return argvalue; } function ltrim(argvalue) { while (1) { if (argvalue.substring(0, 1) != " ") break; argvalue = argvalue.substring(1, argvalue.length); } return argvalue; } function trim(argvalue) { var tmpstr = ltrim(argvalue); return rtrim(tmpstr); } arrMonth = new Array(); arrMonth[1] = 'Jan'; arrMonth[2] = 'Feb'; arrMonth[3] = 'Mar'; arrMonth[4] = 'Apr'; arrMonth[5] = 'May'; arrMonth[6] = 'Jun'; arrMonth[7] = 'Jul'; arrMonth[8] = 'Aug'; arrMonth[9] = 'Sep'; arrMonth[10] = 'Oct'; arrMonth[11] = 'Nov'; arrMonth[12] = 'Dec'; function changeDate(dateID) { var strDate = document.getElementById(dateID).value; var year = strDate.substr(0,4); var month = strDate.substr(5,2); var day = strDate.substr(8,2); intMonth = parseInt(trim(month), 10); document.getElementById('STR'+dateID).innerHTML = day+" "+arrMonth[intMonth]+" "+year; document.getElementById('STRGLOBAL'+dateID).innerHTML = day+" "+arrMonth[intMonth]+" "+year; } function doClone(strNodeToCloneID, strParentNodeID, strReplaceStr, roomItemID) { var clonedElem = document.getElementById(strNodeToCloneID).cloneNode(true); clonedElem.style.display = 'inline'; // if (clonedElem.firstChild.nextSibling.nextSibling.nextSibling != null) // clonedElem.firstChild.nextSibling.nextSibling.nextSibling.style.display = 'inline'; // if (clonedElem.firstChild != null) // clonedElem.firstChild.style.display = 'inline'; // myString = clonedElem.innerHTML; //TO DO: better! if (strReplaceStr == 'yyy') { rExp = /xxx/gi; results = myString.replace(rExp, roomItemID) } else { rExp = /xxx/gi; cloneNo++; results = myString.replace(rExp, cloneNo) } clonedElem.innerHTML = results; // alert(clonedElem.firstChild.nextSibling.firstChild.nextSibling.firstChild.firstChild.nextSibling.firstChild.name); // Prevent cloning this instead of the matrix next time! if (strNodeToCloneID.indexOf('nodeToClone') != -1) { clonedElem.id = 'cloneDiv[' + cloneNo + ']'; } else { clonedElem.id = 'subCloneDiv[' + cloneNo + ']'; } //alert(document.getElementById(strParentNodeID)); document.getElementById(strParentNodeID).appendChild(clonedElem); if (strNodeToCloneID.indexOf('nodeToClone') != -1) { changeAgeGroups(cloneNo, document.getElementById('roomTypeID[' + cloneNo + ']').value); } } function removeClone(strCloneName, i) { var el = document.getElementById(strCloneName + '[' + i + ']'); el.parentNode.removeChild(el); //document.getElementById(strCloneName + '[' + i + ']').removeNode(true); } function changeAgeGroups(roomItemID, roomTypeID) { if (document.getElementById('ageGroupNode[' + roomItemID + ']').firstChild != null) { var el = document.getElementById('ageGroupNode[' + roomItemID + ']').firstChild; el.parentNode.removeChild(el); } doClone('ageGroupsForRoomsDiv[' + roomTypeID + ']', 'ageGroupNode[' + roomItemID + ']', 'yyy', roomItemID); } function ChangePriceByExtras(extrasID, extrasName){ if(document.getElementById('price').value == '') var aux = 0; else var aux = parseFloat(document.getElementById('price').value, 10); if(document.getElementById('extras['+extrasID+']').checked){ document.getElementById('extrasCount['+extrasID+']').disabled = false; if(document.getElementById('extrasCount['+extrasID+']').value == 0) document.getElementById('extrasCount['+extrasID+']').value = 1; ChangePriceByExtrasCount(extrasID, extrasName); } else{ var ulExtras = document.getElementById('STRGLOBALExtras'); if(document.getElementById('STRGLOBALExtras' + extrasID)) ulExtras.removeChild(document.getElementById('STRGLOBALExtras' + extrasID)); document.getElementById('price').value = (aux - LKExtrasSum[extrasID]).toFixed(2); document.getElementById('extrasCount['+extrasID+']').disabled = true; document.getElementById('extrasCount['+extrasID+']').value = 0; document.getElementById('extrasCost['+extrasID+']').value = 0; LKExtrasSum[extrasID] = 0; } } function ChangePriceByExtrasCount(extrasID, extrasName){ var enteredAmount = 0; currentAdd = 0; var CurrentNoOfDays = parseFloat(document.getElementById('FullNoOfDays').value, 10); if(document.getElementById('price').value == '') var aux = 0; else var aux = parseFloat(document.getElementById('price').value, 10); enteredAmount = document.getElementById('extrasCount['+extrasID+']').value; var thePat = /^(\d+)*$/; var gotIt = thePat.exec(enteredAmount); var ulExtras = document.getElementById('STRGLOBALExtras'); if(document.getElementById('STRGLOBALExtras' + extrasID)) ulExtras.removeChild(document.getElementById('STRGLOBALExtras' + extrasID)); if(gotIt){ if(enteredAmount == '') enteredAmount = 0; if(arrExtrasIsDayCountable[extrasID] == 1){ currentAdd = parseInt(arrExtras[extrasID], 10) * CurrentNoOfDays * enteredAmount; } else{ currentAdd = parseInt(arrExtras[extrasID], 10) * enteredAmount; } document.getElementById('price').value = (aux + currentAdd - LKExtrasSum[extrasID]).toFixed(2); if( enteredAmount > 0){ newElement = document.createElement('li'); var newText = document.createTextNode(extrasName + ' (' +enteredAmount+ ')'); newElement.appendChild(newText); newElement.setAttribute('id', 'STRGLOBALExtras' + extrasID); newElement.style.width = '150px'; ulExtras.appendChild(newElement); // alert(currentAdd); LKExtrasSum[extrasID] = currentAdd; document.getElementById('extrasCost['+extrasID+']').value = currentAdd.toFixed(2); } else{ if(document.getElementById('STRGLOBALExtras' + extrasID)) ulExtras.removeChild(document.getElementById('STRGLOBALExtras' + extrasID)); document.getElementById('extras['+extrasID+']').checked = false; document.getElementById('extrasCount['+extrasID+']').disabled = true; LKExtrasSum[extrasID] = 0; document.getElementById('extrasCost['+extrasID+']').value = 0; } } else{ enteredAmount = enteredAmount.replace(/(\D+)*$/, ''); document.getElementById('extrasCount['+extrasID+']').value = enteredAmount; } } function SetExtrasCountDefault(extrasID){ enteredAmount = document.getElementById('extrasCount['+extrasID+']').value; if(enteredAmount == ''){ document.getElementById('extrasCount['+extrasID+']').value = 0; ChangePriceByExtrasCount(extrasID); } } function ChangePriceByExtrasNoCount(extrasID, extrasName){ var extraPrice = 0; currentAdd = 0; var CurrentNoOfDays = parseFloat(document.getElementById('FullNoOfDays').value, 10); if(document.getElementById('price').value == '') var aux = 0; else var aux = parseFloat(document.getElementById('price').value, 10); var ulExtras = document.getElementById('STRGLOBALExtras'); if(document.getElementById('extras['+extrasID+']').checked){ newElement = document.createElement('li'); var newText = document.createTextNode(extrasName); newElement.appendChild(newText); newElement.setAttribute('id', 'STRGLOBALExtras' + extrasID); ulExtras.appendChild(newElement); if(arrExtrasIsDayCountable[extrasID] == 1) currentAdd = parseInt(arrExtras[extrasID], 10) * CurrentNoOfDays; else currentAdd = parseInt(arrExtras[extrasID], 10); extraPrice = aux + currentAdd; document.getElementById('price').value = (extraPrice).toFixed(2); document.getElementById('extrasCost['+extrasID+']').value = currentAdd.toFixed(2); } else{ if(document.getElementById('STRGLOBALExtras' + extrasID)) ulExtras.removeChild(document.getElementById('STRGLOBALExtras' + extrasID)); if(arrExtrasIsDayCountable[extrasID] == 1) currentAdd = parseInt(arrExtras[extrasID], 10) * CurrentNoOfDays; else currentAdd = parseInt(arrExtras[extrasID], 10); extraPrice = aux - currentAdd; document.getElementById('price').value = (extraPrice).toFixed(2); document.getElementById('extrasCost['+extrasID+']').value = 0; } } //var lastKnownInsuranceAdded = 0; function ChangePriceByInsurance(insuranceID){ var price = 0; // if(FullNoOfDays == 0) // getPrice(); if(document.getElementById('price').value == '') var aux = 0; else var aux = parseFloat(document.getElementById('price').value, 10); var CurrentNoOfDays = parseFloat(document.getElementById('FullNoOfDays').value, 10); //alert(CurrentNoOfDays+"mmm"); currentAdd = parseInt(arrInsurances[insuranceID], 10) * CurrentNoOfDays; if(document.getElementById('insurance['+insuranceID+']').checked){ price = (aux + currentAdd - LKInsuranceSum[insuranceID]).toFixed(2); LKInsuranceSum[insuranceID] = currentAdd; document.getElementById('insuranceCost['+insuranceID+']').value = currentAdd.toFixed(2); } else{ price = (aux - LKInsuranceSum[insuranceID]).toFixed(2); LKInsuranceSum[insuranceID] = 0; document.getElementById('insuranceCost['+insuranceID+']').value = 0; } document.getElementById('price').value = price; } function ChangePriceByAllInsurances(){ var insuranceID; for(insuranceID in arrInsurances) if(document.getElementById('insurance['+insuranceID+']').checked){ if(document.getElementById('price').value == '') var aux = 0; else var aux = parseFloat(document.getElementById('price').value, 10); currentAdd = parseInt(arrInsurances[insuranceID], 10) * FullNoOfDays; // alert(currentAdd); price = (aux + currentAdd).toFixed(2); LKInsuranceSum[insuranceID] = currentAdd; document.getElementById('price').value = price; // alert(price+" = "+aux+" + "+currentAdd); document.getElementById('insuranceCost['+insuranceID+']').value = currentAdd.toFixed(2); } } function ChangePriceByAllExtras(){ var auxExtrasID = ''; for (var i in document.reservationForm.elements) { if (i.indexOf('extras[') >= 0) { auxExtrasID = document.forms[0].elements(i).id; auxExtrasID = auxExtrasID.replace('extras[',''); auxExtrasID = auxExtrasID.replace(']',''); LKExtrasSum[auxExtrasID] = 0; ChangePriceByExtras(auxExtrasID); } } } // document.getElementById('price').value = (aux + parseInt(arrInsurances[insuranceID], 10) * FullNoOfDays).toFixed(2); // alert(arrInsurances[insuranceID]); function CheckPaymentValue(){ paymentValue = 0; for (i=1;i