/*
	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
*/
//var opacityCurrent = 0; 
var opacityCurrent = 100; // start outs with 100 for 100% visible
var greentipHeight = 44;
var greentipMarginTop = 0;
var interval = 15; // milli-seconds
var stepProgress = 5; // px , %

function fadeOut(id){
	if( opacityCurrent>0 ){
		opacityCurrent -= stepProgress;
		changeOpac(opacityCurrent, id);
		setTimeout("fadeOut('" + id + "')", interval);		
	}
}

function fadeIn(id){
	if( opacityCurrent<100 ){	
		opacityCurrent += stepProgress / 5;
		changeOpac(opacityCurrent, id);
		setTimeout("fadeIn('" + id + "')", interval );	
	}
}

function slideUp(id){
	if( greentipHeight + greentipMarginTop >0 ){
		greentipMarginTop -= stepProgress;
		document.getElementById(id).style.marginTop = greentipMarginTop + "px";	
		setTimeout("slideUp('" + id + "')", interval);
	}
}

// change the opacity for different browsers
// grabbed online
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}



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 newsTab1(t, ex){
	document.getElementById("newsTab_all").className=(t=="all"?"section_tabs_current":"");
	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 newsTab2(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').className=(t=="videos"?"section_tabs_current":"");
	document.getElementById('bvgTab_galleries').className=(t=="galleries"?"section_tabs_current":"");
	document.getElementById('boards_section').style.display = (t=="boards"?"":"none");
	document.getElementById('videos_section').style.display = (t=="videos"?"":"none");
	document.getElementById('galleries_section').style.display = (t=="galleries"?"":"none");
	
	switch(t){
		case "boards": document.getElementById('bvg_morelink').href="boards"; break;;
		case "videos": document.getElementById('bvg_morelink').href="../xfanz.com/default.htm"; break;
		case "galleries": document.getElementById('bvg_morelink').href="../xfanz.com/gallery/index.php"; 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){
	document.getElementById("blogsTab_stephen").className=(t=="stephen"?"section_tabs_current":"");
	document.getElementById("blogsTab_gram").className=(t=="gram"?"section_tabs_current":"");
	document.getElementById("blogsTab_tom").className=(t=="tom"?"section_tabs_current":"");
	document.getElementById("blogsTab_scott").className=(t=="scott"?"section_tabs_current":"");
	document.getElementById("blogsTab_brandon").className=(t=="brandon"?"section_tabs_current":"");
	//setCookie("blogsTab",t,1);
	
	var oXHR = new XHR();
	sURL="json/blogs/" + t + ".php@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();
}

