function StrCode(str)
{
	if(encodeURIComponent) return encodeURIComponent(str);
	if(escape) return escape(str);
}

function UnStrCode(str)
{
	if(decodeURIComponent ) return decodeURIComponent (str);
	if(unescape) return unescape(str);
}


function SelectAll()
{
	var el = $(arguments[0]).getElementsByTagName("input");
	for (var i=0;i<el.length;i++)
	{
		var e = el[i];
		if(e.Type="checkbox")
		{
			e.checked=arguments[1];
		}
	}
}


function xmlget(xml , name){
	var tmp = xml;
	if (tmp){
		var xobj = tmp.getElementsByTagName(name)[0];
		if ( xobj){
			var ret = "";
			if (xobj.firstChild){
				ret = xobj.firstChild.data;
			}
			if (ret ){
				if (ret == '0'){
					ret = 0;
				}
				return ret;	
			}
		}
	}
	return 0;
}

function xmlget_arr(xml , name){
	
	var tmp = xml;
	if (tmp){
		var xobj = tmp.getElementsByTagName(name);
		if ( xobj ){
			var i = 0;
			var ret = new Array();
			for(var i = 0; i < xobj.length ; i++)	{
				if (xobj[i].firstChild){
					ret[i] = xobj[i].firstChild.data;
				}
			}
			return ret;
		}
	}else{
		return 0;
	}
}


function SubmitKeyClick()
{

	if(event.keyCode == 13)
	{
		  event.keyCode=9;
		  event.returnValue = false;
		  $(arguments[0]).click();
	}
}

function CheckSubmitForm()
{

	var obj=$F(arguments[0]).trim();
	if(obj.length>0)
	{
		return true;
	}
	else
	{
		alert('Please enter what you want to search for.');
		return false;
	}
}

function CheckGlobalSubmitForm()
{

	var obj=$F(arguments[0]).trim();
	if(obj.length==0)
	{
		alert('Please enter what you want to search for.');
		return false;
	}

	switch($F(arguments[1]).trim())
	{
		case "buy":
			window.location.href="/Trade/List.aspx?type=buy&q="+obj;
			break;
		case "sell":
			window.location.href="/Trade/List.aspx?type=sell&q="+obj;
			break;
		case "product":
			window.location.href="/Product/List.aspx?q="+obj;
			break;
	}
	return false;
}
function CheckCompanySubmitForm()
{

	var obj=$F(arguments[0]).trim();
	if(obj.length==0)
	{
		alert('Please enter what you want to search for.');
		return false;
	}

	if($F(arguments[2]).trim()==0)
	{
		switch($F(arguments[1]).trim())
		{
			case "buy":
				window.location.href="/Trade/List.aspx?type=buy&q="+obj;
				break;
			case "sell":
				window.location.href="/Trade/List.aspx?type=sell&q="+obj;
				break;
			case "product":
				window.location.href="/Product/List.aspx?q="+obj;
				break;
		}
	}
	else
	{
		switch($F(arguments[1]).trim())
		{
			case "buy":
				window.location.href="/Company/TList.aspx?type=buy&CompanyID="+$F(arguments[2]).trim()+"&q="+obj;
				break;
			case "sell":
				window.location.href="/Company/TList.aspx?type=sell&CompanyID="+$F(arguments[2]).trim()+"&q="+obj;
				break;
			case "product":
				window.location.href="/Company/PList.aspx?type=buy&CompanyID="+$F(arguments[2]).trim()+"&q="+obj;
				break;
		}
	}



	return false;
}


function UpdateHotQuery()
{


	var url="/Ajax/GetHotQuery.aspx";
	//alert($F(arguments[0]).trim());
	var pars="column="+$F(arguments[0]).trim();
	var myAjax = new Ajax.Updater('globalQueryHotKey', url, {method: 'get', parameters: pars});
}



/*Check Input Is English*/
function check(object,input_value) {
	if (!(checkchi(input_value))) {
		alert('Sorry, the information you filled is not in English. Please input in English instead.                                            ');
		object.focus();
	}
}

function check(object,input_value) {
	if (!(checkchi(input_value))) {
		alert('Sorry, the information you filled is not in English. Please input in English instead.                                            ');
		object.focus();
	}
}

function checkchi(myint) {

	var checkStr = myint;
	var allValid = true;

	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charCodeAt(i);
		if (ch > 256 && !isOkChar(ch))
		{      
			allValid = false;
			break;
		}
	}
	if ( !allValid )
	{
		return (false);
	}
	return (true);
}

function isOkChar(ch)
{
	var checkOk = new Array();
	checkOk[0] = "12288";
	checkOk[1] = "8364";

	for (j = 0;  j < checkOk.length;  j++)
      	if (ch == checkOk[j])
      	{
        	return true;
        }
    return false;
	
}

function checkKeyword(object,input_value)
{
	if (!(checkchi(input_value)))
	{
		alert("Sorry, the information you filled is not in English. Please input in English instead.");

		object.focus();
		return;
	}

	if( checkContainComma(input_value) ){
		alert("Please do not include comma(,) in your keyword string.");
		object.focus();
	}
}

function checkContainComma( value ){
    if(value==null)
        return false;
    for(i=0;i<value.length;i++){
        ch=value.charCodeAt(i);
        if(ch==44)
            return true;
    }    	 
    return false;
}

/* history */

var noExpires = new Date();
noExpires.setTime(noExpires.getTime() + 60*60*1000*24*60 );
  
var itemSplit="\n";

function CookieBuilder(name){
	var index;
	this.name=name;
	this.expires=noExpires;
	var value=getCookie(this.name);
	var s="";
	if (value!=null)
	{
		var aId = value.split(itemSplit); 
		if (aId.length>0){
			index=parseInt(aId[0]);
			if (isNaN(index)) index=0;
		}
		else{
			index=0;
		}
		if (index>=4) index=0;
	}
	else{
		index=0;
	}

	this.addItemToCookie=function(ItemId){

		index=addItemToCookieByIndex(this.getIndex(),this.name,ItemId,this.expires);   
	}
	this.getCookie=function(){
		return getTrueCookie(this.name);
	}
	
	this.deleteCookie=function(){
		index=0;
		return deleteCookie(this.name);
	}
	     
	this.getIndex=function(){
		if (index>=4) index=0;
		return index;
	}

	this.getIDs=function(){
		var value=getTrueCookie(this.name);
		//alert(value);
		if(value){ 
			return value.split(itemSplit);
		}
		else
		{
			return null;
		}
	}	

	this.LoadAllCookie=function(){

		
		if(!this.getIDs())
		{
			//alert('test');
			return;
		}
		//alert('test');
	
		var url="/Ajax/Get"+this.name+"Item.aspx";
		var pars="ids="+this.getIDs();
		var myAjax = new Ajax.Request(
						url,
						{method: 'get',parameters: pars,onComplete : showResultAll.bind(this,this.name)}
						);
		//alert(url);
		//return;
	}

}

function showResultAll()
{

	var itemname=xmlget_arr(arguments[1].responseXML, 'Name');
	var itemphoto=xmlget_arr(arguments[1].responseXML, 'photo');
	var itemurl=xmlget_arr(arguments[1].responseXML, 'url');

	for( i=0; i<itemname.length; i++)
	{	
	
		
		$("img_href_"+arguments[0]+"_"+i).href=itemurl[i];
	
		$("img_"+arguments[0]+"_"+i).src="http://img3.vegnet.com.cn"+itemphoto[i];
		$("img_"+arguments[0]+"_"+i).alt=itemname[i];

		$("text_href_"+arguments[0]+"_"+i).href=itemurl[i];
		$("text_href_"+arguments[0]+"_"+i).innerHTML=itemname[i];

		$("li_"+arguments[0]+"_"+i).show();

		$("li_trade_0").show();
		
	
	}

	//alert(arguments[1].responseXML);
	//alert($(arguments[0]+"History"));
	//return;

	if(itemname.length>0)
		$(arguments[0]+"History").show();

	//alert($("li_trade_0").style.display);
}

function showResultItem()
{
	
	//alert(arguments[2].responseText);
	var itemname=xmlget_arr(arguments[2].responseXML, 'Name');
	var itemphoto=xmlget(arguments[2].responseXML, 'photo');
	var itemurl=xmlget(arguments[2].responseXML, 'url');
	//alert(itemname[1]);

	$("img_href_"+arguments[0]+"_"+arguments[1]).href=itemurl;
	
	$("img_"+arguments[0]+"_"+arguments[1]).src="http://img3.vegnet.com.cn"+itemphoto;
	$("img_"+arguments[0]+"_"+arguments[1]).alt=itemname;

	$("text_href_"+arguments[0]+"_"+arguments[1]).href=itemurl;
	$("text_href_"+arguments[0]+"_"+arguments[1]).innerHTML=itemname;

	$("li_"+arguments[0]+"_"+arguments[1]).show();
	
	$(arguments[0]+"History").show();
}

function getTrueCookie(name)
{
	var value=getCookie(name);
	//alert(value)
	if (value!=null){
		firstSplitIndex=value.indexOf(itemSplit);
		if (firstSplitIndex!=-1){
			return value.substr(firstSplitIndex+itemSplit.length);
		}
	}
	return value;
}

function addIndexToCookieValue(index,value){

	//alert(value);
	if (index!=null&&value!=null&&value.length>0){

		return index.toString()+itemSplit+value;
	}
	else
	{

		return value;
	}
}

function addItemToCookieByIndex(index,name,ItemId,expires){
	var value=getTrueCookie(name);
	var s="";
	if (value!=null){
		var aId = value.split(itemSplit); 
		var k=1;
		var n= containElem(aId,ItemId);

		if (n!=-1) return index;

		aId[index]=ItemId;
		for (var i=0; i < aId.length; i++) 
		{
			s=s+itemSplit+aId[i];
		}
		s=s.substr(itemSplit.length);      
	}
	else{
		s=ItemId;
	}
	s=addIndexToCookieValue(index+1,s);
	//alert(s);
	setCookie(name,s,expires);

	var url="/Ajax/Get"+name+"Item.aspx";
	var pars="ids="+ItemId;
	//alert(pars);
	var myAjax = new Ajax.Request(
						url,
						{method: 'get',parameters: pars,onComplete : showResultItem.bind(this,name,index)}
						);
	return index+1;
}

function containElem(arrayObj,elem){
	for (var i=0; i < arrayObj.length; i++) {
		
		if (elem==arrayObj[i]) return i;	  
	}
	return -1;
}

function getCookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1)
	{
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}
	else
	{
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
	{
		end = dc.length;
	}
	return UnStrCode(dc.substring(begin + prefix.length, end));
}

function setCookie(name, value, expires, path, domain, secure)
{   
	s=name + "=" + StrCode(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "; path=/") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
	//alert(s);
	document.cookie=s; 
}

function deleteCookie(name, path, domain)
{
	if (getCookie(name))
	{
		document.cookie = name + "=" + 
		((path) ? "; path=" + path : "; path=/") +
		((domain) ? "; domain=" + domain : "") +

		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
		//alert("clear");
	}
	else{
	//alert("no clear");
	}
	//alert(getCookie(name));
}


var productcookieload=false;
var productcookieBuilder=new CookieBuilder("product");

var tradecookieload=false;
var tradecookieBuilder=new CookieBuilder("trade");


function productcookieAdd()
{

	if(!productcookieload)
	{
		productcookieBuilder.LoadAllCookie();
		productcookieload=true;
	}

	productcookieBuilder.addItemToCookie(arguments[0]);
}

function productcookieLoad()
{
	$('productHistory').toggle();

	if(productcookieload)
		return;

	productcookieBuilder.LoadAllCookie();
	productcookieload=true;

		
}

function tradecookieAdd()
{

	if(!tradecookieload)
	{
		tradecookieBuilder.LoadAllCookie();
		tradecookieload=true;
	}

	tradecookieBuilder.addItemToCookie(arguments[0]);
}

function tradecookieLoad()
{

	$('tradeHistory').toggle();

	if(tradecookieload)
		return;

	tradecookieBuilder.LoadAllCookie();

	tradecookieload=true;
}