/** Hijax implimentation 
 *  we are using Level 0 DOM inbetween 
 *  for now, we are only using it for login
 */

/* REQUEST LOGIN STARTS */
try {
	var inputFields = document.getElementById('login').getElementsByTagName('input');
	
	inputFields[2].onclick = function () {
		return true; // disabling hijax feature 
		var url = '?pid=login&user='+inputFields[0].value+'&pass='+inputFields[1].value;
		
		fcn('index.html'+url);
	}
}catch(e){}
	
/* REQUEST LOGIN ENDS */

function updateLogin(HTML,errors) {	
	if(errors) {
		alert(errors);
	} else {
		if(HTML) {
			/* after login, remove all pages that require login */
			for(var i=0; i<pageNames.length; i++) {
				if(pageNames[i]=='account') { pageNames[i]="";pageCache[i]="";}
				if(pageNames[i]=='profile') { pageNames[i]="";pageCache[i]="";}
			}
			document.getElementById('loginArea').innerHTML = HTML;
		}
	}
}

function getPage(object) {
	var page = basename(object.href,".");
	var name = page.slice(0,(page.length-5));
	//if(name=='index') name = 'home'; // 'home' is an alise of 'index'
	/** check if this page already exists in pageCache 
	 *  if it is there, then just put it back on browser
	 *  else send Ajax request to get a new copy of this page */
	var alreadyExists = false;
	for(var i=0; i<pageNames.length; i++) {
		if(pageNames[i]==name) {
			/* page already exists in cahce, just put it back on browser */
			alreadyExists=true;
			//alert(name+'cached');
			document.getElementById('main_content_area').innerHTML=pageCache[i];
			break;
		}
	}
	if(!alreadyExists) {
		/* send ajax request to get a new copy of this page */
		fcn(page+'?type=hijax');
	}
	/* return false to prevent browser redirect */
	return false;
}
function updatePage(HTML,name) {
	document.getElementById('main_content_area').innerHTML=HTML;
	/* we got the HTML for the first time, put it in our pageCache array */
	var alreadyExists = false;
	/* first search if this page already exists in pageCache */
	for(var i=0; i<pageNames.length; i++) {
		if(pageNames[i]==name) {
			/* page already exists in cahce, it was actualy comming again from server */
			/* update this page at its original location in pageCache */
			pageCache[i]= HTML;
			alreadyExists = true;
			break;
		}
	}
	
	if(!alreadyExists) {
		
		/* insert HTML as a new entry in pageCache */
		pageCache[pageCounter] = HTML;
		/* insert page name */
		pageNames[pageCounter]  = name;
		/* incriment page counter for next entry */
		pageCounter++;
	}
	removeJqueryErrors();
}

function removeJqueryErrors() {	
	var divs = document.getElementsByTagName('div');
	for(var i=0; i<divs.length; i++) {
		var classname = divs[i].className;
		if(classname) {
			if(classname.slice(0,9)=='formError') {
				divs[i].innerHTML="";
			}
		}
	}
	/* initiat jquery again */
	initJquery();
}



