var Index = {
	submitLogin : function(url){
		try{
			JF('$login')[0].src = url + '/sid.jsp';
    		var password = JF('$password')[0].value;
    		var login = function(sessionId){
    			var password = JF('$password')[0].value;
    			password = hex_md5(hex_md5(password) + sessionId);
    			var args = {action:'remoteLogin', userName:JF('$username')[0].value, md5Val:password};
    			HttpUtils.submitForm({uri:(url + '/LoginAction.do'), param:args, target:'login'});
    		}
    		var taskName = 'getSidTask';
    		JF().addTask(
	    		function(){
	    			var sid = null, win = JF('$login')[0].contentWindow;
	    			(win && win.document.getElementById('sid') && (sid = win.document.getElementById('sid').value));
	    			(sid && (window.sid = sid));
	    		}, 
	    		taskName, 
	    		1000, 
	    		function(){
	    			if(window.sid){
	    				JF().clearTask(taskName);
	    				login(window.sid)
	    				delete window.sid;
	    			}
	    		}
	    	);
		}catch(e){
			alt(e);
		}
	},
	remoteLogin : function(url){
		try{
			var password = JF('$password')[0].value, sid =  JF('#sid').value;
			password = hex_md5(hex_md5(password) + sid);
			var args = {action:'remoteLogin', userName:JF('$username')[0].value, md5Val:password};
			HttpUtils.submitForm({uri:(url + '/LoginAction.do'), param:args, target:'login'});
		}catch(e){
			alt(e);
		}
	},
	coutFlash : function(atrs, params){
		atrs = atrs || {};
		params = params || {};
		var str = [];
		str.push('<object');
		for(var key in atrs){
			str.push(key + '="' + atrs[key] + '"');
		}
		str.push('>');
		for(var key in params){
			switch(key){
				case 'src':
					str.push('<param name="movie" value="'+params[key]+'" />');
					break;
				default:
					str.push('<param name="'+key+'" value="'+params[key]+'" />');
					break;
			}
			
		}
		str.push('<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ');
		str.push('width="'+ (atrs['width'] || 400) +'"');
		str.push('height="'+ (atrs['height'] || 300) +'"');
		str.push('align="'+ (atrs['align'] || 'middle') +'"');
		str.push('name="'+ (atrs['name'] || 'viewer') +'"');
		for(var key in params){
			str.push(key.toLowerCase() + '="' + params[key] + '"');
		}
		str.push('/></object>');
		//alert(str.join(' '));
		return str.join(' ');
	},
	/**
	 * 输出焦点图
	 * @param list 包含图片url,文章url,文章标题 等信息的对象数组
	 * @param timeout flash刷新的周期
	 * @param width flash显示宽度
	 * @param height flash显示的高度
	 */
	writeBigPic : function(list, timeout, width, height){
		timeout = timeout || 1000;
		width = width || '210';
		height = height || '125';
		if(list){
			var pics = [], urls = [], titles = [];
			for(var k in list){
				var bean = list[k];
				pics.push(bean.imgUrl);
				urls.push(bean.url);
				titles.push(bean.title);
			}
			//alert('picTime=1000&amp;pics='+pics.join('|')+'&amp;urls='+urls.join('|')+'&amp;titles=' + titles.join('|'));
			document.write(Index.coutFlash(
    			{width:width, height:height, align:'middle', id:'viewer', name:'viewer', classid:'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', codebase:'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'},
    			{src:'include/viewer.swf', quality:'high', play:'play', loop:'false', scale:'showall', wmode:'window', devicefont:'false', bgcolor:'#ffffff', menu:'false', allowScriptAccess:'sameDomain', salign:'', 
    			FlashVars:'picTime='+timeout+'&amp;pics='+pics.join('|')+'&amp;urls='+urls.join('|')+'&amp;titles=' + titles.join('|')}
    		));
		}
	},
	
	/**
	 * 访问文章信息
	 * @param {Object} url 文章URL
	 */
	viewArticle : function(url, currentzBookmark){
		var aid = $.url.init(url).param("aid");
		var crtUrl = $.url.init(document.location.href).setParam("currentzBookmark", currentzBookmark).getUrl();
		var params = {aid : aid, lastUrl : crtUrl};
		$.post("page", params, function(data){
			document.clear();
			document.write(data);
			document.close();
		});
	},
	
	/**
	 * 访问文章信息
	 * @param {Object} url 文章URL
	 */
	viewArticleInTab : function(url, currentzBookmark){
		var aid = $.url.init(url).param("aid");
		var crtUrl = $.url.init(document.location.href).setParam("currentzBookmark", currentzBookmark).getUrl();
		var params = {action : 'ajaxViewArticle', aid : aid, lastUrl : crtUrl};
		$.post("page", params, function(data){
			$("#article").html(data);
		});
	},
	
	/**
	 * 点击文章页面返回按钮后，载入部分页面
	 * @param {Object} url
	 */
	back : function(url){
		$.post(url,null,function(data){
			document.clear();
			document.write(data);
			document.close();
		});
	}
}
try{
(function(){
	var hyinfo = window.hyinfo = {};
	hyinfo.vf = hyinfo.validateFunction = {
		//船舶IMO验证
		imoValid : function(){
			if(arguments[0] == '') return true;
			var imoStr = arguments[0].value;
			var IMO = new Array();
			for(var i = 0 ; i < imoStr.length ; i++)
				IMO[IMO.length] = imoStr.substr(i, 1);
			var TotalSum = parseInt(IMO[0]*7+IMO[1]*6+IMO[2]*5+IMO[3]*4+IMO[4]*3+IMO[5]*2).toString();
			if(TotalSum.substr(TotalSum.length - 1, 1) != IMO[6])
				return false;
			return true;
		}
	}
	hyinfo.checkDate = function(value){
		if(value.match(/^[0-9.]+$/)){
			var date = new Date();
			try{
				if(value.indexOf('.') != -1){
					var strs = value.split('.');
					if(strs[0]){
						if(strs[0].length <= 2)
							date.setDate(parseInt(strs[0], 10));
						else
							return false;
					}
					if(strs[1]){
						if(strs[0].length <= 2)
							date.setMonth(parseInt(strs[1], 10) - 1);
						else
							return false;
					}
					if(strs[2]){
						if(strs[2].length <= 4)
							date.setYear(parseInt(strs[2], 10));
						else
							return false;
					}
				}else if(value.length <= 8){
					if(value.length >= 2)
						date.setDate(parseInt(value.substr(0, 2), 10));
					if(value.length >= 4)
						date.setMonth(parseInt(value.substr(2, 4), 10) - 1);
					if(value.length >= 8)
						date.setYear(parseInt(value.substr(4, 8), 10));
				}
				return date;
			}catch(e){
				return null;
			}
		}
		return null;
	}
	hyinfo.formValid = function(el){
		if(!el || !el.name) return;
		switch(el.name){
			case 'imoNo' : 
				if(el.value != ''){
					if(!hyinfo.vf.imoValid.apply(el, arguments)) {
						alert('Invalid IMO No'); 
						el.value = ''; 
					}
				}
				break;
			case 'inspDt1' : 
				var date = hyinfo.checkDate(el.value); 
				if(date == null){
					alert('The date '+el.value+' is invalid');
					el.value = '';
				}else{
					el.value = DateUtils.getString(date);
				}
				var date1 = DateUtils.format(JF('$inspDt2')[0].value);
				if(date.getTime() > date1.getTime()){
					alert('Invalid date range');
					el.value = '';
				}
				break;
			case 'inspDt2':
				var date = hyinfo.checkDate(el.value); 
				if(date == null){
					alert('The date '+el.value+' is invalid');
					el.value = '';
					el.focus();
				}else{
					el.value = DateUtils.getString(date);
				}
				var date1 = DateUtils.format(JF('$inspDt1')[0].value);
				if(date.getTime() < date1.getTime()){
					alert('Invalid date range');
					el.value = '';
				}
				break;
		}
	}
	hyinfo.searchChange = function(){
		var els = JF('$searchChange');
		for(var i = 0 ; i < els.length ; i++){
			if(els[i] == arguments[0]){
				els[i].style.fontWeight = "bold";
				els[i].parentNode.style.background = "url(image/index/searchSpan.gif) no-repeat center bottom";
				JF('#searchInput').name = els[i].id;
				JF('#searchInput').onchange.apply(JF('#searchInput'), [JF('#searchInput')]);
			}else{
				els[i].style.fontWeight = "lighter";
				els[i].parentNode.style.background = "none";
			}
		}
	}
	hyinfo.submiteForm = function(){
		var el = arguments[0], form = hyinfo.searchOwnerForm(el), eles = form.elements, paramMap = {};
		if(eles){
			try{
				for(var i = 0 ; i < eles.length ; i++){
					var value = paramMap[eles[i].name];
					if(value === undefined){
						value = eles[i].value;
					}else if(value instanceof Array){
						value.push(eles[i].value);
					}else{
						var array = [];
						array.push(value);
						array.push(eles[i].value);
						value = array;
					}
					paramMap[eles[i].name] = value;
				}
				if(form.action != ''){
					Ajax.req(form.action, paramMap, function(data){
						document.clear();
						document.write(data);
						document.close();
					});
				}else{
					Ajax.call(arguments[1], arguments[2], paramMap, function(data){
						document.clear();
						document.write(data);
						document.close();
					});
				}
			}catch(e){
				alt(e);
			}
		}
	}
	hyinfo.searchOwnerForm = function(){
		var el = arguments[0];
		while(el.parentNode){
			var parent = el.parentNode;
			if(parent.nodeName == 'FORM'){
				return parent;
			}else{
				el = parent;
			}
		}
		return null;
	}
	window.dataChange = hyinfo.formValid;
	window.searchChange = hyinfo.searchChange;
	window.submiteForm = hyinfo.submiteForm;
})();
}catch(e){
	alt(e);
}
function sendMoreArticleURL(str) {
	if (typeof str == 'string')
	 {
	 	window.open('moreArticle.do?categoryname=' + encodeURIComponent(str));
	 }
}
