﻿//通过唯一ID得到对象
function oo(v)
{
    return document.getElementById(v);
}

//通过标签名称得到对象集
function ooName(v)
{
    return document.getElementsByTagName(v);
}

function local(u)
{
	return document.location=u;
}

function isAlien(a) 
{
	return isObject(a) && typeof a.constructor != 'function';
} 
  
function isArray(a) 
{
	return isObject(a) && a.constructor ==  Array;
}

function isBoolean(a)
{
	return typeof a ==  'boolean';
} 

function isEmpty(o) 
{
	var i, v;
	if (isObject(o)) 
	{
		for(i in o) 
		{
			v = o[i];
			if (isUndefined(v) && isFunction(v)) 
			{
				return false;
			}
		}
	}
	return true;
}

function isFunction(a) 
{
	return typeof a ==  'function';
}

function isNull(a) 
{
	return typeof a ==  'object' && !a;
}

function isNumber(a) 
{
	var exp=/[^0-9()-]/;   
	if(a.search(exp) != -1)   
	{   
		return   false;   
	}
	
	return   true;   
}

function isObject(a) 
{
	return (a && typeof a ==  'object') || isFunction(a);
}

function isString(a) 
{
	return typeof a ==  'string';
}

function isUndefined(a) 
{
	return typeof a ==  'undefined';
}

//check moblie 
function isMobile(str)
{
	return (new RegExp("^13(\\d{9})+$").test(str)) || (new RegExp("^15(\\d{9})+$").test(str));
}

//check moblie 
function isEmail(str)
{
	return (new RegExp("^[\\w._]+@\\w+\.(\\w+\.){0,3}\\w{2,4}$","g").test(str.replace(/-|\//g,"")));
}

// trim string
function trim(str)
{	
	return str.trim();
}

function isChinese(str){
	var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	badChar += "abcdefghijklmnopqrstuvwxyz";
	badChar += "0123456789";
	badChar += " "+"　";//半角与全角空格 
	badChar += "`~!@#$%^&()-_=+]\\\\|:;'<,>?/";	//不包含*或.的英文符号 
	if(""==str)
	{ 
		return false; 
	} 
	for(var i=0;i<str.length;i++)
	{ 
		var c = str.charAt(i);//字符串str中的字符 
		if(badChar.indexOf(c) > -1)
		{ 
			return false; 
		} 
	} 
	return true; 
} 

function isword(str)       
{       
	var   pattern=/^\w+$/;       
	if(pattern.test(str))       
	{       
		return true;       
	}       
	else       
	{       
		return false;       
	}       
}

function isDate(v)
{ 
	var strDate = v; 
	var re=/^(\d{4})-(\d{2})-(\d{2})$/g 
	if(re.test(strDate))//判断日期格式符合YYYY-MM-DD标准 
	{ 
		var dateElement=new Date(RegExp.$1,parseInt(RegExp.$2,10)-1,RegExp.$3); 
		if(!((dateElement.getFullYear()==parseInt(RegExp.$1))&&((dateElement.getMonth()+1)==parseInt(RegExp.$2,10))&&(dateElement.getDate()==parseInt(RegExp.$3))))//判断日期逻辑 
		{ 
			return false;
		} 
	} 
	else 
	{ 
		return false;
	}

	return true;
}

//求单选按纽的值，传radio名字作为参数。未选返回false；有选择项，返回选项值。
function getRadioValue(name)
{
	var radioes = document.getElementsByName(name); 
	for(var i=0;i<radioes.length;i++)
	{
		 if(radioes[i].checked){
		  return radioes[i].value;
		 }
	}
	return false;
}

//传入radio的name和选中项的值
function setRadioValue(name,sRadioValue)
{        
	var oRadio = document.getElementsByName(name); 
	for(var i=0;i<oRadio.length;i++) //循环
	{
		if(oRadio[i].value==sRadioValue) //比较值
		{ 
			 oRadio[i].checked=true; //修改选中状态
			 break; //停止循环
		}
	}
} 

//复选框是否有选择
function isBoxChecked(v)
{
	var aa = document.getElementsByName(v);
	for (var i=0; i<aa.length; i++)
	{
		if(aa[i].checked)return true;
	}
	return false;
}
//得到重选框的值
function getCheckValue(v)
{
	var values = "";
	var aa = document.getElementsByName(v);
	for (var i=0; i<aa.length; i++)
	{
		if(aa[i].checked)values += aa[i].value+",";
	}
	return values;
}

function getAbsolutePosition (el) 
{
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent) {
		var tmp = getAbsolutePosition(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}

function cutString(query, les)
{
	var result = query;
	if(query.length > les)
	{
		result = query.substr(0,les) + "...";
	}
	return result;
}
//对页面所有Input输入框进行样式设置
function InputFormat()
{
    var a = ooName("input");
    for(var i=0;i<a.length;i++)
    { 
        if(a[i].type == "text" || a[i].type == "password")
        {
            a[i].onfocus = function()
            {
                this.className = "inpSelect";
            }
            
            a[i].onblur = function()
            {
                this.className = "inpNomarl";
            }
        }
    }  
}  

function selectAll(e,itemname)
{
	var aa = document.getElementsByName(itemname);
	for (var i=0; i<aa.length; i++)
	{
		aa[i].checked = e.checked;
	}
}

function shAlert()
{
	if(!frmCheck())
	{
		alert('操作之前请选定要操作的信息项。');
		return false;
	}
	return true;
}

function frmCheck()
{
	var aa = document.getElementsByName("cbSelect");
	for (var i=0; i<aa.length; i++)
	{
		if(aa[i].checked)return true;
	}
	return false;
}  

function keyClick(obj, key)
{
    if(obj.value == key) 
    {
        obj.value = '';
        obj.style.color= "#000000";
    }
    else 
    {
        obj.style.color= "#000000";
        obj.select();
    }
}

function keyBlur(obj, key)
{
    if(obj.value == "") 
    {
        obj.style.color= "#999999";
        obj.value = key;
    }
}

function login()
{
	location = "/user/login/?url="+document.location;
}

function register()
{
	window.location = "/user/reg/?url="+document.location;
}

function exit()
{
	if(confirm('真的退出吗？'))
	{
		//alert('/do/exit.shtml?url='+escape(document.location));
		window.location = '/do/exit.shtml?url='+escape(document.location);
		//document.location = '/do/exit.shtml';
	}
}

var topScr = 1;
var topWidth = 400;
function createBgDiv()
{ 
	var sWidth,sHeight; 
	sWidth=document.body.clientWidth; 
	sHeight=document.body.scrollHeight;  
	if(sHeight<window.screen.height)sHeight=window.screen.height; 
	var bgObj=null;
	if(isObject(oo("bgDiv")))
	{
		bgObj = oo("bgDiv"); 
	}
	else
	{
		bgObj = document.createElement("div"); 
		bgObj.setAttribute('id','bgDiv'); 
		bgObj.style.position="absolute"; 
		bgObj.style.top="0"; 
		bgObj.style.background="#000"; 
		bgObj.style.filter="alpha(opacity=15);-moz-opacity: 0.6;opacity: 0.6;"; 
		bgObj.style.opacity="0.8"; 
		bgObj.style.left="0"; 
		bgObj.style.width=sWidth + "px"; 
		bgObj.style.height=sHeight + "px"; 
		bgObj.style.zIndex = "10000"; 
		document.body.appendChild(bgObj); 
	}
	
	//处理下拉框
	var sel = document.getElementsByTagName("select");
	for(i=0;i<sel.length;i++)
	{
		//sel[i].style.display = "none";
		sel[i].disabled = true;
	}
}
function oodiv(color)
{
	var pWidth,pHeight,top,left;
	pWidth=topWidth; 
	pHeight=110; 
	top=200;	
	if(topScr < 1)
	{
		if (typeof window.pageYOffset != 'undefined') { 
		   topScr = window.pageYOffset; 
		} 
		else if (typeof document.compatMode != 'undefined' && 
			 document.compatMode != 'BackCompat') { 
		   topScr = document.documentElement.scrollTop; 
		} 
		else if (typeof document.body != 'undefined') { 
		   topScr = document.body.scrollTop; 
		} 
	}	
	if (topScr > 0) 
	{		
		top = (window.screen.availHeight-pHeight)/5  + topScr; 
	} 
	else 
	{ 
		top = document.body.clientHeight-400;
	} 
	left=(document.body.clientWidth - pWidth)/2;
	var sPopup = null;
	if(isObject(oo("Divsinfo"))) 
	{
		sPopup = oo("Divsinfo");
		document.body.removeChild(sPopup);
	}

	sPopup = document.createElement('div');
	sPopup.setAttribute('id','Divsinfo'); 
	sPopup.style.position="absolute"; 
	sPopup.style.top=top + "px"; 
	sPopup.style.left=left + "px"; 
	sPopup.style.padding="10px";
	sPopup.style.background="#FFFFFF"; 
	sPopup.style.border= color + " 1px solid"; 
	//sPopup.style.width=pWidth + "px"; 
	//sPopup.style.height=pHeight + "px"; 
	sPopup.style.display = '';
	sPopup.style.zIndex = "100000"; 
	document.body.appendChild(sPopup); 

	
	return sPopup;
}
function createTable()
{
	var mess = ""; 
	mess = "<table width='"+topWidth+"' border='0' align='center' cellpadding='0' cellspacing='0' id='popTable'>";
	mess += "<tr><td height='25' style='border-bottom:solid 1px #ccc'><b style='font-size:14px;color:#009933'>$title$</b></td><td align='right' valign='top' style='border-bottom:solid 1px #ccc'>"; 
	mess += "<a href='javascript:yesOther(false);' title='关闭'><img src='../images/close.gif' border='0' align='absmiddle'></a></td></tr>"; 
	mess += "<tr><td style='padding:5px;'>";
	mess += "$info$</td></tr>" + 
	"<tr><td colspan=2 height='25' align=right><span style='color:#999'>&copy; 2007-2008 菜友网 - 菜友无处不在 </span></td></tr>" + 
	"</table>";
	
	return mess;
}
function execInforeturn(istrue,info,status){
	createBgDiv();
	var color = "#009933";
	if(!istrue) color = "#ff0000"; 
	var sPopup = oodiv(color);
	
	//处理消息
	var mess = "";
	if(istrue) 
	{
		mess = "系统信息";
		mess = "<table width='400' border='0' align='center' cellpadding='0' cellspacing='0'>" + 
		   "<tr><td height='25' style='border-bottom:solid 1px #ccc'><b style='font-size:14px;color:#009933'>" + mess + 
		   "</b></td><td align='right' valign='top' style='border-bottom:solid 1px #ccc'>"; 
	}
	else 
	{
		mess = "错误提示";
		mess = "<table width='400' border='0' align='center' cellpadding='0' cellspacing='0'>" + 
		   "<tr><td height='25' style='border-bottom:solid 1px #ccc'><b style='font-size:14px;color:#ff0000'>" + mess + 
		   "</b></td><td align='right' valign='top' style='border-bottom:solid 1px #ccc'>" ;
	}
	if(status == 1)mess += "<a href='javascript:yesOther(true);' title='关闭'><img src='../images/close.gif' border='0' align='absmiddle'></a></td></tr>";
	else mess += "</td></tr>";
	mess += "<tr><td><br><span style='color:'>";
	if(info.indexOf("...") > -1)mess += "<img  align='absmiddle' src='../images/loading.gif'>&nbsp;&nbsp;";
	mess += info+"</SPAN><br><br>";	
	mess += "</td></tr>" + 
	"<tr><td colspan=2 height='25' align=right><span style='color:#999'>&copy; 2007-2008 菜友网 - 菜友无处不在 </span></td></tr>" + 
	"</table>";
	sPopup.innerHTML = mess;
}


function yesOther(t)
{
	if(!t)
	{
		  var bgObj2=document.getElementById("Divsinfo"); 
		  document.body.removeChild(bgObj2);
		  var bgObj=document.getElementById("bgDiv"); 
		  document.body.removeChild(bgObj);
		  var sel = document.getElementsByTagName("select");
		  for(i=0;i<sel.length;i++)
		  {
				//sel[i].style.display = "";
				sel[i].disabled = false;
		  }
	}
	else
	{
		  var bgObj2=document.getElementById("Divsinfo"); 
		  document.body.removeChild(bgObj2);
		  var bgObj=document.getElementById("bgDiv"); 
		  document.body.removeChild(bgObj);
		  var sel = document.getElementsByTagName("select");
		  for(i=0;i<sel.length;i++)
		  {
				//sel[i].style.display = "";
				sel[i].disabled = false;
		  }
	}
}

function execInnerreturn(info, tag)
{
	var msg = "";
	if(tag)
	{
		msg = "<font color='#006600'>"+info+"</font>";
	}
	else
	{
		msg = "<font color='#ff0000'>"+info+"</font>";

		setTimeout("closeInnerreturn()", 3000);
	}

	$("spanmsgbox").innerHTML = msg;
}

function closeInnerreturn()
{
	$("spanmsgbox").innerHTML = '';
}

//给指定Select添加XML的option流
function SetOptions(selectObjectId, selectValue, pagePath, firstText)
{
	var url = pagePath;
	var pars = "r=" + Math.random();  
	var obj = $(selectObjectId); 
	obj.disabled = true;
	obj.options.add(new Option("提取中..","0"));
	
	//alert(pars);
	var myAjax = new Ajax.Request( url, {method:'get', parameters:pars, onComplete:CityCallback});
	function CityCallback(req)
	{
		if (req.status == 200){
			var myDocument = new ActiveXObject("Microsoft.XMLDOM") 
			myDocument.async="false"; 
			myDocument.loadXML(req.responseText); 
			var myRoot = myDocument.documentElement; 
			var myOption = myRoot.getElementsByTagName("option");
			//清除对应Select的Option
			obj.length = 0; 
			obj.options.add(new Option(firstText,"0"));
			var tag = 0;
			for(i=0; i<myOption.length; i++)
			{
				obj.options.add(new Option(	myOption[i].selectSingleNode("text").text,
											myOption[i].selectSingleNode("value").text	));
		        if(myOption[i].selectSingleNode("value").text == selectValue) tag = i;
			}
			obj.selectedIndex = tag;
			
			obj.disabled = false;
		}
		else
		{
			obj.options.add(new Option("获取数据失败","-2"));
			obj.disabled = false;
		}
	} 
}

function InitParent()
{
	SetOptions("ddlParent", 0, "/xml/ClassOption.ashx", "选择主菜系");
}

function InitClass(pid)
{
	SetOptions("ddlClass", 0, "/xml/ClassOption.ashx?parent="+pid, "子菜系");
}

function InitSon(pid)
{
	SetOptions("ddlSon", 0, "/xml/ClassOption.ashx?parent="+pid, "小菜系");
}

//搜索菜馆
function SearchStore(t)
{
	if($F("txtStoreKey") == "" || $F("txtStoreKey") == "输入搜索关键字")
	{
		alert("输入搜索关键字");
		$("txtStoreKey").value = "";
		$("txtStoreKey").focus();
	}
	else
	{
		t.value = "开始搜索";
		t.disabled = true;
		var url = "http://guan.caiuu.com/0/0/0/0/0/0/?k=" + escape($F("txtStoreKey")); 

		window.location = url;
	}
}

//搜索菜谱
function SearchMenu()
{
	if($F("txtKey") == "" || $F("txtKey") == "输入菜名/关键字")
	{
		alert("请输入菜名/关键字");
		$("txtKey").value = "";
		$("txtKey").focus();
	}
	else
	{ 
		var url = "http://cai.caiuu.com/"; 
		url += $("ddlParent").options[$("ddlParent").selectedIndex].value + "/";
		url += $("ddlClass").options[$("ddlClass").selectedIndex].value + "/";
		url += $("ddlson").options[$("ddlson").selectedIndex].value + "/"; 
		url += "?k=" + escape($F("txtKey")); 

		window.location = url;
	}
}

//鼠标选择Tr
function TrSelected(o)
{
    if(o.className=="trselected")
    {
        o.className = "trnormal";
    }
    else
    {
        o.className = "trselected";
    }
}

//鼠标移动到Tr
function TrOver(o)
{
    if(o.className=="trselected")
    {
        //
    }
    else
    {
        o.className = "trover";
    }
}

//鼠标移开Tr
function TrOut(o)
{
    if(o.className=="trselected")
    {
        //
    }
    else
    {
        o.className = "trnormal";
    }
} 

//鼠标移动到Td
function TdOver(o)
{
    o.className = "biger";
}

//鼠标移开Td
function TdOut(o)
{
    o.className = "tdnormal";
}
//顶部搜索JS
function SearcherMenu()
{  
    var skey = $F("txtKeyWord"); 
	
    if(skey == "" || skey == "输入菜名/关键字")
    {
        alert("请输入菜名/关键字");
		$("txtKeyWord").value = "";
		$("txtKeyWord").focus();
    } 
    else
    {
        window.open("/search/so/?index=1&k="+escape(skey));
    }  
}

//告诉好友
function ClipBoard(_Text){
	var clipBoardContent='';
	clipBoardContent+=_Text+' -菜友网';
	clipBoardContent+='\r\n'+document.location.href;
	if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
		window.clipboardData.setData('Text',clipBoardContent);
		alert ("复制成功，按Ctrl + V ，粘贴到QQ和MSN上发给你的好友们吧 ！！");
	} else {
		prompt("请复制网站地址:",document.location.href); 
	}
}

function InitNew()
{
    var newObj = document.createElement("div"); 
	newObj.setAttribute('id','bgDiv'); 
	newObj.style.position="absolute"; 
	newObj.style.top="8";  
	newObj.style.left=(document.body.clientWidth-960)/2 + 360; 
	newObj.style.zIndex = "100"; 
	document.body.appendChild(newObj); 
	
	newObj.innerHTML = '<img src="/images/icon/new.gif" />';
}

function GetHTMLNavNum(index)
{
	var url = "/action/htmlnav.ashx?index="+index; 
	var pars = "r=" + Math.random(); 
	var myAjax = new Ajax.Request( url, {method:'get', parameters:pars, onComplete:setMenuCallback}); 
	function setMenuCallback(req)
	{ 
		if (req.status == 200)
		{ 
			$("infonavigation").innerHTML = req.responseText;
		}
		else
		{
			//$("infonavigation").innerHTML = "";
		} 
	}
}

function GetHTMLNav()
{ 
	GetHTMLNavNum(4);
}

function GetHTMLNavSub(index)
{ 
	var url = "/action/htmlnavsub.ashx?index="+index; 
	var pars = "r=" + Math.random(); 
	var myAjax = new Ajax.Request( url, {method:'get', parameters:pars, onComplete:setMenuCallback}); 
	function setMenuCallback(req)
	{ 
		if (req.status == 200)
		{ 
			$("navigation").innerHTML = req.responseText;
		}
		else
		{ 
			//$("infonavigation").innerHTML = "";
		} 
	}
}