function selectedOption(id_select, option_value)
{
	$('#'+id_select).children().each(function(){
		var row = $(this);
		
		if (row.attr('value') == option_value)
		{
			row.attr('selected', true);
		}
	});
}

function changeImage(filename)
{
//	document.mainimage.src = filename;
	$('#mainimage').attr('src', filename);
}

function MM_showHideLayers() 
{
	var i,p,v,obj,args = MM_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3) 
		with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) 
		{ 
			v=args[i+2];
			if (obj.style) 
			{ 
				obj=obj.style; 
				v=(v=='show')?'visible':(v=='hide')?'hidden':v; 
			}
			obj.visibility = v; 
		}
}

function loadModels()
{
	var id_make = $('#make').val();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/loadmodels',
			data: "id_parent="+id_make,
			dataType: "json",
			async: false,
			success: function(data)
				{
					$('#model_div').html('<select id="model" name="id_model"></select');
					$('#model').html('<option value="">any model</option>');
	
					for (var i in data)
					{
						$("#model").append('<option value="'+i+'">'+data[i]+'</option>');
					}
//					reselect('#model');
				}
		}
	);
}

function loadModels2(id_make)
{
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/loadmodels',
			data: "id_parent="+id_make,
			dataType: "json",
			async: false,
			success: function(data)
				{
					$('#models_ul').html('<li id="selector_id_model_all" onClick="selectMultySearchParam(\'id_model\', \'all\');"><a href="javascript:void(0);">All</a></li>');
					for (var i in data)
					{
						$("#models_ul").append('<li id="selector_id_model_'+i+'" onClick="selectMultySearchParam(\'id_model\', \''+i+'\');"><a href="javascript:void(0);">'+data[i]+'</a></li>');
					}
				}
		}
	);
}

function loadModels3()
{
	var id_make = $('#id_make').val();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/loadmodels',
			data: "id_parent="+id_make,
			dataType: "json",
			async: false,
			success: function(data)
				{
					$('#id_model_div').html('<select id="id_model" name="id_model"></select');
					$('#id_model').html('<option value="">-</option>');
	
					for (var i in data)
					{
						$("#id_model").append('<option value="'+i+'">'+data[i]+'</option>');
					}
//					reselect('#id_model');
				}
		}
	);
}

function reselect(select, addclass) 
{
    addclass = typeof(addclass) != 'undefined' ? addclass : '';
    $(select).wrap('<div class="sel_wrap ' + addclass + '"/>');    
    var sel_options = '';    
    var selected_option = false;    
    $(select).children('option').each(function() {        
        if($(this).is(':selected')){            
            selected_option = $(this).index();            
        }        
        sel_options = sel_options + '<div class="sel_option" value="' + $(this).val() + '" ajax="' + $(select).attr('ajax') + '">' + $(this).html() + '</div>';
    });    
    var sel_imul = '<div class="sel_imul">\
                <div class="sel_selected">\
                    <div class="selected-text">' + $(select).children('option').eq(selected_option).html() + '</div>\
                    <div class="sel_arraw"></div>\
                </div>\
                <div class="sel_options">' + sel_options + '</div>\
            </div>';
    $(select).before(sel_imul);
}

function selectSearchParam(input_id, input_value)
{
	for (var i in eval(input_id+'_array'))
	{
		$('#'+eval(input_id+'_array')[i]).attr('className', 'borderW');
	}
	
	$('#'+input_id).val(input_value);
	
	var class_name = $('#selector_'+input_id+'_'+input_value).attr('className')+' choice';
	$('#selector_'+input_id+'_'+input_value.replace(',', '')).attr('className', class_name);
}

function selectSearchParam2(input_id, input_value)
{
	for (var i in eval(input_id+'_array'))
	{
		$('#'+eval(input_id+'_array')[i]).attr('className', '');
	}
	
	$('#'+input_id).val(input_value);
	
	$('#selector_'+input_id+'_'+input_value.replace(',', '')).attr('className', 'choice');
}

function selectMultySearchParam(input_id, input_value)
{
	if ($('#selector_'+input_id+'_'+input_value).attr('className') == 'choice')
	{
		$('#'+input_id+'_'+input_value).remove();
		$('#selector_'+input_id+'_'+input_value).attr('className', '');
	}
	else
	{
		$('#selector_'+input_id+'_'+input_value).attr('className', 'choice');
		$('#cars_search_form').append('<input type="hidden" name="'+input_id+'[]" id="'+input_id+'_'+input_value+'" value="'+input_value+'" />')
	}
}

function selectPriceRange(direction)
{
	if (direction == '')
	{
		$('#selector_price_from').attr('className', 'borderW');
		$('#selector_price_to').attr('className', 'borderW');
		$('#selector_price_from').attr('onClick', 'selectPriceRange(\'from\');');
		$('#selector_price_to').attr('onClick', 'selectPriceRange(\'to\');');
		
		$('#selector_price_from').html('<a href="javascript:void(0);"><strong>$ from</strong></a>')
		$('#selector_price_to').html('<a href="javascript:void(0);"><strong>$ to</strong></a>')
	}
	else 
	{
		for (var i in price_array)
		{
			$('#'+price_array[i]).attr('className', 'borderW');
		}
		
		$('#selector_price_'+direction).attr('className', 'borderW choice');
		$('#selector_price_'+direction).attr('onClick', '');
		$('#selector_price_'+direction).html('<input type="text" name="price_'+direction+'" id="price_'+direction+'" style="width:120px;" />');
		$('#price').val('');
	}
}

function changeListOrder(id_select)
{
	var list_order = $('#'+id_select).val();
	$('#list_order').val(list_order);
	
	document.list_order_form.submit();
}

function validateQuestionForm()
{
	var form_data = $('#question_form').serializeArray();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/questionformvalidate',
			data: form_data,
			dataType: "json",
			async: false,
			success: function(data)
				{
					$('#question_form_errors').hide();
					$('#question_form_errors').html('');
					
					for (var i in data)
					{
						$('#question_form_errors').append('<strong>'+data[i]+'</strong> field is obligatory for filling!<br>')
					}
					
					if (data.length > 0)
					{
						$('#question_form_errors').show();
					}
					else
					{
						$('#confirm_question').html($('#question').val());
						$('#confirm_name').html($('#first_name').val()+' '+$('#last_name').val());
						$('#confirm_mail').html($('#mail').val());
						$('#confirm_phone').html($('#phone').val());
						
						$('#question_div').hide();
						$('#question_confirm_div').show();
					}
				}
		}
	);
}

function submitQuestionForm()
{
	var form_data = $('#question_form').serializeArray();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/questionformsubmit',
			data: form_data,
//			dataType: "json",
			async: false,
			success: function(data)
				{
					if (data == 'ok')
					{
						$('#question_confirm_div').hide();
						$('#question_done_div').show();
					}
					else
					{
						alert('Sorry, can\'t send a message.');
					}
				}
		}
	);
}

function validateLinkForm()
{
	var form_data = $('#link_form').serializeArray();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/linkformvalidate',
			data: form_data,
			dataType: "json",
			async: false,
			success: function(data)
				{
					$('#link_form_errors').hide();
					$('#link_form_errors').html('');
					
					for (var i in data)
					{
						$('#link_form_errors').append('<strong>'+data[i]+'</strong> field is obligatory for filling!<br>')
					}
					
					if (data.length > 0)
					{
						$('#link_form_errors').show();
					}
					else
					{
						$('#confirm_link_sender_name').html($('#link_sender_name').val());
						$('#confirm_link_sender_mail').html($('#link_sender_mail').val());
						$('#confirm_link_friend_name').html($('#link_friend_name').val());
						$('#confirm_link_friend_mail').html($('#link_friend_mail').val());
						$('#confirm_link_message').html($('#link_message').val());
						
						$('#link_div').hide();
						$('#link_confirm_div').show();
					}
				}
		}
	);
}

function submitLinkForm()
{
	var form_data = $('#link_form').serializeArray();
	
	$('#loading_div').show();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/linkformsubmit',
			data: form_data,
//			dataType: "json",
			async: false,
			success: function(data)
				{
					if (data == 'ok')
					{
						$('#link_confirm_div').hide();
						$('#link_done_div').show();
					}
					else
					{
						alert('Sorry, can\'t send a message.');
						$('#loading_div').hide();
					}
				}
		}
	);
}

function validateShippingForm()
{
	var form_data = $('#link_form').serializeArray();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/shippingformvalidate',
			data: form_data,
			dataType: "json",
			async: false,
			success: function(data)
				{
					$('#shipping_form_errors').hide();
					$('#shipping_form_errors').html('');
					
					for (var i in data)
					{
						$('#shipping_form_errors').append('<strong>'+data[i]+'</strong> field is obligatory for filling!<br>')
					}
					
					if (data.length > 0)
					{
						$('#shipping_form_errors').show();
					}
					else
					{
						submitShippingForm();
					}
				}
		}
	);
}

function submitShippingForm()
{
	var form_data = $('#link_form').serializeArray();
	
	$('#shipping_loading_div').show();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/shippingformsubmit',
			data: form_data,
//			dataType: "json",
			async: false,
			success: function(data)
				{
					if (data == 'ok')
					{
						$('#shipping_div').hide();
						$('#shipping_done_div').show();
					}
					else
					{
						alert('Sorry, can\'t send a message.');
						$('#shipping_loading_div').hide();
					}
				}
		}
	);
}

function validateDealersSearchForm()
{
	$('#dealers_search_form_errors').hide();
	$('#dealers_search_form_errors').html('');
	
	var geocoder = new GClientGeocoder();
	geocoder.getLatLng(
		$('#address').val(),
		function(point) {
			if (!point) 
			{
				$('#dealers_search_form_errors').append('<strong>Address</strong> not found!<br>')
				$('#dealers_search_form_errors').show();
			} 
			else 
			{
//				alert(point);
//				$('#geo_point').val(point);
				document.getElementById('geo_point').value = point;
			}
		}
	);
	
	var form_data = $('#dealers_search_form').serializeArray();
	
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/dealerssearchformvalidate',
			data: form_data,
			dataType: "json",
			async: true,
			success: function(data)
				{
					for (var i in data)
					{
						$('#dealers_search_form_errors').append('<strong>'+data[i]+'</strong> field is obligatory for filling!<br>')
					}
					
					if (data.length > 0)
						$('#dealers_search_form_errors').show();
					else
						document.dealers_search_form.submit();
				}
		}
	);
}

function loginFormSubmit()
{
	if ($('#login_field').val() != '' && $('#password_field').val() != '')
		document.login_form.submit();
}

function registerFormSubmit(status)
{
	$('#status').val(status);
	document.register_form.submit();
}

function removeUserSearch(id_search, hash)
{
	if (confirm('Are you sure you want to remove it?'))
	{
		window.location.href = BASE_URL+'user/searches/'+id_search+'?hash='+hash;
	}
}

function generalInfoSubmit()
{
	var address = $('#dealer_address').val()+' '+$('#dealer_address_cont').val()+' '+$('#dealer_state').val();
		
	var geocoder = new GClientGeocoder();
	geocoder.getLatLng(
		address,
		function(point) {
			if (!point) 
			{
				alert('Address not found on the map');
				document.info_form.submit();
			} 
			else 
			{
				$('#dealer_geo_point').val(point);
				document.info_form.submit();
			}
		}
	);
}

function changeOfferStatus(status, id_offer)
{
	var status_name = (status == 2 ? 'accept' : 'decline');
	
	if (confirm('Are you sure you want to '+status_name+' this offer'))
	{
		$('#id_offer').val(id_offer);
		$('#status').val(status);
		
		document.offer_status_form.submit();
	}
}

function changeOrderStatus(status, id_offer)
{
	if (confirm('Are you sure you want to change order status?'))
	{
		$('#id_order').val(id_offer);
		$('#status').val(status);
		
		document.order_status_form.submit();
	}
}

function denyInsert(id)
{
	$('#'+id).live("keydown keypress", function(e){
	    var e = e || event, k = e.which || e.button;
	    if(e.ctrlKey && k == 86) return false
	    if(k == 2)return false 
	});
	$('#'+id).live("paste contextmenu", function(){return false});
}

function removeExistingPhoto(array_index)
{
	if (array_index == 0)
		var inner_html = '<input name="photo" type="file" class="input200" id="photo" style="height:auto;" />';
	else
		var inner_html = '<input name="photos[]" type="file" class="input200" id="photo_'+(array_index+1)+'" style="height:auto;" />';
	$('#used_photo_div_'+array_index).html(inner_html);
	
	$('#user_photo_'+array_index).hide();
}

function addExistingPhoto(array_index, id_car, photo)
{
	var inner_html = '<img src="'+BASE_URL+'application/views/scripts/client/images/cars/small/'+id_car+'/'+photo+'" align="middle" />';
	inner_html += '&nbsp;&nbsp;&nbsp;';
	inner_html += '<a href="javascript:void(0);" onClick="removeExistingPhoto('+array_index+');">Delete photo</a>';
	inner_html += '<input type="hidden" name="photos['+array_index+']" id="used_photo_'+array_index+'" value="'+photo+'" />';
	
	$('#used_photo_div_'+array_index).html(inner_html);
	
	$('#user_photo_'+array_index).show();
}

function removeExistingPhotoForUpdate(array_index)
{
	if (array_index == 0)
	{
		var inner_html = '<input name="photo" type="file" class="input200" id="photo" style="height:auto;" />';
	}
	else
	{
		var inner_html = '<input name="photos[]" type="file" class="input200" id="photo_'+(array_index+1)+'" style="height:auto;" />';
		$('#delete_photos_'+array_index).attr('disabled', false);
	}
	$('#used_photo_div_'+array_index).html(inner_html);
	
	$('#user_photo_'+array_index).hide();
}

function addExistingPhotoForUpdate(array_index, id_car, photo)
{
	var inner_html = '<img src="'+BASE_URL+'application/views/scripts/client/images/cars/small/'+id_car+'/'+photo+'" align="middle" />';
	inner_html += '&nbsp;&nbsp;&nbsp;';
	inner_html += '<a href="javascript:void(0);" onClick="removeExistingPhoto('+array_index+');">Delete photo</a>';
//	inner_html += '<input type="hidden" name="photos['+array_index+']" id="used_photo_'+array_index+'" value="'+photo+'" />';
	
	$('#used_photo_div_'+array_index).html(inner_html);
	
	$('#user_photo_'+array_index).show();
	
	if (array_index > 0)
		$('#delete_photos_'+array_index).attr('disabled', true);
}

function loadSpecialData(id_car)
{
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/loadspecialdata',
			data: "id_car="+id_car,
			async: false,
			beforeSend: function()
				{
					var top = ($(window).height() / 2) - 100;
					var left = ($(window).width() / 2) - 100;
					$('#special_car_data_loading').css('top', top);
					$('#special_car_data_loading').css('left', left);
					$('#window_locker').show();
					$('#special_car_data_loading').show();
				},
			success: function(data)
				{
					$('#special_car_data_loading').hide();
					$('#window_locker').hide();
					$('#special_car_detail_inner').html(data);
					$('#special_car_detail_div').show();
					MM_showHideLayers('special_car_detail_div','','show');
				}
		}
	);
}

function refreshCaptcha(id_captcha_box, captcha_name, captcha_session)
{
	var  data =	$.ajax(
		{
			type: "POST",
			url: BASE_URL+'ajax/refreshcaptcha',
			data: "captcha_name="+captcha_name+"&captcha_session="+captcha_session,
			async: false,
			beforeSend: function()
				{
					$('#'+id_captcha_box).html('<img src="'+IMAGES_URL+'loading.gif" />');
				},
			success: function(data)
				{
					$('#'+id_captcha_box).html(data);
				}
		}
	);
}
