function enableEnterKeyOnMO(e){
  var key;
  var eventSource;
     if(window.event){
       key = window.event.keyCode;     //IE
       eventSource = window.event.srcElement;
     }else{
       key = e.which;     //firefox
       eventSource = e.target;
     } 
     if(key == 13 && eventSource.tagName != "TEXTAREA"){
    	 saveOffer();     
		return true;
	 } else{
		return false;
	 }
}

function openMakeOfferWindow(brId, brNameId, isFromSearchPg, buyerId, isAuthenticated){
	var propertyId = "";
	var isPropertyActive = "1";
	var MSCId = "0";
	if(isAuthenticated == ''){
		isAuthenticated = $('mkOfferAuthType').value;
	}
	if(buyerId == 0){
		buyerId = $('mkOfferBuyerId').value;
	}
	if($('encPropertyId')){
		propertyId = $('encPropertyId').value;
	}
	if($('isPropActive')){
		isPropertyActive = $('isPropActive').value;
	}
	if($('MSCId')){
		MSCId = $('MSCId').value;
	}
	if($('mkOfferBRId') && $('mkOfferBRId').value != "" && $('mkOfferBRId').value != "null"){
		brId = $('mkOfferBRId').value;
	}
	brName = $(brNameId).value;
	// make offer for only active property
	if(isPropertyActive == "1"){
		$('bidDto.encBuyerReqId').value = brId;
		$('bidDto.encPropertyId').value = propertyId;
		$('bidDto.buyerName').value = brName;
		$('bidDto.strBuyerId').value = buyerId;
		$('bidDto.isAuthenticated').value = isAuthenticated;
		$('bidDto.sellerId').value = MSCId;
		var thisForm = $('makeOffer');
		thisForm.action = "https://" + window.location.host + "/makeOffer";
		thisForm.submit();
	}else{
		var msg = "Please select an Active property to make an offer.";
		$('popupMsgDiv').innerHTML = msg;
		closeModalWindow('buyProModalWindow');
		openModalWindow('popupMsgModalWindow');
	}
}

function calculateOfferPrice(){
	var buyerValue = 0;
	var offerPrice = 0;
	var isAuthenticated = $('bidDto.isAuthenticated').value;
	if(isAuthenticated == 0){
		buyerValue = 10;
	}else{
		buyerValue = 20;
	}
	
	if(strTrimmer($("bidDto.offerPrice").value) != "" 
		&& robustAmountRegex(strTrimmer($("bidDto.offerPrice").value))){
		offerPrice = getPriceToSave(strTrimmer($("bidDto.offerPrice").value));
		
		var homeValue = Math.round(offerPrice / 100000) * 3;
		offerPrice = buyerValue + homeValue;
	}else{
		offerPrice = buyerValue;
	}
	offerPrice = offerPrice.toFixed(2);
	
	if($("bidDto.userRole").value == "agent"){
		$("offerPriceDetailDiv").style.display = "block";
		$("standardOP").innerHTML = offerPrice;
		
		var discount = $("OfferDiscount").innerHTML;
		var discountPrice = (discount / 100) * offerPrice;
		discountPrice = Math.round(discountPrice * 100) / 100;
		discountPrice = discountPrice.toFixed(2);
		$("discountPrice").innerHTML = discountPrice;
		
		var offerCredit = $('bidDto.offerCredit').value;
		var priceAfterDiscount = offerPrice - discountPrice;
		if(offerCredit > priceAfterDiscount){
			offerCredit = priceAfterDiscount;
		}
		offerCredit = Math.round(offerCredit * 100) / 100;
		offerCredit = offerCredit.toFixed(2);
		$("offerCredit").innerHTML = offerCredit;
		
		var netPrice = priceAfterDiscount - offerCredit;
		netPrice = Math.round(netPrice * 100) / 100;
		netPrice = netPrice.toFixed(2);
		$("paymentInfoDto.amount").value = netPrice;		
		//amount to be deducted from credit balance
		$('bidDto.creditDeducted').value = offerCredit;
		$('bidDto.offerCharge').value = netPrice;
		$('netOfferPrice').innerHTML = netPrice;
		
		if(netPrice == 0){
			$("paymentText").style.display = "none";
			$("creditText").style.display = "block";
			$("paymentDiv").style.display = "none";
			$("authCrdt").style.display = "none";
			$("authCreditAmt").checked= true;
			$('ccDetailsDiv').style.display = "none";
			document.getElementsByName('paymentInfoDto.cardType')[0].disabled=true;
			document.getElementsByName('paymentInfoDto.cardType')[1].disabled=true;
			document.getElementsByName('paymentInfoDto.cardType')[2].disabled=true;
			document.getElementsByName('paymentInfoDto.cardType')[3].disabled=true;
		}else{
			$("paymentText").style.display = "block";
			$("creditText").style.display = "none";
			$("paymentDiv").style.display = "block";
			$("authCrdt").style.display = "block";
			$("authCreditAmt").checked= false;
			$("offerPrice").innerHTML = netPrice;
			document.getElementsByName('paymentInfoDto.cardType')[0].disabled=false;
			document.getElementsByName('paymentInfoDto.cardType')[1].disabled=false;
			document.getElementsByName('paymentInfoDto.cardType')[2].disabled=false;
			document.getElementsByName('paymentInfoDto.cardType')[3].disabled=false;
			if(document.getElementsByName('paymentInfoDto.cardType')[0].checked){
				showCcDetails(false);
			}else{
				showCcDetails(true);
			}
		}
	}else{
		$("paymentInfoDto.amount").value = offerPrice;
		$("offerPrice").innerHTML = offerPrice;
		$('bidDto.offerCharge').value = offerPrice;
	}	
}

function autoCompleteMO()
{
	new Ajax.Autocompleter("paymentInfoDto.cardCity", "autoOfferLocation", "autoCompCity.action",
	{
	  paramName: "cityState", 
	  minChars: 3
	});
}

function saveOffer(isPreviewOffer) {
	$('makeOfferBtn').href = "#";
	defText = "No of Days";
	var offerPrice = getPriceToSave(strTrimmer($("bidDto.offerPrice").value));
	if (strTrimmer($("bidDto.offerText").value) == "") {
		$('makeOfferError').innerHTML = "Please fill the offer Text.";
		$('makeOfferBtn').href = "javascript:saveOffer();";
		return ;
	}else if(! robustAmountRegex($("bidDto.offerPrice").value) || offerPrice == 0) {
		$('makeOfferError').innerHTML = "Please enter a valid Offer price!";
		$('makeOfferBtn').href = "javascript:saveOffer();";
		return;
	}else if(offerPrice > 99999999) {
		$('makeOfferError').innerHTML = "Offer price cannot be greater than 99 million!";
		$('makeOfferBtn').href = "javascript:saveOffer();";
		return;
	}else if(($("bidDto.offerText").value).length > 500) {
		$('makeOfferError').innerHTML = "Offer text cannot exceed 500 characters!";
		$('makeOfferBtn').href = "javascript:saveOffer();";
		return;
	}else if(! validateNumbers(strTrimmer($('noOfDays').value)) && $('noOfDays').value != defText) {
		$('makeOfferError').innerHTML = "Number of days must be a numeric value!";
		$('makeOfferBtn').href = "javascript:saveOffer();";
		return;
	}else if(!isDateValid($('bidDto.dueDate').value)) {
		$('makeOfferError').innerHTML = "Due date must be greater than today's date!";
		$('makeOfferBtn').href = "javascript:saveOffer();";
		return;
	}else if($("authCreditAmt").checked == false) {
		$('makeOfferError').innerHTML = "Please authorize the amount to be charged!";
		$('makeOfferBtn').href = "javascript:saveOffer();";
		return ;
	}
  if($('authCreditAmt') && !document.getElementsByName('paymentInfoDto.cardType')[0].checked && $('netOfferPrice').innerHTML!='0.00') {
		if (strTrimmer($("paymentInfoDto.cardNo").value) == "" ){
			$('makeOfferError').innerHTML = "Please enter valid card number.";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}
		else if (strTrimmer($("paymentInfoDto.code").value) == ""){
				$('makeOfferError').innerHTML = "Please fill payment card code.";
				$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
			}
		else if (strTrimmer($("paymentInfoDto.cardFirstName").value) == ""){
				$('makeOfferError').innerHTML = "Please fill first name.";
				$('makeOfferBtn').href = "javascript:saveOffer();";
				return;
			}
		 else if (strTrimmer($("paymentInfoDto.cardLastName").value) == ""){
				$('makeOfferError').innerHTML = "Please fill last name.";
				$('makeOfferBtn').href = "javascript:saveOffer();";
				return;
			}
			else if (strTrimmer($("paymentInfoDto.cardBillingAddress1").value) == ""){
				$('makeOfferError').innerHTML = "Please fill billing address.";
				$('makeOfferBtn').href = "javascript:saveOffer();";
			    return;
			}
           else if (strTrimmer($("paymentInfoDto.cardCity").value) == ""){
				$('makeOfferError').innerHTML = "Please fill city.";
				$('makeOfferBtn').href = "javascript:saveOffer();";
			    return;
			}
		else if(($("paymentInfoDto.cardState").value).length < 2 || ($("paymentInfoDto.cardState").value).length >2){
        	$('makeOfferError').innerHTML = "Credit card state must be a valid state abbreviation!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if (validateNumbers($("paymentInfoDto.cardState").value)) {
			$('makeOfferError').innerHTML = "Credit card state must be a valid state abbreviation!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if(!(document.getElementsByName('paymentInfoDto.cardType')[1].checked) 
				&&!(document.getElementsByName('paymentInfoDto.cardType')[2].checked)
				&&!(document.getElementsByName('paymentInfoDto.cardType')[3].checked)) {
			$('makeOfferError').innerHTML = "Please Select Card Type!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if(! validateCardNo(strTrimmer($("paymentInfoDto.cardNo").value)) 
				&& !(document.getElementsByName('paymentInfoDto.cardType')[3].checked)) {
			$('makeOfferError').innerHTML = "Card number must be a 16 digit number!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if(! validateAmexCardNo(strTrimmer($("paymentInfoDto.cardNo").value)) 
				&& (document.getElementsByName('paymentInfoDto.cardType')[3].checked)) {
			$('makeOfferError').innerHTML = "Card number must be a 15 digit number!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if(!validateUSZip($("paymentInfoDto.cardZip").value)) {
			$('makeOfferError').innerHTML = "Invalid zip!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if((document.getElementsByName('paymentInfoDto.cardType')[1].checked 
				||document.getElementsByName('paymentInfoDto.cardType')[2].checked)&&
				((strTrimmer($("paymentInfoDto.code").value)).length <3 || (strTrimmer($("paymentInfoDto.code").value)).length >3)) {
         	$('makeOfferError').innerHTML = "Code must be 3 digits!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if((document.getElementsByName('paymentInfoDto.cardType')[1].checked 
				||document.getElementsByName('paymentInfoDto.cardType')[2].checked) && (!validateNumbers(strTrimmer($("paymentInfoDto.code").value)))) {
			$('makeOfferError').innerHTML = "Code must be 3 digits!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if(document.getElementsByName('paymentInfoDto.cardType')[3].checked && strTrimmer($("paymentInfoDto.code").value).length <4) {
			$('makeOfferError').innerHTML = "Code must be 4 digits!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if((document.getElementsByName('paymentInfoDto.cardType')[3].checked ) && (!validateNumbers(strTrimmer($("paymentInfoDto.code").value)))) {
			$('makeOfferError').innerHTML = "Code must be 4 digits!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}else if($("authCreditAmt").checked == false) {
			$('makeOfferError').innerHTML = "Please authorize the amount to be charged!";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return; 
		}
	}
	if($('buyerAuthCheck')!=null){
		if($("buyerAuthCheck").checked == false){
			$('makeOfferError').innerHTML = "Please check the box and acknowledge that this buyer is working with an agent.";
			$('makeOfferBtn').href = "javascript:saveOffer();";
			return;
		}
	}
	
	if(document.getElementsByName('paymentInfoDto.cardType')[0].disabled
	 || document.getElementsByName('paymentInfoDto.cardType')[1].disabled
	 || document.getElementsByName('paymentInfoDto.cardType')[2].disabled
	 || document.getElementsByName('paymentInfoDto.cardType')[3].disabled){
		document.getElementsByName('paymentInfoDto.cardType')[0].disabled = false;
		document.getElementsByName('paymentInfoDto.cardType')[1].disabled = false;
		document.getElementsByName('paymentInfoDto.cardType')[2].disabled = false;
		document.getElementsByName('paymentInfoDto.cardType')[3].disabled = false;
		$('paymentInfoDto.cardType').value = "";
	}
	
	$('makeOfferError').innerHTML = "";
	if(isPreviewOffer){
		$('makeOfferBtn').href = "javascript:saveOffer();";
		var propertyId = $('bidDto.encPropertyId').value;
		previewBidOffer(propertyId);
	}else{		
		loadWindow('modalBackgroundDiv1');
		showWaiting1();
		var thisForm = $('makeOfferSubmit');
		thisForm.submit();
	}
}

function calculateDate(){
	if(validateNumbers(strTrimmer($('noOfDays').value))){
		defText = "No of Days";
		var days = $('noOfDays').value;
		if(days != defText && days!=""){
		    var now = new Date();
		    now.setTime(now.getTime() + days * 24 * 60 * 60 * 1000);
		    
		    var curr_date = now.getDate();
		    var curr_month = now.getMonth();
		    curr_month++; 
		    var curr_year = now.getFullYear();
		    var dt = curr_month + "/" + curr_date + "/" + curr_year;
		    $('bidDto.dueDate').value = dt;
		}else{
			$('bidDto.dueDate').value = "Enter Date";
		}
	}else{
		$('bidDto.dueDate').value = "Enter Date";
	}
}

function calculateNoOfDays(date){
	defText = "Enter Date";
	if($('bidDto.dueDate').value != defText){
		var ONE_DAY = 1000 * 60 * 60 * 24;
		var time_MS = new Date(date).getTime() - new Date().getTime();
		if(time_MS >= 0){
			noOfDays = Math.round(1+(time_MS / ONE_DAY));
			$('noOfDays').value = noOfDays;
		}else{
			$('noOfDays').value = "0";
		}
	}else{
		$('noOfDays').value = "No of Days";
	}
}

function isDateValid(date){
	var ONE_DAY = 1000 * 60 * 60 * 24;
	var time_MS = new Date(date).getTime() - new Date().getTime();
	if(time_MS >= 0){
		return true;
	}else{
		if ((-time_MS) < ONE_DAY) {
			return true;
		}else{
			return false;
		}
	}
}

function showHideDays(obj, focused) {
	defText = "No of Days";
	if(focused) {
		if(obj.value==defText) {
			obj.style.color="#333333";
			obj.value="";
		}
	} else {
		if(strTrimmer(obj.value)=="") {
			obj.style.color="#a0a0a0";
			obj.value=defText;
		}
	}
}

function showCal(){
	defText = "Enter Date";
	if($('bidDto.dueDate').value == defText){
		$('bidDto.dueDate').value = "";
	}
	displayCalendar($('bidDto.dueDate'),'mm/dd/yyyy',$('cal'));
	if($('bidDto.dueDate').value == ""){
		$('bidDto.dueDate').value = defText;		
	}
}

function changeFontColor(obj) {
	obj.style.color="#333333";
}

function showCcDetails(isDisplay){
	if(isDisplay){
		if($('ccDetailsDiv').style.display == "none"){
			$('ccDetailsDiv').style.display = "block";
		}
		if(document.getElementsByName('paymentInfoDto.cardType')[1].checked)
		{
			$('cardMsg').innerHTML = "(3 digits)";
			$('cardMsg').style.display = "block";
		}else if(document.getElementsByName('paymentInfoDto.cardType')[2].checked)
		{
			$('cardMsg').innerHTML = "(3 digits)";
			$('cardMsg').style.display = "block";
		}else if(document.getElementsByName('paymentInfoDto.cardType')[3].checked)
		{
			$('cardMsg').innerHTML = "(4 digits)";
			$('cardMsg').style.display = "block";
		}
	}else{
		$('ccDetailsDiv').style.display = "none";
	}
}

function previewBidOffer(propertyId) {
	showWaiting();
	var ajaxRequest = new Ajax.Request('dashboardPropertyPreview.action', {
		method :'post',
		parameters :'propertyId='+propertyId + '&isAjax=true',
		onSuccess : function(transport) {
			if (transport.responseText == "exception") {
				hideWaiting();
				openModalWindow('errorModalWindow');
			} else if (transport.responseText == "sessionOut") {
				sendTo("sessionError");
			} else {
				$('newOfferPreviewModalWindow').innerHTML = transport.responseText;
				openModalWindow('newOfferPreviewModalWindow');
				hideWaiting();
				if($('bidDto.offerPrice').value !=null) {
					var prc=$('bidDto.offerPrice').value;
					prc = getPriceToSave(prc);
					$('mo.offerPrice').innerHTML = getPriceWithComma(prc);
				}
				if($('bidDto.dueDate').value !=null && !(strTrimmer($('bidDto.dueDate').value)=="Enter Date")) {
					var d = new Date($('bidDto.dueDate').value);
					currentMonth = d.getMonth();
					currentYear = d.getFullYear();
					tmpDay = d.getDate();
					currentMonth=getMonthString(currentMonth);
					moDueDate=currentMonth+"&nbsp;"+tmpDay+",&nbsp;"+currentYear;
					$('mo.dueDate').innerHTML = moDueDate;
				}
				if($('prolink1').value !=null) {
					if($('prolink1').value >0){
						$('mo.prolink1').innerHTML = getPropertyLinkType($('prolink1').value);
					}
				}
				if($('prolink2').value !=null) {
					if($('prolink2').value >0){
						$('mo.prolink2').innerHTML = getPropertyLinkType($('prolink2').value);
					}
				}
			}
		},
		onFailure : function(transport) {
			hideWaiting();
			openModalWindow('errorModalWindow');
		},
		onException : function(transport) {
			hideWaiting();
			openModalWindow('errorModalWindow');
		}
	});
}
function viewAdvanceCriteriaPreview(isView) {
	if (isView) {
		$('showIconPreview').style.display = "none";
		$('hideIconPreview').style.display = "block";
		$('modalBackgroundDiv').style.height = 
			(getTotalWinHeight()+Element.getDimensions($('advanceCriteriaDivPreview')).height) + 'px';
		$('advanceCriteriaDivPreview').style.display = "block";
	} else {
		$('advanceCriteriaDivPreview').style.display = "none";
		$('modalBackgroundDiv').style.height = getTotalWinHeight() + 'px';
		$('showIconPreview').style.display = "block";
		$('hideIconPreview').style.display = "none";
	}
}
function getMonthString(num)
{
  var month;    
  switch(num)
  {
    case 0:
      month="January";
      break;
    case 1:
      month="February";
      break;
    case 2:
      month="March";
      break;
    case 3:
      month="April";
      break;
    case 4:
      month="May";
      break;
    case 5:
      month="June";
      break;
    case 6:
      month="July";
      break;
    case 7:
      month="August";
      break;
    case 8:
      month="September";
      break;
    case 9:
      month="October";
      break;
    case 10:
      month="November";
      break;
    case 11:
      month="December";
      break;
    default:
      month="Invalid month";
  }
  return month;
}
function getPropertyLinkType(linkType) {
	var propertyLinkType = "";
	switch (parseInt(linkType)) {
	case 1:
		propertyLinkType = "AOL Real Estate";
		break;
	case 2:
		propertyLinkType = "CityCribs";
		break;
	case 3:
		propertyLinkType = "CLRSearch";
		break;
	case 4:
		propertyLinkType = "Condo";
		break;
	case 5:
		propertyLinkType = "Cyberhomes";
		break;
	case 6:
		propertyLinkType = "DotHomes";
		break;
	case 7:
		propertyLinkType = "FrontDoor";
		break;
	case 8:
		propertyLinkType = "Homes";
		break;
	case 9:
		propertyLinkType = "Homegain";
		break;
	case 10:
		propertyLinkType = "Homepages";
		break;
	case 11:
		propertyLinkType = "Homescape";
		break;
	case 12:
		propertyLinkType = "Homescout";
		break;
	case 13:
		propertyLinkType = "HotPads";
		break;
	case 14:
		propertyLinkType = "House";
		break;
	case 15:
		propertyLinkType = "International Listings";
		break;
	case 16:
		propertyLinkType = "LandWatch";
		break;
	case 17:
		propertyLinkType = "Move";
		break;
	case 18:
		propertyLinkType = "MSN Real Estate";
		break;
	case 19:
		propertyLinkType = "OpenHouse";
		break;
	case 20:
		propertyLinkType = "Point2Homes";
		break;
	case 21:
		propertyLinkType = "Propbot";
		break;
	case 22:
		propertyLinkType = "Propertyqube";
		break;
	case 23:
		propertyLinkType = "RealEstate";
		break;
	case 24:
		propertyLinkType = "Realtor";
		break;
	case 25:
		propertyLinkType = "Roost";
		break;
	case 26:
		propertyLinkType = "Terabitz";
		break;
	case 27:
		propertyLinkType = "TheHousingPages";
		break;
	case 28:
		propertyLinkType = "Trulia";
		break;
	case 29:
		propertyLinkType = "Yahoo Real Estate";
		break;
	case 30:
		propertyLinkType = "Zillow";
		break;
	case 31:
		propertyLinkType = "Other Website";
		break;
	default:
		break;
	}
	return propertyLinkType;
}

function saveOfferPreview() {
if(!saveOffer()){
	if($("makeOfferError")!=null){
		  if($('makeOfferError').innerHTML !=""){
			 $('makeOfferPreviewError').innerHTML=$('makeOfferError').innerHTML;
			 $('makeOfferError').innerHTML="";
		   }
		}
	}
}
function accountCreatedByAgent(isBuyerProfile){
	if(isBuyerProfile){
	closeModalWindow('buyProModalWindow');
	}
	var msg = "Please make this offer through your agent.Your agent can make offers for free if he or she has invited friends.";
	$('popupMsgDiv').innerHTML = msg;
	showHideSelectBox(false);
	openModalWindow('popupMsgModalWindow');
}

