//Constants grab from Citadines.Categories.AscottInternationalBrand table.
var BRAND_CITADINES_CAT_ID = 1643;
var BRAND_ASCOTT_CAT_ID    = 1208;
var BRAND_SOMERSET_CAT_ID  = 1207;
var BRAND_NONE_CAT_ID      = 1327;

//this define the sequence for the property list as well.
aryBrand = new Array();
aryBrand.push(BRAND_ASCOTT_CAT_ID);
aryBrand.push(BRAND_SOMERSET_CAT_ID);
aryBrand.push(BRAND_CITADINES_CAT_ID);
aryBrand.push(BRAND_NONE_CAT_ID);

//Languages available
var aryLanguage = new Array();
aryLanguage.push(new Array("English" , "en", "English"));
aryLanguage.push(new Array("French"  , "fr", "Français"));
aryLanguage.push(new Array("Deutsch" , "de", "Deutsch"));
aryLanguage.push(new Array("Espanol" , "es", "Español"));
aryLanguage.push(new Array("Chinese" , "cn", "中文"));
aryLanguage.push(new Array("Japanese", "jp", "日本語"));
aryLanguage.push(new Array("Korean"  , "ko", "한국어"));

var LANGUAGE_IN_ENGLISH = 0;
var LANGUAGE_ALIAS      = 1;
var LANGUAGE_NATIVE     = 2;


//CountryList Object
function CountryList()
{
	var aryCountry = new Array();
	
	this.add = add;
	this.getOPTION = getOPTION;
	this.getEnglishName = getEnglishName;
	this.getIdByEnglishName = getIdByEnglishName;
	this.getCountryArray = getCountryArray;
	
	function add(jvarCatId, jvarCountryName, jvarCountryEnglish, jvarIdxCountryName)
	{
		aryCountry.push(new Array(jvarCatId, jvarCountryName, jvarCountryEnglish, jvarIdxCountryName));		
	}
	function getEnglishName(jvarCountryId)
	{
		var englishName = "";
		for(var i = 0; i < aryCountry.length; i++)
		{
			if(aryCountry[i][0] == jvarCountryId)
			{
				englishName = aryCountry[i][2];
				break;
			}
		}
		return englishName;
	}
	function getIdByEnglishName(jvarEnglishName)
	{
		var id = 0;
		for(var i = 0; i < aryCountry.length; i++)
		{
			if(aryCountry[i][2] == jvarEnglishName)
			{
				id = aryCountry[i][0];
				break;
			}
		}
		return id;
	}
	function getOPTION()
	{
		var strOPTION = "";
		for(var i = 0; i < aryCountry.length; i++)
		{
			strOPTION += "<option value='"+aryCountry[i][0]+"'>"+aryCountry[i][1]+"</option>\n";
		}
		return strOPTION;	
	}
	
	function getCountryArray()	      
	{  	    
		var strArrayList = new Array();
		for(var i = 0; i < aryCountry.length; i++)
		{   
		    strArrayList.push(new Array(aryCountry[i][0],aryCountry[i][1],aryCountry[i][3]));		  
			
		}
		return strArrayList;	
	}	
}
//CityList Object
function CityList()
{
	var aryCity = new Array();
	
	this.add = add;
	this.getOPTION = getOPTION;
	this.getCountryId = getCountryId;
	this.getCitiesByCountry = getCitiesByCountry;
	this.getCities = getCities;
	this.getEnglishName = getEnglishName;
	this.getIdByEnglishName = getIdByEnglishName;
	
	function add(jvarCountryCatId, jvarCityCatId,jvarCityName, jvarCityEnglish)
	{
		if(jvarCityName == "Xian")
			jvarCityName = "Xi'an";
			
		aryCity.push(new Array(jvarCountryCatId, jvarCityCatId, jvarCityName, jvarCityEnglish));		
	}
	function getOPTION()
	{
		var strOPTION = "";
		for(var i = 0; i < aryCity.length; i++)
		{
			strOPTION += "<option value='"+aryCity[i][1]+"'>"+aryCity[i][2]+"</option>\n";
		}
		return strOPTION;	
	}
	function getCountryId(jvarCityId)
	{
		var countryId = -1;
		for(var i = 0; i < aryCity.length; i++)
		{
			if(aryCity[i][1] == jvarCityId)
			{
				countryId = aryCity[i][0];
				break;
			}
		}
		return countryId;
	}
	function getEnglishName(jvarCityId)
	{
		var englishName = "";
		for(var i = 0; i < aryCity.length; i++)
		{
			if(aryCity[i][1] == jvarCityId)
			{
				englishName = aryCity[i][3];
				break;
			}
		}
		return englishName;
	}
	function getIdByEnglishName(jvarEnglishName)
	{
		var id = 0;
		for(var i = 0; i < aryCity.length; i++)
		{
			if(aryCity[i][3] == jvarEnglishName)
			{
				id = aryCity[i][1];
				break;
			}
		}
		return id;
	}
	function getCitiesByCountry(jvarCountryCatId)
	{
		var arySelectCities = new Array();
		
		for(var i = 0; i < aryCity.length; i++)
		{
			if(aryCity[i][0] == jvarCountryCatId)
			{
				arySelectCities.push(new Array(aryCity[i][0], aryCity[i][1], aryCity[i][2], aryCity[i][3]));	
			}
		}
		return arySelectCities;
	}
	function getCities()
	{
		return aryCity;
	}
}

//PropertyList Object
function PropertyList()
{
	var aryProperty = new Array();
	
	this.add                    = add;
	this.getOPTION              = getOPTION;
	this.getCityId              = getCityId;
	this.getApartTypeCode       = getApartTypeCode;
	this.getPropertiesByCity    = getPropertiesByCity;
	this.getProperties          = getProperties;
	this.getCountryId           = getCountryId;
	this.getPropertyName        = getPropertyName;
	this.getBrandId             = getBrandId;
	this.getBrandName           = getBrandName;
	this.getURL                 = getURL;
	this.getEmail               = getEmail;
	this.getPropertiesByCountry = getPropertiesByCountry;
	this.getPropertiesListViewByCity = getPropertiesListViewByCity;
	//anthony
	this.getMinStay=getMinStay;
	this.getClosestHBS=getClosestHBS;
	//end anthony
	
	var PROP_DOCUMENT_ID = 0;
	var PROP_TITLE       = 1;
	var PROP_CITY        = 2;
	var PROP_APART_TYPE  = 3;
	var PROP_COUNTRY     = 4;
	var PROP_BRAND_NAME  = 5;
	var PROP_BRAND_ID    = 6;
	var PROP_URL         = 7;	
	var PROP_EMAIL       = 8;
	
	//marvin - anthony
	function add(jvarDocumentId, jvarTitle, jvarCityId, jvarApartTypeCode, jvarCountryCatId, jvarBrandName, jvarBrandId, jvarURL, jvarEmail, jvarMinStay, jvarClosestHBS,AdditionalPropInfo)
	{
		aryProperty.push(new Array(jvarDocumentId, jvarTitle, jvarCityId, jvarApartTypeCode, jvarCountryCatId, jvarBrandName, jvarBrandId, jvarURL, jvarEmail, jvarMinStay, jvarClosestHBS,AdditionalPropInfo));		
	}

	
	//end marvin - anthony
	
	/* original code
	function add(jvarDocumentId, jvarTitle, jvarCityId, jvarApartTypeCode, jvarCountryCatId, jvarBrandName, jvarBrandId, jvarURL, jvarEmail)
	{
		aryProperty.push(new Array(jvarDocumentId, jvarTitle, jvarCityId, jvarApartTypeCode, jvarCountryCatId, jvarBrandName, jvarBrandId, jvarURL, jvarEmail));		
	}*/
	
	
	function getOPTION()
	{
		var strOPTION = "";
		
		var tempBrand = new Array();
		var flag = 0;
		
		for(var x = 0; x < aryBrand.length; x++)
		{
			for(var i = 0; i < aryProperty.length; i++)
			{
				if(aryBrand[x] == aryProperty[i][PROP_BRAND_ID] && aryProperty[i][PROP_BRAND_ID] != flag)
				{
					tempBrand.push(new Array(aryBrand[x], aryProperty[i][PROP_BRAND_NAME]));
					flag = aryProperty[i][PROP_BRAND_ID];
				}
			}
		}
		
		for(var x = 0; x < tempBrand.length; x++)
		{	
			strOPTION += "<optgroup label=\""+ tempBrand[x][1] +"\">\n";
			for(var i = 0; i < aryProperty.length; i++)
			{
				if(aryBrand[x] == aryProperty[i][PROP_BRAND_ID])
				{
					strOPTION += "<option value='"+aryProperty[i][PROP_DOCUMENT_ID]+"'>"+aryProperty[i][PROP_TITLE]+"</option>\n";
				}
			}
			strOPTION += "</optgroup>\n";
		}		
	
		return strOPTION;	
	}
	
	//marvin - anthony
	function getMinStay(jvarDocumentId)
	{
		var MinStay = "";
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][0] == jvarDocumentId)
			{
				MinStay = aryProperty[i][9];
				break;
			}
		}
		return MinStay;
	}
		
	function getClosestHBS(jvarDocumentId)
	{
		var ClosestHBS = "";
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][0] == jvarDocumentId)
			{
				ClosestHBS = aryProperty[i][10];
				break;
			}
		}
		return ClosestHBS;
	}
	//end marvin - anthony
	
	function getCityId(jvarDocumentId)
	{
		var cityId = -1;
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				cityId = aryProperty[i][PROP_CITY];
				break;
			}
		}
		return cityId;
	}
	function getPropertyName(jvarDocumentId)
	{
		var getPropertyName = -1;
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				getPropertyName = aryProperty[i][PROP_TITLE];
				break;
			}
		}
		return getPropertyName;
	}
	function getEmail(jvarDocumentId)
	{
		var getPropertyEmail = -1;
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				getPropertyEmail = aryProperty[i][PROP_EMAIL];
				break;
			}
		}
		return getPropertyEmail;
	}
	function getBrandId(jvarDocumentId)
	{
		var getBrandId = -1;
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				getBrandId = aryProperty[i][PROP_BRAND_ID];
				break;
			}
		}
		return getBrandId;
	}
	function getCountryId(jvarDocumentId)
	{
		var countryCode = -1;
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				countryCode = aryProperty[i][PROP_COUNTRY];
				break;
			}
		}
		return countryCode;
	}
	function getApartTypeCode(jvarDocumentId)
	{
		var apartId = -1;
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				apartId = aryProperty[i][PROP_APART_TYPE];
				break;
			}
		}
		return apartId;
	}
	function getURL(jvarDocumentId)
	{
		var URL = "";
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				URL = aryProperty[i][PROP_URL];
				break;
			}
		}
		return URL;
	}
	function getBrandName(jvarDocumentId)
	{
		var brandName = "";
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_DOCUMENT_ID] == jvarDocumentId)
			{
				brandName = aryProperty[i][PROP_BRAND_NAME];
				break;
			}
		}
		return brandName;
	}
	function getPropertiesByCity(jvarCityId)
	{
		var arySelectProperties = new Array();
		
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_CITY] == jvarCityId)
			{
				arySelectProperties.push(new Array(aryProperty[i][PROP_DOCUMENT_ID], aryProperty[i][PROP_TITLE], aryProperty[i][PROP_CITY], aryProperty[i][PROP_APART_TYPE], aryProperty[i][PROP_COUNTRY], aryProperty[i][PROP_BRAND_NAME], aryProperty[i][PROP_BRAND_ID], aryProperty[i][PROP_URL]));	
			}
		}
		return arySelectProperties;
	}
	function getPropertiesByCountry(jvarCountryId)
	{
		var arySelectProperties = new Array();
		
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_COUNTRY] == jvarCountryId)
			{
				arySelectProperties.push(new Array(aryProperty[i][PROP_DOCUMENT_ID], aryProperty[i][PROP_TITLE], aryProperty[i][PROP_CITY], aryProperty[i][PROP_APART_TYPE], aryProperty[i][PROP_COUNTRY], aryProperty[i][PROP_BRAND_NAME], aryProperty[i][PROP_BRAND_ID], aryProperty[i][PROP_URL]));	
			}
		}
		return arySelectProperties;
	}
	function getProperties()
	{
		return aryProperty;
	}
	
	function getPropertiesListViewByCity(jvarCityId)
	{
		var arySelectProperties = new Array();
		
		for(var i = 0; i < aryProperty.length; i++)
		{
			if(aryProperty[i][PROP_CITY] == jvarCityId)
			{
				arySelectProperties.push(new Array(aryProperty[i][PROP_TITLE],aryProperty[i][PROP_BRAND_ID], aryProperty[i][PROP_URL],aryProperty[i][11]));	
			}
		}
		return arySelectProperties;
	}	
}
function ApartmentTypeList()
{
	var aryApartmentType = new Array();
	
	this.add = add;
	this.getApartmentTypes = getApartmentTypes;
	
	function add(jvarGroup, jvarType, jvarDescription)
	{
		aryApartmentType.push(new Array(jvarGroup, jvarType, jvarDescription));		
	}
	function getApartmentTypes()
	{
		return aryApartmentType;
	}
}
//setCitySelect Function
function setCitySELECT(jvarObjId, jvarCityListObj, jvarCountryCatId)
{
	var citySELECT = document.getElementById(jvarObjId);
	var aryCities;
	
	if(jvarCountryCatId == "-1")
	{
		aryCities = jvarCityListObj.getCities();
	}
	else
	{
		aryCities = jvarCityListObj.getCitiesByCountry(jvarCountryCatId);
	}	
	
	for(var i = citySELECT.length; i > 0; i--)
	{
		citySELECT.remove(i);
	}	
	for(var i = 0; i < aryCities.length; i++)
	{
		citySELECT.options[i+1] = new Option(aryCities[i][2], aryCities[i][1]);
	}	
}

//setPropertySelect Function
function setPropertySELECT(jvarObjId, jvarPropertyListObj, jvarCityCatId, jvarCountryCatId)
{
	var propertySELECT = document.getElementById(jvarObjId);
	var aryProperties;
	
	if(jvarCityCatId == "-1")
	{
		aryProperties = jvarPropertyListObj.getProperties();
	}
	else if(jvarCountryCatId != null)
	{
		aryProperties = jvarPropertyListObj.getPropertiesByCountry(jvarCountryCatId);
	}
	else
	{
		aryProperties = jvarPropertyListObj.getPropertiesByCity(jvarCityCatId);
	}
	
	var tempOptionText = propertySELECT[0].text;
	var tempOptionValue = propertySELECT[0].value;
	
	propertySELECT.innerHTML = "";
		
	var tempProperty = document.createElement('OPTION');
	tempProperty.value = tempOptionValue;
	tempProperty.innerText = tempOptionText; //for IE
	tempProperty.text = tempOptionText; // for firefox
	
	propertySELECT.appendChild(tempProperty);
	
	/*for(var i = propertySELECT.length; i > 0; i--)
	{
		propertySELECT.remove(i);	
	}*/
	var optGroups = propertySELECT.getElementsByTagName('OPTGROUP');
	for(var i = optGroups.length; i > 0; i--)
	{
		propertySELECT.removeChild(optGroups[0]);
	}
	
	var tempBrand = new Array();
	var flag = 0;
	
	for(var x = 0; x < aryBrand.length; x++)
	{
		for(var i = 0; i < aryProperties.length; i++)
		{
			if(aryBrand[x] == aryProperties[i][6] && aryProperties[i][6] != flag)
			{
				tempBrand.push(new Array(aryBrand[x], aryProperties[i][5]));
				flag = aryProperties[i][6];
			}
		}
	}
	
	for(var x = 0; x < tempBrand.length; x++)
	{
		var brandGroup = document.createElement('OPTGROUP');
		brandGroup.label = tempBrand[x][1];
		propertySELECT.appendChild(brandGroup);
		
		for(var i = 0; i < aryProperties.length; i++)
		{
			if(tempBrand[x][0] == aryProperties[i][6])
			{
				var property = document.createElement('OPTION');
				property.value = aryProperties[i][0];
				property.innerText = aryProperties[i][1]; //for IE
				property.text = aryProperties[i][1]; // for firefox
				propertySELECT.getElementsByTagName('OPTGROUP')[x].appendChild(property);
			}
		}
	}	
	
}
function setSpecifyCountrySELECT(jvarObjId, jvarCountryId)
{
	var countrySELECT = document.getElementById(jvarObjId);
	
	for(var i = 0; i < countrySELECT.length; i++)
	{
		if(countrySELECT.options[i].value == jvarCountryId)
		{
			countrySELECT.selectedIndex = i;
			break;
		}
	}
}
function setSpecifyCitySELECT(jvarObjId, jvarCityId)
{
	var citySELECT = document.getElementById(jvarObjId);
	
	for(var i = 0; i < citySELECT.length; i++)
	{
		if(citySELECT.options[i].value == jvarCityId)
		{
			citySELECT.selectedIndex = i;
			break;
		}
	}
}
function setSpecifyPropertySELECT(jvarObjId, jvarPropertyId)
{
	var propertySELECT = document.getElementById(jvarObjId);
	
	for(var i = 0; i < propertySELECT.length; i++)
	{
		if(propertySELECT.options[i].value != '-1')
		{
			if(propertySELECT.options[i].value == jvarPropertyId)
			{	propertySELECT.selectedIndex = i;
				break;
			}
		}
	}
}
//------------------------------------------------------------------------------------------------------------------------------------------
function setSpecifyApartmentSELECT(jvarObjId, jvarApartmentId)
{
	var ApartmentSELECT = document.getElementById(jvarObjId);
	
	for(var i = 0; i < ApartmentSELECT.length; i++)
	{
		if(ApartmentSELECT.options[i].value == jvarApartmentId)
		{
			ApartmentSELECT.selectedIndex = i;
			break;
		}
	}
}
//------------------------------------------------------------------------------------------------------------------------------------------
function setApartGroupSelect(jvarObjId, jvarApartTypeListObj, jvarApartGroup)
{
	var aryApartType = jvarApartTypeListObj.getApartmentTypes();
	var apartSELECT = document.getElementById(jvarObjId);
	//alert(aryApartType);
	for(var i = apartSELECT.length; i > 0; i--)
	{
		apartSELECT.remove(i);
	}
	
	for(var i = 0;  i < aryApartType.length; i++)
	{
		if(aryApartType[i][0] == jvarApartGroup)
		{
			apartSELECT.options[apartSELECT.length] = new Option(aryApartType[i][2], aryApartType[i][1]);
			//alert(aryApartType[i][2]);	
		}
	}
}

//reservation form ON/OFF
function reservationManager(jvarObjId, jvarPropertyListObj, jvarDocumentId)
{
	var objId = document.getElementById(jvarObjId);
	var tagSELECT = objId.getElementsByTagName('select');
	var tagINPUT = objId.getElementsByTagName('input');
	var tagBUTTON = objId.getElementsByTagName('button');
	var disabled = true;
	var matchWebResCode = false;
	
	var brandId = jvarPropertyListObj.getBrandId(jvarDocumentId);	
	
	if(brandId == BRAND_CITADINES_CAT_ID || brandId == BRAND_ASCOTT_CAT_ID || brandId == BRAND_SOMERSET_CAT_ID || brandId == BRAND_NONE_CAT_ID)
	{
		disabled = false;
	}
	
	for(var i = 0; i < tagSELECT.length; i++)
	{
		tagSELECT[i].disabled = disabled;
	}
	for(var i = 0; i < tagINPUT.length; i++)
	{
		tagINPUT[i].disabled = disabled;
	}
	for(var i = 0; i < tagBUTTON.length; i++)
	{
		if(tagBUTTON[i].id != "btnFindProperty")
			tagBUTTON[i].disabled = disabled;
	}
	
	return brandId;
}
function goToProperty(varCountrySELECT, varCitySELECT, varPropertySELECT, jvarCountryListObj, jvarCityListObj,jvarPropertyListObj, jvarPropertyListURL)
{
	countrySELECT  = document.getElementById(varCountrySELECT);
	citySELECT     = document.getElementById(varCitySELECT);
	propertySELECT = document.getElementById(varPropertySELECT);
	
	var countryId  = countrySELECT.value;
	var cityId     = citySELECT.value;
	var propertyId = propertySELECT.value;
		
	var goTo     = "";
	var internal = true;
	
	if(propertyId != "-1")
	{
		var brandId   = jvarPropertyListObj.getBrandId(propertyId);		
		var countryId = jvarPropertyListObj.getCountryId(propertyId);		
		var apartType = jvarPropertyListObj.getApartTypeCode(propertyId);
		var nights    = document.reserveForm.Nights.value;
		
		if(brandId == BRAND_ASCOTT_CAT_ID)
			goTo = jvarPropertyListObj.getURL(propertyId)+"?DocumentId="+propertyId;
		else
		{
			goTo = jvarPropertyListObj.getURL(propertyId)+"?DocumentId="+propertyId;
			internal = false;
		}
	}
	else if(cityId != "-1" )
		goTo = jvarPropertyListURL +"City="+ jvarCityListObj.getEnglishName(cityId); //+"&DocumentId="+propertyId;		
	else if(countryId != "-1" )
		goTo = jvarPropertyListURL +"Country="+ jvarCountryListObj.getEnglishName(countryId); //+"&DocumentId="+propertyId;
	else
		goTo = jvarPropertyListURL+"?DocumentId="+propertyId;
	
	if(internal)
		window.location = goTo;		
	else
		window.open(goTo);
	
}
function getIdFromURL(jvarParamName, jvarObject)
{
	var param = location.href;
	var urlIndex = param.lastIndexOf("?"+ jvarParamName +"=");
	var id = 0;
	
	if(urlIndex > 0)
	{
		param = param.substring(urlIndex + jvarParamName.length + 2);
		param = unescape(param);
		id = jvarObject.getIdByEnglishName(param);
	}
	return id;
}
function getRegionTabFromURL(jvarParamName)
{
	var param = location.href;
	var urlIndex = param.lastIndexOf("?"+ jvarParamName +"=");
	var region = "";
	
	if(urlIndex > 0)
	{
		param = param.substring(urlIndex + jvarParamName.length + 2);
		param = unescape(param);
		
		switch (param)
		{
			case "Southeast Asia": 
				region = "tab_southEastAsia";
				break;
			case "Asia": 
				region = "tab_northAsia";
				break;
			case "South Asia": 
				region = "tab_southAsia";
				break;			
			case "Australia and New Zealand": 
				region = "tab_australia";
				break;
			case "Europe": ;
				region = "tab_europe"
				break;
			case "Middle East": 
				region = "tab_middleEast";
				break;
		}
	}
	return region;
}

function mapArgumentsFromURL()
{
	var param = location.href;
	var indexStart = param.lastIndexOf("?");
	var indexEnd   = param.indexOf("=");
	var argument = "";
	
	if(indexStart > 0)
	{
		param = param.substring(indexStart + 1,indexEnd);
		param = unescape(param);
		
		switch (param)
		{
			case "City": 
				argument = "tab_city";
				break;
			case "Country": 
				argument = "tab_country";
				break;
		}
	}
	return argument;
}

function getTabFromURL(jvarParamName)
{
	var param = location.href;
	var urlIndex = param.lastIndexOf("?"+ jvarParamName +"=");
	var tabParam = "";
	
	if(urlIndex > 0)
	{
		param = param.substring(urlIndex + jvarParamName.length + 2);
		
		param = unescape(param);
		
		tabParam = param;
	}
	return tabParam;
}

function previewPhoto(jvarImageId)
{
	for(var i = 0; i < aryPhotos.length; i++)
	{
		if(aryPhotos[i] == jvarImageId)
		{
			objImage     = document.getElementById(aryPhotos[i]);
			currentImage = document.getElementById(aryPhotos[currentPhotoIndex]);
			
			document.getElementById("photoContainer").style.display = "block";
			document.getElementById("viewPhoto").src                = objImage.src;
			document.getElementById("viewPhoto").alt                = objImage.alt;
			document.getElementById("photoDescription").innerHTML   = objImage.alt;			
			currentImage.style.border		                        = "3px solid #FFFFFF";
			objImage.style.border                                   = "3px solid #800000";
			
			currentPhotoIndex = i;
			break;
		}
	}
}
function photoNext()
{	
	if(currentPhotoIndex == (aryPhotos.length - 1))
		nextPhoto = 0;
	else
		nextPhoto = currentPhotoIndex + 1;
	
	previewPhoto(aryPhotos[nextPhoto]);	
}
function photoPrevious()
{	
	if(currentPhotoIndex == 0)
		previousPhoto = aryPhotos.length - 1;
	else
		previousPhoto = currentPhotoIndex - 1;
	
	previewPhoto(aryPhotos[previousPhoto]);	
}
function setArticleSecondaryLanguage(jvarLanguage, jvarURL)
{
	var hrefLanguage = document.getElementById("secondaryLanguage");	
	
	for(var i = 0; i < aryLanguage.length; i++)
	{
		if(aryLanguage[i][LANGUAGE_IN_ENGLISH] == jvarLanguage)
		{
			hrefLanguage.href      = "/"+ aryLanguage[i][LANGUAGE_ALIAS] + jvarURL;
			hrefLanguage.innerHTML = aryLanguage[i][LANGUAGE_NATIVE];
			break;
		}
	}
}
function validateSearchBox(jvarFORM)
{
	var strText = jvarFORM.search.value;
	var flag    = false;
	
	if(strText.trim() != "")
	{
		strText = strText.replace(/'/g,"\\'");
		flag    = true;
	}
	return flag;
}
function Logout()
{
	try
	{
		jsonrpc.JSONRPC_UserBean.LogoutUser();
		location.href = "/index.html";
	}
	catch(e)
	{ 		
		location.href="/index.html";
	}
}

function toggleLoginUI()
{
    if (jsonrpc.JSONRPC_UserBean.isAuthenticated())
    {
        $("#memberLogin").css("display", "none");
		$("#memberSignup").css("display", "none");
		$("#memberLogout").css("display", "block");
		$("#memberArea").css("display", "block");
    }
    else
	{
        $("#memberLogin").css("display", "block");
		$("#memberSignup").css("display", "block");
		$("#memberLogout").css("display", "none");
		$("#memberArea").css("display", "none");			
	}
	
}

function ValidateUser(jvarUserName, jvarPassword, jvarLanguage, jvarForwardSuccess, jvarForwardFail)
{
	var lgUserName = document.getElementById(jvarUserName).value;
	var lgPassword = document.getElementById(jvarPassword).value;
	
	var isLoggedIn = false;
	try
	{
		isLoggedIn = jsonrpc.JSONRPC_UserBean.LoginUser(lgUserName, lgPassword, jvarLanguage);
		
		if(isLoggedIn)
			location.reload(true);
			//location.href = jvarForwardSuccess;
		else
		{
			alert("Username and password does not match. Please try again.");
			
			if(jvarForwardFail != null)
				location.href = jvarForwardFail;
		}
	}
	catch(e)
	{
		alert("Login in fail. Please try again.");
		location.href='/';
	}
	
	return isLoggedIn;
}








