﻿var inputs = document.getElementsByTagName('input');
var textareas = document.getElementsByTagName('textarea');
var selects = document.getElementsByTagName('select');
var isIE = (document.all && window.ActiveXObject && !window.opera) ? true : false;

function fn$(element) {//cc修改
	var elements = new Array();//debugger;
	if (arguments.length > 1) {
		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
		elements.push(fn$(arguments[i]));
		return elements;
	};
	element = document.getElementById(element);
	return element;
};

function stopBubbling (ev)
{	
	ev.stopPropagation();
};

function rInputs()
{
	for (i = 0; i < inputs.length; i++)
	{	
		if ((inputs[i].type == 'text' || inputs[i].type == 'password') && inputs[i].getAttribute('rel') != 'no_init_style')
		{
		    rTextPassword(i);
		};
	};
	for (n = 0; n < textareas.length; n++){
		if (textareas[n].getAttribute('rel') != 'no_init_style')
		{
		rTextareas(n);
		};
	};
};
function changecss(eventTag,cssname,ischange,classPrefix)
{
	var obj = eventTag;	
	if((obj.tagName=='INPUT' || obj.tagName=='TEXTAREA') && obj.className.indexOf(classPrefix)!=-1 && (obj.className.indexOf('focus')==-1 || ischange))
		obj.className = cssname;
};
function rTextareas(n)
{
	var tcl = textareas[n].className;
	addEvent(textareas[n],'focus',function(){changecss(textareas[n],tcl+'-focus',false,tcl);});
	addEvent(textareas[n],'blur',function(){changecss(textareas[n],tcl,true,tcl);});
	addEvent(textareas[n],'mouseover',function(){changecss(textareas[n],tcl+'-hover',false,tcl);});
	addEvent(textareas[n],'mouseout',function(){changecss(textareas[n],tcl,false,tcl);});
};
function rTextPassword(i)
{
	var icl = inputs[i].className;	
	addEvent(inputs[i],'focus',function(){changecss(inputs[i],icl+'-focus',false,icl);});
	addEvent(inputs[i],'blur',function(){changecss(inputs[i],icl,true,icl);});
	addEvent(inputs[i],'mouseover',function(){changecss(inputs[i],icl+'-hover',false,icl);});
	addEvent(inputs[i],'mouseout',function(){changecss(inputs[i],icl,false,icl);});	
};
function clickLabelsSelect(name)
{
	var selectid = 'select_info_' + name;
	var optionul = 'options_' + name;

	if (fn$(selectid).className == 'tag_select')//cc修改
	{
		fn$(selectid).className = 'tag_select_open';
		fn$(optionul).style.display = '';
	};
};
function getNotDisplayNode(obj)
{
	if(obj.className.indexOf('noscreen')==-1)
	{
		return getNotDisplayNode(obj.parentNode);
	}
	else
	{		
		return obj;
		};
};
function getWidth(obj)
{
	var width;
	
	if(obj.clientWidth>0)
	{
		width=obj.clientWidth;
	}
	else
	{
		var obj2=getNotDisplayNode(obj);
		obj2.style.display='block';			
		width=obj.clientWidth;
		obj2.style.display='none';
	};
	return width;
};
function rSelects()
{
	for (i = 0; i < selects.length; i++)
	{
		singleRSelect(selects[i],i);
	};
};
function singleRSelect(objSelect,i)
{
	if (objSelect.getAttribute('rel') != 'no_init_style')
		{
			objv = fn$('select_' + objSelect.name);//cc修改
			if(objv !=null)
			{
				objv.id="wertee"+Math.random();
				objv.innerHTML=objv.innerText='';
				objv.style.display='none';
			};
			objSelect.style.display = 'none';
			select_tag = document.createElement('div');
				select_tag.id = 'select_' + objSelect.name;
				select_tag.className = 'select_box';
			
			objSelect.parentNode.insertBefore(select_tag, objSelect);
			
			select_info = document.createElement('div');	
				select_info.id = 'select_info_' + objSelect.name;
				select_info.className = 'tag_select';
				select_info.style.cursor = 'pointer';
			select_tag.appendChild(select_info);
			select_ul = document.createElement('ul');	
				select_ul.id = 'options_' + objSelect.name;
				select_ul.className = 'tag_options';
				if(objSelect.options.length<16)
				{
					select_ul.style.width = (getWidth(objSelect.parentNode)-2)+'px';
				}
				else if(objSelect.options.length>=16)
				{
					select_ul.style.width = ((getWidth(objSelect.parentNode)+6)*2+20)+'px';
					select_ul.style.height = '300px';
					select_ul.style.overflow = 'auto';
				};
				select_ul.style.position = 'absolute';
				select_ul.style.display = 'none';
				select_ul.style.zIndex = '990';
			select_tag.appendChild(select_ul);
			rOptions(i, objSelect.name);		
			mouseSelects(objSelect.name);
			if (isIE)
			{
				addEvent(objSelect,'click', new Function("clickLabelsSelect('" + objSelect.name + "'); window.event.cancelBubble = true;"));
				}
			else if (!isIE)
			{
				addEvent(objSelect,'click', new Function("clickLabels3('" + objSelect.name + "')"));
				objSelect.addEventListener("click", stopBubbling, false);
			};
		};
};
function rOptions(i, name)
{
	var options = selects[i].getElementsByTagName('option');
	var options_ul = 'options_' + name;
	
	for (n=0;n<selects[i].options.length;n++)
	{	
		option_li = document.createElement('li');
			option_li.style.cursor = 'pointer';
			option_li.className = 'open';
			option_li.style.width = (getWidth(selects[i].parentNode)-22)+'px';
		fn$(options_ul).appendChild(option_li);//cc修改
		option_text = document.createTextNode(selects[i].options[n].text);
		option_li.appendChild(option_text);
		option_selected = selects[i].options[n].selected;
		if (option_selected)
		{
			option_li.className = 'open_selected';
			option_li.id = 'selected_' + name;
			fn$('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));//cc修改
		};		
		option_li.onmouseover = function()
		{
			this.className = 'open_hover';
		};
		option_li.onmouseout = function()
		{
			if (this.id == 'selected_' + name)
			{
				this.className = 'open_selected';
			}
			else
			{
				this.className = 'open';
			};
		}; 
		option_li.onclick = new Function("clickOptions(" + i + "," + n + ",'" + selects[i].name + "')");
	};
};
function mouseSelects(name)
{
	var sincn = 'select_info_' + name;
	fn$(sincn).onmouseover = function()//cc修改
	{
		if (this.className == 'tag_select') this.className = 'tag_select_hover';
	};
	fn$(sincn).onmouseout = function()//cc修改
	{
		if (this.className == 'tag_select_hover') this.className = 'tag_select';
	};
	if (isIE)
	{
		fn$(sincn).onclick = new Function("clickSelects('" + name + "');window.event.cancelBubble = true;");//cc修改
	}
	else if (!isIE)
	{
		fn$(sincn).onclick = new Function("clickSelects('" + name + "');");
		fn$('select_info_' + name).addEventListener("click", stopBubbling, false);//cc修改
	};
};
function clickSelects(name)
{
	var sincn = 'select_info_' + name;
	var sinul = 'options_' + name;	

	for (i=0;i<selects.length;i++)
	{	
		if (selects[i].name == name)
		{				
			if ( fn$(sincn).className == 'tag_select_hover')
			{
				fn$(sincn).className = 'tag_select_open';
				fn$(sinul).style.display = '';
			}
			else if ( fn$(sincn).className == 'tag_select_open')
			{
				fn$(sincn).className = 'tag_select_hover';
				fn$(sinul).style.display = 'none';
			};//cc修改
		}
		else
		{
			if (selects[i].getAttribute('rel') != 'no_init_style')
				{
				fn$('select_info_' + selects[i].name).className = 'tag_select';
				fn$('options_' + selects[i].name).style.display = 'none';
			};//cc修改
		};
	};
};
function removeOptions(selectIds)
{
    if (typeof selectIds != 'object')
    {
        selectIds = fn$(selectIds);
    };
    var len = selectIds.options.length;
	selectIds.options.length = 0;
};
function setSelectOption(selectIds,opt_arr,firstOption)
{
	
	if (typeof selectIds != 'object')     
	{
		selectIds = fn$(selectIds);//cc修改
	};
	removeOptions(selectIds);       
	createOptions(selectIds,opt_arr,firstOption)
	
}; 
function createOptions(selectIds,opt_arr,firstOption)
{	
	if (typeof selectIds != 'object')     
	{
		selectIds = fn$(selectIds);//cc修改
	};
	selectIds.options[selectIds.options.length] = new Option(firstOption, '-101');
	for (var i=0; i < opt_arr.length; i++)
		{ 
		selectIds.options[selectIds.options.length] = new Option(opt_arr[i].split('_')[0],opt_arr[i].split('_')[1]);
		};
};
function changeSelect(name)
{
	var selectIds = new Array('sel_rootctg','sel_childctg','sel_prolist');
	var firstOptions = new Array('--------请选择商品类型------','----请选择具体商品类型----','----------请选择面值---------');
	for(var si=0; si<selectIds.length; si++)
	{
		if(selectIds[si]==name)
		{
			break;
		};
	};	
	for(var st=si; st<selectIds.length; st++)
	{
		if(selectIds[st] == selectIds[1])
		{
			firstOption = firstOptions[1];
			opt_arr=eval('proot_'+ fn$(selectIds[st-1]).value);//cc修改
		}
		else if(selectIds[st] == selectIds[2])
		{
			firstOption = firstOptions[2];
			opt_arr=eval('pctg_'+ fn$(selectIds[st-1]).value);//cc修改
		};
		setSelectOption(selectIds[st],opt_arr,firstOption);
		for(var t=0;t<selects.length;t++)
		{
			if(selects[t].name==selectIds[st])
			{
				singleRSelect( fn$(selectIds[st]),t);//cc修改
				break;
			};
		};
	};
};
function FireEvent(obj, eventName)
  {
    if (isIE)
    {
        obj.fireEvent(eventName);
    }
    else
    {
        var e = document.createEvent('HTMLEvents');
        e.initEvent(eventName.replace('on',''), false, false);
        obj.dispatchEvent(e);
    };
  };
function clickOptions(i, n, name)
{		
	var li = fn$('options_' + name).getElementsByTagName('li');
	fn$('selected_' + name).className = 'open';
	fn$('selected_' + name).id = '';
	li[n].id = 'selected_' + name;
	li[n].className = 'open_hover';
	
	fn$('select_' + name).removeChild(fn$('select_info_' + name));
	//cc修改
	
	select_info = document.createElement('div');
		select_info.id = 'select_info_' + name;
		select_info.className = 'tag_select';
		select_info.style.cursor = 'pointer';
	fn$('options_' + name).parentNode.insertBefore(select_info,fn$('options_' + name));
	mouseSelects(name);
	fn$('select_info_' + name).appendChild(document.createTextNode(li[n].innerHTML));
	fn$( 'options_' + name ).style.display = 'none' ;
	fn$( 'select_info_' + name ).className = 'tag_select';
	//cc修改
	
	if(selects[i].options[n].value !=null && selects[i].options[n].value == '-101')
	{
		return true;
	}else if(selects[i].selectedIndex!=n)
	{
		selects[i].options[n].selected = 'selected';
		FireEvent(selects[i],'onchange');	
	};
};
function addEvent(obj, evType, fn)  
{  
	if (obj.addEventListener)
	{  
		obj.addEventListener(evType, fn, false);  
		return true;  
	}
	else if(obj.attachEvent)
	{  
		var r = obj.attachEvent("on"+evType, fn);  
		return r;  
	}
	else
	{  
		return false;  
	};
}; 
addEvent(window,'load',InitForms);
function InitForms()
{
	bodyclick = document.getElementsByTagName('body').item(0);
	rInputs();
	rSelects();
	bodyclick.onclick = function()
	{
		for (i = 0; i < selects.length; i++)
		{	
		if (selects[i].getAttribute('rel') != 'no_init_style')
		{
			fn$('select_info_' + selects[i].name).className = 'tag_select';
			fn$('options_' + selects[i].name).style.display = 'none';
			//cc修改
			};
		};
	};
};
function ListBg(lid,row)
{
	var nom;
	if(lid.indexOf(',')!=-1)
		nom = lid.split(',');
	else
    {
    	nom=new Array(1);
    	nom[0]=lid;
    };
   	for (var n = 0; n < nom.length; n++){
		var list_obj = fn$(nom[n]).getElementsByTagName("li"); 
		if(typeof(list_obj)=='object')
		{
		for (var i = row; i < list_obj.length; i++) {    
			list_obj[i].onmousemove = function() {    
			this.style.backgroundColor = '#e8f5ff';    
			};    
			list_obj[i].onmouseout = function() {    
			this.style.backgroundColor = "#ffffff";    
			};    
		};
		};
	};
};
function bgChange(listid)
{
	var lis= fn$(listid).getElementsByTagName('li');//cc修改
	for(var i=0; i<lis.length; i+=2)
	lis[i].style.backgroundColor = '#fff9ef';
};
function doClick_tabs(o,num,cur,tid,bid)
{
	o.className=cur;
	var j;
	var id;
	var e;
	for(var i=1;i<=num;i++)
	{
		id =tid+i;
		j = fn$(id);
		e = fn$(bid+i);
		//cc修改
		
		if(id != o.id)
		{
			j.className="";
			e.style.display = "none";
		}
		else
		{
			e.style.display = "block";
		};
	};
};
function divcontrol(o,proid)
{
	if(fn$(proid).style.display=="none")
	{
	    fn$(proid).style.display="";
	    o.className='shn';
	    o.innerHTML='隐藏详细商品';
	}
	else
	{
		fn$(proid).style.display="none";
	    o.className='ssw';
	    o.innerHTML='显示详细商品';
	};//cc修改
};
function divuser(o,proid)
{
	if(fn$(proid).style.display=="none")
	{
		fn$(proid).style.display="";
		o.className='uhn';
		o.innerHTML='隐藏';
	}
	else
	{
		fn$(proid).style.display="none";
		o.className='usw';
		o.innerHTML='显示';
	};
	//cc修改
};
function divso(o,proid)
{
	if(fn$(proid).style.display=="none")
	{
		fn$(proid).style.display="";
		o.className='tool-toggle';
	}
	else
	{
		fn$(proid).style.display="none";
		o.className='collapsed-tool-toggle';
	};
};
function reSize()
{
    var windowWidth, windowHeight,bodyWidth,bodyHeight,yScroll;
	if (window.innerHeight) {
		windowWidth = window.innerWidth;
		windowHeight = window.innerHeight;
		bodyWidth = document.body.clientWidth;
		bodyHeight = document.body.clientHeight;
	} else {
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
		bodyWidth = document.body.clientWidth;
		bodyHeight = document.body.clientHeight;
	};
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {
		yScroll = document.body.scrollTop;
	};
	if(bodyWidth < 960)
	{
		fn$('divshim').style.width = "960px";
	}else{
		fn$('divshim').style.width = windowWidth + "px";
	};
	if(bodyHeight < windowHeight)
	{
		fn$('divshim').style.height = windowHeight + "px"; 
	}else{
		fn$('divshim').style.height = bodyHeight + "px";
	};
};
addEvent(window,'resize',reSize);
function DivSetVisible(idName)
{
    var DivRef = fn$(idName);
    var IfrRef = fn$('divshim');
    if(fn$(idName).className=="white_content")
    {
        DivRef.style.display = "block";
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
			} else if (document.documentElement && document.documentElement.scrollTop){
			yScroll = document.documentElement.scrollTop;
			} else if (document.body) {
			yScroll = document.body.scrollTop;
		};
		DivRef.style.top = (screen.height/2 -90 - 300　+　yScroll) + "px";
		reSize();
        IfrRef.style.display = "block";
    };
};
function DivSetHidden(idName){
	document.getElementById(idName).style.display="none";
	document.getElementById("divshim").style.display="none";
};
