// JavaScript Document
//
//  Used like this: sendRequest('file.txt',handleRequest);
//
//  function handleRequest(req) {
//	  var writeroot = [some element];
//	  writeroot.innerHTML = req.responseText;
//  }
var currVideoLink = "";


var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}
function randTime(){
	var d = new Date;
	return d.getTime();
}
function hideStat(){
	window.status="";
}
function doNothing(){
}
function getObj(id){
	var d = document;
	var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
	return el;
}
// Load JS, CSS file at Run-Time
function loadjscssfile(filename, filetype){
   if (filetype=="js"){ //if filename is a external JavaScript file
    if(getObj('javascript_loader').hasChildNodes())
	  getObj('javascript_loader').removeChild(getObj('javascript_loader').childNodes[0]);		
   
	var fileref=document.createElement('script')
	fileref.setAttribute("type","text/javascript")
	fileref.setAttribute("src", filename)
   }
   else if (filetype=="css"){ //if filename is an external CSS file
    if(getObj('css_loader').hasChildNodes() && filetype=="css")
	  getObj('css_loader').removeChild(getObj('css_loader').childNodes[0]);
		  
	var fileref=document.createElement("link")
	fileref.setAttribute("rel", "stylesheet")
	fileref.setAttribute("type", "text/css")
	fileref.setAttribute("href", filename)
   }
   if (typeof fileref!="undefined"){
   	  if(filetype=="js")
		getObj('javascript_loader').appendChild(fileref);
	  
	  if(filetype=="css")
		getObj('css_loader').appendChild(fileref);
   }
}
// Return the content inside of a Div with given Div ID
// Input STR is a string
function getDivInnerHTML(str, id){
	var start_pos = str.indexOf('id="'+ id +'">') + id.length + 6;
	var end_pos = str.indexOf('</div>', start_pos);
	
	var data = str.substring(start_pos);
	data = data.substring(0, end_pos - start_pos);
	
	return data;
}
function loadVideoPage(id){
	sendRequest( "video_box.php?t=" + randTime() + "&id=" + id, loadVideo_response);
}
function loadVideo_response(req){
	getObj("videobox_content").innerHTML=req.responseText;
}
function viewVideo(id){
	currVideoLink = getObj("video_link").innerHTML;
	getObj("video_link").innerHTML = '<img src="images/spinner.gif" border="0" alt="Loading Video" />';
	
	sendRequest("view_video.php?t=" + randTime() + "&id=" + id, viewVideo_response);
}
function viewVideo_response(req){
	getObj("ajax_content").innerHTML=req.responseText;
	getObj("video_link").innerHTML = currVideoLink;
	
	var video_url = getDivInnerHTML(req.responseText, "video_url");

	flashembed("video_player", 
	{
		src:'includes/FlowPlayerDark.swf',
		width: 500, 
		height: 308
	},
	
	{config: {   
		autoPlay: false,
		autoBuffering: true,
		controlBarBackgroundColor:'0x000000',
		initialScale: 'scale',
		videoFile: 'http://ipsdevcenter.info/greensite/' + video_url
	}});
}
