$(function() {
/*	if(!jQuery.browser["mozilla"]){
		$("#error_message").css("display", "");
	}
*/
	var error_exist = 0;
	
	
	$("#xml").text($("#example_homes").text());

	$(document).bind('xmlParseError', function(err, msg) {
		error = '<div align="center"><div class="error"><p>' + _t_error + '</p><span><li>' + err + '<br><br>' + msg+ '</li></span></div></div>';
		$('#xml_validate_result2').html(error);
		error_exist = 1;
		$("#loading2").css("display", "none"); 
	});
	


	$('#doXML').click(function() {
		$("#loading2").css("display", "inline"); 
		
		$('#xml_validate_result2').html("");
		
		var error_check_data = validate_xml($('#xml').val());
		
		
		if(!error_exist && error_check_data == ""){
		
			msg = '<div align="center"><div class="success"><p>Success</p><span>'+ _t_xml_valid + '</span></div></div>';
			
			$('#xml_validate_result2').css("color","green").html(msg);
			$("#loading2").css("display", "none"); 
		}else{
			if(error_check_data !== ""){
				$('#xml_validate_result2').css("color","red").html("<b>"+error_check_data+"</b>");
				$("#loading2").css("display", "none"); 
			}
		}
		
		error_exist = 0;
	});
	
	
	$("#xml_url_load").click(function(){
		$('#xml_validate_result').html("");
		$("#xml").text("");
		var url = $("#xml_url").val();
		if(url == ""){
			alert(_t_please_enter_url);
			return;
		}
		
		$("#loading").css("display", "");
		$.post(load_file_action,
		  {
			url: url
		  },
			function (data){
				check_procces(data);
				error_exist = 0;
			}
		);
		
	});
	
	
	function validate_xml(data){
		var $xml = $.xmlDOM(data);
		
		
		if(!error_exist){
		
			// check for tag 
			var tag = $(validate_tag, $xml);
			
			if(tag.length == "0"){
				return _t_tag_not_found;
			}
			
			// check for teg <ad>
			var ads = $("ad", $xml);
			
			if(ads.length == "0"){
				return _t_ads_not_found;
			}

			var ad_errors = "";
			
			// check ads
			$.each(ads, function(key, val){
				//console.log(val);
				var check_ad_result = check_ad(val)
				
				if(check_ad_result !== ""){
					ad_errors += "ad #"+ (key+1) + " - " +check_ad_result + "<br>";
				}
			});
			
			return ad_errors;
		}
		
		return "";
	}
	
	function check_ad(ad){
	
		var vertical = $("#xml_structure_type_box option:selected").val();
		var error = "";
		
		//check fields in ad
		$.each(required_fields[vertical], function(key, field){
			var field_obg = $(field, ad);
			
			if(field_obg.length == "0"){
				error += _t_field + " \"" + field + "\" "+ _t_not_found + "<br>";
			}
		});

		return error;
	}
	
	
	
});

function change_example(){
	var vertical = $("#xml_structure_type_box option:selected").val();
	$("#xml").text($("#example_"+vertical).text());
}


function check_procces (procces_id){
	$.post(load_file_action,
	  {
		procces: procces_id
	  },
		function (data){
			if(data === "ok"){
				view_result(procces_id);
				return;
			}
		
			$("#xml_validate_result").html(data);
			setTimeout("check_procces("+procces_id+")", 2000);
		}
	);
}

function view_result (procces_id){
	$.post(load_file_action,
	  {
		procces: procces_id,
		result: 1
	  },
		function (data){
			$("#xml_validate_result").html(data);
			$("#loading").css("display", "none"); 
		}
	);
}

