var U_VACATION_COOKIE_NAME = "u_vacCookieName";
var options = { path: '/', expires: 30 };
(function($){
	$(document).ready(function(){
		component_event();
	});
	
	function component_event(){
		form_submit_click_event();
		list_sort_event();
		ipt_autocomplete_event();
		dj_list_features_show_event();
		cbox_select_scope_event();
	}
	
	function form_submit_click_event(){
		$("#vacation_search").click(function(){
			$("#search_days").val("");
			$("#search_category").val("");
			$("#search_vacationType").val("");
			var result = validate_form();
			if(result){
				$("#mainForm").submit();
			}
		});
	}
	
	function list_sort_event(){
		$("#li_sort_unutrip").hover(
			function () {$(this).addClass("a01");},
			function () {$(this).removeClass("a01");}
		);
		$("#li_sort_price ,#li_sort_days").hover(
		  function () {
			  if($("#sortType").val()=="DESCENDING"){$(this).addClass("a10"); }
			  else{$(this).addClass("a11");}
		  },
		  function () {
			  if($("#sortType").val()=="DESCENDING"){$(this).removeClass("a10"); }
			  else{$(this).removeClass("a11");}
		  }
		); 
		if($("#sortField").val()=="v.basicInfo.otherInfo.startingPrice"){
			if($("#sortType").val()=="DESCENDING"){
				$("#li_sort_price").addClass("a12");
			}else if($("#sortType").val()=="ASCENDING"){
				$("#li_sort_price").addClass("a13");
			}
		}else if($("#sortField").val()=="v.basicInfo.sourceInfo.maxDays - v.basicInfo.sourceInfo.minDays , v.basicInfo.sourceInfo.minDays"){
			if($("#sortType").val()=="DESCENDING"){
				$("#li_sort_days").addClass("a12");
			}else if($("#sortType").val()=="ASCENDING"){
				$("#li_sort_days").addClass("a13");
			}
		}else{
			$("#li_sort_unutrip").addClass("a00");
		}
		
		$("#li_sort_price").click(function(){
			if($("#sortType").val() == "DESCENDING"){
				$("#sortType").val("ASCENDING");
			}else if($("#sortType").val() == "ASCENDING"){
				$("#sortType").val("DESCENDING");
			}else{
				$("#sortType").val("ASCENDING");
			}
			$("#sortField").val("v.basicInfo.otherInfo.startingPrice");
			$("#sortField,#sortType").attr("disabled",false);
			$("#mainForm").submit();
		});
		$("#li_sort_days").click(function(){
			if($("#sortType").val() == "DESCENDING"){
				$("#sortType").val("ASCENDING");
			}else if($("#sortType").val() == "ASCENDING"){
				$("#sortType").val("DESCENDING");
			}else{
				$("#sortType").val("ASCENDING");
			}
			$("#sortField").val("v.basicInfo.sourceInfo.maxDays - v.basicInfo.sourceInfo.minDays , v.basicInfo.sourceInfo.minDays");
			$("#sortField,#sortType").attr("disabled",false);
			$("#mainForm").submit();
		});
		$("#li_sort_unutrip").click(function(){
			$("#sortType").val("");
			$("#sortField").val("");
			$("#mainForm").submit();
		});
	}
	
	function cbox_select_scope_event(){
		$("input[name=cbox_days]").click(function(){
			$("#search_days").val("");
			$("#sortField,#sortType").attr("disabled",false);
			$("#mainForm").submit();
		});
		$("input[name=cbox_categorys]").click(function(){
			$("#search_category").val("");
			$("#sortField,#sortType").attr("disabled",false);
			$("#mainForm").submit();
		});
		$("input[name=cbox_types]").click(function(){
			$("#search_vacationType").val("");
			$("#sortField,#sortType").attr("disabled",false);
			$("#mainForm").submit();
		});
	}
	
	function dj_list_features_show_event(){
		$(".dj_list .address_con .cGreen a").click(function(){
			$(this).toggleClass("s");
			$(this).parents("table").next("div .price1_tip").toggle();
		});
	}
	
	function ipt_autocomplete_event(){
		$("#fromCity_name").autocomplete([{name:'上海',id:574,pinyin:'shanghai'},{name:'北京',id:506,pinyin:'beijing'}],{
			minChars :0 ,
			width : 230 ,
			hidden : "fromCity_id",
			formatItem: function(data, i, n, value) {
				return "<a>"+data.pinyin+"</a>" + "<span>" +data.name + "</span>";
			},
			formatResult:function(data, i, n, value){
				return data.name;
			}
		});
		$("#toCity_name").autocomplete(system_js_basepath_support+"/code-table-auto-compelete.dhtml",{
			minChars :0 ,
			width : 230 ,
			hidden : "toCity_id",
			mustMatch :false,
			extraParams : {codeGroup : "code.cnCityAndProvince"},
			formatItem: function(data, i, n, value) {
				return "<a>"+data.key2+"</a>" + "<span>" +data.name + "</span>";
			}	
		});
	}
	
	function validate_form(){
		if("" == $.trim($("#fromCity_name").val()) ){
			$("#fromCity_name").focus();
			return false;
		}
		if("" == $.trim($("#toCity_name").val()) ){
			$("#toCity_name").focus();
			return false;
		}
		return true;
	}
	
	$.cookie = function(name, value, options) {
	    if (typeof value != 'undefined') {
	        options = options || {};
	        if (value === null) {
	            value = '';
	            options.expires = -1;
	        }
	        var expires = '';
	        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
	            var date;
	            if (typeof options.expires == 'number') {
	                date = new Date();
	                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
	            } else {
	                date = options.expires;
	            }
	            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
	        }
	        var path = options.path ? '; path=' + (options.path) : '';
	        var domain = options.domain ? '; domain=' + (options.domain) : '';
	        var secure = options.secure ? '; secure' : '';
	        document.cookie = [name, '=', value, expires, path, domain, secure].join('');
	    } else { 
	        var cookieValue = null;
	        if (document.cookie && document.cookie != '') {
	            var cookies = document.cookie.split(';');
	            for (var i = 0; i < cookies.length; i++) {
	                var cookie = jQuery.trim(cookies[i]);
	                if (cookie.substring(0, name.length + 1) == (name + '=')) {
	                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
	                    break;
	                }
	            }
	        }
	        return cookieValue;
	    }
	};
})(jQuery)
function search_scope(id , val){
	$(id).val(val);
	$("#sortField,#sortType").attr("disabled",false);
	$("#mainForm").submit();
}
function _u_c(id){
	var cookie = $.cookie(U_VACATION_COOKIE_NAME);
	if(null == cookie){
		$.cookie(U_VACATION_COOKIE_NAME, id,options);return;
	}
	var vals = cookie.split("|");
	var newCookie = $.grep( vals, function(n,i){
		return n != id && i < 10;
	}); 
	newCookie.push(id);
	$.cookie(U_VACATION_COOKIE_NAME, newCookie.join("|"),options);
}
