﻿//Constants
var WEGO_SHOWHIDE_PANELS="WegoShowHidePanels";var MANDATORY_VALIDATION_MESSAGE="MandatoryValidationMessage";var INTEGER_VALIDATION_MESSAGE="IntegerValidationMessage";var NUMERIC_VALIDATION_MESSAGE="NumericValidationMessage";var ALPHABET_VALIDATION_MESSAGE="AlphabetValidationMessage";var EMAIL_VALIDATION_MESSAGE="EmailValidationMessage";var DATE_VALIDATION_MESSAGE="DateValidationMessage";var TIME_VALIDATION_MESSAGE="TimeValidationMessage";
//Validates the parameter value and returns a boolean value. //true - if the parameter value is not empty//false - if the parameter value is empty
function IsEmpty(value)
{
var regExp = /\s*((\S+\s*)*)/; var resultValue=value.replace(regExp, "$1");
if(resultValue.length>0){return false;}else{return true;}
}
// validation for exclude other files
function IsImageFile(value)
{
//var regExp=/^\S+\.(gif|jpg|jpeg|bmp|png)$/
value=value.toLowerCase();
var imageType=value.substring(value.lastIndexOf('.'));
if(imageType=='.jpg' || imageType=='.jpeg' || imageType=='.gif' || imageType=='.bmp' || imageType=='.png'){return true;}else{return false;}
}
//Email Validation. Validates the parameter value and returns a boolean value
//true - if the validation is successful.
//false - if the validation fails
function IsValidEmail(value)
{
var regExp=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
if(value.search(regExp)==-1){return false;}else{return true;}
}
//Password Validaiton. Validates the parameter value and returns a boolean value
//true - if the validation is successful.
//false - if the validation fails
function IsPassword(value)
{
if(value.length<6 || value.length>25){return false;}else{return true;}
}
//Validating alphabets only Returns true if the given value is alphabet only else false
function IsValidAlphabet(alphabetValue)
{
var regExp=/^\D*$/;
if (IsEmpty(alphabetValue)==true){return true;}
if(alphabetValue.search(regExp)==-1){return false;}
else{return true;}
}
//Validating integers Returns true if the given value is an integer else false
function IsValidInteger(intValue)
{
var regExp=/^\d*$/;
if (IsEmpty(intValue)==true){return true;}
if(intValue.search(regExp)==-1){return false;}
else{return true;}
}
//Validating numerics(i.e allows only one decimal) Returns true if the given value is numeric else false
function IsValidNumeric(numericValue)
{
var regExp=/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
if (IsEmpty(numericValue)==true){return true;}
if(numericValue.search(regExp)==-1){return false;}
else{return true;}
}
//Validating time(24 hrs time format) and Returns true if the given value is correct time else false
function IsValidTime(timeValue)
{
var regExp=/^([0-1][0-9]|[2][0-3]):([0-5][0-9])*$/;
if (IsEmpty(timeValue)==true){return true;}
if(timeValue.search(regExp)==-1){return false;}
else{return true;}
}
//Validating date(MM/dd/yyyy) format and Returns true if the given value is correct date(MM/dd/yyyy) format else false
function IsValidDate(dateValue)
{
var regExp=/^([1-9]|[0][1-9]|[1][0-2])\/([1-9]|[0][1-9]|[1-2][0-9]|[3][0-1])\/(\d{4}$)*$/;
if (IsEmpty(dateValue)==true){return true;}
if(dateValue.search(regExp)==-1){return false;}
else{return true;}
}
//converting a given string date value to date datatype. The input must be in mm/dd/yyyy
function ConvertStringToDate(dateValue)
{
var dataValueArray=dateValue.split('/');
if(dataValueArray[0].indexOf('0')==0){dataValueArray[0]=parseInt(dataValueArray[0].substring(1))-1;}
var dateString=GetMonthName(dataValueArray[0]) + ' ' + dataValueArray[1] + ', ' + dataValueArray[2];
//new Date(MMM dd, yyyy)
return new Date(dateString);
}
//converting a given string date value to datetime datatype. The input must be in HH:mm
function GetMonthName(monthNumber)
{
var monthName='';
if(monthNumber==0){monthName='January';}
else if(monthNumber==1){monthName='February';}
else if(monthNumber==2){monthName='March';}
else if(monthNumber==3){monthName='April';}
else if(monthNumber==4){monthName='May';}
else if(monthNumber==5){monthName='June';}
else if(monthNumber==6){monthName='July';}
else if(monthNumber==7){monthName='August';}
else if(monthNumber==8){monthName='September';}
else if(monthNumber==9){monthName='October';}
else if(monthNumber==10){monthName='November';}
else if(monthNumber==11){monthName='December';}
return monthName;
}
//converting a given string date value to datetime datatype. The input must be in HH:mm
function ConvertStringToTime(timeValue)
{
var monthName='';var toDay=new Date();
monthName=GetMonthName(toDay.getMonth());
timeValue=monthName + ', ' + toDay.getDay() + ' ' + toDay.getFullYear() + ' ' + timeValue + ':00';
toDay=Date.parse(timeValue);
return toDay;
}
//Converting inner html format to inner text for a given parameter value
function ConvertInnerHtmlToText(value)
{
var pattern="";var replaceText="";
if(value=='&nbsp;'){return '';}
else{pattern=/&amp;/gi;replaceText='&';value = value.replace(pattern, replaceText);pattern=/&lt;/gi;replaceText='<';value = value.replace(pattern, replaceText);pattern=/&gt;/gi;replaceText='>';value = value.replace(pattern, replaceText);return value;}
}
//Returns the number of days between two given dates. The date values mustbe date datatype
function GetDaysBetweenDates(fromDate, toDate)
{
var one_day = 1000*60*60*24; var daysApart = Math.abs(Math.ceil((fromDate.getTime()-toDate.getTime())/one_day)); return daysApart;
}
//Returns validation message based on a given message type
function GetValidationMessage(messageType, labelClientId)
{
//Fetches the validation messages from the hidden variable which is in defaultWUC.ascx file.
var arrMessages=document.getElementById(validationMessagesHiddenFieldClientId).value.split('~');
var objLabel=null;
objLabel=document.getElementById(contetnIFrameClientId).contentWindow.document.getElementById(labelClientId);
if(objLabel==null){objLabel=document.getElementById(contetnIFrameClientId).contentWindow.frames[0].frames.window.document.getElementById(labelClientId);}
if(objLabel==null){objLabel=document.getElementById(contetnIFrameClientId).contentWindow.frames[0].frames.window.frames[0].window.document.getElementById(labelClientId);}
if(MANDATORY_VALIDATION_MESSAGE==messageType){return objLabel.innerHTML + arrMessages[0];}
else if(INTEGER_VALIDATION_MESSAGE==messageType){return objLabel.innerHTML + arrMessages[1];}
else if(NUMERIC_VALIDATION_MESSAGE==messageType){return objLabel.innerHTML + arrMessages[2];}
else if(ALPHABET_VALIDATION_MESSAGE==messageType){return objLabel.innerHTML + arrMessages[3];}
else if(EMAIL_VALIDATION_MESSAGE==messageType)
{return objLabel.innerHTML + arrMessages[4];}
else if(DATE_VALIDATION_MESSAGE==messageType){return objLabel.innerHTML + arrMessages[5];}
else if(TIME_VALIDATION_MESSAGE==messageType){return objLabel.innerHTML+ arrMessages[6];}
}
//Returns mandatory validation message
function GetMandatoryValidationMessage(lableClientId)
{return GetValidationMessage(MANDATORY_VALIDATION_MESSAGE, lableClientId);}
//Returns integer validation message
function GetIntegerValidationMessage(lableClientId)
{return GetValidationMessage(INTEGER_VALIDATION_MESSAGE, lableClientId);}
//Returns numeric validation message
function GetNumericValidationMessage(lableClientId)
{return GetValidationMessage(NUMERIC_VALIDATION_MESSAGE, lableClientId);}
//Returns alphabet validation message
function GetAlphabetValidationMessage(lableClientId)
{return GetValidationMessage(ALPHABET_VALIDATION_MESSAGE, lableClientId);}
//Returns email validation message
function GetEmailValidationMessage(lableClientId)
{return GetValidationMessage(EMAIL_VALIDATION_MESSAGE, lableClientId);}
//Returns date validation message
function GetDateValidationMessage(lableClientId)
{return GetValidationMessage(DATE_VALIDATION_MESSAGE, lableClientId);}
//Returns time validation message
function GetTimeValidationMessage(lableClientId)
{return GetValidationMessage(TIME_VALIDATION_MESSAGE, lableClientId);}
function GetElementName(elementId)
{var pattern=/[_]/g;var elementName=elementId.replace(pattern, "$");return elementName;}
function AcceptIntegers(e)
{if(e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){return false;}}
function AcceptCurrency(e)
{if(e.which==46){if(e.target.value.indexOf('.')!=-1){return false;}}else if(e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){return false;}}
//Accepting only two digits after decimal palce.
function AcceptOnlyTwoDigitsCurrency(e)
{
var textBoxValue="";
var textBox=null;
if(window.event)
{
textBox=document.getElementById(e.srcElement.id);
textBoxValue=textBox.value;
}
else
{
textBox=e.target;
textBoxValue=textBox.value;
}


var dotPosition=textBoxValue.indexOf(".");
if(dotPosition!=-1)
{
dotPosition+=3;
if(dotPosition<textBoxValue.length)
{
textBox.value=textBoxValue.substring(0, dotPosition);
}
}
}
function AcceptAlphabets(e)
{
if(e.which!=8 && e.which!=0 && (e.which<65 || (e.which>90 && e.which<97) || e.which>122))
{
return false;
}
}
function AcceptAlphabetsandSpaces(e)
{
if(e.which!=32 && e.which!=8 && e.which!=0 && (e.which<65 || (e.which>90 && e.which<97) || e.which>122))
{
return false;
}
}
function AcceptAlphabetsandNumbers(e)
{
var success=true;

success=AcceptAlphabets(e)
if(success==false)
{
success=AcceptIntegers(e)
}
return success;
}
function GetCurrentPageName()
{
var pageName=window.location.href;
if(pageName.toUpperCase().indexOf(".ASPX")==-1)
{
pageName="default.ASPX";
}
else
{
if(pageName.indexOf('?')!=-1)
{
pageName=pageName.substr(0,pageName.indexOf('?'));
}
pageName=pageName.substr((pageName.lastIndexOf('/')+1));
}
return pageName;
}
function ClearListboxItems(objListBox, isRemoveFirstItem)
{
var noOfItemsToRemove=objListBox.options.length;

for(var i=(noOfItemsToRemove-1); i>0; i--)
{
if(i==0)
{
if(isRemoveFirstItem==true)
{
objListBox.remove(i);
}
}
else
{
objListBox.remove(i);
}
}
}
function AddListItems(objListBox, listItemText, listItemValue)
{
var newOption = document.createElement('option');
newOption.text=listItemText;
newOption.value=listItemValue;
try
{
objListBox.add(newOption, null); // standards compliant; doesn't work in IE
}
catch(ex)
{
objListBox.add(newOption); // IE only
}
}
function getQuerystring(key, strhref) {
key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
var qs = regex.exec(strhref);
if (qs == null)
return "";
else
return qs[1];
}
//************************************** JQuery Functions ******************************************************
function GetListItemByIndex(listBoxId, index)
{
return $("select#" + listBoxId + " :eq(" + index + ")");
}
function GetSelectedListItem(listBoxId)
{
return $("select#" + listBoxId + " option:selected");
}
function GetSelectedListItemText(listBoxId)
{
return $("select#" + listBoxId + " option:selected").text();
}
function GetSelectedListItemValue(listBoxId)
{
return $("select#" + listBoxId + " option:selected").val();
}
function SetTextBoxValue(textBoxId, value)
{
$("#" + textBoxId).val(value);
}
function GetTextBoxValue(textBoxId)
{
return $("#" + textBoxId).val();
}
function Trim(value)
{
return jQuery.trim(value);
}
//***************************************** End of JQuery Functions ************************************************
function onImageClick(id)
{
newQueryStringValues="&cid=" + GetCountryKey() + "&currId=" + GetCurrencyValue().split('~')[0];
var queryStringValues = "~/" + GetCurrentPageName() ;
queryStringValues += "?psearch=1";
queryStringValues += GetSearchCriteriaCountryId().length==0?"&cid=" + GetCountryKey():"&cid=" + GetSearchCriteriaCountryId();
queryStringValues += "&currId=" + GetCurrencyValue().split('~')[0];
queryStringValues += GetSearchCriteriaRegionKey().length==0?"&rid=All":"&rid=" + GetSearchCriteriaRegionKey();
queryStringValues += GetSearchCriteriaDistrictKey().length==0?"&did=All":"&did=" + GetSearchCriteriaDistrictKey();
queryStringValues += GetSearchCriteriaSuburbKey().length==0?"&sid=All":"&sid=" + GetSearchCriteriaSuburbKey();
queryStringValues += GetSearchCriteriaCategoryKey().length==0?"&CatId=All":"&CatId=" + GetSearchCriteriaCategoryKey();
queryStringValues += GetSearchCriteriaRoomsId().length==0?"&brooms=0":"&brooms=" + GetSearchCriteriaRoomsId();
queryStringValues += GetSearchCriteriaPriceFrom().length==0?"&fp=0":"&fp=" + GetSearchCriteriaPriceFrom();
queryStringValues += GetSearchCriteriaPriceTo().length==0?"&tp=0":"&tp=" + GetSearchCriteriaPriceTo();
window.location.href ="PropertyManagement/SearchOverview.aspx?ListingNo=" + id + newQueryStringValues +"&SearchString=" + escape(queryStringValues);
}