// 
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 = '';
    }
}

// functii care adauga afiliatii

function addAffiliate(){
	if(!compatible){
	return;
	} else {
		if (document.getElementById('adw_accommodation')) {
	 		 	var affBox = document.getElementById('adw_accommodation');
				 var affLinks = getElementsByClass(affBox,'aff_details','p');
				 var affList = getElementsByClass(affBox,'affReview','li');
				 var readReviewText = affList[0].firstChild.nodeValue;
			 //facem loop si preluam adrese booking
				                       
				for (var x=0;x<affLinks.length;x++){ 
					                  
					var affHotel = document.createElement("a"); 
					var affHotelReview = document.createElement("a");  
					var linkAdress=affLinks[x].getAttribute("ondblclick");
					affHotel.setAttribute("href",linkAdress);
					affHotelReview.setAttribute("href",linkAdress);
	                 
					var strText = affLinks[x].firstChild.nodeValue;
					var linkText = strText.split("#")[1];
					var linkTitle = strText.split("#")[0];
					affHotel.setAttribute("title",linkTitle);
					affHotelReview.setAttribute("title",linkTitle);
					affHotelReview.setAttribute("class","review");
	
				    var newLinkText = document.createTextNode(linkText);
				    var newLinkTextReview = document.createTextNode(readReviewText);

					affHotel.appendChild(newLinkText);	
					affHotelReview.appendChild(newLinkTextReview);	
	
					affLinks[x].firstChild.nodeValue="";
					affList[x].firstChild.nodeValue="";

					affLinks[x].appendChild(affHotel);
					affList[x].appendChild(affHotelReview);
					}//end for			
		} else {
			return;
		}
	}//end if compatible
}
function addAffiliateSidebarForm(){
	if(!compatible){
	return;
	} else {
	var affFormBox = document.getElementById('nav');
	var affForm = getElementsByClass(affFormBox,'bookingsPromo','p');
	var affSearchForm = document.createElement("iframe"); 
	affSearchForm.setAttribute("scrolling","no");
	affSearchForm.setAttribute("frameborder","0");
	affSearchForm.setAttribute("width","100%");
	affSearchForm.setAttribute("src",affForm[0].getAttribute("ondblclick"));
	affSearchForm.setAttribute("height","200");
	insertAfter(affSearchForm,affForm[0]);
	}
	
}

function addAffiliateHorizontalForm(){
	if(!compatible){
	return;
	} else {
			if (document.getElementById('contentHome')) {
			var affFormBox = document.getElementById('contentHome');
			var affForm = getElementsByClass(affFormBox,'bookingsPromo','p');
			var affSearchForm = document.createElement("iframe"); 
			affSearchForm.setAttribute("scrolling","no");
			affSearchForm.setAttribute("frameborder","0");
			affSearchForm.setAttribute("width","100%");
			affSearchForm.setAttribute("src",affForm[0].getAttribute("ondblclick"));
			affSearchForm.setAttribute("height","210");
			affSearchForm.setAttribute("id","bookingForm");
			insertAfter(affSearchForm,affForm[0]);
			} else {
				return;
			}
	}
	
}

function addAffiliateHorizontalFormDetails(){
	if(!compatible){
	return;
	} else {
			if (document.getElementById('accommodationDetails')) {
			var affFormBox = document.getElementById('accommodationDetails');
			var affForm = getElementsByClass(affFormBox,'bookingsPromo','p');
			
					if (!affForm.length==0){			
						
						var affSearchForm = document.createElement("iframe"); 
						affSearchForm.setAttribute("scrolling","no");
						affSearchForm.setAttribute("frameborder","0");
						affSearchForm.setAttribute("width","100%");
						affSearchForm.setAttribute("src",affForm[0].getAttribute("ondblclick"));
						affSearchForm.setAttribute("height","210");
						affSearchForm.setAttribute("id","bookingForm");
						insertAfter(affSearchForm,affForm[0]);
					}	
					else {	
						var affReviewLink = getElementsByClass(affFormBox,'readReview','li');
						var affBookLink = getElementsByClass(affFormBox,'bookNow','p');

						var affPricesLink = document.createElement("a"); 
						affPricesLink.setAttribute("rel","nofollow");
						affPricesLink.setAttribute("href",affReviewLink[0].getAttribute("title"));
						
						var affBookNowLink = document.createElement("a"); 
						affBookNowLink.setAttribute("rel","nofollow");
						affBookNowLink.setAttribute("class","prenotazioni");
						affBookNowLink.setAttribute("href",affBookLink[0].getAttribute("ondblclick"));
						affBookNowLink.setAttribute("title",affBookLink[0].getAttribute("title"));
						affBookNowLink.appendChild(document.createTextNode(affBookLink[0].getAttribute("title")));
						var linkReviewText = affReviewLink[0].firstChild.nodeValue;
						var linkTextReview = document.createTextNode(linkReviewText);
						affPricesLink.appendChild(linkTextReview);		
						affReviewLink[0].firstChild.nodeValue='';				
						insertAfter(affPricesLink,affReviewLink[0]);
						insertAfter(affBookNowLink,document.getElementById("booking_link"));
					}
			
		
					
			}
		    else {return;}
	}
	
}                  

function addAffiliateCarHire(){
	if(!compatible){
	return;
	} else {
			if (document.getElementById('carhire')) {
			var affFormBox = document.getElementById('carhire');
			var affSearchForm = document.createElement("iframe"); 
			affSearchForm.setAttribute("scrolling","no");
			affSearchForm.setAttribute("frameborder","0");
			affSearchForm.setAttribute("width","460");
			affSearchForm.setAttribute("src",affFormBox.getAttribute("ondblclick"));
			affSearchForm.setAttribute("height","420");
			insertAfter(affSearchForm,affFormBox);  				
			}
		    else {return;}
	}
	
}

addEventSimple(window,"load",searchfieldBehavior);
addEventSimple(window,"load",hideHotelContact);
addEventSimple(window,"load",addAffiliate);
addEventSimple(window,"load",addAffiliateSidebarForm);
addEventSimple(window,"load",addAffiliateHorizontalForm);   
addEventSimple(window,"load",addAffiliateHorizontalFormDetails);  
addEventSimple(window,"load",addAffiliateCarHire);
