// JavaScript Document

function initInputTypes(tip,disable){
	tip = dom(tip);
	
	if(!disable) addMCEs(tip);
	initCombos(tip,disable);
	initAutoLoads(tip,disable);
	initImgUpldrs(tip,disable);
	initCheckboxes(tip,disable);
	initFormButtons(tip,disable);
	
	$("ul.checkboxtree",$(tip)).each(function(e){ initCheckboxTree(this) });
	$("ul.radiotree",$(tip)).each(function(e){ initRadioTree(this) });
	
	$("div.dtp-inline",tip).each(function(i,e){
				//$(this).after($(this).attr("class"));
				//alert(i);
				var $lbl= $(this).prev();
				var $hdn2= $lbl.prev();
				var $hdn = $hdn2.prev();
				var name = $hdn.attr("name");
				var calid= $hdn.attr("id").replace(name,name+"_cal");
				$(this).attr('id',calid).css({clear:'both'});
				
				var displayid= $hdn2.attr("id");
				var dtparts= $hdn.val().split(" ");
				
				$(this).datepicker({
						altField: '#'+displayid, 
						altFormat: 'DD, d MM, yy',
						dateFormat: "yy-mm-dd",
						defaultDate: dtparts[0],
						minDate: 0, 
						maxDate: '+12M',
						onSelect: function(dateText,inst){
							$(inst.dpDiv).each(function(i,e){
				
								var $lbl= $(this).parent().prev();
								var $hdn2= $lbl.prev();
								var $hdn = $hdn2.prev();
								
								$hdn.val(inst.input.val()+" 00:00:01");	
								//$lbl.text($hdn2.val());	
								$("#ts_scheduledDisplayDt").text($hdn2.val());
								})   				
						}
						
						});
				$("#ts_scheduledDisplayDt").text($hdn2.val());
				//$lbl.css({'width':'246px','text-align':'center','padding':0,'margin':'2px 0px','display':'block'}).text($hdn2.val());
		});
	
	//initSRTDDs(tip,disable);
	//initFiles(tip);
	initIXloc(tip,disable);
	$(":input.required:not(.required_inited)")
		.addClass("required_inited")
		.each(function(c){
			var asterisk = "<strong>*</strong>";
			var $lbl = $("label[for='"+$(this).attr("id")+"']");
			if($lbl.size())	$lbl.html($lbl.html().replace(":",asterisk+":"));
			});
	$(":input.tooltip",$(tip)).tooltip('#tooltip');
	$("ul.paymentoptions",$(tip)).paymentoptions();
	$(":select.pp-ccinfo-expdate",$(tip)).each(function(e){ initExpDate(this); });
	
	$(".confirmed:password,.confirm:password",$(tip)).val("");
	$("a.resetCaptcha,img.captcha",$(tip)).css({"cursor":"pointer"}).unbind("click.captcha").bind("click.captcha", function(e){ resetCaptcha(e)} );
	
	$("select[name^=srt_]",tip).dmsSortOn();
	//alert("got here");
	//return false;
}



function _input(input,what){
	input = $(input);
	var id = input.attr("id");
	var rok = input.parents(".rok");
	if(rok.size()==0) rok=false;
	switch(what){
		case "value":
			return getVal(input);
		break;
		case "rid":
			if(rok) return _val(rok,"rid");
			return 0;
		break;
		case "bid":
			//alert(rok.size());
			if(rok) return _val(rok,"bid");
			return 0;
		break;
		case "vmsg":
			return input.parents("div.div_input").find(".vMsg");
		break;
		case "label":
			return $("label[for="+id+"]");
		break;
		default:
			return eval(what);
		break;
	}
	
}

function initExpDate(sel){
	sel = $(sel);
	if(!sel.hasClass("expdt_inited")){
		sel.addClass("expdt_inited").change(function(e){
			p = $(this).parent();
			var dt = p.find(".ccexpmo").val() + p.find(".ccexpyr").val();
			//alert(dt);
			if(dt.length!=6) dt="";
			p.find("input.ccExpDate").val(dt);
			if(dt.length==6) $(this).parents("form").validate().element(p.find("input.ccExpDate"));
			//alert(sel.parent().find("input.expdate:hidden").val());
		});
	}
}



function initSRTDD(dd,disable){
	$(dd).unbind();
	if(disable){
		return false;
		$(dd).attr("enabled","disabled");
		$(dd).addClass('ui-state-disabled');
	}
	$(dd).attr("enabled","enabled");
	$(dd).addClass('ui-state-enabled');
	$(dd).change(function(){
		//alert("hello");
		ajaxSubmit(this.form);								   
	});
}

function initFormButtons(tip,disable){
	_filter(tip,"form :input[type=submit]").each(function(c){ initFormButton(this,disable); });
	_filter(tip,"form button").each(function(c){ initFormButton(this,disable); });
	_filter(tip,"form.sortDD").find(" :select[name=sortinfo]").each(function(c){ initSRTDD(this,disable); });
}

function initFormButton(btn,disable){
	if(disable){
		//alert($(btn).val()+" "+$(btn).parents("form").attr("class"));
		$(btn).attr("enabled","disabled");
		$(btn).addClass('ui-state-disabled');
		return false;
	}
	$(btn).attr("enabled","enabled");	
	$(btn).removeClass('ui-state-disabled');
}

function initCheckboxes(tip,disable){
	$("input[type=checkbox]",tip).each(function(c){ initCheckbox(this,disable); });
}

function initCheckbox(chk,disable){
	$(chk).unbind();
	if(disable){
		$(chk).attr("enabled","disabled");
		return false;
	}
	$(chk).attr("enabled","enabled");
	
	$(chk).filter(function(e,i){
				//alert(this.className);
				if($(this).hasClass("chk-filter")){
					$(this).cbFilter();
					return false;
				}
				return true;
			}).click(function(e){ 
				checkboxClick(this);
			});
}

function checkboxClick(chk){
	chk = dom(chk);
	chk.checked ? chk.value = 1 : chk.value=0;
	//alert("shouldn't see this: "+chk.id);
	if(chk.id.indexOf("__chk_is",0)!=-1){
		var hdnid = chk.id.replace("__chk_is_","__is_");
		//var hdn = jq(hdnid);
		var hdn = $("#"+hdnid);
		if(hdn.size()==1) hdn.val(chk.value);
		//alert(hdn.size() +" "+hdn.val());
		//alert(hdnid+"= "+hdn.val()+"\n"+chk.id+"= "+chk.value);
		//alert(hdn.value); 
	}
}


function initCheckboxTree(ul){
	//alert("inited checkboxtree");
	$(ul).checkboxTree({
			collapsedarrow: "app_images/img-arrow-collapsed.gif",
			expandedarrow: "app_images/img-arrow-expanded.gif",
			blankarrow: "app_images/img-arrow-blank.gif",
			checkchildren: false
	});
}

function initRadioTree(ul){
	//alert("inited checkboxtree");
	ul=$(ul);
	if(!ul.hasClass("radiotree_inited")){
		//ul.find().css({"height":0});
		//ul.parent().prepend("<span>myheight="+ul.height()+"</span>").height(ul.height()+20);
		ul.radioTree({
				collapsedarrow: "../plugins/images/img-arrow-collapsed.gif",
				expandedarrow: "../plugins/images/img-arrow-expanded.gif",
				blankarrow: "../plugins/images/img-arrow-blank.gif",
				checkchildren: false
		});
		
		ul.find('li:not(".cattype")').click(function(e){ setTag(e,this); });
		ul.addClass("radiotree_inited");
	}
}

function setTag(e,cat){
	
	var items = $(".xk_browse_items");
	var frm = $(cat).parents("form.browsecats");
	var tagbid = $(cat).attr("id");
	var title = $(cat).children("label:first").text();
	if(title=="view all") title = "viewing all items";
	
	frm.find("input:[name=tagbid]").val(tagbid);
	//alert(items.size()+ ' '+tagbid);
	if(items.size()==1){
		frm.find("input:[name=tar]").val(items.attr("id"));
		if(!frm.hasClass("submitting")) items.parents(".mx_page:first").find("h1:first").text(title);
		
		//alert(frm.attr("id"));
		ajaxSubmit(frm);
		//stopDef(e);
		//frm.submit();
	} else {
		frm.submit();
		//alert("none");
	}
}

function treeSync(tree){
	tree = $(tree);
	var checked='';
	var nm=tree.attr("name");
	//alert(nm);
	
	var ipt = tree.parent().find(":input[name=tree_"+nm+"]");
	//alert(nm+' '+ipt.size());
	if(ipt.size()) ipt.val('');
	
	var i=0;
	var chkd= tree.find("label.checked");
	
	chkd.each(function(e){
		//checked += "_"+$(this).attr("tagName");
		var parts= $(this).attr("for").split("_");		
		nm = parts[0];
		var id = parts[1];
		if(id!='undefined'){
			if(i) checked +=',';
			checked += parts[1];
			i++;
		}
	});
	//alert("checked="+checked);
	if(ipt.size()) ipt.val(checked);	
	return false;
}

var captchaReset=0;
function resetCaptcha(e){
	stopDef(e);
	var $img = $(e.target);
	if($img.attr("tagName")!="IMG") $img = $img.prev();
	//img.remove();
	captchaReset++;
	var newsrc = "app_images/captchaimg.php?reset="+captchaReset;
	$img.attr("src",newsrc);
	return false;
}
