//  显示与隐藏
function Move_Show(moveid,showid,showevent){
        this.mid = document.getElementById(moveid);
        this.sid = document.getElementById(showid);
        this.sevent = showevent
        this.hidetimer = null;
        this.adjustwidth = 0;
        var _this = this;
        this.init = function(){
            _this.mid.onmouseover =function(){
                if(!_this.sid.style.width){
                    var newsid = _this.mid;
                    while(newsid.parentNode.tagName.toLowerCase() != "li"){
                       newsid = newsid.parentNode;
                       }
                    _this.sid.style.width = newsid.offsetWidth + _this.adjustwidth + "px";
                }
                _this.sid.style.display="block";
                if(_this.sevent)
                    _this.sevent;
                if(_this.hidetimer)
                    window.clearTimeout(_this.hidetimer);
            }
            _this.mid.onmouseout = function(){
                _this.disp_none();
            }
            
            _this.sid.onmouseover = function(){
                if(_this.hidetimer)
                    window.clearTimeout(_this.hidetimer);
            }
            _this.sid.onmouseout = function(){
                _this.disp_none();
            }
        }
        
        this.disp_none = function(){
            _this.hidetimer = window.setTimeout(function(){
                _this.sid.style.display="none";
            },300);
        }
    }

function gg_preview (c) {
	this.wrapper = $(c);
	this.queue = [];
	this.parentPosition={};
	
	//   从指定的容器里遍历出需要预览的尺寸容器，并加入到队列    
	this.init_queue = function(w) {
		this.parentPosition.x = $("bm_setsize").getLeft();
		this.parentPosition.y = $("bm_setsize").getTop();
		if (!w) w = this.wrapper;
		for (var i=0; i < w.childNodes.length; i++) {
			if (w.childNodes[i].nodeType == 1 && w.childNodes[i].className.indexOf('x_gg_pre') > -1) this.queue.push(w.childNodes[i]);
			this.init_queue(w.childNodes[i]);
		};
	};

	this.init_preview = function() {
		var _this = this;
		for (var i=0; i < this.queue.length; i++) {
			this.queue[i].getElementsByTagName('label')[0].onmouseover = function(e) {
				//var ev = !e ? window.event : e;
				//var et = typeof(ev.target) != "undefined" ? ev.target : ev.srcElement;
				
				//var _t = et.parentNode.parentNode;_t=$(_t);
				this.className +=" showclass";
				var _t = this.parentNode;_t=$(_t);
				if (!_t.getAttribute('gg_size')) return;
				var _size = _t.getAttribute('gg_size').split('x');
				_size[0] = parseInt(_size[0],10);
				_size[1] = parseInt(_size[1],10);
				var _top = _t.getTop() - _this.parentPosition.y;
				var _left = _t.getLeft() + 70 - _this.parentPosition.x;
        
				if(_size[0]> 800){
				    _top += 30; 
				    _left = 10;
				}
		
				if ($('e_gg_pre'))  $('e_gg_pre').parentNode.removeChild($('e_gg_pre'));
				var _pre = document.createElement('div');
				_pre.id = "e_gg_pre";
				if(_size[0]> 300){
				    _pre.style.cssText = "padding:"+ (_size[1]/2-10) +"px 0;width:"+_size[0]+"px;text-align:center;color:#999;font-size:21px;border:2px dotted green;background-color:#fff;position:absolute;z-index:100;top:" + _top + "px;left:" + _left + "px;height:20px;line-height:20px; overflow:hidden;";
			
					_pre.innerHTML = _t.getAttribute("gg_des") +":" + _size[0] + " x " + _size[1];
				}else{
					_pre.style.cssText = "padding:"+ (_size[1]/2-20) +"px 0;width:"+_size[0]+"px;text-align:center;color:#999;font-size:21px;border:2px dotted green;background-color:#fff;position:absolute;z-index:100;top:" + _top + "px;left:" + _left + "px;height:40px;line-height:20px; overflow:hidden;";
			
					_pre.innerHTML = _t.getAttribute("gg_des") +"<br />" + _size[0] + " x " + _size[1];
		
				}
				_this.wrapper.parentNode.appendChild(_pre);
			};
			this.queue[i].getElementsByTagName('label')[0].onmouseout = function(e) {
				try{
					this.className = this.className.replace(/showclass/ig,"");
					 $('e_gg_pre').parentNode.removeChild($('e_gg_pre'));
				}catch(e){}
			};
		};
	};

	this.init_queue();
	this.init_preview();
}

function delete_e_gg_pre(){
	if ($('e_gg_pre')) $('e_gg_pre').parentNode.removeChild($('e_gg_pre'));
}

window.addEvent('domready', function() {
	if($('wish_preview'))
	new gg_preview('wish_preview');
});

var checkDate=[];
var inputDate=[];



function size_keyup(c,add){
    c.value = c.value.replace(/\D/,"");
    c.value =c.value.replace(/(\d{3})\d+/,"$1");
    
    var d = c.parentNode.getElementsByTagName("input");
    if(d[0].value.length <2 || d[1].value.length <2)
        return;
    displayInput(c);
    if(!validInput()) return;
    if(typeof(add) != "undefined"){
        var dds = $("custom_size").getElementsByTagName("dd");
        if(dds.length >= 3) return;
        var dl = $("custom_size");
        if(dl.getAttribute("shownew") && dl.getAttribute("shownew") == "new") return;
        dl.setAttribute("shownew","new");
        
        var newdd = document.createElement("dd");
        newdd.innerHTML ='<a href="#" onclick="add_custom_size(this);return false;" style="color:#0029ad;"><strong style="font-size:16px; line-height:12px;">+</strong> 新增自定义尺寸</a>';
        dl.appendChild(newdd);
    }
}

//处理输入的尺寸
function displayInput(c){
    var dds = $("custom_size").getElementsByTagName("dd");
    inputDate=[];
    var currentdd;
    for(var i=0;i<dds.length;i++){
        if(dds[i] == c.parentNode){ currentdd =dds[i]; continue;}
        var ins = dds[i].getElementsByTagName("input");
        if(ins.length>1 && ins[0].value.length>0 &&ins[1].value.length>0){
            inputDate[inputDate.length] = ins[0].value +"x"+ins[1].value;
        }
    }
    if(validInput()){
        var ins = currentdd.getElementsByTagName("input");
        if(ins.length>1 && ins[0].value.length>0 &&ins[1].value.length>0){
            inputDate[inputDate.length] = ins[0].value +"x"+ins[1].value;
        }
    }
    else{
        currentdd.innerHTML ='<a href="#" onclick="add_custom_size(this);return false;" style="color:#0029ad;"><strong style="font-size:16px; line-height:12px;">+</strong> 新增自定义尺寸</a>';
        alert("限同时编辑5个尺寸");
    }
    showSize();
}

//判断同时编辑最多5个。
function validInput(){
    var cd1 = checkDate.length;
    var cd2 = inputDate.length;
    if(cd1 + cd2 <5)
        return true;
    return false;
}

function oncliCheckDate(e){
    var ev = !e ? window.event : e;
	var et = typeof(ev.target) != "undefined" ? ev.target : ev.srcElement;
	if(et.tagName.toLowerCase() !="input") return;
	var ischeck =et.checked;
	et.checked = false;

    var checks = $("wish_preview").getElementsByTagName("input");
    checkDate =[];
    for(var i=0 ;i<checks.length;i++){
        if(checks[i].checked){
            checkDate[checkDate.length] = checks[i].parentNode.parentNode.getAttribute("gg_size");
        }
    }
    if(ischeck){
        if(validInput()){
            et.checked = true;
            checkDate[checkDate.length] = et.parentNode.parentNode.getAttribute("gg_size");
        }
        else
            alert("限同时编辑5个尺寸");
    }
    showSize();
}

//下面的显示
function showSize(){
    var ss = $("showSize_span");
    if(checkDate.length + inputDate.length == 0)
        ss.innerHTML ='(限同时编辑<span class="red">5</span>个尺寸)';
    else{
        var allsize ="";
        for(var i=0;i<checkDate.length;i++){
            allsize += ", "+checkDate[i];
        }
        for(var i=0;i<inputDate.length;i++){
            allsize += ", "+inputDate[i];
        }
        if(allsize.length>0)
            allsize = allsize.substr(1,allsize.length-1);
        if(allsize.length> 30)
            allsize +="<br />";
        ss.innerHTML ='<span class="choice_span">'+allsize+'</span>尺寸(限同时编辑<span class="red">5</span>个尺寸)';
    }

}


function add_custom_size(c){
    if(!validInput()){ alert("限同时编辑5个尺寸");return false;}
    
    var dd =c;
    do{
        dd = dd.parentNode;
        if(dd.tagName.toLowerCase() =="dd")
              break;
        
    }while(true)
    
    dd.innerHTML = '<input type="text" onkeyup="size_keyup(this,\'add\')" /> x <input type="text" onkeyup="size_keyup(this,\'add\')" /> (宽x高)';
    dd.parentNode.setAttribute("shownew","");
    
}


//开始制作
function to_ml_start(c){
	if(checkDate.length == 0 && inputDate.length == 0){
		alert("至少要选择一个编辑尺寸！");
		return false;
	}
	var bannerSize="?bannerSize=";
	for(var i = 0; i < checkDate.length; i++){
		bannerSize += checkDate[i] + ","
	}
	for(var i = 0; i < inputDate.length; i++){
		bannerSize += inputDate[i] + ","
	}
	location.href=c.href +bannerSize;
}

//显示
function show_comment_star_div(c,event){
	var cm = $("comment_star_div");
    if(!cm){
        cm = document.createElement("div")
        cm.className ="comment_star";
        cm.id ="comment_star_div";
        document.body.appendChild(cm);
        
        cm = $("comment_star_div");
        cm.addEvent("click",function(event){
            if(this.style.display =="block") {
                if(window.event)
                    window.event.cancelBubble=true;
                else
                    event.stopPropagation();
            }
        })
    }
    var tempid = c.getAttribute("templetid");
	cm.setAttribute("templetid",tempid);
	c = $(c);
    cm.style.top = c.getTop() + c.offsetHeight + 4 +"px";
    cm.style.left = c.getLeft()-50 +"px";
	
	if(window.event)
        window.event.cancelBubble=true;
    else
        event.stopPropagation();
	
	cm.innerHTML = "<div style='text-align:center; margin-top:10px;'>loading...</div>";
	cm.style.display="block";
}

function add_favorites(c,event){
	show_comment_star_div(c,event);
	var tempid = c.getAttribute("templetid");
	var req = new Request({
		url: '/favorites.json',
		onSuccess: function(x){
			var c =$("comment_star_div");
			c.innerHTML = "<div style='text-align:center; margin-top:10px;*margin-top:17px;' class='blue'>收藏成功</div>";;
			c.style.display="block";
		},
		onFailure: function(x){
			var res = x.responseText;
			var str = "你已经收藏了。";
			if(res == "nologin")
				str ='你还没有<a href="http://www.alimama.com/membersvc/member/login.htm?forward=http://banner.alimama.com" target="_blank" style="color:#EF6F07">登录</a>'
			var c =$("comment_star_div")
			c.innerHTML =  "<div style='text-align:center; margin-top:10px;*margin-top:17px; color:#000;'>" + str +"</div>";
			c.style.display="block";
		}
	});
	req.send("templet_id="+tempid);
}


//添加评论
function add_comment_star(c,event){
    show_comment_star_div(c,event);
	var tempid = c.getAttribute("templetid");
	var req = new Request({
		url: '/rates/is_created.json?templet_id='+tempid,
		onSuccess: function(x){
			var c =$("comment_star_div");
			var tempid = c.getAttribute("templetid");
			var co_str ='<ul><li><a href="#" class="star_1" onclick="add_comment_star_toSys('+tempid+',1);return false;">不行</a></li><li><a href="#" class="star_2" onclick="add_comment_star_toSys('+tempid+',2);return false;">一般</a></li><li><a href="#" class="star_3" onclick="add_comment_star_toSys('+tempid+',3);return false;">可以</a></li><li><a href="#" class="star_4" onclick="add_comment_star_toSys('+tempid+',4);return false;">很好</a></li> <li><a href="#" class="star_5" onclick="add_comment_star_toSys('+tempid+',5);return false;">偶像</a></li></ul>';
			c.innerHTML = co_str;
			c.style.display="block";
		},
		onFailure: function(x){
			var res = x.responseText;
			var str = "你已经评论过了。";
			if(res == "nologin")
				str ='你还没有<a href="http://www.alimama.com/membersvc/member/login.htm?forward=http://banner.alimama.com" target="_blank" style="color:#EF6F07">登录</a>'
			var c =$("comment_star_div")
			c.innerHTML =  "<div style='text-align:center; margin-top:10px;*margin-top:17px; color:#000;'>" + str +"</div>";
			c.style.display="block";
		}
	});
	req.send();
	
}

document.addEvent('click',function(){
    var cm = $("comment_star_div");
    if(cm != null && cm.style.display == "block")
        cm.style.display ="none";
});

function add_comment_star_toSys(id,val){
	var req = new Request({
		url: '/rates.json',
		onSuccess: function(txt){
			$("comment_star_div").innerHTML = "<div style='text-align:center; margin-top:10px;' class='blue'>评论成功！</div>";
			eval("var rs = " + txt);
			var cc = $("comment_star_"+rs.templet_id)
			if(rs.average_rate){
				if(rs.average_rate < 1.5){
					cc.innerHTML ="评价(不行)";
				}else if(rs.average_rate < 2.5){
					cc.innerHTML ="评价(一般)";
				}else if(rs.average_rate < 3.5){
					cc.innerHTML ="评价(可以)";
				}else if(rs.average_rate < 4.5){
					cc.innerHTML ="评价(很好)";
				}else{
					cc.innerHTML ="评价(偶像)";
				}
			}
		},
		onFailure: function(){
			alert("评论出现错误");
		}
	});
	req.send("templet_id="+id+"&rate=" +val);
	$("comment_star_div").innerHTML = "<div style='text-align:center; margin-top:10px;'>保存中...</div>";
}


//更改url
function changeUrl(id,val){
	var urlref = location.href;
	val =  encodeURIComponent(val);
	var paramr = "var paramReg =/[?&]"+id+"=([^&]*)/i";
	eval(paramr);
	var m = urlref.match(paramReg)
	if(val == "0"){
		if (m) {
			if(m[0].charAt(0) == "&")
				urlref = urlref.replace(paramReg,"");
			else{
				eval("var paramReg =/[?&]"+id+"=([^&]*)&/i");
				if(urlref.match(paramReg)){
					urlref = urlref.replace(paramReg,"?");
				}else{
					eval(paramr);
					urlref = urlref.replace(paramReg,"");
				}
			}
			location.href = urlref ;
		}
	}
	if(m){
		var mval = m[0].substr(0,1) + id + "=" + val;
		urlref = urlref.replace(paramReg,mval)
	}else{
		if(urlref.indexOf("?") > -1)
			urlref += "&" + id + "=" + val;
		else
			urlref += "?" + id + "=" + val;
	}
	location.href = urlref ;
}

// 人气排序
function order_list(id,c){
	if(id =="a"){
		var val="rated";
		if($(c).hasClass('hot_order_down')){
			val="ratea";
		}
		changeUrl("order",val);
	}
}

function changeTempletSize(e, id){
	var tar = e ? e.target : window.event.srcElement;
	if(!tar || tar.tagName.toLowerCase() != "span" || tar.className.indexOf("cur") > -1 ||tar.getElementsByTagName("span").length > 0) return;
	var flash = $(id);
	
	var ss = tar.parentNode.getElementsByTagName("span");
	for(var i=0; i< ss.length;i++){
		ss[i].className ="";
	}
	tar.className ="cur";
	
	var wh = tar.innerHTML.split("x");
	var whstr = "bannerWidth="+wh[0]+"&bannerHeight="+wh[1]
	var tid = id.replace("templetflash_","");
	var stid = tar.getAttribute('sub_templet');
	var xml_path = tar.getAttribute('xml_path');
	
	var newflash = document.createElement("embed")
	newflash.setAttribute("height",wh[1]);
	newflash.setAttribute("width",wh[0]);
	newflash.setAttribute("type",flash.getAttribute("type"));
	newflash.setAttribute("src",flash.getAttribute("src"));
	newflash.setAttribute("id",flash.getAttribute("id"));
	newflash.setAttribute("wmode",flash.getAttribute("wmode"));
	newflash.setAttribute("quality",flash.getAttribute("quality"));
	newflash.setAttribute("style",flash.getAttribute("style"));
	// var flashvar = flash.getAttribute("flashvars").replace(/bannerWidth=\d{0,4}&bannerHeight=\d{0,4}/i,whstr);
	// flashvar = flashvar.replace(/bannerSize=\d{0,4}x\d{0,4}(__templet_id=\d+)/i,"bannerSize="+wh[0]+"x"+wh[1]+"__templet_id="+stid)
	newflash.setAttribute("flashvars", "bannerSize="+wh[0]+"x"+wh[1]+"&xmlPath="+xml_path+"&mlPath=http://banner.alimama.com/ml?bannerSize="+wh[0]+"x"+wh[1]+"__templet_id="+stid+"&Logger=no&loadDS=no");

	flash.parentNode.appendChild(newflash);
	flash.parentNode.removeChild(flash);
	
	var aid = "tomlurl_"+tid;
	if($(aid))
	$(aid).setAttribute("href","/ml?bannerSize="+wh[0]+"x"+wh[1]+"&templet_id="+stid);
}

// 初始化 尺寸
function init_size_span(){
	if(!$("templet_list")) return;
	var ss = $("templet_list").getElements("span.size_span");
	for(var i=0;i<ss.length;i++){
		ss[i].onclick = function(event){
			changeTempletSize(event,this.getAttribute("flashid"));
		}
	}
	
	//判断ie6
	var isMSIE = !!(/*@cc_on!@*/0);
	if(isMSIE &&!(window.XMLHttpRequest)){
		for(var i=0; i<ss.length;i++){
			var sspans =ss[i].getElementsByTagName("span");
			for(var j=0;j<sspans.length;j++){
				if(sspans[j].className.indexOf("cur") >-1)
				continue;
				sspans[j].onmouseover = function(){
					this.className =" hover";
				}
				sspans[j].onmouseout = function(){
					this.className = this.className.replace(/hover/ig,"");
				}
			}
		}
	}
}

//初始化 列表
function init_list_item(){
	if(!$("templet_list")) return;
	var lists = $("templet_list").getElements("div.list_item");
	
	for (var i = 0; i < lists.length; i++) {
		 lists[i].onclick = function(){
		 	if(this.className.indexOf("curlist") > -1) return;
		 	var lists = $("templet_list").getElements("div.list_item");
			for (var i = 0; i < lists.length; i++) {
				lists[i].className = lists[i].className.replace(/\s+curlist/ig,"");
			}
			this.className = this.className +" curlist";
		 }
	}
}

window.addEvent('domready',  function(){ 
	init_size_span();init_list_item();
	setTimeout(function() {
		var el = $('notices');
		if (el) {
			el.fade(0);
			el.destroy.delay(800, el);
		}
	}, 2000);
});

if ((navigator.userAgent.toLowerCase().indexOf('msie') != -1) && (navigator.userAgent.toLowerCase().indexOf( 'opera' ) == -1)) {
	window.attachEvent('onunload', function() {
		window['__flash__removeCallback'] = function ( instance, name ) {
			try {
				if ( instance ) {
					instance[name] = null ;
				}
			} catch ( flashEx ) {
				//...
			} 
		};
	});
}