//constants
nav_link_array = new Array("nl_home", "nl_overview", "nl_search", "nl_browse", "nl_listing", "nl_advertise", "nl_order", "nl_classifieds", "nl_rc", "nl_procurement", "nl_awards");
	
function swap_image(el, src)
{
	el.src = src;
}


//functions
function register_nav_link(id)
{
	el = document.getElementById(id);
	
	//get the sources of the over state and the page icon
	var src = el.getElementsByTagName('img')[0].src;
	var new_src = src.substring(0, src.length -4);
	new_src = new_src+"_over.jpg";
	var icon_src = document.getElementById('page_icon').src;
	var new_icon_src = "images/icon"+id.substring(2, id.length)+".jpg";
	
	//preload the images
	var over_image = new Image();
	over_image.src = new_src;
	var icon_image = new Image();
	icon_image.src = new_icon_src;
	
	el.onmouseover = function()
	{
		this.getElementsByTagName('img')[0].src = eval("new_src");
		document.getElementById('page_icon').src = eval("new_icon_src");
	}
	
	el.onmouseout = function()
	{
		this.getElementsByTagName('img')[0].src = eval("src");
		document.getElementById('page_icon').src = eval("icon_src");
		
	}

}

function init()
{	
	
	if (document.getElementById('menu_standard'))
	{
		for (var i=0; i < nav_link_array.length; i++)
		{
			register_nav_link(nav_link_array[i]);
		}
	}
	
	window.onresize();
}

window.onresize = function()
{
	//set shadow heights
	new_height = Math.max(get_document_height(), get_window_height());
	document.getElementById("left_shadow").style.height = new_height+"px";
	document.getElementById("right_shadow").style.height = new_height+"px";
	document.getElementById("wrapper").style.height = new_height+"px";
	
	//set yellow box heights
	new_height = document.getElementById('page_content').offsetHeight;
	//the original new height was 900. ws
	if (new_height > 900)
	{
		document.getElementById("left_stretcher").style.height = Math.max(0, (new_height - 295))+"px";
		document.getElementById("right_stretcher").style.height = Math.max(0, (new_height - 350))+"px";
		
	}
		
}

get_document_height = function()
{
	if (BrowserDetect.browser == "Explorer")
	{
		return document.body.offsetHeight;
	}
	else if (BrowserDetect.browser == "Firefox")
	{
		return document.documentElement.offsetHeight;
	}
	else if (BrowserDetect.browser == "Safari")
	{
		return document.height;
	}
	else
	{	
		return document.documentElement.offsetHeight;
	}
}

get_window_height = function()
{
	if (BrowserDetect.browser == "Explorer")
	{
		return document.documentElement.clientHeight;
	}
	else if (BrowserDetect.browser == "Firefox")
	{
		return window.innerHeight;
	}
	else if (BrowserDetect.browser == "Safari")
	{
		return window.innerHeight;
	}
	else
	{
		return window.innerHeight;
	}
}

get_window_width = function()
{
	if (BrowserDetect.browser == "Explorer")
	{
		return document.documentElement.clientWidth;
	}
	else if (BrowserDetect.browser == "Firefox")
	{
		return window.innerWidth;
	}
	else if (BrowserDetect.browser == "Safari")
	{
		return window.innerWidth;
	}
	else
	{
		return window.innerWidth;
	}
}


fade = function(obj_id, start, end, step, interval, end_code)
{
	obj = document.getElementById(obj_id);
	
	set_opacity(obj, start);
	
	if (start < end)
	{
		next = Math.min(end, start+step);
	} 
	else if (start > end)
	{
		next = Math.max(end, start - step);
	}
	
	if (start != end)
	{
		code = "fade(\""+obj_id+"\", "+next+", "+end+", "+step+", "+interval+", \""+end_code+"\")";
		setTimeout(code, 50);	
	}
	else
	{
		eval(end_code);
	}
	

}

create_popup = function(src, pwidth, pheight)
{
	
	var shade = document.createElement("img");
	
	
	shade.src = "images/white.jpg";
	shade.style.position = "absolute";
	shade.style.zIndex = "1000";
	shade.style.top = "0px";
	shade.style.left = "0px";
	
	shade.style.width = "100%";
	shade.id = "shade";
	var doc_height = get_document_height();
	shade.style.height = doc_height+"px";
	
	set_opacity(shade, 0);
	document.body.appendChild(shade);
		
	if (BrowserDetect.browser == "Firefox")
	{		
		fade("shade", 0, 90,10, 20, "");
	}
	else if (BrowserDetect.browser == "Explorer" && BrowserDetect.version >= 7)
	{
		set_opacity(shade, 30);
		fade("shade", 60, 90,8, 10, "");
	}
	else
	{
		set_opacity(shade, 90);
	}
	
	
	
	
	
	
	
	var scroll_ = getScrollXY();
	var scrolly = scroll_[1];
	var popuptop =  (scrolly+200);
	var window_width = get_window_width();
	var left_margin = (window_width - pwidth - 100)/2;
	
	var popup = document.createElement("iframe");
	popup.id = 'popup';
	popup.style.height = pheight+"px";
	popup.style.width = pwidth+"px";
	popup.style.position = "absolute";
	popup.style.left = left_margin+"px";
	
	popup.style.zIndex = "1001";
	popup.style.border = "1px solid #999999";
	popup.style.top = popuptop+"px";
	popup.style.backgroundColor = "#ffffff";
	popup.style.padding = "50px";
	popup.src = src;
	popup.frameBorder = '0';
	//popup.border = 'none';
	popup.scrolling = 'no';
	//popup.innerHTML = "<iframe src='new_category.php' align='center' width='355px' height='300px' frameborder='0' style='border: 1px solid #cccccc; margin: 5px 5px 5px 5px; padding: 50px;'/>";
	
	document.body.appendChild(popup);
	
	
	
}

function close_popup()
{
	var popup = document.getElementById('popup');
	document.body.removeChild(popup);
	
	
	
	if (BrowserDetect.browser == "Firefox")
	{		
		fade("shade", 90, 0,15, 20, "document.body.removeChild(document.getElementById('shade'));");
	}
	else if (BrowserDetect.browser == "Explorer" && BrowserDetect.version >= 7)
	{
		document.body.removeChild(document.getElementById('shade'));
	}
	else
	{
		document.body.removeChild(document.getElementById('shade'));
	}
	
	
	
	
	
}

function set_opacity(obj, opacity)
{
  
  	var sty = obj.style; 
    sty.opacity = (opacity / 100); 
    sty.MozOpacity = (opacity / 100); 
    sty.KhtmlOpacity = (opacity / 100); 
    sty.filter = "alpha(opacity=" + opacity + ")"; 
	
    /*if (BrowserDetect.browser == "Explorer")
	{
		 alert (opacity);
		 imageobject.style.filter="alpha(opacity=" + opacity + ")";
	}
	else if (BrowserDetect.browser == "Firefox")
	{
		imageobject.style.MozOpacity=opacity/100;
	}
	else if (BrowserDetect.browser == "Safari")
	{
		imageobject.style.MozOpacity=opacity/100;
	}
	else
	{
		imageobject.style.MozOpacity=opacity/100;
	}*/
	
	
	
	/*
	if (navigator.appName.indexOf("Netscape")!=-1&&parseInt(navigator.appVersion)>=5)
    imageobject.style.MozOpacity=opacity/100
    else if (navigator.appName.indexOf("Microsoft")!=-1&&parseInt(navigator.appVersion)>=4)
    imageobject.filters.alpha.opacity=opacity*/
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}





function count_ad_click(imp_id)
{
	var url = "count_ad_click.php?imp_id="+imp_id;
	loadXMLDoc(url);
}


function loadXMLDoc(url)
{
	var req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		//req.onreadystatechange = processReqChange;
		//alert(url);
		
		req.open("GET", url, true);
		req.send("");
	}
	
}

function get_selected_options(sel)
{
	if (sel.options)
	{
		var opts = new Array();
		var i =0;
		while (opt = sel.options[i])
		{
			if (opt.selected)
			{
				opts.push(opt.value);
			}
			i++;
		}
		return opts;
	}
	else
	{
		return false;
	}
}

function clear_options(sel)
{
	if (sel.options)
	{
		while (sel.options[0])
		{
			sel.remove(0);
		}
	}
}

Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
}


