﻿/*
*	Home	:	http://www.trueloveshop.cn/
*/

var frameMethod = function(d){
if(!d)d=new Date();
if(typeof d=="object"){
	d = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();
}
return 'function HS_DateAdd(interval,number,date){'+
'	number = parseInt(number);' +
'	if (typeof(date)=="string"){var date = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2])}' +
'	if (typeof(date)=="object"){var date = date}' +
'	switch(interval){' +
'	case "y":return new Date(date.getFullYear()+number,date.getMonth(),date.getDate()); break;' + 
'	case "m":return new Date(date.getFullYear(),date.getMonth()+number,checkDate(date.getFullYear(),date.getMonth()+number,date.getDate())); break;' +
'	case "d":return new Date(date.getFullYear(),date.getMonth(),date.getDate()+number); break;' +
'	case "w":return new Date(date.getFullYear(),date.getMonth(),7*number+date.getDate()); break;' +
'	}' + 
'}' + 
'function checkDate(year,month,date){' +
'	var enddate = ["31","28","31","30","31","30","31","31","30","31","30","31"];' +
'	var returnDate = "";' +
'	if (year%4==0){enddate[1]="29"}' +
'	if (date>enddate[month]){returnDate = enddate[month]}else{returnDate = date}' +
'	return returnDate;' +
'}' +
'function WeekDay(date){' +
'	var theDate;' +
'	if (typeof(date)=="string"){theDate = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2]);}' +
'	if (typeof(date)=="object"){theDate = date}' +
'	return theDate.getDay();' +
'}' +
'function HS_calender(){' +
'	var lis = "";' +
'	var style = "";' +
'	style +="<style type=text/css>";' +
'	style +="html,body{padding:0; margin:0; border:none; overflow:hidden}";' +
'	style +="select {font-size:11px;}";'+
'	style +=".calender { width:138px; _width:140px; font-family:Verdana, Arial, Helvetica, sans-serif; height:auto; font-size:11px; margin:0px; background:#eee; border:1px solid #bbb;}";' +
'	style +=".calender ul {list-style-type:none; margin:0; padding:0;}";' +
'	style +=".calender .day { height:20px; line-height:20px; margin-left:2px; color:#666; font-size:11px}";' +
'	style +=".calender .date {zoom:1; margin-left:2px; margin-bottom:1px}";' +
'	style +=".calender .day li,.calender .date li{ float:left; width:13%; _width:14%; height:20px; overflow:hidden; text-align:center; ; padding:0; margin:0}";' +
'	style +=".calender .day {font-size:10px}";' +
'	style +=".calender .date li{border-bottom:1px solid #ccc; border-left:1px solid #fff; border-top:1px solid #fff; border-right:1px solid #ccc}";' +
'	style +=".calender li a { text-decoration:none; color:#444; float:left; width:100%; overflow:hidden; height:px; line-height:18px;  font-size:10px}";' +
'	style +=".calender li a:hover { color:#f30; font-weight:bold}";' +
'	style +=".calender li a.hasArticle {font-weight:bold; color:#f60}";' +
'	style +=".calender .date li.lastMonthDate, .calender .date li.nextMonthDate {color:#aaa; font-size:10px; line-height:20px; border:1px solid #f2f2f2}";' +
'	style +=".selectThisYear a, .selectThisMonth a{text-decoration:none; margin:0 2px; color:#000; font-weight:bold;}";' +
'	style +=".calender .LastMonth, .calender .NextMonth{ text-decoration:none; color:#000; font-size:14px; font-weight:bold; line-height:17px; font-family:Tahoma}";' +
'	style +=".calender .LastMonth { float:left;}";' +
'	style +=".calender .NextMonth { float:right;}";' +
'	style +=".calenderBody {clear:both}";' +
'	style +=".calenderTitle {text-align:center;height:18px; line-height:18px; clear:both; border-bottom:1px solid #ccc; padding:0 4px; font-size:10px}";' +
'	style +=".selectedDay {font-weight:bold; color:red !important}";' +
'	style +=".today { background-color:#FCF7A7; font-weight:bold; color:red !important}";' +
'	style +=".calenderBottom {clear:both; padding:1px 3px 3px; text-align:left}";' +
'	style +=".calenderBottom a {text-decoration:none; margin:2px; font-weight:bold; color:#000; font-size:xx-small}";' +
'	style +=".calenderBottom a.closeCalender{float:right; font-size:11px; width:11px; height:11px; margin-top:3px; line-height:11px; text-align:center;overflow:hidden; font-weight:normal}";' +
'	style +="</style>";' +
'	var now;' +
'	if (typeof(arguments[0])=="string"){' +
'		selectDate = arguments[0].split("-");' +
'		var year = selectDate[0];' +
'		var month = parseInt(selectDate[1])-1+"";' +
'		var date = selectDate[2];' +
'		now = new Date(year,month,date);' +
'	}else if (typeof(arguments[0])=="object"){' +
'		now = arguments[0];' +
'	}' +
'	var lastMonthEndDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+now.getMonth()+"-01").getDate();' +
'	var lastMonthDate = WeekDay(now.getFullYear()+"-"+now.getMonth()+"-01");' +
'	var thisMonthLastDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-01");' +
'	var thisMonthEndDate = thisMonthLastDate.getDate();' +
'	var thisMonthEndDay = thisMonthLastDate.getDay();' +
'	var todayObj = now;' +
'	today = todayObj.getFullYear()+"-"+todayObj.getMonth()+"-"+todayObj.getDate();	' +
'	for (i=0; i<lastMonthDate; i++){ ' +
'		lis = "<li class=lastMonthDate>"+lastMonthEndDate+"</li>" + lis;' +
'		lastMonthEndDate--;' +
'	}' +
'	var tdate = new Date();'+
'	var todayString = tdate.getFullYear()+"-"+(parseInt(tdate.getMonth())+1).toString()+"-"+tdate.getDate();' +
'	var tObjArr = window.targetObj.value.split(/\D/);' +
'	var today2 = today.split("-");'+
'	for (i=1; i<=thisMonthEndDate; i++){' +
'		var tcn = "";'+
'		if(tObjArr.join("-") == now.getFullYear()+"-"+(now.getMonth()+1)+"-"+i){'+
'			tcn="class=selectedDay";'+
'		}'+
'		if(today2[0]+"-"+today2[1]+"-"+i == tdate.getFullYear()+"-"+tdate.getMonth()+"-"+tdate.getDate()){'+
'			tcn="class=today";'+
'		}'+
'		lis += "<li><a href=javascript:void(0) "+ tcn +" onclick=\'_selectThisDay(this);if(window.targetFun){window.targetFun(this);}\' title=\'"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"\'>"+i+"</a></li>";' +
'	}' +
'	var j=1;' +
'	for (i=thisMonthEndDay; i<6; i++){' +
'		lis += "<li class=nextMonthDate>"+j+"</li>";' +
'		j++;' +
'	}' +
'	lis += style;' +
'	var CalenderTitle = "<a href=javascript:void(0) class=NextMonth onclick=HS_calender(HS_DateAdd(\'m\',1,\'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"\'),this) title=\'Next Month\'>&raquo;</a>";' +
'	CalenderTitle += "<a href=javascript:void(0) class=LastMonth onclick=HS_calender(HS_DateAdd(\'m\',-1,\'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"\'),this) title=\'Previous Month\'>&laquo;</a>";' +
'	CalenderTitle += "<span class=selectThisYear><a href=javascript:void(0) onclick=CalenderselectYear(this) title=\'Click here to select other year\' >"+now.getFullYear()+"</a></span>Year<span class=\'selectThisMonth\'><a href=javascript:void(0) onclick=CalenderselectMonth(this) title=\'Click here to select other month\'>"+(parseInt(now.getMonth())+1).toString()+"</a></span>Month"; ' +
'	if (arguments.length>1){' +
'		arguments[1].parentNode.parentNode.getElementsByTagName("ul")[1].innerHTML = lis;' +
'		arguments[1].parentNode.innerHTML = CalenderTitle;' +
'	}else{' +
'		var CalenderBox = style+"<div class=calender><div class=calenderTitle>"+CalenderTitle+"</div><div class=calenderBody><ul class=day><li>Sun</li><li>Mon</li><li>Tue</li><li>Wed</li><li>Thu</li><li>Fri</li><li>Sat</li></ul><ul class=date id=thisMonthDate>"+lis+"</ul></div><div class=calenderBottom><a href=\'javascript:void(0)\' class=closeCalender onclick=closeCalender(this)>&times;</a><span><span><a href=javascript:void(0) onclick=_selectThisDay(this) title=\'"+todayString+"\'>Today</a>&nbsp;<a href=javascript:void(0) onclick=_clearInput(this)>Clear</a></span></span></div></div>";' +
'		return CalenderBox;' +
'	}' +
'}' +
'function _selectThisDay(d){' +
'		window.targetObj.value = d.title;' +
'		var boxObj = window.parent.document.getElementById(window.targetObj.calenderID);'+
'		boxObj.parentNode.removeChild(boxObj);'+
'}' +
'function _clearInput(d){' +
'		window.targetObj.value = \'\';' +
'}' +
'function closeCalender(d){' +
'		var boxObj = window.parent.document.getElementById(window.targetObj.calenderID);'+
'		boxObj.parentNode.removeChild(boxObj);'+
'}' +
'function CalenderselectYear(obj){' +
'		var opt = "";' +
'		var thisYear = obj.innerHTML;' +
'		for (i=1970; i<=2030; i++){' +
'			if (i==thisYear){' +
'				opt += "<option value="+i+" selected>"+i+"</option>";' +
'			}else{' +
'				opt += "<option value="+i+">"+i+"</option>";' +
'			}' +
'		}' +
'		opt = "<select onblur=selectThisYear(this) onchange=selectThisYear(this)>"+opt+"</select>";' +
'		obj.parentNode.innerHTML = opt;' +
'}' +
'function selectThisYear(obj){' +
'	HS_calender(obj.value+"-"+obj.parentNode.parentNode.getElementsByTagName("span")[1].getElementsByTagName("a")[0].innerHTML+"-1",obj.parentNode);' +
'}' +
'function CalenderselectMonth(obj){' +
'		var opt = "";' +
'		var thisMonth = obj.innerHTML;' +
'		for (i=1; i<=12; i++){' +
'			if (i==thisMonth){' +
'				opt += "<option value="+i+" selected>"+i+"</option>";' +
'			}else{' +
'				opt += "<option value="+i+">"+i+"</option>";' +
'			}' +
'		}' +
'		opt = "<select onblur=selectThisMonth(this) onchange=selectThisMonth(this) style=\'\'>"+opt+"</select>";' +
'		obj.parentNode.innerHTML = opt;  ' +
'}' +
'function selectThisMonth(obj){' +
'	HS_calender(obj.parentNode.parentNode.getElementsByTagName("span")[0].getElementsByTagName("a")[0].innerHTML+"-"+obj.value+"-1",obj.parentNode);' +
'}'+
'setTimeout(function(){document.body.innerHTML=HS_calender(\"'+d+'\");},1);'+
'window.onerror=function(){return true;}';}

function HS_setDate(inputObj,method){
	inputObj.select();
	var calenderObj = document.createElement("iframe");
	var frameName = calenderObj.id = calenderObj.name = "CalenderFrame_"+parseInt(Math.random()*10000);
	calenderObj.frameBorder = "0";
	calenderObj.allowtransparency = "yes";
	calenderObj.style.width = "140px";
	calenderObj.style.height = "160px";
	calenderObj.style.position = "absolute";
	calenderObj.style.visibility = "hidden";
	calenderObj.style.marginLeft = -(inputObj.clientWidth+4)+"px";
	calenderObj.style.marginTop = (inputObj.clientHeight+4)+"px";
	calenderObj.style.backgroundColor = "#fff";
	calenderObj.scrolling = "no";
	inputObj.calenderID = frameName;
	inputObj.parentNode.insertBefore(calenderObj,inputObj.nextSibling);
	setTimeout(function(){
		try{
			window.frames[frameName].targetObj = inputObj;
			if(method){
				window.frames[frameName].targetFun = method;
			}
			var d = window.frames[frameName].document;
			var s = d.createElement("script");
			s.text = frameMethod(inputObj.value);
			s.id = s.name = "s";
			s.type = "text/javascript";
			d.getElementsByTagName("head")[0].appendChild(s);
			if(calenderObj.clientWidth+calenderObj.offsetLeft>document.documentElement.clientWidth){
				calenderObj.style.marginLeft = -(calenderObj.clientWidth+2)+"px";
			}
			calenderObj.style.visibility = "visible";
		}catch(e){}
	},1);

	function getParentFF(obj,tar){
		if(obj==tar) return true;
		if(obj==document.body || obj==document.documentElement)return false;
		getParentFF(obj.parentNode,tar);
	}
    

	if(document.attachEvent){
	    inputObj.attachEvent("onblur", function () {
	        if (calenderObj.contains(document.elementFromPoint(event.x, event.y))) { return; }
	        try {
	            $(calenderObj).remove();
	        }
	        catch (e) {
	        }
	    });
		document.attachEvent("onclick",function(){
			if(event.srcElement==inputObj || calenderObj.contains(event.srcElement) ) return;
			try {
			    $(calenderObj).remove();
			}
			catch (e) {
			}
		});
	}else{
		inputObj.addEventListener("blur",function(){
			var evt = arguments[0];
			if(getParentFF(document.elementFromPoint(event.x,event.y)),evt.target){return;}
			try {
			    $(calenderObj).remove();
			}
			catch (e) {
			}
		},false);
		document.addEventListener("click",function(){
			var evt = arguments[0];
			if(evt.target==inputObj || getParentFF(calenderObj,evt.target)) return;
			try {
			    $(calenderObj).remove();
			}
			catch (e) {
			}
		},false);
	}
}

