//initialize the rich text editor
initRTE("/images/rte/", "", "");
var ajax_load = "<img src='/images/ajax-loader.gif' alt='loading...' />";  
var loadUrlEnable = "/service/changeProviderStatus?providerStatus=active&";  
var loadUrl = "/service/changeProviderStatus?providerStatus=inactive&";  

$(document).ready(function() {
	$('#basic').css({'color' : 'yellow'});
	$('#password').keyup(passwordTest);
	$('#confirmPassword').keyup(confirmPasswordTest);
	
	$(function() {
		$("#tabs").tabs();
	});

	if(document.addEventListener)
	{
	    frames['additionalmessage'].document.addEventListener('keypress', function(e){countRTEText(e);}, true);
	    frames['additionalmessage'].document.addEventListener('blur', function(e){RTEblur();}, true);
	}
    else { //For IE 
    	frames['additionalmessage'].document.attachEvent("onkeydown", function(e){return countRTEText(e);});
    	document.getElementById('additionalmessage').attachEvent('onblur', RTEblur ); 
    }

})

$(document).load(function() {
	//toggleVirtualProviderRequiredFields();
})

function passwordTest(e) {
	var passwordValue = $('#password').val();
	var pattern = /^(?=.*\d)(?=.*[a-zA-Z]).{0,255}$/i;
	
	if(passwordValue.length < 8) {
		$('#passwordAccepted').html(" <span style='font-weight:bold; color:red;'>X</span>");
	} else if ( !passwordValue.match(pattern) ) {
		$('#passwordAccepted').html(" <span style='font-weight:bold; color:red;'>X</span>");
	} else {
		$('#passwordAccepted').html(" <span style='font-weight:bold; color:green;'>Pass</span>");
	}
	if(passwordValue.length == 0) {
		$('#passwordAccepted').html("");
	}
}

function confirmPasswordTest(e) {
	var passwordValue = $('#password').val();
	var confirmPasswordValue = $('#confirmPassword').val();
	
	if(confirmPasswordValue != passwordValue) {
		$('#passwordConfirmed').html(" <span style='font-weight:bold; color:red;'>does not match</span>");
	} else {
		$('#passwordConfirmed').html(" <span style='font-weight:bold; color:green;'>matches</span>");
	}
	if(confirmPasswordValue.length == 0) {
		$('#passwordConfirmed').html("");
	}
}

function blankOutAddressBlock() {
	$('#addressblock').val("Address Not Found");
}

function toggleVirtualProviderRequiredFields() {
	if($('#virtualProvider').is(':checked')) {
		$('span[id|=physical]').text('');
		$('span[id|=virtual]').text('*');
	} else {
		$('span[id|=physical]').text('*');
		$('span[id|=virtual]').text('');
		if($('#country1') != 'US') {
			$('#physical-state-required').text('');
		}
	}
}

function displaySelectBusinessSpinner() {
	$('#search_wait').toggle();
}

function syncRichText(textarea) {
	updateRTE(textarea); 
	return $('#hdn'+textarea).val();
}

function countRTEText(e) {
	var total = 500;
	updateRTE('additionalmessage');
	var enteredText = stripHTML($('#hdnadditionalmessage').val());
	var message = 'You have entered more than ' + total + ' characters';
	if(enteredText.length > total && e.charCode != 0) {
		if(document.addEventListener)
		{
			alert(message);
			e.preventDefault();
			return false;
		} else {
			if(e.keyCode != 8) {
				alert(message);
				return false;
			}
		}
	}
	else if(enteredText.length < total + 3) {
		$('#overlimitwarning').hide();
		$('#overlimithidden').val('false');
	}
	
	var pressvalue = 0;
	if(e.charCode == 0 || e.keyCode == 8){
		pressvalue = + 1;
	} else {
		pressvalue = - 1;
	}
	var remaining = total + 1 - enteredText.length + pressvalue;
	$('#charlimit').html(remaining);
}

function stripHTML(oldString) {
    var newstring = oldString.replace(/<\S[^><]*>/g, "");
    newstring = newstring.replace("&nbsp;", " ");
    return newstring.replace("\n", "");
  
}

function RTEblur() {
	updateRTE('additionalmessage');
	var enteredText = stripHTML($('#hdnadditionalmessage').val());

	if(enteredText.length > 501) {
		$('#overlimitwarning').show();
		$('#overlimithidden').val('true');
	} else if(enteredText.length < 501) {
		$('#overlimitwarning').hide();
		$('#overlimithidden').val('false');
	} 
}

function addMap(lat, lon) {
	map = new GMap2(document.getElementById('map_canvas'));
    var mapCenter = new GLatLng(lat,lon);
    map.setCenter(mapCenter, 13);
    var mapControl = new GSmallMapControl();
    map.addControl(mapControl);
    var point = new GLatLng(lat,lon);
    map.addOverlay(new GMarker(point)); 
}

function updateMap() {
	var geocoder = new GClientGeocoder();
	var addressBlock = $("#provider\\.address1").val() + " " + $("#provider\\.city").val() + ", " + $("#provider\\.state").val() + ", " + $("#provider\\.zip").val();
	geocoder.getLocations(addressBlock, function (location) {
    	if(location.Placemark) {
    		var lon = location.Placemark[0].Point.coordinates[0];
    		var lat = location.Placemark[0].Point.coordinates[1];
    		addMap(lat, lon);
    		$("#lat").val(lat);
    		$("#lon").val(lon);
    	}
     });
}

function countrySwitch(countryBox) {
	$('#statelabel').text(countryBox.options[countryBox.selectedIndex].value == 'US' ? ' State ' : ' State / Province / Region '); $('#physical-state-required').text(countryBox.options[countryBox.selectedIndex].value == 'US' ? (!$('#virtualProvider').checked ? '*' : '') : ''); $('#ziplabel').text(countryBox.options[countryBox.selectedIndex].value == 'US' ? ' ZIP ' : ' ZIP / Postal Code '); $(countryBox.options[countryBox.selectedIndex].value == 'US' ? '#statetext' : '#provider\\.state').hide(); $(countryBox.options[countryBox.selectedIndex].value == 'US' ? '#provider\\.state' : '#statetext').show();
}

function changeParent() {
	if($('#provider\\.hasNationalParentOrganization0').is(':checked') == true)
		$('#parentOrgDiv').show();
	else
		$('#parentOrgDiv').hide();
}

