// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
	var ns4 = document.layers;
	var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);
	var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);
	var agt=navigator.userAgent.toLowerCase();
	var mac = (agt.indexOf("mac")!=-1);
	var ie = (agt.indexOf("msie") != -1); 
	var mac_ie = mac && ie;
	
	
	var loading_table = '<table width="100%" cellspacing="2" cellpadding="2" style="height:400px;padding:5px;"><tr><td align="center" valign="middle"><img src="/images/ajax-loader.gif" alt="spinner"  border="0"> fetching events</td></tr></table>';
	var loading_org_table = '<table width="100%" cellspacing="2" cellpadding="2" style="height:400px;padding:5px;"><tr><td align="center" valign="middle"><img src="/images/ajax-loader.gif" alt="spinner"  border="0"> loading organizations</td></tr></table>';

	function admission_price_switch(id) {
		if (document.layers)
		{
			vista = (document.layers[id].visibility == 'hide') ? 'show' : 'hide'
			document.layers[id].visibility = vista;
		}
		else if (document.all)
		{
			vista = (document.all[id].style.visibility == 'hidden') ? 'visible'	: 'hidden';
			document.all[id].style.visibility = vista;
		}
		else if (document.getElementById)
		{
			vista = (document.getElementById(id).style.visibility == 'hidden') ? 'visible' : 'hidden';
			document.getElementById(id).style.visibility = vista;
		}
	}

	function shift_up(id) {
		var divHeight = Element.getHeight(id);
		var divPosition = findPos(document.getElementById(id));
		var elem;
		if (document.layers)
		{
			elem = document.layers[id];
			elem.top = (divPosition[1] - divHeight) + "px";
		}
		else if (document.all)
		{
			elem = document.all[id];
			elem.style.top = (divPosition[1] - divHeight) + "px" ;
		}
		else if (document.getElementById)
		{
			elem = document.getElementById(id);
			elem.style.top = (divPosition[1] - divHeight) + "px";
		}
	} 

	function getElementHeight(id) {
		if (document.layers)
		{
			elem = document.layers[id];
			xPos =  elem.clip.height;
		}
		else if (document.all)
		{
			elem = document.all[id];
			xPos = elem.offsetHeight;
		}
		else if (document.getElementById)
		{
			elem = document.getElementById(id);
			xPos = elem.offsetHeight;
		}
		alert("xPos:" + xPos);
		return xPos;
	}
	
	function findPos(obj)
	{
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	}
	
	function getObjNN4(obj,name)
	{
		var x = obj.layers;
		var i=0;
		var foundLayer;
		for (i=0;i< x.length;i++) {
			if (x[i].id == name) {
			 	foundLayer = x[i];
			}
			else if (x[i].layers.length) {
				var tmp = getObjNN4(x[i],name);
			}
			if (tmp) {
				foundLayer = tmp;
			}
		}
		return foundLayer;
	}
	
	function myCallBackOnStart(obj){
		alert($F('event_id').value + "-" + $F('display_type').value);
  		
	}
	function show_details( source, target) {
		source = $(source);
    	target = $(target);
		target.style.position = 'absolute';
    	var offsets = Position.cumulativeOffset(target);
		//alert(offsets);
    	source.style.top    = offsets[1] + 'px';
    	source.style.left   = offsets[0] + 'px';
		if(!source.visible()) {
			new Effect.toggle(source);
		}
		/*new Ajax.Updater('details_window', 'http://localhost:3000/evartscal/details/', {
			onComplete:function(){ new Effect.Appear('details_window', { duration: 1.0 });},
			onFailure:function(){ new Effect.Appear('details_window', { duration: 1.0 });},
			onException:function(){ new Effect.Appear('details_window', { duration: 1.0 });},
  			parameters: { event_id: p_id, type: p_type }
			});	*/
		//alert(id + "-" +type);

	}
	
	function close_details(source) {
		//alert($(source).visible());
		if($(source).visible()) {
			new Effect.BlindUp(source, { duration: 0.2 });

		}
		return true;
	}
	
	function show_searching(source) {
		$(source).update(loading_table);
	}
	function toggle_description(event_id) {
		var current_display = $("description" + event_id).innerHTML
		if(current_display.indexOf("&lt;less&gt") >= 0) {
			$("description" + event_id).innerHTML = $("s_desc" + event_id).value + "...<a href=\"#\" style=\"font-size:11px;\" onClick=\"toggle_description('" + event_id + "');return false;\"><br><strong>&lt;more&gt;</strong></a>";
		}
		else {
			$("description" + event_id).innerHTML = $("f_desc" + event_id).value + "<br><a href=\"#\" style=\"font-size:11px;\" onClick=\"toggle_description('" + event_id + "');return false;\"><strong>&lt;less&gt;</strong></a>";
		}
	}
	
	
	function select_nav(id) {
		if(id == 'artscalendar') {
			$('organizations').className = 'unselected';
			$('venues').className = 'unselected';
		}
		else if(id == 'organizations') {
			$('artscalendar').className = 'unselected';
			$('venues').className = 'unselected';
		}
		else {
			$('artscalendar').className = 'unselected';
			$('organizations').className = 'unselected';
		}
		$(id).className = "selected";
		
		
	}
	
	function validate_contact_form(id) {
		var myregexp = '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}';
		var err = "";
		if($F('Name') == "") {
			err += "<span class='error'>You must enter a Name</span><br>";
		}
		if( !($F('Email').match(myregexp) )) {
			err += "<span class='error'>You must enter a valid Email</span><br>";
		}
		if($F('Subject') == "") {
			err += "<span class='error'>You must enter a Subject</span><br>";
		}
		if($F('Body') == "") {
			err += "<span class='error'>You must enter a Message</span><br>";
		}
		
		if(err == "") {
			new Ajax.Updater('message_body', '/evartscal/send_message', {asynchronous:true, evalScripts:true, onLoading:function(request){show_searching('search_results');}, parameters:Form.serialize($(id))});
		}
		else {
			$('log').innerHTML = err;
		}
		return false;
	}