/*
	拖动开始
*/
function divBlock_event_mousedown(e,blockID){
	var e, obj, temp;
	obj=document.getElementById(blockID);
	e=window.event?window.event:e;
	obj.startX=e.clientX-obj.offsetLeft;
	obj.startY=e.clientY-obj.offsetTop;

	document.onmousemove=function(){document_event_mousemove(blockID)};
	temp=document.attachEvent?document.attachEvent("onmouseup",document_event_mouseup):document.addEventListener("mouseup",document_event_mouseup,"");
}

function document_event_mousemove(blockID){
	var e, obj;
	obj=document.getElementById(blockID);
	e=window.event?window.event:e;

	with(obj.style){
		position="absolute";
		zIndex = "9999";
		left=e.clientX-obj.startX+"px";
		top=e.clientY-obj.startY+"px";
	}
}

function document_event_mouseup(e){
	var temp;
	document.onmousemove="";
	temp=document.detachEvent?document.detachEvent("onmouseup",document_event_mouseup):document.removeEventListener("mouseup",document_event_mouseup,"");
}

/*
	拖动结束
*/
function showAddCategoryDetail(obj){
	obj.innerHTML=="+ Show Detail"?obj.innerHTML="- Show Detail":obj.innerHTML="+ Show Detail";
	var detailObj = $T("div",obj.parentNode)[0]; //obj.parentNode.getElementsByTagName("div")[0];
	detailObj.currentStyle.display == "none"? detailObj.style.display = "block":detailObj.style.display = "none";
}

function fixDivPosition(obj){
	return;
	var x = event.clientX + 410 - window.screen.width+28;
//	alert(obj.className)
	if (x>0){
		if (Element.getStyle(obj,"position")=="absolute"){
			obj.style.left = 183-x + "px";
		}else{
			obj.style.left = event.clientX -x + "px";
			obj.style.top = event.clientY + 18 + "px";
		}
	}else{
		obj.style.left="";
		obj.style.top="";
	}
}

function SBS_PickCatType(obj,imgObj){
	if (imgObj.parentNode.getElementsByTagName("div").length>0){
		if ($T("div",imgObj.parentNode)[0].className=="showCatTypeList"){
			$T("div",imgObj.parentNode)[0].style.display = "";
			//fixDivPosition($T("div",imgObj.parentNode)[0]);
			return;
		}
	}
	var htmlBox = document.createElement("div");
	htmlBox.className = "showCatTypeList";
	htmlBox.style.display = "block";
	fixDivPosition(htmlBox);
	htmlBox.innerHTML = "<a href='javascript:void(0)' class='closeDiv' onclick=this.parentNode.style.display='none'>x</a> <span style='float:left; color:red; margin:3px 0 0 20px'>Loading...</span>";
	imgObj.parentNode.appendChild(htmlBox);

	var url = "/modules/CategoryForm/GetCatTypeData.aspx";
	var paras = "";
	var myAjax = new Ajax.Request(
		url,
		{method: 'post',
		 parameters: paras,
		 onComplete: function(xmlhttp){SBS_GetCatType_Response(xmlhttp,obj,imgObj)}
	    });
}

function SBS_GetCatType_Response(xmlhttp,box,imgObj){
	var html = xmlhttp.responseText.replace(/<input/g,"<input name='CatTypeItem' onclick=SBS_FRONTSQL_PickCatType(this,'"+imgObj.PostbackEvent+"')");
	if($T("div",imgObj.parentNode)[0].className=="showCatTypeList"){
       $T("div",imgObj.parentNode)[0].innerHTML = html;
	}
}

function SBS_FRONTSQL_PickCatType(obj,PostBackEvent){
		obj.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("img")[0].title = "Type Name: "+obj.parentNode.innerHTML.stripTags()+"\nType ID: "+obj.value;
		obj.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("input")[0].title = "Type Name: "+obj.parentNode.innerHTML.stripTags()+"\nType ID: "+obj.value;
		obj.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("input")[0].value = obj.value;
		if (PostBackEvent=="GetAddForm"){
			if($(obj.id+"AddElementForm")){
				Element.show($(obj.id+"AddElementForm"));
			}else{
					SBS_getAddForm(obj.value);
			}
		}
	setTimeout(function(){obj.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("div")[0].style.display="none";},200);
}

function SBS_getAddForm(catTypeID){
	var url = "/modules/CategoryForm/GetElementFormHtml.aspx";
	var paras = "CatTypeID="+catTypeID;
	var myAjax = new Ajax.Request(
	                 url,
	                 {
                     method: 'post',
                     parameters: paras,
                     onComplete: function(xmlhttp){SBS_getAddForm_Response(xmlhttp)}
	                 });
}

function SBS_getAddForm_Response(xmlhttp){
	var html = xmlhttp.responseText;
	//alert(html.length);
	var newDiv = document.createElement("div");
	newDiv.innerHTML = html;
	document.body.appendChild(newDiv);
}


function SBS_PickCatList(typeID,boxObj,self,NavURL){
	if (typeID==""){
		return;
	}
	if (NavURL=="" || NavURL==null){
		var htmlBox = document.createElement("div");
		htmlBox.className = "showCatList";
		htmlBox.style.display = "block";
		htmlBox.innerHTML = "<a href='javascript:void(0)' class='closeDiv' onclick=this.parentNode.style.display='none'>x</a> <span style='float:left; color:red; margin:3px 0 0 20px'>Loading...</span>";
		fixDivPosition(htmlBox);
		self.parentNode.appendChild(htmlBox)
	}

	var url = "/modules/CategoryForm/GetCatTreeData.aspx";
	var paras = "SBS_CategoryForm_CatTypeId="+typeID+"&SBS_CategoryForm_NavURL="+NavURL;
	var myAjax = new Ajax.Request(
	                 url,
	                 {
                     method: 'post',
                     parameters: paras,
                     onComplete: function(xmlhttp){
									if (NavURL=="1"){
										SBS_GetCatTree_Response_static(xmlhttp,boxObj)
									}else{
										SBS_GetCatTree_Response(xmlhttp,boxObj.id,self)
									}
								 }
	                 });
}
function SBS_GetCatTree_Response_static(x,boxObj){
	var html = x.responseText;
	html = html.replace(/<span/g,"<span onclick='SBS_ExpandSubCatList(this)'");
	html = html.replace(/<a /g,"<a onclick='SBS_SelectThisCat(this)' ");
	boxObj.innerHTML = html;
}
function SBS_GetCatTree_Response(xmlhttp,boxID,self){
	var html = xmlhttp.responseText;
	html = html.replace(/<span/g,"<span boxid='"+boxID+"' onclick='SBS_ExpandSubCatList(this)'");
	html = html.replace(/<a /g,"<a href='javascript:void(0)' boxid='"+boxID+"' onclick='SBS_SelectThisCat(this)' ");
    var htmlBox = $T("div",self.parentNode)[0];
	if(htmlBox.className=="showCatList"){
		htmlBox.innerHTML = "<a href='javascript:void(0)' class='closeDiv' onclick=Element.remove(this.parentNode)>x</a>"+html;
	}
}

function SBS_ExpandSubCatList(spanObj){
	//SBS_GlobalCurrentSpanObject = arguments[0];
	spanObj.innerHTML == "+" ? spanObj.innerHTML="-" : spanObj.innerHTML="+";
	var subUL = $T("ul",spanObj.parentNode);

	if (subUL.length!=0){
		if(subUL[0].style.display=="block" || subUL[0].style.display == "")
			subUL[0].style.display = "none";
		else
			subUL[0].style.display = "";

		return;
	}

//	var newFont = document.createElement("font");
	//newFont.innerHTML = "Loading...";
//	spanObj.parentNode.appendChild(newFont);
	var url = "/modules/CategoryForm/GetCatTreeData.aspx";
	var paras = "SBS_CategoryForm_CatId="+spanObj.title;
	var myAjax = new Ajax.Request(
	                 url,
	                 {
                     method: 'post',
                     parameters: paras,
                     onComplete: function(xmlhttp){SBS_GetSubCat_Response(xmlhttp,spanObj)}
	                 });
}

function SBS_GetSubCat_Response(originalRequest,spanObj){
	var html = originalRequest.responseText;
	if (spanObj.boxid==null || spanObj.boxid==""){spanObj.boxid="";}
	html = html.replace(/<span/g,"<span boxid='"+spanObj.boxid+"' onclick='SBS_ExpandSubCatList(this)'");
	html = html.replace(/<a /g,"<a href='javascript:void(0)' boxid='"+spanObj.boxid+"' onclick='SBS_SelectThisCat(this)' ");
	try{
		Element.remove($T("font",spanObj.parentNode)[0]);
	}catch(e){}
	spanObj.parentNode.innerHTML += html;
}

function SBS_SelectThisCat(obj){
	var boxID = obj.boxid;
//	alert(boxID);
	$(boxID).value =  $T("span",obj.parentNode)[0].title;
	$(boxID).title = $(boxID).parentNode.getElementsByTagName("img")[0].title = "Category Name: "+obj.innerHTML + "\nCategory ID: "+$(boxID).value;
	setTimeout(function(){Element.remove($T("div",$(boxID).parentNode)[0])},200);
}

function SBS_AddCategoryForm(btn){
	var formBox = btn.parentNode.parentNode;
	var vArray = $A(formBox.getElementsByTagName("input")).concat($A(formBox.getElementsByTagName("textarea")));
	var paras="";
	vArray.each(function(obj){
		if (obj.postvalue=="1" && obj.columnname!=""){
			if (obj.type=="checkbox"){
				if (obj.checked){
					obj.value="1";
				}else{
					obj.value="0";
				}
			}
			paras += "&" + obj.columnname+"="+encodeURI(obj.value);
		}
	})
	paras = paras.trim("&");

	var url = "/modules/CategoryForm/AddCatData.aspx";
//	var status = $("AddCat_Status").checked?1:0;
//	var paras = "SBS_CategoryForm_CatTypeId="+$("PickCatType_Type").value +"&SBS_CategoryForm_ParentCatId="+$("PickCatType_ParentCat").value+"&SBS_CategoryForm_CatStatus="+status+"&SBS_CategoryForm_CatName="+escape($("AddCat_Name").value)+"&SBS_CategoryForm_CatFullName="+escape($("AddCat_FullName").value)+"&SBS_CategoryForm_CatDetailUrl="+escape($("AddCat_URL").value)+"&SBS_CategoryForm_CatDetailUrlTarget="+$("AddCat_Target").value+"&SBS_CategoryForm_CatDetailIcon="+escape($("AddCat_Icon").value)+"&SBS_CategoryForm_CatDetailImage="+escape($("AddCat_Image").value)+"&SBS_CategoryForm_CatDetailDescription="+escape($("AddCat_Description").value)+"&SBS_CategoryForm_CatDetailLeft="+escape($("AddCat_Lefter").value)+"&SBS_CategoryForm_CatDetailCenter="+escape($("AddCat_Center").value)+"&SBS_CategoryForm_CatDetailRighter="+escape($("AddCat_Righter").value);
	var myAjax = new Ajax.Request(
	                 url,
	                 {
                     method: 'post',
                     parameters: paras,
                     onComplete: SBS_AddNewCat_Response
	                 });
}

function SBS_AddNewCat_Response(originalRequest){
	var newCatID = originalRequest.responseText;
	if (newCatID!=0){
		$("newCategoryID").innerHTML = "<strong>Success!</strong>"+newCatID;
	}else{
		$("newCategoryID").innerHTML = "<strong>Fail!</strong>";
	}
}


function SBS_PickList(inputbox,imgself,fromID){

	SBS_GlobalFromID = fromID;
	if ($T("div",imgself.parentNode).length>0){
		if ($T("div",imgself.parentNode)[0].className=="showPickList"){
			$T("div",imgself.parentNode)[0].style.display = "";
			fixDivPosition($T("div",imgself.parentNode)[0]);
			return;
		}
	}

	var htmlBox = document.createElement("div");
	htmlBox.className = "showPickList";
	htmlBox.style.display = "block";
	htmlBox.innerHTML = "<a href='javascript:void(0)' class='closeDiv' onclick='Element.hide(this.parentNode)'>x</a> <span style='float:left; color:red; margin:3px 0 0 20px'>Loading...</span>";
	fixDivPosition(htmlBox);
	imgself.parentNode.appendChild(htmlBox);

	var url = "/modules/CategoryForm/GetPickListData.aspx";
	var paras = "SBS_CategoryForm_PickListID="+fromID;
	var myAjax = new Ajax.Request(
	                 url,{
                     method: 'post',
                     parameters: paras,
                     onComplete: function(xmlhttp){SBS_GetPickList_Response(xmlhttp,inputbox,fromID)}
	                 });
}

function SBS_GetPickList_Response(originalRequest,inputBox,fromID){
	var html = originalRequest.responseText.replace(/<input/g,"<input name='PickList_"+fromID+"' onclick='SBS_SelectThisPickListItem(this)'");
	var closeString = "<a href='javascript:void(0)' class='closeDiv' onclick='hidePickListDivBox(this)'>x</a>";
	if($T("div",inputBox.parentNode)[0].className=="showPickList"){
		var splitChar = html.substr(0,1);
		if (splitChar!="<"){
			html = html.substr(1,html.length-1);
		}else{
			splitChar = ","; //默认分割符号
		}
		closeString = closeString.replace(/>x</g,"splitChar="+splitChar+" >x<");
		html = html.replace(/<input/g,"<input splitChar="+splitChar);

		$T("div",inputBox.parentNode)[0].innerHTML = closeString + "<ul value=''>"+html+"</ul>";
	}
}

function SBS_SelectThisPickListItem(obj){
	if(obj.type=="checkbox"){
		if (obj.checked){
			obj.parentNode.parentNode.parentNode.value = obj.parentNode.parentNode.parentNode.value.trim(obj.splitChar)+obj.splitChar+obj.value;  //obj.parentNode.title
		}else{
			var shortStr = obj.splitChar+obj.parentNode.parentNode.parentNode.value.trim(obj.splitChar)+obj.splitChar;
			obj.parentNode.parentNode.parentNode.value = shortStr.replace(obj.splitChar+obj.value+obj.splitChar,obj.splitChar);
			//alert(shortStr.replace(obj.splitChar+obj.value+obj.splitChar,obj.splitChar));
		}
		return;
	}
	obj.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("img")[0].title = obj.parentNode.innerText;
	obj.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("input")[0].value = obj.value;
	setTimeout(function(){$T("div",obj.parentNode.parentNode.parentNode.parentNode.parentNode)[0].style.display='none';},240);
}

function hidePickListDivBox(obj){
	obj.parentNode.style.display='none';
	if (obj.parentNode.getElementsByTagName("ul")[0].innerHTML.indexOf("type=checkbox")!=-1){
		obj.parentNode.parentNode.getElementsByTagName("input")[0].value = obj.parentNode.getElementsByTagName("ul")[0].value.ltrim(obj.splitChar);
	}
}

function validateDateByHand(obj){  //验证手工输入的日期格式，宽松
	if (obj.value==""){
		return;
	}
	var date = obj.value.split(/\D/);
	if (date.length!=3 && obj.value!="Date value is invalid!"){
		obj.value = "Date format is invalid!";
	}else{
		var dateObj = new Date(date[0],date[1]-1,date[2])
		if (dateObj.getFullYear()!=date[0] || dateObj.getMonth()+1 != date[1] && dateObj.getDate()!= date[2]){
			obj.value = "Date value is invalid!";
		}
	}
}

function SBS_getFormBoxValue(FormBoxObj){ //获取　Form 值，返回 url 参数, begin with char "&"
	var vArray = $A(FormBoxObj.getElementsByTagName("input")).concat($A(FormBoxObj.getElementsByTagName("textarea")));
	var paras="";
	vArray.each(function(obj){
		if (obj.postvalue=="1" && obj.columnname!=""){
			if (obj.type=="checkbox"){
				if (obj.checked){
					obj.value="1";
				}else{
					obj.value="0";
				}
			}
			paras += "&" + obj.columnname+"="+encodeURI(obj.value);
		}
	})
	return paras;
}

function SBS_AddElementFormData(catTypeId,btn){
	var url = "/modules/CategoryForm/AddElementData.aspx";
	paras = "SBS_ElementForm_CatTypeID=" + catTypeId + SBS_getFormBoxValue(btn.parentNode.parentNode);
	var myAjax = new Ajax.Request(
	                 url,{
                     method: 'post',
                     parameters: paras,
                     onComplete: function(xmlhttp){SBS_AddElementForm_Response(xmlhttp,btn.parentNode.getElementsByTagName("span")[0])}
	                 });
}
function SBS_AddElementForm_Response(xmlhttp,span){
	var html = xmlhttp.responseText;
	if (html!=""){
		 span.innerHTML	= html;
	}else{
		 span.innerHTML	= "Fail!";
	}
}

function SBS_Close(obj){
	Element.hide(obj.parentNode.parentNode.parentNode);
}

/*
 * 供求 添加、编辑、删除
*/

function SBS_GetEditElementForm(ElementKeyID,CatTypeID,FormID){
	if ($("_"+FormID)){
		Element.show($("_"+FormID));
		return;
	}
	doAjax("/Modules/CategoryForm/GetElementFormHtml.aspx",{ paras:"ElementKeyID=" + ElementKeyID + "&SBS_ElementForm_CatTypeID="+CatTypeID+"&FormID=" + FormID,oncomplete:function(x){SBS_insertFormInBody(x,FormID)}});
}

function SBS_DeleteElement(ElementKeyID,CatTypeID,ElemObj){
	doAjax("/Modules/CategoryForm/DeleteElement.aspx",{ paras:"SBS_ElementForm_ElementID=" + ElementKeyID + "&SBS_ElementForm_CatTypeID=" + CatTypeID,beforeAjax:function(){ElemObj.innerHTML +="正在删除..."},oncomplete:function(x){if(x==1)ElemObj.parentNode.removeChild(ElemObj)}});
}

function SBS_UpdateElementFormData(CatTypeID,ElementKeyID,btn){
	doAjax("/Modules/CategoryForm/UpdateElement.aspx",{paras:"SBS_ElementForm_CatTypeID="+CatTypeID+"&SBS_ElementForm_ElementID="+ElementKeyID+SBS_getFormBoxValue(btn.parentNode.parentNode),oncomplete:function(x){if(x==1){btn.parentNode.getElementsByTagName("span")[0].innerHTML="编辑成功！"}}})
}

function SBS_getMiniFormValueById(formID){
	if ($("_"+formID)){
		Element.show($("_"+formID));
		return;
	}
	doAjax("/modules/CategoryForm/GetElementFormHtml.aspx",{paras:"formid="+formID,oncomplete:function(x){SBS_insertFormInBody(x,formID)}});
}

function SBS_insertFormInBody(html,formID){
	var newDiv = document.createElement("div");
	newDiv.style.position = "absolute";
	newDiv.style.top = "150px";
	newDiv.id="_"+formID;
	newDiv.innerHTML = html;
	document.body.appendChild(newDiv);
}

var allDivisions = [];
SBS.FrontSQL.GetCityUnion = function(linkObj){
	if (linkObj.nextSibling.className=="getCityUnionHTML"){
		return;
	}

	doAjax("/Jscript/china_division_loader.html",
		{	
			method:"get",
			oncomplete:function(x){
				eval(x);
				for (key in divisions){
					var parentID = divisions[key][1];
					if (typeof(allDivisions[parentID])=="null" || typeof(allDivisions[parentID])=="undefined")	allDivisions[parentID]=[];
					allDivisions[parentID].push(key);
				}
				var provA = [];
				for (i=0; i<allDivisions["1"].length; i++){
					provA.push(divisions[allDivisions["1"][i]][0]);
				}
				//var provString = "<div class='getCityUnionHTML'>"+provA.join("</a><a>")+"</div>"; 
				var provString = "<a>"+provA.join("</a><a>")+"</a>";
				provString = provString.replace(/<a>/g,"<a href=javascript:void(0)>");
				provString = "<div class='getCityUnionHTML'><h4>选择省份</h4>"+provString+"</div>"; 
				new Insertion.After(linkObj,provString);
			}
		}
	)
}
