Event.observe(document, 'dom:loaded', init);

function init() {
	var sponsorship = $('hpsponsor');
	if (sponsorship) {
		var flashvars = { sponsorXML:"/xml/sponsorship.xml" };
		var params = { allowScriptAccess: "always", wmode: "transparent", scale: "noscale", menu: "false"};
		var attributes = { id: "sponsorship", name: "sponsorship" };
		swfobject.embedSWF("/swf/hp_sponsorship.swf", "hpsponsor", "563", "426", "8", false, flashvars, params, attributes);
	}
	var mag = $('hpmag');
	if (mag) {
		var flashvars = { subscribeXML: "/xml/subscribe.xml" };
	    var params = { allowScriptAccess: "always", wmode: "transparent", scale: "noscale", menu: "false"};
	    var attributes = {id: "hp_mag", name: "hp_mag" };
		swfobject.embedSWF("/swf/hp_mag.swf", "hpmag", "302", "160", "8", false, flashvars, params, attributes);
	}
	var superMod = $('super_model');
	if (superMod) {
		var flashvars = {};
	  	var params = { allowScriptAccess: "always", wmode: "transparent", scale: "noscale", menu: "false"};
	  	var attributes = {id: "so_supermodel", name: "so_supermodel" };
		swfobject.embedSWF(modelFile, "super_model", "521", "267", "8", false, flashvars, params, attributes);
	}
	var videoGal = $('video_gallery');
	if (videoGal) {
		var flashvars = {file:videoFile, autostart:true };
	  	var params = { allowScriptAccess: "always", wmode: "transparent", scale: "noscale", menu: "false" };
	  	var attributes = {id: "so_videogal", name: "so_videogal" };
		swfobject.embedSWF("/swf/mediaplayer.swf", "video_gallery", "320", "260", "8", false, flashvars, params, attributes);
	}
	var mqMap = $('mapWindow');
	if (mqMap) {
		startMap();
	}		
	var mqExpMap = $('mq_map');
	if (mqExpMap) {
		startExpMap();
		writeDoc();
		doGeocode(street, city, state, zip);
		doFlashSearch(street, city, state, zip);
	}	
	var peel = $('jcornerSmall');
	if(peel) {
		putPeel(peel_adurl, small_ImagePath, big_ImagePath);
	}
	var gallery = $('gallery');
	if (gallery) {
		var panels = $$('*[id^="panel"]');
			panels.invoke('hide');
			panels.first().show();
			paginateGallery();
	}
	var exp = $('exp_nav');
	if (exp) {
		var exp_panels = $$('*[id^="exp_pan_"]');
			exp_panels.invoke('hide');
			exp_panels.first().show();
			var tabs = $$('*[class*="active"]');
			swapClassName(tabs.first());
	}
}

function paginateGallery() {
	document.observe('lightview:opened', function(event) {
		var panels = $$('*[id^="panel"]');
		var currentPhoto = Lightview.position + 1;
		if (currentPhoto >= 0 && currentPhoto <= 12) {
			panels.invoke('hide');
			panels.first().show();
		} else if (currentPhoto >= 13 && currentPhoto <= 24) {
			panels.invoke('hide');
			panels[1].show();
		} else if (currentPhoto >= 25 && currentPhoto <= 36) {
			panels.invoke('hide');
			panels[2].show();
		} else if (currentPhoto >= 37 && currentPhoto <= 48) {
			panels.invoke('hide');
			panels[3].show();
		} else if (currentPhoto >= 49 && currentPhoto <= 60) {
			panels.invoke('hide');
			panels[4].show();
		}	
	});
}

function togglePanel(panelNum) {
	var index = panelNum - 1;
	var panels = $$('*[id^="panel"]');
	if (panels) {
		panels.invoke('hide');
		panels[index].show();
	}
}

function toggleResults(target) {
	targetPan = $(target);
	if(target == 'ps_results') {
		clearResultsDiv();
		doFlashBatchGeocode(myList);
		$('built-tab').addClassName('current'); 
	  	$('move-in-tab').removeClassName('current');
	} else {
		clearResultsDiv();
		doFlashBatchGeocode(list);
		$('built-tab').removeClassName('current'); 
	  	$('move-in-tab').addClassName('current');
	}
	if (! $('map_results').visible()) {
		if (target == 'ps_results') {
			$('min_results').hide();
			targetPan.show();
		} else {
			$('ps_results').hide();
			targetPan.show();
		}		
	}
}

function swapViews() {
	if ($('map_results').visible()) {
		$('map_results').hide();
		$$('.mapview').invoke('show');
		$$('.listview').invoke('hide');
		$('search_ad').show();
		$('map_ad').hide();
		cur_tab = $$('.current')[0];
		if (cur_tab.id == 'built-tab') {
			$('ps_results').show();
		} else {
			$('min_results').show();
		}
	} else {
		$('map_results').show();
		$$('.listview').invoke('show');
		$$('.mapview').invoke('hide');
		$('map_ad').show();
		$('search_ad').hide();
		cur_tab = $$('.current')[0];
		if (cur_tab.id == 'built-tab') {
			$('ps_results').hide();
		} else {
			$('min_results').hide();
		}
	}
}

function toggleMapList() {
	if (typeof(targetPan) != 'undefined') {
		swapViews();
	} else {	
		if ($('ps_results').visible()) {
			toggleResults('ps_results');
		} else if ($('min_results').visible()) {
			toggleResults('min_results');
		}
		swapViews();
	}
}

function swapClassName(element){
	if (element.className == 'active') {
		element.removeClassName('active');
		element.addClassName('inactive');
	} else {
		element.removeClassName('inactive');
		element.addClassName('active');
	};
}

function toggleExp(panel_id) {
	var cur_tab = $$('.active').first();
	var cur_panel = $('exp_pan_'+cur_tab.parentNode.id);
	swapClassName(cur_tab);
	cur_panel.hide();	
	var tab = $(panel_id).firstChild;
	var panel = $('exp_pan_'+panel_id);
	swapClassName(tab);
	panel.show();
//	clearPOIs();
//	if(panel_id = "directions"){
//		//$('display_types').hide();
//		enableDisplayTypes();
//		//clearAll();
//	}
	
}
function clearPOIs(){
	while($('poi_checklist').hasChildNodes()){
		$('poi_checklist').removeChild($('poi_checklist').firstChild);
	}
}
function toggleTab(panel_id) {
	var cur_tab = $$('.active').first();
	var cur_panel = $('exp_pan_'+cur_tab.id);
	swapClassName(cur_tab);
	cur_panel.hide();	
	var tab = $(panel_id);
	var panel = $('exp_pan_'+panel_id);
	swapClassName(tab);
	panel.show();
}

function CheckAll(fieldname, checked) {
	var fields = document.getElementsByTagName('input');
	for (var i=0; i < fields.length; i++)
	{
		var field = fields[i];
		if (field.name==fieldname) { field.checked = checked; }
	}
}

function toggleElement(element_id, show_function, hide_function, opts) {
	var elm = document.getElementById(element_id);
	if (!elm) { return; }

	if (elm.style.display == 'none') { show_function(element_id, opts); }
	else { hide_function(element_id, opts); }
}

function GetFieldValue(field_name, frm) {
	var parent_node = frm!=null ? frm : document;
	var input_fields = parent_node.getElementsByTagName('input');
	var select_fields = parent_node.getElementsByTagName('select');
	var textarea_fields = parent_node.getElementsByTagName('textarea');
	
	var results = [];
	
	for (var i=0; i < input_fields.length; i++) {
		var field = input_fields[i];
		if (field.type == 'submit' || field.type == 'reset') { continue; }
		if (field.name==field_name)
		{
			if (field.type == 'checkbox' || field.type == 'radio') { if (field.checked) { results.push(field.value); } }
			else { results.push(field.value); }
		}
	}
	
	for (var i=0; i < select_fields.length; i++) {
		var field = select_fields[i];
		if (field.name==field_name)
		{
			var opts = field.getElementsByTagName('option');
			for (var j=0; j < opts.length; j++) {
				var opt = opts[j];
				if (opt.selected) { results.push(opt.value); }
			}
		}
	}
	
	for (var i=0; i < textarea_fields.length; i++) {
		var field = textarea_fields[i];
		if (field.name==field_name) { results.push(field.value); }
	}

	return results;	
}

function GetAjaxResponseNode(xml, node_name, return_all)
{
	return_all = return_all ? true : false;
	var nodes = xml.responseXML.getElementsByTagName(node_name);
	if (nodes.length > 0 && return_all) {
		var values = [];
		for (var n=0; n < nodes.length; n++) { values.push(nodes[n].firstChild.nodeValue); }
		return values;
	}
	else if (nodes.length > 0 && nodes[0].firstChild) { return nodes[0].firstChild.nodeValue; }
	else { return null; }
}

function SubmitFormByAjax(frm, replace_div, parameters)
{
	var parent_node = frm!=null ? frm : document;
	var input_fields = parent_node.getElementsByTagName('input');
	var select_fields = parent_node.getElementsByTagName('select');
	var textarea_fields = parent_node.getElementsByTagName('textarea');

	var fieldnames = [];
	for (i = 0; i < input_fields.length; i++) { fieldnames.push(input_fields[i].name); }
	for (i = 0; i < select_fields.length; i++) { fieldnames.push(select_fields[i].name); }
	for (i = 0; i < textarea_fields.length; i++) { fieldnames.push(textarea_fields[i].name); }

	var values = {};
	for (i = 0; i < fieldnames.length; i++)
	{
		values[fieldnames[i]] = GetFieldValue(fieldnames[i], frm);
	}	

	if (parameters != null)
	{
		for (key in parameters) { values[key] = parameters[key]; }
	}

	new Ajax.Updater(replace_div, frm.action, { method: 'post', encoding: '', parameters: values });
}

function toggleSection(section) {
	var currSection = section + '_items';
	var currTitle = section + '_title';
	var statusOpen = section + '_status_open';
	var statusClose = section + '_status_close';

	if (document.getElementById(currSection).style.display == 'none') {
		document.getElementById(currTitle).className = 'section_down';
		document.getElementById(statusOpen).style.display = 'none';
		document.getElementById(statusClose).style.display = 'inline';				
		new Effect.SlideDown(currSection,{duration:.5});
	} else {
		document.getElementById(currTitle).className = 'section_up';
		document.getElementById(statusOpen).style.display = 'inline';
		document.getElementById(statusClose).style.display = 'none';				
		new Effect.SlideUp(currSection,{duration:.5});
	}
	return false;
}

// controls pop-up to open new window for emags
function fullScreen(theURL) {
		window.open(theURL, '', 'fullscreen=yes, scrollbars=auto');
}

function SubmitContact() {
	Form.request("contact_form", {
	    onSuccess: function(transport){
	       $('exp_pan_contact').innerHTML = transport.responseText;
	    }
	});
}
