var hotelsArray = new Array();

window.onload = function(){

	init();
	
}

function init(){
	
	resetCountriesDD();
	resetStatesDD();
	resetCitiesDD();

	//get locations xml for dds
	new Ajax.Request('ajax.php', {method:'post',postBody:'action=getdata',onComplete:parseXML});

}

parseXML = function(t){
	
	var tags_record = t.responseXML.getElementsByTagName('record');
	
	var temp_array = new Array();
	
	for (var i=0;i<tags_record.length;i++){
					
		var record = tags_record[i];
		
		temp_array = new Array();
					
		for(var k=0;k<record.childNodes.length;k++){
						
			if(record.childNodes[k].firstChild!=null){
				if(record.childNodes[k].nodeType != 1) continue;
				if(record.childNodes[k].nodeName=="prop_name"){ temp_array["prop_name"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="brand"){ temp_array["brand"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="address1"){ temp_array["address1"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="display_city"){ temp_array["city"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="rates_from"){ temp_array["rates_from"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="desc_en"){ temp_array["desc_en"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="tc_en"){ temp_array["tc_en"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="bn_url_en"){ temp_array["booknow_url"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="sop_url_en"){ temp_array["sop_url"] = record.childNodes[k].firstChild.nodeValue; }
				
				if(record.childNodes[k].nodeName=="prop_id"){ 
					temp_array["prop_id"] = record.childNodes[k].firstChild.nodeValue;  
					temp_array["thumbnail"] = "http://www.starwoodpromos.com/lib/property_thumbnails/" + temp_array["prop_id"] + ".jpg";
				}
			}
					
		}
		
		hotelsArray.push(temp_array);
		
	}
	
	fillCountriesDD();
	
}

function fillCountriesDD(){

	var el_option;
	
	resetCountriesDD();
	resetStatesDD();
	resetCitiesDD();
		
	for(var i=0;i<mountainInfo.length;i++){
	
		if(!$('form_country_'+mountainInfo[i][4])){
		
			//fill in country
			el_option = new Element('option');
			el_option.id = "form_country_" + mountainInfo[i][4];
			el_option.value = mountainInfo[i][4];
			el_option.innerHTML = mountainInfo[i][4];
			$('form_country').appendChild(el_option);
			
		}
	
	}

}

function fillStatesDD(){

	var activeCountry = $F('form_country');
	var el_option;
	var tempArray = new Array();
	
	resetStatesDD();
	resetCitiesDD();
	
	if(activeCountry){
		
		//create temp array
		for(var i=0;i<mountainInfo.length;i++){
		
			if(mountainInfo[i][4]==activeCountry){
				
				tempArray.push(mountainInfo[i][5]);
				
			}
		
		}
		
		//modify array
		tempArray = tempArray.unique();
		tempArray = tempArray.sort();
		
		//create options
		for(var i=0;i<tempArray.length;i++){
			
				el_option = new Element('option');
				el_option.id = "form_state_" + tempArray[i];
				el_option.value = tempArray[i];
				el_option.innerHTML = tempArray[i];
				$('form_state').appendChild(el_option);
		
		}
		
	}

}

function fillCitiesDD(){

	var activeCountry = $F('form_country');
	var activeState = $F('form_state');
	var el_option;
	var tempArray = new Array();
	
	resetCitiesDD();
	
	if(activeCountry && activeState){
	
		//create temp array
		for(var i=0;i<mountainInfo.length;i++){
		
			if(mountainInfo[i][4]==activeCountry && mountainInfo[i][5]==activeState){
				
				tempArray.push(mountainInfo[i][6]);
				
			}
		
		}
		
		//modify array
		tempArray = tempArray.unique();
		tempArray = tempArray.sort();
		
		//create options
		for(var i=0;i<tempArray.length;i++){
			
				el_option = new Element('option');
				el_option.id = "form_city_" + tempArray[i];
				el_option.value = tempArray[i];
				el_option.innerHTML = tempArray[i];
				$('form_city').appendChild(el_option);
		
		}
		
	}

}

function getHotelArray(propid){

	for(var i=0;i<hotelsArray.length;i++){
		
		if(hotelsArray[i].prop_id==propid){
		
			return hotelsArray[i];
		
		}
	
	}

}

function launchCity(){

	var activeCity = $F('form_city');
	var activeState = $F('form_state');
	
	//get the id for the mountainArray
	var infoArray = getMountainArray(activeCity,activeState);
	
	//get the hotelsArray
	var row_array = getHotelArray(infoArray[0]);
	
	$('propbox').style.display = "";
	
	clearHotels();
	
	$('city_title').innerHTML = infoArray[1];
	
	//main hotel box
	var el_hotel = new Element('div');
	el_hotel.className = "hotel";
	el_hotel.id = "hotel_"+row_array['prop_id'];
	
	//fieldset
	var el_fieldset = new Element('fieldset');
	el_hotel.appendChild(el_fieldset);
	
	//left
	var el_left = new Element('div');
	el_left.className = 'hotel_left';
	el_fieldset.appendChild(el_left);
	
	//thumbnail
	var el_thumbnail = new Element('img');
	el_thumbnail.className = 'hotel_tn';
	el_thumbnail.src = row_array['thumbnail'];
	el_left.appendChild(el_thumbnail);
	
	//overview link
	/*var el_photos_link = new Element('a');
	el_photos_link.href = "#";
	el_photos_link.innerHTML = "Overview";
	el_photos_link.onclick = function(){ window.open(formatTag(row_array['overview_url'],row_array['prop_id'],row_array['brand'],'LEARN')); }
	el_left.appendChild(el_photos_link);*/
	
	//photos link
	var el_photos_link = new Element('a');
	el_photos_link.href = "#";
	el_photos_link.innerHTML = "Photos";
	el_photos_link.onclick = function(){ launchGallery("http://www.starwoodhotels.com/"+ row_array['brand'].convertBrand3() +"/property/photos/popup.html?propertyID=" + row_array['prop_id']); }
	el_left.appendChild(el_photos_link);
	
	//sop link
	var el_photos_link = new Element('a');
	el_photos_link.href = "#";
	el_photos_link.innerHTML = "View More Offers";
	el_photos_link.onclick = function(){ window.open(row_array['sop_url']); }
	el_left.appendChild(el_photos_link);
	
	//mid
	var el_mid = new Element('div');
	el_mid.className = 'hotel_mid';
	el_fieldset.appendChild(el_mid);
	
	//hotel name line
	var el_hotel_name = new Element('div');
	el_hotel_name.innerHTML = row_array['prop_name'];
	el_hotel_name.className = 'hotel_name';
	if(row_array['rates_from']!='' && row_array['rates_from']!=null){
		el_hotel_name.innerHTML += " | <font class='red'>Rates from $"+row_array['rates_from']+"</font>";
	}
	el_mid.appendChild(el_hotel_name);
	
	//hotel desc
	var el_hotel_description = new Element('div');
	el_hotel_description.className = "hotel_description";
	el_hotel_description.innerHTML = row_array['desc_en'];
	el_mid.appendChild(el_hotel_description);
	
	//terms and conditions link
	var el_hotel_tandc = new Element('a');
	el_hotel_tandc.href = "#";
	el_hotel_tandc.className = 'hotel_tandc';
	el_hotel_tandc.onclick = function(){ launchHotelTerms(row_array['prop_id']); }
	el_hotel_tandc.innerHTML = "Terms & Conditions";
	el_mid.appendChild(el_hotel_tandc);
	
	//bn box
	var el_bnbox = new Element('div');
	el_bnbox.className = 'bnbox';
	el_bnbox.innerHTML = "<span>Book by November 15, 2009 and save!</span>";
	el_bnbox.innerHTML += "<a href='" + row_array['booknow_url'] + "' target='_blank'><img src='images/btn_bn.jpg' class='btn_bn'></a>";
	
	el_mid.appendChild(el_bnbox);
	
	//mountain facts
	var el_facts = new Element('div');
	el_facts.className = 'facts';
	el_mid.appendChild(el_facts);
	
	//title
	var el_facts_h2 = new Element('h2');
	el_facts_h2.innerHTML = 'Mountain Facts';
	el_facts.appendChild(el_facts_h2);
	
	//fieldset
	var el_facts_fieldset = new Element('fieldset');
	el_facts.appendChild(el_facts_fieldset);
	
	//cols
	var el_facts_col1 = new Element('div');
	el_facts_col1.className = 'col';
	el_facts_col1.innerHTML = "<div class='coltitle'>Ski Areas</div>" + infoArray[7];
	el_facts_fieldset.appendChild(el_facts_col1);
	
	var el_facts_col2 = new Element('div');
	el_facts_col2.className = 'col';
	el_facts_col2.innerHTML = "<div class='coltitle'>Elevation</div>" + infoArray[8];
	el_facts_fieldset.appendChild(el_facts_col2);
	
	var el_facts_col3 = new Element('div');
	el_facts_col3.className = 'colwide';
	el_facts_col3.innerHTML = "<div class='coltitle'>Ski Runs</div>" + infoArray[9];
	el_facts_fieldset.appendChild(el_facts_col3);
	
	var el_facts_col4 = new Element('div');
	el_facts_col4.className = 'colwide';
	el_facts_col4.innerHTML = "<div class='coltitle'>Winter Activities</div>" + infoArray[10];
	el_facts_fieldset.appendChild(el_facts_col4);
	
	$('hotels').appendChild(el_hotel);
	
	getCurrentConditions(infoArray[3]);

}

function getCurrentConditions(url){
	
	$('conditions').innerHTML = '';
	
	new Ajax.Request("ajax.php", {method:'post',postBody:'action=getconditions&url='+url,onComplete:parseConditions});

}

parseConditions = function(t){

	var tags_record = t.responseXML.getElementsByTagName('item');
	
	for (var i=0;i<tags_record.length;i++){
					
		var record = tags_record[i];
		
		temp_array = new Array();
					
		for(var k=0;k<record.childNodes.length;k++){
						
			if(record.childNodes[k].firstChild!=null){
				if(record.childNodes[k].nodeType != 1) continue;
				if(record.childNodes[k].nodeName=="guid"){ temp_array["guid"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="pubDate"){ temp_array["pubDate"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="ots:base_depth"){ temp_array["base_depth"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="ots:snowfall_48hr"){ temp_array["snowfall_48hr"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="ots:base_depth_metric"){ temp_array["base_depth_metric"] = record.childNodes[k].firstChild.nodeValue;  }
				if(record.childNodes[k].nodeName=="ots:snowfall_48hr_metric"){ temp_array["snowfall_48hr_metric"] = record.childNodes[k].firstChild.nodeValue;  }

			}
					
		}
		
	}
	
	showConditions(temp_array);

}

function showConditions(row_array){

	var conditions = $('conditions');

	conditions.innerHTML = "";
	conditions.innerHTML += "<span>Last Update:</span> ";
	conditions.innerHTML += row_array['pubDate'];
	conditions.innerHTML += "<span class='padleft'>New Snow:</span> ";
	conditions.innerHTML += row_array['snowfall_48hr'] + " " + row_array['snowfall_48hr_metric'];
	conditions.innerHTML += "<span class='padleft'>Base Depth:</span> ";
	conditions.innerHTML += row_array['base_depth'] + " " + row_array['base_depth_metric'];
	
	//link
	
	conditions.innerHTML += "<a href='"+row_array['guid']+"' target='_blank' class='padleft'>Get Full Report</a>";

}

function launchGallery(url){
		window.open(url,'photosPopUp','width=650,height=440,resizable=no,scrollbars=no,status=no');
}

function toggleBlock(id){
	
	var el = $("hotel_"+id+"_block");
	var el_titlebar = $("hotel_"+id+"_titlebar");
	
	if(el.style.display=="none"){
		el.style.display = "";
		el_titlebar.innerHTML = el_titlebar.innerHTML.replace('[+]','[-]');
	}else{
		el.style.display = "none";
		el_titlebar.innerHTML = el_titlebar.innerHTML.replace('[-]','[+]');
	}
	
}

function clearHotels(){

	//clear hotels
	while ( $('hotels').childNodes.length >= 1 ){
		$('hotels').removeChild( $('hotels').firstChild );     
    }

}

function closePropBox(){
	
	$('propbox').style.display = "none";
	
	init();
	
}


function menuSelect(num){

	if(currentSlide!==num){

		$('menu'+currentSlide).className = "";
		$('menu'+num).className = "active";
		
		$('slide'+currentSlide).fade({ duration: 1.0, fps:60 });
		$('slide'+num).appear({ duration: 1.0, fps:60 });
		
		currentSlide = num;
	
		init();
		
	}

}

function launchTerms(){
		window.open('terms.html','terms','left=20,top=20,width=500,height=560,toolbar=0,resizable=1,menu=0,scrollbars=0,status=0');
}

function launchHotelTerms(prop_id){
		window.open('hotelterms.php?prop_id=' + prop_id,'terms','left=20,top=20,width=500,height=560,toolbar=0,resizable=1,menu=0,scrollbars=0,status=0');
}

function resetCountriesDD(){

	//clear states
	while ( $('form_country').childNodes.length >= 1 ){
		$('form_country').removeChild( $('form_country').firstChild );     
    }
	var el_option = new Element('option');
	el_option.innerHTML = "Select Country";
	$('form_country').appendChild(el_option);

}

function resetStatesDD(){

	//clear states
	while ( $('form_state').childNodes.length >= 1 ){
		$('form_state').removeChild( $('form_state').firstChild );     
    }
	var el_option = new Element('option');
	el_option.innerHTML = "Select State/Province";
	$('form_state').appendChild(el_option);

}

function resetCitiesDD(){

	//clear states
	while ( $('form_city').childNodes.length >= 1 ){
		$('form_city').removeChild( $('form_city').firstChild );     
    }
	var el_option = new Element('option');
	el_option.innerHTML = "Select City/Area";
	$('form_city').appendChild(el_option);

}

