/*
	event -> request -> response
	XML response (XR) handlers
*/


/*
	why this way? - compatible with firefox and IE
	originally, it was done: create document fragment, put xml into document fragment, replace the old document fragment.
	but it doesn't work in MSIE, as MSIE doesn't render the newly replaced/appended parts with proper CSS

n --
n n n n - d d
n n n n - d d

a a - bd - e e
a a - bd - e e
      bd
p p
p p - poll

b b
b b
*/


function newsTabXRHandler(ed){
	eval ("var dd =" + ed );

	document.getElementById("n0_img").src = dd['0']['image'];
	document.getElementById("n0_a_title").href     = dd['0']['url'];
	document.getElementById("n0_a_img").href       = dd['0']['url'];
	document.getElementById("n0_a_fullstory").href = dd['0']['url'];
	document.getElementById("n0_title").firstChild.nodeValue = dd['0']['title'];
	document.getElementById("n0_intro").firstChild.nodeValue = dd['0']['intro'];


	document.getElementById("n1_title").firstChild.nodeValue = dd['1']['title'];
	document.getElementById("n2_title").firstChild.nodeValue = dd['2']['title'];
	document.getElementById("n3_title").firstChild.nodeValue = dd['3']['title'];
	document.getElementById("n4_title").firstChild.nodeValue = dd['4']['title'];
	document.getElementById("n5_title").firstChild.nodeValue = dd['5']['title'];
	document.getElementById("n6_title").firstChild.nodeValue = dd['6']['title'];
	document.getElementById("n7_title").firstChild.nodeValue = dd['7']['title'];
	document.getElementById("n8_title").firstChild.nodeValue = dd['8']['title'];	

	document.getElementById("n1_img").src = dd['1']['image'];
	document.getElementById("n2_img").src = dd['2']['image'];
	document.getElementById("n3_img").src = dd['3']['image'];
	document.getElementById("n4_img").src = dd['4']['image'];
	document.getElementById("n5_img").src = dd['5']['image'];
	document.getElementById("n6_img").src = dd['6']['image'];
	document.getElementById("n7_img").src = dd['7']['image'];
	document.getElementById("n8_img").src = dd['8']['image'];
	
	document.getElementById("n1_a").href = dd['1']['url'];
	document.getElementById("n2_a").href = dd['2']['url'];
	document.getElementById("n3_a").href = dd['3']['url'];
	document.getElementById("n4_a").href = dd['4']['url'];
	document.getElementById("n5_a").href = dd['5']['url'];
	document.getElementById("n6_a").href = dd['6']['url'];
	document.getElementById("n7_a").href = dd['7']['url'];
	document.getElementById("n8_a").href = dd['8']['url'];


	//remove special_img
	if( document.getElementById("special_img") ){
		var ref_special_img = document.getElementById("special_img_container").removeChild(document.getElementById("special_img"));
	}
	
	//add special_img when necessary
	if( dd['0']['special']=='exclusive' || dd['0']['special']=='alert' ){ //decide whether <special> exists in xml
		var special_img = document.getElementById("special_img_container").appendChild( document.createElement("img") );
		special_img.id = "special_img";
		if(dd['0']['special']=="alert"){ special_img.src = "/images/newsalert.gif"; }
		if(dd['0']['special']=="exclusive"){ special_img.src = "/images/exclusivereport.gif"; }
	}
}

function articlesTabXRHandler(ed){
	eval ("var dd =" + ed );

	document.getElementById("a0_img").src      = dd['0']['image'];
	document.getElementById("a0_a_title").href = dd['0']['url'];
	document.getElementById("a0_a_img").href   = dd['0']['url'];
	document.getElementById("a0_title").firstChild.nodeValue  = dd['0']['title'];
	document.getElementById("a0_author").firstChild.nodeValue =(dd['0']['author']?'By '+dd['0']['author']:'');
	document.getElementById("a0_intro").firstChild.nodeValue  = dd['0']['intro'];

	document.getElementById("a1_a").href = dd['1']['url'];
	document.getElementById("a2_a").href = dd['2']['url'];
	document.getElementById("a3_a").href = dd['3']['url'];

	document.getElementById("a1_title").firstChild.nodeValue = dd['1']['title'];
	document.getElementById("a2_title").firstChild.nodeValue = dd['2']['title'];
	document.getElementById("a3_title").firstChild.nodeValue = dd['3']['title'];
	
	document.getElementById("a1_author").firstChild.nodeValue=(dd['1']['author']?'By '+dd['1']['author']:'');
	document.getElementById("a2_author").firstChild.nodeValue=(dd['2']['author']?'By '+dd['2']['author']:'');
	document.getElementById("a3_author").firstChild.nodeValue=(dd['3']['author']?'By '+dd['3']['author']:'');
}

function profilesTabXRHandler(ed){
	eval ("var dd =" + ed );
	
	document.getElementById("p0_img").src      = dd['0']['image'];
	document.getElementById("p0_a_title").href = dd['0']['url'];
	document.getElementById("p0_a_img").href   = dd['0']['url'];
	document.getElementById("p0_title").firstChild.nodeValue  = dd['0']['title'];
	document.getElementById("p0_author").firstChild.nodeValue =(dd['0']['author']?'By '+dd['0']['author']:'');
	document.getElementById("p0_intro").firstChild.nodeValue  = dd['0']['intro'];
	
	document.getElementById("p1_a").href = dd['1']['url'];
	document.getElementById("p2_a").href = dd['2']['url'];
	document.getElementById("p3_a").href = dd['3']['url'];
	document.getElementById("p4_a").href = dd['4']['url'];
	
	document.getElementById("p1_title").firstChild.nodeValue = dd['1']['title'];
	document.getElementById("p2_title").firstChild.nodeValue = dd['2']['title'];
	document.getElementById("p3_title").firstChild.nodeValue = dd['3']['title'];
	document.getElementById("p4_title").firstChild.nodeValue = dd['4']['title'];
	
	document.getElementById("p1_author").firstChild.nodeValue=(dd['1']['author']?'By '+dd['1']['author']:'');
	document.getElementById("p2_author").firstChild.nodeValue=(dd['2']['author']?'By '+dd['2']['author']:'');
	document.getElementById("p3_author").firstChild.nodeValue=(dd['3']['author']?'By '+dd['3']['author']:'');
	document.getElementById("p4_author").firstChild.nodeValue=(dd['4']['author']?'By '+dd['4']['author']:'');
}

function eventsTabXRHandler(ed){
	eval ("var dd =" + ed );

	/*
	document.getElementById("e0_container").className = (dd['0']['showcase']=='yes' ? "event_showcase" : "event");
	document.getElementById("e1_container").className = (dd['1']['showcase']=='yes' ? "event_showcase" : "event");
	document.getElementById("e2_container").className = (dd['2']['showcase']=='yes' ? "event_showcase" : "event");
	document.getElementById("e3_container").className = (dd['3']['showcase']=='yes' ? "event_showcase" : "event");
	*/

	document.getElementById("e0_a").href = dd['0']['url'];
	document.getElementById("e1_a").href = dd['1']['url'];
	document.getElementById("e2_a").href = dd['2']['url'];
	document.getElementById("e3_a").href = dd['3']['url'];
	
	document.getElementById("e0_title").firstChild.nodeValue = dd['0']['title'];
	document.getElementById("e1_title").firstChild.nodeValue = dd['1']['title'];
	document.getElementById("e2_title").firstChild.nodeValue = dd['2']['title'];
	document.getElementById("e3_title").firstChild.nodeValue = dd['3']['title'];

	document.getElementById("e0_date").firstChild.nodeValue = dd['0']['date'];
	document.getElementById("e1_date").firstChild.nodeValue = dd['1']['date'];
	document.getElementById("e2_date").firstChild.nodeValue = dd['2']['date'];
	document.getElementById("e3_date").firstChild.nodeValue = dd['3']['date'];
	
	document.getElementById("e0_location").firstChild.nodeValue = dd['0']['location'];
	document.getElementById("e1_location").firstChild.nodeValue = dd['1']['location'];
	document.getElementById("e2_location").firstChild.nodeValue = dd['2']['location'];
	document.getElementById("e3_location").firstChild.nodeValue = dd['3']['location'];
}


/* no XHR for directoriesTab */
function directoriesTabXRHandler(XD, t){}


/*
	we need contents to make blogsTabXRHandler work
*/
function blogsTabXRHandler(ed){
	eval ("var dd =" + ed );
	
	document.getElementById("b0_img").src      = dd['0']['image'];
	document.getElementById("b0_a_title").href = dd['0']['url'];
	document.getElementById("b0_a_img").href   = dd['0']['url'];
	document.getElementById("b0_a_blog").href  = dd['0']['url'];
	document.getElementById("b0_title").firstChild.nodeValue = dd['0']['title'];
	document.getElementById("b0_intro").firstChild.nodeValue = dd['0']['intro'];

	document.getElementById("b1_title").firstChild.nodeValue = dd['1']['title'];
	document.getElementById("b2_title").firstChild.nodeValue = dd['2']['title'];
	document.getElementById("b3_title").firstChild.nodeValue = dd['3']['title'];
	
	document.getElementById("b1_a").href = dd['1']['url'];
	document.getElementById("b2_a").href = dd['2']['url'];
	document.getElementById("b3_a").href = dd['3']['url'];
}



/*
	newsTab(), boardsTab(), articlesTab(), directoriesTab(), eventsTab(), profilesTab(), blogsTab()
*/

function newsTab(t, ex){
	document.getElementById("newsTab_web").className=(t=="web"?"section_tabs_current":"");
	document.getElementById("newsTab_video-retail").className=(t=="video-retail"?"section_tabs_current":"");
	
	var oXHR = new XHR();
	sURL="json/news/" + t + ".php?time=" + uts() + "&excludeOtherTopics=" + ex;
	oXHR.setURL(sURL);
	oXHR.setResponseType(XHR.defsResponseType.responseText);
	oXHR.setMethod(XHR.defsMethod.GET);
	oXHR.setCallback(newsTabXRHandler);
	oXHR.startRequest();
}

function bvgTab(t){
	document.getElementById('bvgTab_boards').className=(t=="boards"?"section_tabs_current":"");
	document.getElementById('bvgTab_videos_galleries').className=(t=="videos_galleries"?"section_tabs_current":"");
	document.getElementById('bvgTab_xvbg').className=(t=="xvbg"?"section_tabs_current":"");
	document.getElementById('boards_section').style.display = (t=="boards"?"":"none");
	document.getElementById('videos_galleries_section').style.display = (t=="videos_galleries"?"":"none");
	document.getElementById('xvbg_section').style.display = (t=="xvbg"?"":"none");
	
	switch(t){
		case "boards": document.getElementById('bvg_morelink').href="/boards"; break;
		case "videos_galleries": document.getElementById('bvg_morelink').href="http://xfanz.com"; break;
		case "xvbg": document.getElementById('bvg_morelink').href="/avi"; break;
	}
}

function articlesTab(t, ex){
	document.getElementById("articlesTab_web").className=(t=="web"?"section_tabs_current":"");
	document.getElementById("articlesTab_video-retail").className=(t=="video-retail"?"section_tabs_current":"");
	
	var oXHR = new XHR();
	sURL="json/articles/" + t + ".php?time=" + uts() + "&excludeOtherTopics=" + ex;
	oXHR.setURL(sURL);
	oXHR.setResponseType(XHR.defsResponseType.responseText);
	oXHR.setMethod(XHR.defsMethod.GET);
	oXHR.setCallback(articlesTabXRHandler);
	oXHR.startRequest();
}

function profilesTab(t, ex){
	document.getElementById("profilesTab_web").className=(t=="web"?"section_tabs_current":"");
	document.getElementById("profilesTab_video-retail").className=(t=="video-retail"?"section_tabs_current":"");
	
	var oXHR = new XHR();
	sURL="json/profiles/" + t + ".php?time=" + uts() + "&excludeOtherTopics=" + ex;
	oXHR.setURL(sURL);
	oXHR.setParam('excludeOtherTopics',ex);
	oXHR.setResponseType(XHR.defsResponseType.responseText);
	oXHR.setMethod(XHR.defsMethod.GET);
	oXHR.setCallback(profilesTabXRHandler);
	oXHR.startRequest();
}

function directoriesTab(t){
	document.getElementById("directoriesTab_web").className=(t=="web"?"section_tabs_current":"");
	document.getElementById("directoriesTab_video-retail").className=(t=="video-retail"?"section_tabs_current":"");

	document.getElementById('directories_web').style.display = (t=="web"?"":"none");
	document.getElementById('directories_video-retail').style.display = (t=="video-retail"?"":"none");
}

function eventsTab(t){
	document.getElementById("eventsTab_web").className=(t=="web"?"section_tabs_current":"");
	document.getElementById("eventsTab_video-retail").className=(t=="video-retail"?"section_tabs_current":"");
	//setCookie("eventsTab",t,1);
	
	var oXHR = new XHR();
	sURL="json/calendar/" + t + ".php?time=" + uts();
	oXHR.setURL(sURL);
	//oXHR.setResponseType(XHR.defsResponseType.responseXML);
	oXHR.setResponseType(XHR.defsResponseType.responseText);
	oXHR.setMethod(XHR.defsMethod.GET);
	oXHR.setCallback(eventsTabXRHandler);
	oXHR.startRequest();
}

function blogsTab(t, curr_tab_id){

	for(var i=0; i<5; i++){
		document.getElementById("blogsTab_"+i).className = "";
	}
	document.getElementById("blogsTab_"+curr_tab_id).className = "section_tabs_current";
	
	var oXHR = new XHR();
	sURL="json/blogs/blog.php?b=" + t + "&time=" + uts();
	oXHR.setURL(sURL);
	//oXHR.setResponseType(XHR.defsResponseType.responseXML);
	oXHR.setResponseType(XHR.defsResponseType.responseText);
	oXHR.setMethod(XHR.defsMethod.GET);
	oXHR.setCallback(blogsTabXRHandler);
	oXHR.startRequest();
}

