var toggle_dummy_car_ad_type = function(car_ad_type){
	if (car_ad_type.id == "new-car"){
		Effect.Fade('used_options');
	}else if (car_ad_type.id == "used-car"){
		Effect.Appear('used_options');
	}
}

var validateSiteSettings = function(form,token){	
	var car_profile_section;
	var car_ad_section;
	var auto_loan_section;
	var off_road_section;
    var error = true;
	(form['car_profile_section_1'].checked && !form['car_profile_section_0'].checked )? car_profile_section = 1 : car_profile_section = 0;
	(form['car_ad_section_1'].checked && !form['car_ad_section_0'].checked )? car_ad_section = 1 : car_ad_section = 0;
	(form['off_road_section_1'].checked && !form['off_road_section_0'].checked )? off_road_section = 1 : off_road_section = 0;
	(form['auto_loan_section_1'].checked && !form['auto_loan_section_0'].checked )? auto_loan_section = 1 : auto_loan_section = 0;
			
	//------Validation-------
	if(car_profile_section == 1 && car_ad_section == 1 && auto_loan_section == 1 && off_road_section == 1)
	{
		error =  false; //number of sections error occurred
	}
	var counter = 0;
	if(car_profile_section == 1)
		counter++;
	if(car_ad_section == 1)
		counter++;
	if(off_road_section == 1)
		counter++;
	if(auto_loan_section == 1)
		counter++;
	
	if(counter != 3)
		error =  false; //number of sectios error occurred
	
	if(form['expiry_notification'].value < 0)
		error =  false; 		//expiration notification error occurred
		
	if(form['expire'].value <= 0)
		error =  false; 		//expire entry is not valid
	
	if(form['activate_after'].value < 0)
		error =  false; 		//activate after entry is not valid
	
	
	return error;
}

var  getInternetExplorerVersion = function()
//Returns the version of Internet Explorer or a -1
//(indicating the use of another browser).
{
	var rv = -1; // Return value assumes failure.
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
	 var ua = navigator.userAgent;
	 var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
	 if (re.exec(ua) != null)
	   rv = parseFloat( RegExp.$1 );
	}
	return rv;
}
var checkVersion = function(msg)
{
//  return false;
	
	var ver = getInternetExplorerVersion();
	
	if ( ver > -1 )
	{
	 if ( ver >= 8.0 ) 
	   msg = "You're using a recent copy of Internet Explorer.";
	 else{
	   $('warning_message_text').innerHTML=msg;
	   $('warning_message').show();
	 }
	}
	
}


var updateAdminModelsSelect = function(makeId, object_name, update_profiles_select_method, first_entry, css_class){
	$(object_name + '_model_id').style.display = 'none';
	$('models_select_loading').style.display = 'inline';
	if (makeId == ''){
		makeId = " ";
	}
	new Ajax.Request("/admin/makes/" + makeId + "/models_select/", {
		method: 'GET',
		parameters: {
			'css_class': css_class,
			'object_name': object_name,
			'first_entry': first_entry,
			'update_profiles_select_method': update_profiles_select_method
		}
	})
};

var updateAdminProfilesSelect = function(modelId){
	if ($('car_car_profile_id')){
		$('car_car_profile_id').style.display = 'none';
		$('profiles_select_loading').style.display = 'inline';
		if (modelId == ''){
			modelId = " ";
		}
		new Ajax.Request("/admin/models/" + modelId + "/profiles_select/", {method: 'GET'})
	}
}

var updateCompareProfilesSelect = function(modelId){
	
	if ($('compare_profile_id')){
		$('compare_profile_id').style.display = 'none';
		$('profiles_select_loading').style.display = 'inline';
		if (modelId == ''){
			modelId = " ";
		}
		new Ajax.Request("/car_profiles/" + modelId + "/profiles_select/", {method: 'GET'})
	}
}

var trimSelected = function(carProfileId){
	if (carProfileId == '0'){
		Effect.Appear('trim');
		Effect.Appear('year');
		
		$('car_profile_id').value = '0';
	}else{
		Effect.Fade('trim');
		Effect.Fade('year');
		
		// trim_option will be the car profile id in this case
		$('car_profile_id').value = carProfileId;
		new Ajax.Request("/admin/dummy_car_ads/" + carProfileId + "/load_profile/", {method: 'GET'})
	}
}

var toggleUsernameInput = function(usernameInput){
	
	if (usernameInput.id == 'dummy_username_input'){
		var dummyInput = jQuery(usernameInput);
		var actuaInput = dummyInput.next('input');
		
		dummyInput.hide();
		actuaInput.show().focus();
	}else if (usernameInput.value == ''){
		var actualInput = jQuery(usernameInput);
    var dummyInput = actualInput.prev('input');
		
		dummyInput.show();
		actualInput.hide();
	}
	
}

var togglePasswordInput = function(passwordInput){
	
	if (passwordInput.id == 'dummy_password_input'){
    var dummyInput = jQuery(passwordInput);
    var actuaInput = dummyInput.next('input');
    
    dummyInput.hide();
    actuaInput.show().focus();
  }else if (passwordInput.value == ''){
    var actualInput = jQuery(passwordInput);
    var dummyInput = actualInput.prev('input');
    
    dummyInput.show();
    actualInput.hide();
  }
	
}

function fieldOnFocus(field){
	$(field.id + '_constraints').style['visibility'] = 'visible';
}

function fieldOnBlur(field){
	$(field.id + '_constraints').style['visibility'] = 'hidden';
}



var destroyPhoto = function(){
	if( confirm(alerts.confirmDeletePhoto()) ){
		form = $('destroy_photo_form') 
		new Ajax.Request(form.action, {
			method: 'post',
			parameters: Form.serialize(form),
			onLoading: function(response){$('car_photo').src = "<%= AppConfig.images['spinner'] %>";},
			onComplete: function(response){
				$('car_photo').src = response.responseText;
				$('change_link').hide();
				$('upload_link').show();
			}
		});
	}
}

var uploadPhoto = function(){
	form = $('upload_photo_form');
	form.submit();
	$('car_photo').src = "/images/common/loading.gif"
}

var submitCarProfilesSearch = function(form, sortingBy, page, direction){
	
	makeId = form['search[make_id]'].value;
	priceRange = form['search[price_range]'].value;
	bodyType = form['search[body_type]'].value;
	ccRangeId = form['search[cc_range]'].value;
	horsePower = form['search[horse_power]'].value;
	window.location = "/car_profiles/makes/" + makeId + "/prices/" + priceRange + "/body_types/" + bodyType + "/cc_ranges/" + ccRangeId + "/horse_powers/" + horsePower + "/sorting/" + sortingBy + "/search_pages/" + page + '?sorting_direction='+direction
	}

var submitCarAdsSearch = function(form, sortingBy, page, direction){
	priceRange = form['search[price_range]'].value;
	makeId = form['search[make_id]'].value;
	modelId = form['search[model_id]'].value;
	yearId = form['search[year]'].value;
	cityId = form['search[city]'].value;
	window.location = "/car_ads/makes/" + makeId + "/models/" + modelId + "/prices/" + priceRange + "/years/" + yearId + "/cities/" + cityId + "/sorting/" + sortingBy + "/search_pages/" + page+ '?sorting_ad_direction='+direction
}

var submitAdminCarAdsSearch = function(form, page, user){
	if (user == undefined) {
		priceRange = form['search[price_range]'].value;
		makeId = form['search[make_id]'].value;
		modelId = form['search[model_id]'].value;
		yearId = form['search[year]'].value;
		window.location = "/admin/car_ads/makes/" + makeId + "/models/" + modelId + "/prices/" + priceRange + "/years/" + yearId + "/pages/" + page
	} else {
		window.location = "/admin/users/" + user + "/car_ads/" + "/pages/" + page
	}
}

var submitAdminShowRoomSearch = function(form, sort){	
	makeId = form['search[make_id]'].value;
	name = form['search[name]'].value;	
	if (name=="")
		name="nil"

	window.location = "/admin/show_rooms/makes/"+ makeId + "/name/" + name + "/sort_by/" + sort + "/pages/" + 1
}

var submitAdminServiceCenterSearch = function(form, sort){	
	makeId = form['search[make_id]'].value;
	name = form['search[name]'].value;	
	if (name=="")
		name="nil"

	window.location = "/admin/service_centers/makes/"+ makeId + "/name/" + name + "/sort_by/" + sort + "/pages/" + 1
}

var submitfeaturedCars = function(form){	
	makeId = form['search[make_id]'].value;
	window.location = "/admin/featured_car_profiles/"+ makeId +"/pages/"+1
}

var submitUsersCars = function(form){	
	makeId = form['search[make_id]'].value;
	window.location = "/admin/users_cars/"+ makeId +"/pages/"+1
}


var featureCarAd = function(checkBox, form_id){
	form = $(form_id);
	serialized_form = Form.serialize(form)
	serialized_form += "&featured=" + checkBox.checked
	new Ajax.Request(form.action, {
		method: 'post',
		parameters: serialized_form
	});
}

var featureCarProfile = function(checkBox, form_id){
	form = $(form_id);
	serialized_form = Form.serialize(form)
	serialized_form += "&featured=" + checkBox.checked
	new Ajax.Request(form.action, {
		method: 'post',
		parameters: serialized_form
	});
}

var deleteTopic = function(action_url, authenticity_token, success_url){
	if (confirm('Are you sure you want to delete this discussion?')){
		new Ajax.Request(action_url, {
			asynchronous: true,
			evalScripts: true,
			parameters: {
				authenticity_token: authenticity_token
			},
			method: "delete",
			onSuccess: function(request){
				window.location = success_url;
			}
		});
	}
}

var deleteReply = function(action_url, authenticity_token, item_to_hide){
	if (confirm('Are you sure you want to delete this discussion reply?')){
		new Ajax.Request(action_url, {
			asynchronous: true,
			evalScripts: true,
			parameters: {
				authenticity_token: authenticity_token
			},
			method: "delete",
			onSuccess: function(request){
				Effect.Fade(item_to_hide);
			}
		});
	}
}

var watchDiscussion = function(action_url, authenticity_token, method){
	new Ajax.Request(action_url, {
			asynchronous: true,
			evalScripts: true,
			parameters: {
				authenticity_token: authenticity_token
			},
			method: method
		});
}

var filterCarRentals = function(form){
	cityId = form['search[city_id]'].value;
	window.location = "/car_rentals/cities/" + cityId + "/pages/1/"
}

var loadMapLatitude;
var loadMapLongitude;
var loadMapTitle;
var loadMap = function() {
    var latlng = new google.maps.LatLng(loadMapLatitude, loadMapLongitude);
    var mapOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("location_map"), mapOptions);
	
	var marker = new google.maps.Marker({
      position: latlng, 
      map: map, 
      title:loadMapTitle
  	});
  }

var PageCompare = {
	
	pages: new Hash(),
	
	select: function(pageID){
		var check_box = $('chk_compare_' + pageID);
		if ( this.pages.get(pageID) == true ) {
			this.pages.unset(pageID);
			if ( this.pages.size() == 1 ) this.toggle();
			$('chk_compare_' + pageID).enable();
		}else{
			this.pages.set(pageID, true);
			if ( this.pages.size() == 2 ) this.toggle();			
		}		
	},
	
	toggle: function(){
		$$('.car-finder-compare input').each( function(item){ if (!item.checked) item.disabled = !item.disabled; } )
	},
	
	clearChecking: function(){
		$$('.car-finder-compare input').each( function(item){ item.enable(); item.checked = false; } )
	},
	
	submitCompare: function(compareType, comparURL){
		if (this.pages.size() < 2) return;
		comparURL = comparURL.replace( '$1', compareType );
		comparURL = comparURL.replace( '$2', this.pages.keys().first() );
		comparURL = comparURL.replace( '$3', this.pages.keys().last() );
		comparURL = comparURL.replace( '$4', 'pages' );
		this.clearChecking();
		window.location = comparURL;
	}
	
}//end PageCompare
