function IsMSIE() {
	if( navigator.userAgent.indexOf('MSIE') > -1 ) {
		return true;
	} else {
		return false;
	}

}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function popup_airport_selector(p_which, p_tracker)
{
	airport_tracker = p_tracker;
	
	var pUrl = '/airport-selector.php?w=' + p_which + '&t=' + p_tracker;
	var wPopUp = window.open(pUrl,'PopUp','location=0,status=1,scrollbars=1,width=680,height=500');	
	if(wPopUp == null)
	{
		alert('Enable popups in your browser to use this feature!');	
	}
	return false;
}

function use_airport(p_which, p_tracker, p_airport,p_latitude,p_longitude)
{
	//alert('You selected ' + p_which + ' ' + p_tracker + ' ' + p_airport + ' [' + p_latitude + ' / ' + p_longitude + ']');
	if(!window.opener != null)
	{
		var xwin = window.opener;
		set_airport_values(xwin,p_which,p_tracker,p_airport,p_latitude,p_longitude);
		window.close();
	}
	else
	{
		alert('This page cannot function without popups enabled in your browser.');
		return false;
	}
	
	return false;	
}

function set_airport_values(p_win,p_which, p_tracker,p_airport,p_latitude,p_longitude)
{
	//alert('looking for ' + p_which + '_airport_city_' + p_tracker);
	//alert(p_win.document.title);
	
	oEle = p_win.document.getElementById(p_which + '_airport_city_' + p_tracker);
	if(oEle != null) {
		oEle.value = p_airport;
	} else {
		return;
	}
	oEle = p_win.document.getElementById(p_which + '_airport_latitude_' + p_tracker);
	if(oEle != null) {
		oEle.value = p_latitude;
	} else {
		return;
	}
	oEle = p_win.document.getElementById(p_which + '_airport_longitude_' + p_tracker);
	if(oEle != null) {
		oEle.value = p_longitude;
	} else {
		return;
	}
	
	oEle = p_win.document.getElementById('airport_visible_' + p_tracker);
	if(oEle != null) {
		oEle.value = '1';
	} else {
		return;
	}
	
	eleDistance = p_win.document.getElementById('airport_distance_' + p_tracker);
	if(eleDistance != null) {
		eleDistance.value = '0';
	} else {
		return;
	}
	

	var eleCo2 = p_win.document.getElementById('airport_co2_' + p_tracker);
	if(eleCo2 != null) {
		eleCo2.value = '0';
	} else {
		return;
	}

	var eletotalEmissionsFromAirTravel = p_win.document.getElementById('totalEmissionsFromAirTravel');
	if(eletotalEmissionsFromAirTravel != null) {
		if( IsMSIE() ) {
			eletotalEmissionsFromAirTravel.innerText = '';
		} else {
			eletotalEmissionsFromAirTravel.textContent = '';
		}
	} else {
		return;
	}
	
	var oLat = p_win.document.getElementById('origin_airport_latitude_' + p_tracker);
	var oLong = p_win.document.getElementById('origin_airport_longitude_' + p_tracker);
	var dLat = p_win.document.getElementById('destination_airport_latitude_' + p_tracker);
	var dLong = p_win.document.getElementById('destination_airport_longitude_' + p_tracker);
	
	var lat1 = 0;
	var lon1 = 0;
	var lat2 = 0;
	var lon2 = 0;
	
	if(oLat != null && oLong != null && dLat != null && dLong != null)
	{
		lat1 = oLat.value;
		lon1 = oLong.value;
		lat2 = dLat.value;
		lon2 = dLong.value;
		
		lat1 = trim(lat1);
		lon1 = trim(lon1);
		lat2 = trim(lat2);
		lon2 = trim(lon2);
		var fLat1 = 0;
		var fLon1 = 0;
		var fLat2 = 0;
		var fLon2 = 0;
		if(lat1 != '' && lon1 != '' && lat2 != '' && lon2 != '') {
			fLat1 = parseFloat(lat1);
			fLon1 = parseFloat(lon1);
			fLat2 = parseFloat(lat2);
			fLon2 = parseFloat(lon2);
			
			eleDistance.value = set_airport_distance(fLat1, fLon1, fLat2, fLon2);
			//alert('Setting distance to ' + eleDistance.value);
			eleCo2.value = set_airport_co2(eleDistance.value);
			if( IsMSIE() ) {
				eletotalEmissionsFromAirTravel.innerText = addCommas(sum_airport_co2(p_win));
			} else {
				eletotalEmissionsFromAirTravel.textContent = addCommas(sum_airport_co2(p_win));
			}
			p_win.recalculate();
		}
	}
}

function sum_airport_co2(p_win)
{
	var i;
	var oEle;
	var oRoundTrip;
	var sum_co2 = 0;
	var multiply_round_trip = 1;
	
	for(i = 1;i < 11;i++) {
		oEle = p_win.document.getElementById('airport_co2_' + i);
		oRoundTrip = p_win.document.getElementById('flight_roundtrip_' + i);
		if(oRoundTrip != null) {
			if(oRoundTrip.checked) {
				multiply_round_trip = 2;
			} else {
				multiply_round_trip = 1;
			}
		}
		if(oEle != null) {
			sum_co2 = sum_co2 + (parseInt(oEle.value) * multiply_round_trip);
		} else {
			return sum_co2;
		}
	}
	return sum_co2;
}

function set_airport_distance(lat1, lon1, lat2, lon2)
{
	var distance = 0;
	distance = Math.sqrt(Math.pow(((lat2-lat1)*69.14285714),2) + Math.pow((((lon2-lon1)*69.14285714*(Math.cos((lat1*Math.PI/180.00))+Math.cos((lat2*Math.PI/180.00))))/2),2));
	return parseInt(distance);
}

function set_num_passengers(p_this,p_tracker)
{
	if(!IsNumeric(p_this.value)) {
		alert('Please enter a valid number of passengers - 1 or greater.');
		p_this.value = 1;
		return;
	}
	if(parseInt(p_this.value) < 1) {
		alert('Please enter a valid number of passengers - 1 or greater.');
		p_this.value = 1;
		return;
	}
	
	var oAirportDistance = document.getElementById('airport_distance_' + p_tracker);
	set_self_airport_co2(oAirportDistance,p_tracker);
}

function set_self_airport_co2(p_this, p_tracker)
{
	var co2 = 0;
	var oRoundTrip;
	
	var oEle = document.getElementById('airport_co2_' + p_tracker);

	if(oEle != null) {
		co2 = 0;
	} else {
		alert('Cannot find co2 value');
		return;
	}	

	if(!IsNumeric(p_this.value)) {
		alert('Please enter a valid number.');
		oEle.value = co2;
		return;	
	}
	
	var NumPassengers = 1;
	
	var oFlightPassengers = document.getElementById('flight_passengers_' + p_tracker);
	if(oFlightPassengers != null)
	{
		NumPassengers = parseInt(oFlightPassengers);
	}
	if(NumPassengers == 0) {
		NumPassengers = 1;
	}
	
	var oEle = document.getElementById('airport_co2_' + p_tracker);
	var distance = parseInt(p_this.value);
	
	if(oEle != null) {
		if(distance < 281) {
			co2 = 1.8 * distance;
			oEle.value = co2;
		}
		if(distance >= 281 && distance < 994) {
			co2 = .85 * distance;	
			oEle.value = co2;
		}
		if(distance >= 994) {
			co2 = .74 * distance;
			oEle.value = co2;
		}
	}
	var eletotalEmissionsFromAirTravel = document.getElementById('totalEmissionsFromAirTravel');
	if(eletotalEmissionsFromAirTravel != null) {
		if( IsMSIE() ) {
			eletotalEmissionsFromAirTravel.innerText = '';
		} else {
			eletotalEmissionsFromAirTravel.textContent = '';
		}
	} else {
		return;
	}
	if( IsMSIE() ) {
		eletotalEmissionsFromAirTravel.innerText = addCommas(sum_self_airport_co2());
	} else {
		eletotalEmissionsFromAirTravel.textContent = addCommas(sum_self_airport_co2());
	}
	recalculate();
}

function flight_roundtrip_changed()
{
	var eletotalEmissionsFromAirTravel = document.getElementById('totalEmissionsFromAirTravel');
	if(eletotalEmissionsFromAirTravel != null) {
		if( IsMSIE() ) {
			eletotalEmissionsFromAirTravel.innerText = '';
		} else {
			eletotalEmissionsFromAirTravel.textContent = '';
		}
	} else {
		return;
	}
	if( IsMSIE() ) {
		eletotalEmissionsFromAirTravel.innerText = addCommas(sum_self_airport_co2());
	} else {
		eletotalEmissionsFromAirTravel.textContent = addCommas(sum_self_airport_co2());
	}
	recalculate();
}

function sum_self_airport_co2()
{
	var i;
	var oEle;
	var oRoundTrip;
	var oFlightPassengers;
	var NumPassengers = 1;
	
	var multiply_round_trip = 1;
	
	var sum_co2 = 0;
	for(i = 1;i < 11;i++) {
		oEle = document.getElementById('airport_co2_' + i);
		oRoundTrip = document.getElementById('flight_roundtrip_' + i);
		oFlightPassengers = document.getElementById('flight_passengers_' + i);
		if(oFlightPassengers != null) {
			NumPassengers = parseInt(oFlightPassengers.value);
		} else {
			NumPassengers = 1;
		}
		
		if(oRoundTrip != null) {
			if(oRoundTrip.checked) {
				multiply_round_trip = 2;
			} else {
				multiply_round_trip = 1;
			}
		}	
		if(oEle != null) {
			sum_co2 = sum_co2 + ((parseInt(oEle.value) * multiply_round_trip) * NumPassengers);
		} else {
			return sum_co2;
		}
	}
	return sum_co2;
}

function set_airport_co2(distance)
{
	var co2 = 0;
	if(distance < 281) {
		co2 = 1.8 * distance;
		return co2;
	}
	if(distance >= 281 && distance < 994) {
		co2 = .85 * distance;	
		return co2;
	}
	if(distance >= 994) {
		co2 = .74 * distance;
		return co2;
	}
}

function show_airport_row(p_row)
{
	var oEle = document.getElementById('tr_airport_' + p_row);
	if(oEle != null) {
		oEle.style.display = 'block';
	} else {
		return;
	}
}

function hide_airport_row(p_row)
{
	var distance = 0;
	
	oEle = document.getElementById('airport_distance_' + p_row);
	if(oEle != null) {
		distance = parseInt(oEle.value);
	} else {
		return;
	}
	
	if(distance > 0) {
		if(!confirm('Please confirm that you wish to delete this flight.')) {
			return;
		}
	}
	
	oEle.value = 0;
	
	var oEle = document.getElementById('tr_airport_' + p_row);
	if(oEle != null) {
		oEle.style.display = 'none';
	} else {
		return;
	}
	oEle = document.getElementById('origin_airport_city_' + p_row);
	if(oEle != null) {
		oEle.value = '';
	} else {
		return;
	}
	oEle = document.getElementById('destination_airport_city_' + p_row);
	if(oEle != null) {
		oEle.value = '';
	} else {
		return;
	}

	oEle = document.getElementById('origin_airport_longitude_' + p_row);
	if(oEle != null) {
		oEle.value = '';
	} else {
		return;
	}
	oEle = document.getElementById('destination_airport_longitude_' + p_row);
	if(oEle != null) {
		oEle.value = '';
	} else {
		return;
	}

	oEle = document.getElementById('origin_airport_latitude_' + p_row);
	if(oEle != null) {
		oEle.value = '';
	} else {
		return;
	}
	oEle = document.getElementById('destination_airport_latitude_' + p_row);
	if(oEle != null) {
		oEle.value = '';
	} else {
		return;
	}

	
	oEle = document.getElementById('airport_visible_' + p_row);
	if(oEle != null) {
		oEle.value = '0';
	} else {
		return;
	}
	oEle = document.getElementById('airport_co2_' + p_row);
	if(oEle != null) {
		oEle.value = '0';
	} else {
		return;
	}
	
	var eletotalEmissionsFromAirTravel = document.getElementById('totalEmissionsFromAirTravel');
	if(eletotalEmissionsFromAirTravel != null) {
		if( IsMSIE() ) {
			eletotalEmissionsFromAirTravel.innerText = '';
		} else {
			eletotalEmissionsFromAirTravel.textContent = '';
		}
	} else {
		return;
	}
	if( IsMSIE() ) {
		eletotalEmissionsFromAirTravel.innerText = addCommas(sum_self_airport_co2());
	} else {
		eletotalEmissionsFromAirTravel.textContent = addCommas(sum_self_airport_co2());
	}
	
	recalculate();	
}

function toggle_div(p_this, p_id)
{
	var ele = document.getElementById(p_id);
	if(ele != null) {
		if(ele.style.display == "none") {
			ele.style.display = "block";
			p_this.innerText = "-";
		} else {
			ele.style.display = "none";
			p_this.innerText = "+";
		}
	}
}

function removeoptions(p) {
    p.selectedIndex = 0;
    
    for(var i = p.options.length; i >= 0;i--)
    {
        var option = p.childNodes[i];
        p.removeChild(option);
    }	
}

function select_search1_waschanged(p_this) {
	var val = p_this.options[p_this.selectedIndex].value;
	var ele = document.getElementById('div_search_products');
	if(ele!=null) {
		ele.style.display = 'none';
	}

	var ele = document.getElementById('div_search_contents');
	if(ele!=null) {
		ele.style.display = 'none';
	}
	
	var ele = document.getElementById('div_search_google');
	if(ele!=null) {
		ele.style.display = 'none';
	}

	var ele = document.getElementById('div_search_' + val);
	
	if(ele!=null) {
		ele.style.display = 'block';
	}		
}

function search_select_changed(p_this)
{
	var val = p_this.options[p_this.selectedIndex].value;
	for(var i = 0;i<p_this.options.length;i++)
	{
		var frm = document.getElementById('div_form_search_select_' + p_this.options[i].value);
		if(frm != null)
		{
			frm.style.display = 'none';
		}
		
	}
	
	frm = document.getElementById('div_form_search_select_' + val);
	if(frm != null)
	{
		frm.style.display = 'block';
	}
}

function focus_on_p_review_sort()
{
	p_review_sort = document.getElementById('p_review_sort');
	if(p_review_sort != null)
	{
		p_review_sort.focus();
	}
	else
	{
		alert('p_review_sort is null');
	}
}

function user_interest_check_all()
{
	var i;	
	var user_interests = new Array('user_interest_children','user_interest_recycling','user_interest_home_improvement','user_interest_composting','user_interest_outdoors','user_interest_sports','user_interest_technology','user_interest_pets','user_interest_vehicles','user_interest_gear_and_gadgets','user_interest_fashion_beauty');
	
	for(i=0;i<user_interests.length;i++)
	{
		var user_interest = document.getElementById(user_interests[i]);
		
		if(user_interest != null)
		{
			user_interest.checked = true;
		}
	}
	
	return false;
}

function user_interest_check_none()
{
	var i;
	var user_interests = new Array('user_interest_children','user_interest_recycling','user_interest_home_improvement','user_interest_composting','user_interest_outdoors','user_interest_sports','user_interest_technology','user_interest_pets','user_interest_vehicles','user_interest_gear_and_gadgets','user_interest_fashion_beauty');

	for(i=0;i<user_interests.length;i++)
	{
		var user_interest = document.getElementById(user_interests[i]);
		if(user_interest != null)
		{
			user_interest.checked = false;
		}
	}
	
	return false;
}

function user_name_check()
{
	var user_name = document.getElementById('user_name');
	var pUrl = 'unamecheck.php';
	if(user_name != null)
	{
		pUrl = pUrl + '?ck_user_name=' + user_name.value;
		var wPopUp = window.open(pUrl,'PopUp','location=0,status=1,scrollbars=auto,width=400,height=100');	
		if(wPopUp == null)
		{
			alert('Enable popups in your browser to use this feature!');
			return true;
		}
	}
	return false;
}

function popup_tos()
{
	var pUrl = '/tos.php?window=popup';
	var wPopUp = window.open(pUrl,'PopUp','location=0,status=1,scrollbars=1,width=680,height=500');	
	if(wPopUp == null)
	{
		alert('Enable popups in your browser to use this feature!');	
		return true;
	}
	return false;
}

function popup_privacy()
{
	var pUrl = '/privacy.php?window=popup';
	var wPopUp = window.open(pUrl,'PopUp','location=0,status=1,scrollbars=1,width=680,height=500');	
	if(wPopUp == null)
	{
		alert('Enable popups in your browser to use this feature!');	
		return true;
	}
	return false;
}


function product_rating_turn_on_comments(p_form)
{
	if(trim(p_form['user_name'].value) != '')
	{
		p_form['user_comment'].disabled = false;
		p_form['user_comment_title'].disabled = false;
		p_form['user_comment'].style.backgroundColor = 'white';
		p_form['user_comment_title'].style.backgroundColor = 'white';
	}
	else
	{
		p_form['user_comment'].disabled = true;
		p_form['user_comment_title'].disabled = true;
		p_form['user_comment'].style.backgroundColor = 'gray';
		p_form['user_comment_title'].style.backgroundColor = 'gray';
	}
	
}

function set_product_rating(p_img, p_form,p_rating)
{
	if(p_rating == '')
	{
		for(var i = 1;i<6;i++)
		{
			var green_leaf = document.getElementById('green_leaf_' + i);
			if(green_leaf != null)
			{
				//alert('!null-' + i + '-' + p_rating);
				green_leaf.src = "/images/green-leaf-blank.gif";
			}
		}
	}
	else
	{
		for(var i = 1;i<=p_rating;i++)
		{
			var green_leaf = document.getElementById('green_leaf_' + i);
			if(green_leaf != null)
			{
				//alert('!null-' + i + '-' + p_rating);
				green_leaf.src = "/images/green-leaf.gif";
			}
		}
		for(var i = p_rating + 1;i<6;i++)
		{
			var green_leaf = document.getElementById('green_leaf_' + i);
			if(green_leaf != null)
			{
				//alert('!null-' + i + '-' + p_rating);
				green_leaf.src = "/images/green-leaf-blank.gif";
			}
		}		
		
	}
	var user_rating = document.getElementById('user_rating');
	if(user_rating != null)
	{
		user_rating.value = p_rating;
	}
}

function set_content_subscription(p_this, p_section)
{
	var fld = document.getElementById('content_section_subscribe_' + p_section);
	if(fld != null)
	{
		if(p_this.checked) {
			fld.value = '1';	
		}
		else
		{
			fld.value = '0';
		}
	}
}

function trim(str) {
    str = str.replace(/^[ ]+(.*)$/, '$1'); // Trims leading spaces
    str = str.replace(/^(.*)[ ]+$/, '$1'); // Trims trailing spaces
    return str;
}


