﻿// JavaScript Document
//var xmlHttp;
var objXMLHttp;
var xmlHttp;
function changeDate(newspapernum, year) 
{	
	if(document.frmsearch.keyWords.value!="")
		//alert(document.frmsearch.keyWords.value);
		document.frmsearch.keyWords.value=""; 
	//if(document.getElementById("next_previous_result"))
		//document.getElementById("next_previous_result").style.display="none";
	var sDate=newspapernum+"/"+year;	
	var sUrl = generatecisurl(sDate); 
	var date = getDateFromCombobox();
	//window.location.replace ("http://" + window.location.host + window.location.pathname + "?date="+date);
	//alert("http://" + window.location.host + window.location.pathname + "?date="+date);
	//document.frmsearch.action="?keyWords="+escape(keyWords)+"&ukey="+Select+"&date="+date;
	//alert (sUrl);
	getLongDayofWeek(sDate);
	document.title = "Trang báo điện tử eThanhNien, " + getStringFromDate(sDate);
	if (window.location.search.indexOf("keyWords") > 0)
	{//---user was searching, reload the page
		window.location.replace ("http://" + window.location.host + window.location.pathname + "#date=" + date);
		return true;
	}
	loadcisFXfile(sUrl, newspapernum, year);
	//window.location.replace ("http://" + window.location.host + window.location.pathname + "#date="+date);
	window.location.replace ("http://" + window.location.host + window.location.pathname + window.location.search + "#date=" + date);
	//alert(window.location);
}

function getDateFromCombobox()
{
	var year=document.frmsearch.selyear.value;
	var daymonth=document.frmsearch.selnewspapersnum.value;
	var day=daymonth.substr(0,2);
	var month=daymonth.substr(3,2);
	return year+month+day; 
}

/**
	p_iYear: year to change to
	p_iSelNum: newspaper number to select after changing year. Format: dd/mm
*/
function changeYear(p_iYear, p_iSelNum){ 
	xmlHttp=GetXmlHttpObject();
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request");
		return false;
	}	
	var url="filterdata.php?selYear="+p_iYear+"&selNum="+p_iSelNum;	
	//random to prevent the server from using a cached file
	url=url+"&sid="+Math.random(); 
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
}

function generatecisurl(sDate)
{	
	//convert ymd
	sDate = sDate.substr(6, 4) + sDate.substr(3, 2) + sDate.substr(0, 2);	
	var sCisfile = "/daily.cis";	
	return ("../cis/" + sDate + sCisfile);
}

function getBrowserFX()
{
	var CICBrowserFX = null;
	var b_version=navigator.appVersion;
	var version=parseFloat(b_version);
	if ((navigator.appName.indexOf("Microsoft") != -1 || navigator.appName=="Netscape") && (version>=4)) //IE 
		CICBrowserFX = document.getElementById("CICBrowserFX");	
	else { 
		CICBrowserFX = document["CICBrowserFX"];
	}	
	return CICBrowserFX;
}

function loadcisFXfile(url, newspaper_number, year)
{		
	var CICBrowserFX = getBrowserFX();
	if(CICBrowserFX!=null) {
		CICBrowserFX.setUrl(url);
		//changeFolder(newspaper_number, year);	
	}		
}

function changeFolder(newspaper_number, year) {	
	xmlHttp=GetXmlHttpObject();
	if(xmlHttp==null) {
		alert("Browser does not support HTTP Request");
		return false;
	}	
	
	var sDate=newspaper_number+"/"+year; 
	//convert ymd
	sDate = sDate.substr(6, 4) + sDate.substr(3, 2) + sDate.substr(0, 2);
	
	var url="ses_filterdata.php?newsp_folder="+sDate;	
	//random to prevent the server from using a cached file
	url=url+"&sid="+Math.random();		
		xmlHttp.onreadystatechange=stateChanged1;
		xmlHttp.open("GET", url, true);		
		xmlHttp.send(null);	
}

function GetXmlHttpObject() {
	var objXMLHttp=null;
	//for Mozilla, etc.
	if(window.XMLHttpRequest)	{
		objXMLHttp = new XMLHttpRequest();
	}
	//for IE		
	else if (window.ActiveXObject) {
		objXMLHttp = new ActiveXObject("MIcrosoft.XMLHTTP");
	}	
	return objXMLHttp;
}

function stateChanged() {			
		if((xmlHttp.readyState==4 || xmlHttp.readyState=="complete") && (xmlHttp.status == 200)) {
			if(xmlHttp.responseText!="") {
				var str='<select name="selnewspapersnum" id="selnewspapersnum" class="txtsearch" onchange="changeDate(this.value, document.frmsearch.selyear.value)">';
					str+=xmlHttp.responseText; 
					str+='</select>';					
					document.getElementById("newspapernumber").innerHTML = str;				
					
					if (navigator.appName.indexOf("Microsoft") != -1) {//IE 
						var newspapernum=document.frmsearch.selnewspapersnum.value;			
						var year=document.frmsearch.selyear.value; 
					} else {//firefox ...
						var newspapernum=document.getElementById("selnewspapersnum").value;			
						var year=document.getElementById("selyear").value;
					} 
					//load new cisfile after changing Year
					if (g_bReload)
						changeDate(newspapernum, year);			
					g_bReload = true;
			}
		}	
}

function stateChanged1() {
	if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		if(xmlHttp.responseText!="") alert(xmlHttp.responseText);		
	}
}

/**
	change innerHTML of the textday div
	param: dateVn: date in format dd/mm/yyyy
*/
function getLongDayofWeek(dateVn) {		
	var txtday = document.getElementById("textday");
	if(txtday) 
		txtday.innerHTML = getStringFromDate(dateVn);
}

/**
	get string like "So bao ... ngay..." from a date
	param: p_sDate: date in format dd/mm/yyyy
*/
function getStringFromDate(p_sDate)
{
	var strDate = p_sDate;
		//convert ymd
	dateEn = strDate.substr(6, 4)+"/"+ strDate.substr(3, 2)+"/"+strDate.substr(0, 2);
	dateEn = new Date(dateEn);
	var newspaper_number = "00" + dayofyear(dateEn);		
	newspaper_number = newspaper_number.substring(newspaper_number.length-3);
	var dayofweek = getDayofWeek(dateEn);
	
	return "Số " + newspaper_number + " " + dayofweek + ", ngày " + p_sDate;
}

function dayofyear(d) {   // d is a Date object 
var yn = d.getFullYear();
var mn = d.getMonth();
var dn = d.getDate();
var d1 = new Date(yn,0,1,12,0,0); // noon on Jan. 1
var d2 = new Date(yn,mn,dn,12,0,0); // noon on input date
var ddiff = Math.round((d2-d1)/864e5);
return ddiff+1; }

function getDayofWeek(d) {
	var strDayofWeek="";
	switch (d.getDay()) {
		case 0: strDayofWeek="Chủ nhật";break;
		case 1: strDayofWeek="Thứ hai";break;
		case 2: strDayofWeek="Thứ ba";break;
		case 3: strDayofWeek="Thứ tư";break;
		case 4: strDayofWeek="Thứ năm";break;
		case 5: strDayofWeek="Thứ sáu";break;
		case 6: strDayofWeek="Thứ bảy";break;		
	}
	return strDayofWeek;
}

function changeFuncSearch(open_obj, close_obj) {	
	open_obj.style.display="block";
	close_obj.style.display="none";	
}

function seekKeyword(seek)
{
	if (currentid == -2)	//first time jumping
		currentid = 0;
	else 
	{
		currentid = currentid + seek;
		if (currentid  >= aiFoundIDs.length)
			currentid = 0;
		else if (currentid < 0)
			currentid = aiFoundIDs.length - 1;
	}
	iObjID = aiFoundIDs[currentid]*1 + startid;
	document.getElementById('CICBrowserFX').execute('goto object', 'sceneid=1,objectid='+iObjID);
}

function seekPageFound(seek)
{
	if (currentPage == -1)	//first time jumping
		currentPage = 0;
	else 
	{
		currentPage = currentPage + seek;
		if (currentPage  >= count(pagesFound))
			currentPage = 0;
		else if (currentPage < 0)
			currentPage = count(pagesFound) - 1;
		//alert (currentid);
	}
	document.getElementById('CICBrowserFX').execute('goto object', 'sceneid=1,objectid='+currentPage);
}