﻿/* PAGE SELECTOR */
function openPageSelector()
{
	var win = window.open("pageSelector.aspx", 'pageSelector', 'width=500,height=500,scrollbars=yes');
	win.focus();
}

function selectPage(page)
{
	window.opener.document.getElementById('64_textInput').value = page;
	window.close();
}

/* END PAGE SELECTOR */

function validateEmail()
{
	var x = '';

	if ($F('name') == '')
		x += '- Name cannot be blank\n';
	if ($F('email') == '')
		x += '- Email cannot be blank\n';
	if ($F('email') != $F('email2'))
		x += '- Emails do not match\n';
	if ($F('company') == '')
		x += '- Company cannot be blank\n';

	if (x.length > 0)
	{
		alert('Please correct the following:\n\n' + x);
		return false;
	}

	return true;
}

function clearProductFinder()
{
	$$("#productFinder input").each(function (ele) { if (ele.type == 'text') ele.value = ''; else if (ele.type == 'checkbox' || ele.type == 'radio') ele.checked = false; });
}

var flag = false;

Event.observe(window, 'load', function()
{
	if (flag)
		return;

	flag = true;

	$('pfToggle').observe('click', toggleProductFinder);

	$$('.chipHolder').each(function(ele)
	{
		var modal = new Control.ToolTip(ele, $F('d' + ele.id), { className: 'tooltip' });
	}
	);

	//PRODUCT FINDER SHOW / HIDE
	if (getValue('subnav_showProductFinder') == 'true' || window.location.pathname == '/metalsales/' || window.location.pathname == '/' || window.location.pathname.indexOf('/home/') >= 0 || window.location.pathname.indexOf('/project-gallery/') >= 0 || window.location.pathname.indexOf('/panel/') >= 0)
	{
		showProductFinder();
	}
	else
	{
		hideProductFinder();
	}

	//PANEL TABS
	if ($('tabs') != null)
	{
		var t = new Control.Tabs('tabs', { activeClassName: 'selected' });
	}

	//CONTACT US MAP
	if (window.location.href.indexOf('/contact-us/') >= 0)
	{
		initMap();
	}

	//QUICK FINDER
	if ($('quickFind') != null)
	{
		new Ajax.Autocompleter("quickFind", "quickFindResults", "a.aspx?action=quickFind", { callback: ACcallback, afterUpdateElement: ACselected });
	}
});

function ACcallback(x)
{
	return "find="+ x.value;
}
function ACselected(text, li)
{
	if (window.location.hostname == 'dev.13prime.com')
		window.location.href = '/metalsales/panel/' + li.id + '/';
	else
		window.location.href = '/panel/' + li.id + '/';
}

function getValue(ele)
{
	if ($(ele))
	{
		return $F(ele);
	}
	return null;
}

function showProductFinder()
{
	$('pfImage').src = 'images/product-finder-down.gif';
	$('productFinder').show();
	$('subnavLinks').hide();
}

function hideProductFinder()
{
	$('pfImage').src = 'images/product-finder-up.gif';
	$('productFinder').hide();
	$('subnavLinks').show();
}

function toggleProductFinder(e, hide)
{
	if ($('productFinder').visible())
	{
		hideProductFinder();
	}
	else
	{
		showProductFinder();
	}
}

function initAdminMap()
{
	if (GBrowserIsCompatible())
	{
		try
		{
			var map = new GMap2($('map'));
		}
		catch (e) { return; }

		map.setUIToDefault();

		var center = new GLatLng($F('lat'), $F('lng'));
		map.setCenter(center, 15);

		var marker = new GMarker(center, { draggable: true });

		GEvent.addListener(marker, "dragend", function ()
		{
			var point = marker.getPoint();
			setLatLng(point.lat(), point.lng());
		});

		map.addOverlay(marker);
	}
}

function setLatLng(lat, lng)
{
	$('lat').value = lat;
	$('lng').value = lng;
}

function initMap()
{
	if (GBrowserIsCompatible())
	{
		new Ajax.Request('a.aspx?action=locations', { method: 'get', onSuccess: processMap });
	}
}

function processMap(transport)
{
	var locations = transport.responseText.evalJSON();

	try
	{
		var map = new GMap2($('map'));
	}
	catch(e) { return; }

	map.setCenter(new GLatLng(38.25, -80.00), 4);
	map.setUIToDefault();

	var bounds = new GLatLngBounds();
	
	var iconOptions = {};
	iconOptions.width = 32;
	iconOptions.height = 32;
	iconOptions.primaryColor = "#00457E";
	iconOptions.cornerColor = "#009ADD";
	iconOptions.strokeColor = "#2875cb";
	icon = MapIconMaker.createMarkerIcon(iconOptions);

	for (var i = 0; i < locations.length; i++)
	{
		var location = locations[i];

		if (location.lat != 0)
		{
			var point = new GLatLng(location.lat, location.lng);
			bounds.extend(point);

			var marker = createMarker(point, getInfoWindowHtml(location), icon);
			map.addOverlay(marker);

	
			$('branchList').insert(getInfoWindowHtml(location));
		}
	}

	map.setZoom(map.getBoundsZoomLevel(bounds));
	map.setCenter(bounds.getCenter());
}
function createMarker(point, html, ico)
{
	var marker = new GMarker(point, { icon: ico });
	if (html != "")
		GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); });
	return marker;
}

function getInfoWindowHtml(location)
{
	var x = '<div class="infoWindow"><strong><a href="/'+ location.page +'/">' + location.name + '</a></strong>';
	x += '<br/>' + location.address;
	x += '<br/>' + location.city + ', ' + location.state + ' ' + location.ZIP;
	x += '<br/><br/><table><tr><td>Phone:&nbsp&nbsp;</td><td>' + location.main +'</td></tr>';
	x += '<tr><td>Fax: </td><td>' + location.fax +'</td></tr></table>';
	x += '<a style="display: block; padding: 4px 0px;" href="/contact/'+ location.name +'/"><img src="images/contact-button.gif" alt="contact"/></a>';
	x += '</div>';

	return x;
}

function initAdmin()
{
	CKEDITOR.replace('editor');
}

function initAdminDetails()
{
	var t = new Control.Tabs('tabs', { activeClassName: 'selected' });

	$$('.editor').each(function(ele) { CKEDITOR.replace(ele, { height: '300px' }); });
}

