/*
Author	: RobertHong(xhong@tswell.com)
Version	: 4.13_20081226
*/

function confirmUrl(p){
	//if(window.confirm("Warning: All delete information will no be able to recover. Do you want to proceed?")){
	if(window.confirm("Warning: Are you sure you want to remove selected information?")){
		window.location.href = p;
	}
}

function subForm(p,s){
	document.getElementById(p).act.value = s;
	document.getElementById(p).submit();
}

function goUrl(p){
	window.location.href = p;
}

//Calendar
var year;
var month;
var day;
var days;
var today = new Date();
var currentDay = new Date();
var startYear = 1920;
//var startYear = currentDay.getFullYear();
var endYear = currentDay.getFullYear() + 10;
var divCalendar;
var divYear;
var divMonth;
var objectInput;
var ie =navigator.appName=="Microsoft Internet Explorer"?true:false;

function _cancelBubble(event) {
	e = event ? event : window.event ;
	if(ie) {
		e.cancelBubble = true;
	} else {
		e.stopPropagation();
	}
}
function initDiv(){
	//divCalendar = document.createElement("table");
	divCalendar = document.createElement("div");
	divYear = document.createElement("div");
	divMonth = document.createElement("div");
	document.body.appendChild(divCalendar);
	document.body.appendChild(divYear);
	document.body.appendChild(divMonth);
	divCalendar.innerHTML = "<div id=\"allDiv\"><div id=\"calendarTitle\" onclick=\"_cancelBubble(event)\"><table style=\"width:100%\"><tr><td width=\"15%\"><div style=\"cursor:pointer;text-align:left\" onclick=\"frontMonth();_cancelBubble(event)\" title=\"Last Month\"><<</div></td><td width=\"35%\" align=\"center\" id=\"1\"><div style=\"cursor:pointer;\" id=\"year\" onclick=\"chooseYear();_cancelBubble(event)\" title=\"Choose Year\"></div></td>		<td width=\"35%\" align=\"center\" id=\"2\"><div style=\"cursor:pointer;\" id=\"month\" onclick=\"chooseMonth();_cancelBubble(event)\" title=\"Choose Month\"></div></td></td><td><div style=\"cursor:pointer\" onclick=\"afterMonth();_cancelBubble(event)\" title=\"Next Month\">>></div></td></table></div><div id=\"week\"><table style=\"width:100%\"><tr><td>Su</td><td>Mo</td><td>Tu</td><td>We</td><td>Th</td><td>Fr</td><td>Sa</td></tr></table><div id=\"dynamicDays\"></div></div>";
	divCalendar.id = "divCalendar";
	divYear.id = "divYear";
	divMonth.id = "divMonth";
	divCalendar.style.width = "200px";
	divCalendar.style.position = "absolute";
	divYear.style.position = "absolute";
	divMonth.style.width = "25px";
	divMonth.style.position = "absolute";
	divCalendar.style.display = "none";
	divYear.style.display = "none";
	divMonth.style.display = "none";
	document.onclick = function() {
		if(document.activeElement!=objectInput){
			divCalendar.style.display = 'none';
			divYear.style.display = 'none';
			divMonth.style.display = 'none';
		}
	}
}
function initDate(){
	year = currentDay.getFullYear();
	month = currentDay.getMonth() + 1;
	day = currentDay.getDate();
	days = new Date(year,month,0).getDate();
	if(ie){
		document.getElementById("year").innerText = year;
		document.getElementById("month").innerText = (month < 10?("0" + month):month);
	}else{
		document.getElementById("year").textContent = year;
		document.getElementById("month").textContent = (month < 10?("0" + month):month);
	}
	initDays();
}
function initDays(){
	var strDays = "<table style=\"width:100%\"><tr><td>";
	var start = 0;
	currentDay = new Date(year,month - 1,1);
	while(start < currentDay.getDay()){
		strDays += "</td><td>";
		start ++;
	}
	for(var i = 1 ; i < days + 1 ; i ++){
		currentDay = new Date(year,month - 1,i);
		strDays += "<a href=\"#\" onclick=\"choosedDay(" + year + "," + month + "," + i + ");_cancelBubble(event)\">" + (i<10?("0"+i):i) + "</a>";
		if(currentDay.getDay() == 6)
			strDays += "</td></tr><tr><td>";
		else
			strDays += "</td><td>";
	}
	strDays += "</tr></table>";
	document.getElementById("dynamicDays").innerHTML = strDays;
}
function frontMonth(){
	month --;
	if(month == 0){
		year --;
		month = 12;
		if(year == 0){
			alert("Error.");
			year = 1;
			month = 1;
		}
	}
	currentDay = new Date(year,month-1,1);
	initDate();
}
function afterMonth(){
	month ++;
	if(month == 13){
		year ++;
		month = 1;
	}
	currentDay = new Date(year,month-1,1);
	initDate();
}
function chooseYear(){
	var strYear = "";
	var i = startYear;
	strYear += "<div class=\"allBorder\" style=\"float:left;width:40px;overflow:hidden;\">";
	for(var j = 0 ; j < 10 ; j ++){
		strYear += "<div align=center><a href=\"#\" onclick=\"choosedYear(" + i + ");_cancelBubble(event)\">" + i + "</a></div>"
		i ++;
	}
	strYear += "</div>";
	for(var i = startYear + 10 ; i < endYear ;){
		strYear += "<div class=\"allBorder\" style=\"float:left;width:40px;margin-left:-1px;overflow:hidden;\">";
		for(var j = 0 ; j < 10 ; j ++){
			strYear += "<div align=center><a href=\"#\" onclick=\"choosedYear(" + i + ");_cancelBubble(event)\">" + i + "</a></div>"
			i ++;
		}
		strYear += "</div>";
	}
	var p = getPosition(document.getElementById("year"));
	p['x'] += 8; 
	showdiv(divYear,p);
	divYear.innerHTML = strYear;
}
function chooseMonth(){
	var strMonth = "";
	strMonth += "<div class=\"allBorder\" width:10px;>";
	for(var i = 1 ; i < 13 ; i ++){
		strMonth += "<div align=center><a href=\"#\" onclick=\"choosedMonth(" + i + ");_cancelBubble(event)\">" + (i<10?"0"+i:i) + "</a></div>";
	}
	strMonth += "</div>";
	var p = getPosition(document.getElementById("month"));
	p['x'] += 18;
	showdiv(divMonth,p);
	divMonth.innerHTML = strMonth;
}
function choosedYear(chooseYear){
	year = chooseYear;
	currentDay = new Date(year,month-1,1);
	initDate();
	divYear.style.display = "none";
}
function choosedMonth(chooseMonth){
	month = chooseMonth;
	currentDay = new Date(year,month-1,1);
	initDate();
	divMonth.style.display = "none";
}
function choosedDay(chooseYear,chooseMonth,chooseDay){
	objectInput.value = chooseYear + "-" + (chooseMonth<10?"0"+chooseMonth:chooseMonth) + "-" + (chooseDay<10?"0"+chooseDay:chooseDay);
	divCalendar.style.display = "none";
	divYear.style.display = "none";
	divMonth.style.display = "none";
}
function showdiv(id,p) {
	id.style.left = p['x']+'px';
	id.style.top = (p['y'] + 16)+'px';
	id.style.display = 'block';
}
function getPosition(obj) {
	var r = new Array();
	r['x'] = obj.offsetLeft;
	r['y'] = obj.offsetTop;
	while(obj = obj.offsetParent) {
		r['x'] += obj.offsetLeft;
		r['y'] += obj.offsetTop;
	}
	return r;
}
function showCalendar(obj){
	objectInput = obj;
	p = getPosition(obj);
	p['y'] += 4;
	currentDay = obj.value ? parsedate(obj.value) :today;
	initDate(currentDay);
	showdiv(divCalendar,p);
}
function parsedate(s) {
	/(\d+)\-(\d+)\-(\d+)\s*(\d*):?(\d*)/.exec(s);
	var m1 = (RegExp.$1 && RegExp.$1 >= startYear && RegExp.$1 <= endYear) ? parseFloat(RegExp.$1) : today.getFullYear();
	var m2 = (RegExp.$2 && (RegExp.$2 > 0 && RegExp.$2 < 13)) ? parseFloat(RegExp.$2) : today.getMonth() + 1;
	var m3 = (RegExp.$3 && (RegExp.$3 > 0 && RegExp.$3 < 32)) ? parseFloat(RegExp.$3) : today.getDate();
	var m4 = (RegExp.$4 && (RegExp.$4 > -1 && RegExp.$4 < 24)) ? parseFloat(RegExp.$4) : 0;
	var m5 = (RegExp.$5 && (RegExp.$5 > -1 && RegExp.$5 < 60)) ? parseFloat(RegExp.$5) : 0;
	/(\d+)\-(\d+)\-(\d+)\s*(\d*):?(\d*)/.exec("0000-00-00 00\:00");
	return new Date(m1, m2 - 1, m3, m4, m5);
}

initDiv();

