//document.cookie="username=Omer";
Event.observe(window, 'load', init, false);

function init() {
	renderLayout();
	//setLogo(); this is temporarily disabled due to directory structure issues
	setLoggedInAs();
	setSubLinx();
	setSlider();
	doMiscTasks();
	checkFontSize();
}
function renderLayout() {
	var layoutHTML = "";
	layoutHTML += "<div id=\"tedg\">";
	layoutHTML += "<div id=\"redg\">";
	layoutHTML += "<div id=\"bedg\">";
	layoutHTML += "<div id=\"ledg\">";
	layoutHTML += "<div id=\"tlcurve\">";
	layoutHTML += "<div id=\"trcurve\">";
	layoutHTML += "<div id=\"blcurve\">";
	layoutHTML += "<div id=\"brcurve\">";
	layoutHTML += "<div id=\"contarea\">";
	layoutHTML += "<div id=\"logo\"></div>";
	layoutHTML += "<div id=\"topBar\">";
	layoutHTML += "<div id=\"preferences\"><a href=\"#\" onclick=\"Effect.toggle('preferencesDiv','BLIND'); return false;\">preferences</a>";
	layoutHTML += "<div id=\"preferencesDiv\">";
	layoutHTML += "<div id=\"fontSliderMainContainer\">";
	layoutHTML += "<div id=\"fontSlider\">";
	layoutHTML += "<div id=\"sliderHandle\"></div>";
	layoutHTML += "</div>";
	layoutHTML += "</div>";
	layoutHTML += "</div>";
	layoutHTML += "</div>";
	layoutHTML += "<div id=\"topLinx\"><a href=\"seeker.htm\" class=\"topLinx-seeker\">job seeker</a><a href=\"employer.htm\" class=\"topLinx-employer\">employer</a></div>";
	layoutHTML += "<div id=\"login-info\"></div>";
	layoutHTML += "</div>";
	layoutHTML += "<div id=\"subLinx\"></div>";
	layoutHTML += "<div id=\"content\">";
	
	layoutHTML +=$("main").innerHTML;

	layoutHTML += "</div></div></div></div></div></div></div></div></div></div>";
	
	$("main").innerHTML = layoutHTML;
}
function setSlider() {
	new Control.Slider('sliderHandle','fontSlider',{values:[12,14,16,18],range:$R(12,18),
		onSlide:function(v){setFontSize(v)},
		onChange:function(v){setFontSize(v)}});
}
function checkFontSize() {
	var fontSize = parseInt(get_cookie("fontSize"));
	if (fontSize != "")	{
		setFontSize(fontSize);
		setFontCookie(fontSize);
	}
}
function setFontSize(v) {//adjust the font size in the #content div
	var mysheet=document.styleSheets[0];
	
	if (browser == "Internet Explorer") {
		for (i=0; i<mysheet.rules.length; i++) {
			if (mysheet.rules[i].selectorText == "#content") {
				mysheet.rules[i].style.fontSize=(v+"px");
			}
		}
	}
	else {
		for (i=0; i<mysheet.cssRules.length; i++) {
			if (mysheet.cssRules[i].selectorText == "#content") {
				mysheet.cssRules[i].style.fontSize=v+"px";
			}
		}
	}
	setFontCookie(v)
}
function setFontCookie(v) {
	document.cookie="fontSize=" + v;
}
function doMiscTasks() {
	$("preferencesDiv").style.display="none";
}

function setLogo() { //just inserts the logo into the logo div for better printing result
	var _logo = document.createElement("img");
	_logo.src = "/images/logo.gif";
	_logo.alt = "Ministry of IT Recruitment System";
	$("logo").appendChild(_logo);
}
function setLoggedInAs() {
	var user = get_cookie("username");
	if (user != "") {
		$("login-info").innerHTML = "you are signed in as <span>" + user.split("|")[0] + "</span>";
	}
	else {
		$("login-info").innerHTML = "you are not logged in";
	}
}
function setSubLinx() {
	//here we are reading the second style sheet (seeker.css or employer.css), and iterating through the collection and when the background image is found, the current section is determined
	var mysheet=document.styleSheets[1];
	
	if (browser == "Internet Explorer") {
		for (i=0; i<mysheet.rules.length; i++) {
			if (mysheet.rules[i].selectorText == "#topLinx") {
				var currentSection = mysheet.rules[i].style.backgroundImage;
			}
		}
	}
	else {
		for (i=0; i<mysheet.cssRules.length; i++) {
			if (mysheet.cssRules[i].selectorText == "#topLinx") {
				var currentSection = mysheet.cssRules[i].style.backgroundImage;
			}
		}
	}
	if (currentSection == "url(mainTabs_employer.gif)") {
		currentSection = "employer";
	}
	else {
		currentSection = "seeker";
	}
	//and now actually rendering the links according to conditions (logged in, section)
	var user = get_cookie("username");
	if (currentSection == "seeker" & user != "") {//logged in seeker
		subLinxHTML = "<a href='#'>edit account</a>|<a href='#'>edit resume</a>|<a href='#'>search jobs</a>|<a href='#'>logout</a>";
	}
	else if (currentSection == "seeker" & user == "") {//logged out seeker
		subLinxHTML = "<a href='jobseekers/login.jsp'>login</a>|<a href='#'>create account</a>|<a href='#'>search jobs</a>";
	}
	if (currentSection == "employer" & user != "") {//logged in employer
		subLinxHTML = "<a href='#'>post/edit jobs</a>|<a href='#'>add/edit news</a>|<a href='#'>search resumes</a>|<a href='#'>logout</a>";
	}
	else if (currentSection == "employer" & user == "") {//logged out employer
		subLinxHTML = "<a href='#'>login</a>|<a href='#'>create account</a>";
	}
	$("subLinx").innerHTML = subLinxHTML;
}
//Get cookie routine by Shelley Powers 
function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    // if cookie exists
    if (offset != -1) { 
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(";", offset);
      // set index of end of cookie value
      if (end == -1) end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
  return returnvalue;
}
function Delete_Cookie( name, path, domain ) {
if ( Get_Cookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path : "") +
( ( domain ) ? ";domain=" + domain : "" ) +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
//this I got from IRC but haven't tested
//also check http://techpatterns.com/downloads/javascript_cookies.php
function getCookie(prop) {
  var cookie = document.cookie;
  if(cookie) {
    var vals = cookie.split(";");
    for (var i=0; i<vals.length; i++) {
      curVal = vals[i].split("=");
      if (trim(curVal[0]) == prop)
			return unescape(curVal[1]);
    }
  }
  return null;
}

function setCookie(prop,val,days) {
  var exp = new Date(new Date().getTime() + ((days || 365)*24*60*60*1000));
  document.cookie = prop+"="+escape(val)+"; expires="+exp.toGMTString()+";";
}

function removeCookie(prop) {
  setCookie(prop,"",-1);
}

//browser detection
var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;

if (checkIt('konqueror'))
{
	browser = "Konqueror";
	OS = "Linux";
}
else if (checkIt('safari')) browser = "Safari"
else if (checkIt('omniweb')) browser = "OmniWeb"
else if (checkIt('opera')) browser = "Opera"
else if (checkIt('webtv')) browser = "WebTV";
else if (checkIt('icab')) browser = "iCab"
else if (checkIt('msie')) browser = "Internet Explorer"
else if (!checkIt('compatible'))
{
	browser = "Netscape Navigator"
	version = detect.charAt(8);
}
else browser = "An unknown browser";

if (!version) version = detect.charAt(place + thestring.length);

if (!OS)
{
	if (checkIt('linux')) OS = "Linux";
	else if (checkIt('x11')) OS = "Unix";
	else if (checkIt('mac')) OS = "Mac"
	else if (checkIt('win')) OS = "Windows"
	else OS = "an unknown operating system";
}

function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}
//end browser detection
