/*  Added by Ganzo
 *  USI for Easy Car
 */
// function check not Kanji and Japan characters
function check_japan(id){
	var textarea = document.getElementById(id);
	var charcount = textarea.value.length;
	for (var i =1; i <= charcount; i++){
		var lastchar = textarea.value.charAt(charcount-i);
		if (lastchar.match(/^[a-zA-Z0-9-]{1,}$/) && (textarea.value.match(/^[a-zA-Z0-9-]{1,}$/))){
			textarea.value = textarea.value.substring(0, charcount+1);
		}
		else{
			if (charcount == i){
				textarea.value = '';
				}
		textarea.value = textarea.value.substring(0,charcount-i);
		}
	}
};

//function check only intenger
function check_int(id){
	var textarea = document.getElementById(id);
	var charcount = textarea.value.length;
	for (var i =1; i <= charcount; i++){
		var lastchar = textarea.value.charAt(charcount-i);
		if (lastchar.match(/^[0-9]{1,}$/) && (textarea.value.match(/^[0-9]{1,}$/))){
			textarea.value = textarea.value.substring(0, charcount+1);
		}
		else{
			if (charcount == i){
				textarea.value = '';
				}
		textarea.value = textarea.value.substring(0,charcount-i);
		}
	}
};
//function check telephone number with "-" and payment value
function check_tel(id){
	var textarea = document.getElementById(id);
	var charcount = textarea.value.length;
	for (var i =1; i <= charcount; i++){
		var lastchar = textarea.value.charAt(charcount-i);
		if (lastchar.match(/^[0-9-]{1,}$/) && (textarea.value.match(/^[0-9-]{1,}$/))){
			textarea.value = textarea.value.substring(0, charcount+1);
		}
		else{
			if (charcount == i){
				textarea.value = '';
				}
		textarea.value = textarea.value.substring(0,charcount-i);
		}
	}
};

function get_model_url(id, type){
	var model_url = '';
	if (id == 'id_makercode' && type == 'null'){
		model_url = '/customers/get_models_flexbox/';
	}
	if (id == 'id_makercode' && type == 'maker'){
		model_url = '/customers/get_models_flexbox/?carmaker='+$('#id_makercode_hidden').val();
	}
	if (id == 'id_carname' && type == 'carname'){
		model_url = '/customers/get_models_flexbox/?carname='+$('#id_carname_hidden').val();
	}
	if (id == 'id_carname' && type == 'null'){
		model_url = '/customers/get_models_flexbox/';
	}
	return model_url;
}

function cr_model_flexbox(){

	// use case 1.1.1, 2.1.1
	if ($("#id_carname_input").val() != "" && $("#id_makercode_input").val() != ""){
		$("#id_par_model").html("<div id='id_model1'></div>");
		$("#id_model1").flexbox('/customers/get_models_flexbox/?carname='+$('#id_carname_hidden').val(),{
			width: 100,
			onSelect: function (){
				//if ($("#id_vin_number").val() == ""){
					$("#id_vin_number").val($("#id_model1_input").val()+"-");
					$("#id_vin_number").select()
					//}
			}
		});
		$("#id_model1").change(function(){
			if ($("#id_model1_input").val() ==""){
				$("#id_model1_hidden").val("");
				$("#id_vin_number").val("");
				cr_model_flexbox();
				if ($("#id_carname_input").val() == ""){
					$("#id_carname_hidden").val("");
					cr_carname_flexbox();
				}
				if($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					cr_maker_flexbox();
				}
			}
		});
	}
	// use case 1.2
	if ($("#id_carname_input").val() == "" && $("#id_makercode_input").val() != ""){
		$("#id_par_model").html("<div id='id_model1'></div>");
		$("#id_model1").flexbox('/customers/get_models_flexbox/?carmaker='+$('#id_makercode_hidden').val(),{
			width: 100,
			onSelect: function(){
				cr_carname_flexbox(); // use case 1.2.1
				//if ($("#id_vin_number").val() == ""){
					$("#id_vin_number").val($("#id_model1_input").val()+"-");
					$("#id_vin_number").select()
					//}
			}
		});
		$("#id_model1").change(function(){
			if ($("#id_model1_input").val() ==""){
				$("#id_model1_hidden").val("");
				$("#id_vin_number").val("");
				$("#id_is_small").val("");
				cr_model_flexbox();
				if ($("#id_carname_input").val() == ""){
					$("#id_carname_hidden").val("");
					cr_carname_flexbox();
				}
				if($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					cr_maker_flexbox();
				}
			}
		});
	}
	// use case 2.2
	if ($("#id_carname_input").val() != "" && $("#id_makercode_input").val() == ""){
		$("#id_par_model").html("<div id='id_model1'></div>");
		$("#id_model1").flexbox('/customers/get_models_flexbox/?carname='+$('#id_carname_hidden').val(),{
			width: 100,
			onSelect: function (){
				cr_maker_flexbox(); // use case 2.2.1
				//if ($("#id_vin_number").val() == ""){
					$("#id_vin_number").val($("#id_model1_input").val()+"-");
					$("#id_vin_number").select()
				//}
			}
		});
		$("#id_model1").change(function(){
			if ($("#id_model1_input").val() ==""){
				$("#id_model1_hidden").val("");
				$("#id_vin_number").val("");
				$("#id_is_small").val("");
				cr_model_flexbox();
				if ($("#id_carname_input").val() == ""){
					$("#id_carname_hidden").val("");
					cr_carname_flexbox();
				}
				if($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					cr_maker_flexbox();
				}
			}
		});
	}
	
	if ($("#id_carname_input").val() == "" && $("#id_makercode_input").val() == ""){
		$("#id_par_model").html("<div id='id_model1'></div>");
		$("#id_model1").flexbox('/customers/get_models_flexbox/',{
			width:100,
			onSelect: function(){
				cr_maker_flexbox();
				cr_carname_flexbox();
				//if ($("#id_vin_number").val() == ""){
					$("#id_vin_number").val($("#id_model1_input").val()+"-");
					$("#id_vin_number").select()
				//}
			}
		});
		$("#id_model1").change(function (){
			if ($("#id_model1_input").val() ==""){
				$("#id_model1_hidden").val("");
				$("#id_vin_number").val("");
				$("#id_is_small").val("");
				cr_model_flexbox();
				if ($("#id_carname_input").val() == ""){
					$("#id_carname_hidden").val("");
					cr_carname_flexbox();
				}
				if($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					cr_maker_flexbox();
				}
			}
		});
	}
}
function cr_carname_flexbox(){
	
	//  use case 1.1 
	if ($("#id_makercode_input").val() !='' && $("#id_model1_input").val() == ''){
		$("#id_par_carname").html("<div id='id_carname'></div>");
		$("#id_carname").flexbox('/customers/get_carnames_flexbox/?carmaker='+$('#id_makercode_hidden').val(),{
			width: 150,
			onSelect: function(){
				$("#id_vin_number").val("");
				$("#id_is_small").val("");
				cr_model_flexbox(); //  use case 1.1.1
				}
			});
		$("#id_carname").change(function(){
			if ($("#id_carname_input").val() == ""){
				$("#id_carname_hidden").val("");
				cr_carname_flexbox();
				if($("#id_model1_input").val() == ""){
					$("#id_model1_hidden").val("");
					cr_model_flexbox();
				}
				if($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					cr_maker_flexbox();
				}
			}
		});
	}
	// use case 1.2.1 , 3.2.1
	
	if ($("#id_makercode_input").val() !='' && $("#id_model1_input").val() != ''){
		$("#id_par_carname").html("<div id='id_carname'></div>");
		$("#id_carname").flexbox('/customers/get_carnames_flexbox/?model='+$('#id_model1_hidden').val(),{width: 150});
		$("#id_carname").change(function (){
			if($("#id_carname_input").val() == ""){
				$("#id_carname_hidden").val("");
				cr_carname_flexbox();
				if($("#id_model1_input").val() == ""){
					$("#id_model1_hidden").val("");
					cr_model_flexbox();
				}
			}
		});
	}
	// use case 3.2
	if ($("#id_makercode_input").val() =='' && $("#id_model1_input").val() != ''){
		$("#id_par_carname").html("<div id='id_carname'></div>");
		$("#id_carname").flexbox('/customers/get_carnames_flexbox/?model='+$('#id_model1_hidden').val(),{
			width: 150,
			onSelect: function(){
				cr_maker_flexbox(); // 3.2.1 , use case 2.2.1 ruu userne
			}
		});
		$("#id_carname").change(function(){
			if($("#id_carname_input").val() == ""){
				$("#id_carname_hidden").val("");
				cr_carname_flexbox();
				if($("#id_model1_input").val() == ""){
					$("#id_model1_hidden").val("");
					cr_model_flexbox();
				}
				if($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					cr_maker_flexbox();
				}
			}
		});
	}
	
		/**$("#id_par_model").html("<div id='id_model1'></div>");
		$("#id_model1").flexbox('/customers/get_models_flexbox/?carmaker='+$('#id_makercode_hidden').val(),{
			width: 100,
			onSelect: function(){
				$("#id_par_carname").html("<div id='id_model1'></div>");
				$("#id_carname").flexbox('/customers/get_carnames_flexbox/?model='+$('#id_model1_hidden').val(),{
				width: 100
				});
				}
			});
		$("#id_model1").change(function(){
			if ($("#id_model1_input").val() ==""){
				$("#id_model1_hidden").val("");
			}
		}); }*/
	if ( $("#id_makercode_input").val() =='' && $("#id_model1_input").val() == ''){
		$("#id_par_carname").html("<div id='id_carname'></div>");
		$("#id_carname").flexbox('/customers/get_carnames_flexbox/',{
			width: 150,
			onSelect: function(){
				$("#id_vin_number").val("");
				$("#id_is_small").val("");
				cr_model_flexbox();
				cr_maker_flexbox();
				}
			});
		$("#id_carname").change(function(){
			if($("#id_carname_input").val() == ""){
				$("#id_carname_hidden").val("");
				cr_carname_flexbox();
				if($("#id_model1_input").val() == ""){
					$("#id_model1_hidden").val("");
					cr_model_flexbox();
				}
				if($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					cr_maker_flexbox();
				}
			}
		});
	}
}	

function cr_maker_flexbox(){
	// use case 2.2.1
	if ($("#id_carname_input").val() != "" && $("#id_model1_input").val() != ""){
		if ($("#id_makercode_input").val() == ""){
			$("#id_par_makercode").html("<div id='id_makercode'></div>");
			$("#id_makercode").flexbox('/customers/get_makers_flexbox/?carname='+$('#id_carname_hidden').val(),{width: 150});
			$("#id_makercode").change(function(){
				if ($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					$('#id_carname_input').val("");
					$('#id_carname_hidden').val("");
					$('#id_model1_input').val("");
					$('#id_model1_hidden').val("");
					$('#id_vin_number').val("");
					$('#id_is_small').val("");
					cr_maker_flexbox();
					if ($("#id_carname_input").val() == ""){
						cr_carname_flexbox();
					}
					if($("#id_model1_input").val() == ""){
						$("#id_model1_hidden").val("");
						cr_model_flexbox();
					}
				}
			});
		}
	}
	// use case 2.1
	if ($("#id_carname_input").val() != "" && $("#id_model1_input").val() == ""){
		
		if ($("#id_makercode_input").val() == ""){
			
			$("#id_par_makercode").html("<div id='id_makercode'></div>");
			$("#id_makercode").flexbox('/customers/get_makers_flexbox/?carname='+$('#id_carname_hidden').val(),{
				width: 150,
				onSelect: function(){
					$("#id_vin_number").val("");
					$("#id_is_small").val("");
					cr_model_flexbox(); //use case 2.1.1
				}
			});
			$("#id_makercode").change( function(){
				if ($("#id_makercode_input").val() == ""){
					$("#id_makercode_hidden").val("");
					$('#id_carname_input').val("");
					$('#id_carname_hidden').val("");
					$('#id_model1_input').val("");
					$('#id_model1_hidden').val("");
					$('#id_vin_number').val("");
					$('#id_is_small').val("");
					cr_maker_flexbox(); // hervee songood ustgasan bol use case 2.2.1 ruu userne
					if ($("#id_carname_input").val() == ""){
						cr_carname_flexbox();
					}
					if($("#id_model1_input").val() == ""){
						$("#id_model1_hidden").val("");
						cr_model_flexbox();
					}
				}
			});
		}

	}
	// use case 3.1
	if ($("#id_carname_input").val() == "" && $("#id_model1_input").val() != ""){
		
		$("#id_par_makercode").html("<div id='id_makercode'></div>");
		$("#id_makercode").flexbox('/customers/get_makers_flexbox/?model='+$('#id_model1_hidden').val(),{
			width: 150,
			onSelect: function(){
				cr_carname_flexbox(); // use case 3.1.1, use case 1.2.1 uetei adil
			}
		});
		$("#id_makercode").change(function(){
			if ($("#id_makercode_input").val() == ""){
				$("#id_makercode_hidden").val("");
				$('#id_carname_input').val("");
				$('#id_carname_hidden').val("");
				$('#id_model1_input').val("");
				$('#id_model1_hidden').val("");
				$('#id_vin_number').val("");
				$('#id_is_small').val("");
				cr_maker_flexbox(); // hervee songood ustgasan bol use case 2.2.1 ruu userne
				if ($("#id_carname_input").val() == ""){
					cr_carname_flexbox();
				}
				if($("#id_model1_input").val() == ""){
					$("#id_model1_hidden").val("");
					cr_model_flexbox();
				}
			}
		});
	}
	
	if ($("#id_carname_input").val() == "" && $("#id_model1_input").val() == ""){
		
		$("#id_par_makercode").html("<div id='id_makercode'></div>");
		$("#id_makercode").flexbox('/customers/get_makers_flexbox/',{
			width: 150,
			onSelect: function (){
				$("#id_vin_number").val("");
				$("#id_is_small").val("");
				cr_carname_flexbox();
				cr_model_flexbox();
			}
		});
		$("#id_makercode").change(function (){
			if ($("#id_makercode_input").val() == ""){
				$("#id_makercode_hidden").val("");
				$('#id_carname_input').val("");
				$('#id_carname_hidden').val("");
				$('#id_model1_input').val("");
				$('#id_model1_hidden').val("");
				$('#id_vin_number').val("");
				$('#id_is_small').val("");
				cr_maker_flexbox();
				if ($("#id_carname_input").val() == ""){
					cr_carname_flexbox();
				}
				if($("#id_model1_input").val() == ""){
					$("#id_model1_hidden").val("");
					cr_model_flexbox();
				}
			}
		});
	}
}

