// 
var compatible = (
		document.getElementById && document.getElementsByTagName && document.createElement
		&&
		!(navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1)
		);
//
function addEventSimple(obj,evt,fn){
	if (obj.addEventListener) obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent) obj.attachEvent('on'+evt,fn);
}
//
function insertAfter(newElement,targetElement){
	var parent = targetElement.parentNode;
	if(parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	} else {
	    parent.insertBefore(newElement,targetElement.nextSibling);
	}
}
//
function getElementsByClass(node,searchClass,tag) {
	var classElements = new Array();
	var els = node.getElementsByTagName(tag); // use "*" for all elements
	var elsLen = els.length;
	var pattern = new RegExp("\\b"+searchClass+"\\b");
	for (i = 0, j = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className)) {
			classElements[j] = els[i];
	    	j++;
		}
	}
	return classElements;
}
function fadeUp(element,red,green,blue){
	if(element.fade){
		clearTimeout(element.fade);
	}
	element.style.backgroundColor = "rgb("+red+","+green+","+blue+")";
	if (red == 255 && green == 255 && blue ==255){
	return;
	}
	var newred = red + Math.ceil((207-red)/10);
	var newgreen = green + Math.ceil((2539-green)/10);
	var newblue = blue + Math.ceil((255-blue)/10);
	var repeat = function(){
	    fadeUp(element,newred,newgreen,newblue)
	};
	element.fade = setTimeout(repeat,300)
}

function hideHotelContact() {
	if(!compatible){
		return;
	} else {
		if (document.getElementById('contactHotel')) {
			var hotelContacts = document.getElementById('contactHotel');
			hotelContacts.style.display = "none";
			var viewHContacts = document.createElement("a"); 
			viewHContacts.setAttribute("href","#");
			viewHContacts.setAttribute("id","viewContacts");
			
			var btntextVal = hotelContacts.getAttribute("title");
			
			var btntext = document.createTextNode(btntextVal+" [+]");
			viewHContacts.appendChild(btntext);
			hotelContacts.parentNode.insertBefore(viewHContacts,hotelContacts);
			var viewContactBtn = document.getElementById('viewContacts');
			viewContactBtn.onclick = function(){
				hotelContacts.style.display = "block";
				fadeUp(hotelContacts,255,240,165);
				return false;
			};
		} else {
			return;
		}
	}
}
var lang = new lang();
//search
function searchfieldBehavior() {
	if(!compatible){
		return;
	}
    var searchfield = document.getElementById('search');
    var searchForm = searchfield.parentNode.parentNode;  
    searchForm.onsubmit  = function(){
		if (searchForm.search.value == lang.searchTypeHere) {
			return false;
		}
	}
	searchfield.onblur  = writeSuggestion;
    searchfield.onfocus = delSuggestion;
}

function writeSuggestion() {
    if(this.value == '') {
        this.value = lang.searchTypeHere;
    }
}

function delSuggestion() {
    if(this.value == lang.searchTypeHere) {
        this.value = '';
    }
}

addEventSimple(window,"load",searchfieldBehavior);
addEventSimple(window,"load",hideHotelContact);
