var GenControl=function(type,text,quote){
	this.Name="iwmsControl"+GenControl.NewID++;
	this.Type=type;
	this.Text=text;
	this.Quote=quote;
	
	this.GetHtml=function(){
		
	};
	
	this.GetValue=function(){
	
	};
};

GenControl.FormID="iwmsFunc";
GenControl.NewID=1;

var GenTextBox=function(text,quote){
	GenControl.apply(this,new Array("textbox",text,quote));
	
	this.GetHtml=function(){
		return "<input name='"+this.Name+"' type='text'/>";
	};
	
	this.GetValue=function(){
		var str=eval("document.getElementById(GenControl.FormID)."+this.Name+".value");
		if (this.Quote){
			str = "\""+str.replace(/"/g,"\\\"")+"\"";
		}
		return str;
	};
};

var GenCheckBox=function(text){
	GenControl.apply(this,new Array("checkbox",text));
	
	this.GetHtml=function(){
		return "<input name='"+this.Name+"' type='checkbox'/>";
	};
	
	this.GetValue=function(){
		return eval("document.getElementById(GenControl.FormID)."+this.Name+".checked").toString();
	};
};

var GenSelect=function(text,quote,options){
	this.Options=options;
	GenControl.apply(this,new Array("select",text,quote));
	
	this.GetHtml=function(){
		var str="<select name='"+this.Name+"'>";
		for(var i=0;i<this.Options.length;i++){
			str+="<option value=\""+ this.Options[i][1].replace(/"/g,"&quot;") +"\">"+ this.Options[i][0] +"</option>";
		}
		str+="</select>";
		return str;
	};
	
	this.GetValue=function(){
		var str=eval("document.getElementById(GenControl.FormID)."+this.Name+".value");
		if (this.Quote){
			str="\""+ str.replace(/"/g,"\\\"") +"\"";
		}
		return str;
	};
};


var GenForm=function(){
	var FunName="";
	var Controls=new Array();
};
GenForm.FormID="iwmsFunc";

GenForm.Generate=function(funName){
	FunName=funName;
	for(var i=0;i<GenForm.Funcs.length;i++){
		if (GenForm.Funcs[i].name==FunName){
			Controls=GenForm.Funcs[i].controls;
			break;
		}
	}
	var str="<table width='100%'>";
	for(var i=0;i<Controls.length;i++){
		str+="<tr><th>"+Controls[i].Text+"</th><td>"+ Controls[i].GetHtml() +"</td></tr>";
	}
	str+="<tr><td colspan='2' align='center'><button onclick='return GenForm.GetFunc()'>获取函数</button><div style='padding:5px;text-align:right;font-size:9pt;font-family:arial'><a href='http://www.iwms.net/' target='_blank'>www.iwms.net</a></div></td></tr>";
	str+="</table>";
//	alert(str);
	document.getElementById(GenForm.FormID).innerHTML=str;
};

GenForm.GetFunc=function(){
	var str="<%="+FunName.replace(/\[\d+]$/,'')+"(";
	for(var i=0;i<Controls.length;i++){
		if(i>0){
			str+=",";
		}
		var val=Controls[i].GetValue();
		if (val.length==0){
			alert("请填写所有选项!");
			return false;
		}
		str+=val;
	}
	str+=")%>";
//	alert(str);
	document.getElementById("iptIwmsFun").value=str;
	return false;
};

GenForm.Funcs=[
	{name:"TopList",controls:[
		new GenTextBox("指定ID"),
		new GenSelect("指定ID类型",true,[["分类ID","sort"],["专题ID","topic"],["会员ID","member"]]),
		new GenSelect("新闻排序方式",true,[["热门新闻","hot"],["最新添加","new"],["本周热门","weekhot"],["今日热门","dayhot"],["Digg排行","digg"],["周Digg排行","weekdigg"],["热评排行","remark"],["随机新闻","random"]]),
		new GenTextBox("显示新闻数"),
		new GenTextBox("标题显示长度"),
		new GenCheckBox("显示分类名"),
		new GenCheckBox("显示点击数"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("显示new图标"),
		new GenCheckBox("显示文章作者"),
		new GenCheckBox("显示评论链接"),
		new GenCheckBox("间隔色显示标题"),
		new GenTextBox("分几列显示")
	]},
	{name:"TopList[2]",controls:[
		new GenTextBox("逗号分隔多个分类ID",true),
		new GenTextBox("显示新闻数"),
		new GenTextBox("标题显示长度"),
		new GenCheckBox("显示分类名"),
		new GenCheckBox("显示点击数"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("显示new图标"),
		new GenCheckBox("显示文章作者"),
		new GenCheckBox("显示评论链接"),
		new GenCheckBox("间隔色显示标题"),
		new GenTextBox("分几列显示")
	]},
	{name:"TopListSummary",controls:[
		new GenTextBox("指定ID"),
		new GenSelect("指定ID类型",true,[["分类ID","sort"],["专题ID","topic"],["会员ID","member"]]),
		new GenSelect("新闻排序方式",true,[["热门新闻","hot"],["最新添加","new"],["本周热门","weekhot"],["今日热门","dayhot"],["Digg排行","digg"],["周Digg排行","weekdigg"],["热评排行","remark"],["随机新闻","random"]]),
		new GenTextBox("显示新闻数"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("显示文章作者"),
		new GenCheckBox("显示点击数"),
		new GenCheckBox("显示Digg功能")
	]},
	{name:"Headline",controls:[
		new GenTextBox("指定ID"),
		new GenSelect("指定ID类型",true,[["分类ID","sort"],["专题ID","topic"]]),
		new GenTextBox("显示新闻数"),
		new GenTextBox("标题显示长度"),
		new GenCheckBox("显示分类名"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("间隔色显示标题"),
		new GenTextBox("分几列显示"),
		new GenCheckBox("第一条简介显示")
	]},
	{name:"HeadlineSummary",controls:[
		new GenTextBox("指定ID"),
		new GenTextBox("显示新闻数"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("显示文章作者"),
		new GenCheckBox("显示Digg功能")
	]},
	{name:"ImgHeadline",controls:[
		new GenTextBox("指定ID"),
		new GenSelect("指定ID类型",true,[["分类ID","sort"],["专题ID","topic"]]),
		new GenTextBox("显示新闻数"),
		new GenSelect("排列方式",true,[["仅显示标题和图片","normal"],["左侧显示简介","summary_left"],["右侧显示简介","summary_right"],["返回JS数组","js"]]),
		new GenTextBox("标题显示长度"),
		new GenTextBox("分几列显示"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("显示文章作者")
	]},
	{name:"KeyNewsList",controls:[
		new GenTextBox("标签名",true),
		new GenTextBox("显示新闻数"),
		new GenTextBox("标题显示长度"),
		new GenCheckBox("显示分类名"),
		new GenCheckBox("显示点击数"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("显示new图标"),
		new GenCheckBox("显示文章作者"),
		new GenCheckBox("显示评论链接")
	]},
	{name:"ImgTopList",controls:[
		new GenTextBox("指定ID"),
		new GenSelect("指定ID类型",true,[["分类ID","sort"],["专题ID","topic"]]),
		new GenTextBox("显示新闻数"),
		new GenTextBox("分几列显示"),
		new GenSelect("排列方式",true,[["仅显示标题和图片","normal"],["左侧显示简介","summary_left"],["右侧显示简介","summary_right"],["返回JS数组","js"]]),
		new GenTextBox("标题显示长度"),
		new GenCheckBox("显示更新日期"),
		new GenCheckBox("显示文章作者"),
		new GenCheckBox("显示点击数")
	]},
	{name:"GetBulletin",controls:[
		new GenSelect("显示方式",true,[["横排显示","h"],["竖排显示","v"],["返回JS数组","js"]]),
		new GenCheckBox("显示公告内容")
	]},
	{name:"RelateNews",controls:[
		new GenTextBox("显示新闻数"),
		new GenTextBox("标题显示长度"),
		new GenCheckBox("显示更新日期"),
		new GenTextBox("分几列显示")
	]},
	{name:"RelateImgNews",controls:[
		new GenTextBox("显示新闻数"),
		new GenTextBox("标题显示长度"),
		new GenTextBox("分几列显示")
	]},
	{name:"GetSortName",controls:[
		new GenTextBox("分类ID")
	]},
	{name:"GetSortChild",controls:[
		new GenTextBox("分类ID"),
		new GenTextBox("显示子类数")
	]},
	{name:"GetRemarks",controls:[
		new GenTextBox("显示评论数")
	]},
	{name:"TopRemarks",controls:[
		new GenSelect("评论排序方式",true,[["热门评论","hot"],["最新评论","new"]]),
		new GenTextBox("分类ID"),
		new GenTextBox("显示评论数"),
		new GenTextBox("显示最近多少天内评论")
	]},
	{name:"HotTags",controls:[
		new GenTextBox("显示标签数"),
		new GenSelect("标签排序方式",true,[["关联新闻数","num"],["关注度","hits"]])
	]},
	{name:"TopPosts",controls:[
		new GenTextBox("分类ID/主帖ID"),
		new GenSelect("帖子排序方式",true,[["发表时间","new"],["阅读量","hot"],["回复数","reply"],["支持数","support"]]),
		new GenCheckBox("取分类主帖还是跟帖"),
		new GenTextBox("显示帖子数量"),
		new GenTextBox("显示最近多少天内发帖"),
		new GenTextBox("标题显示长度"),
		new GenCheckBox("显示发表日期"),
		new GenCheckBox("显示new图标"),
		new GenCheckBox("新窗口打开帖子")
	]},
	{name:"GetLinks",controls:[
		new GenTextBox("分类ID,多个逗号分隔",true),
		new GenTextBox("分几列显示"),
		new GenCheckBox("显示图片链接")
	]}
];

