var Submenu = {

	create : function(target, newID, html) {
		document.getElementById(target).onmouseover = function() {
			//Elem.show(newID,{duration:0.3});	
			Effect.SlideDown(target);
			return false;
		}
		var container = document.createElement("div");
		container.id = newID;
		container.style.position = "relative";
		container.style.display = "none";
		container.onmouseover = function() {
			Elem.show(newID);	
		}
		container.onmouseout = function() {
			Elem.hide(newID);	
		}
		var elem = document.createElement("div");
		elem.style.position = "absolute";
		elem.style.top = "-10px";
		elem.innerHTML = html;
		elem.className = "subMenu";
		
		container.appendChild(elem);
		target = document.getElementById(target);
		target.appendChild(container);
	}

}

/*
Sortable.create(
'list', 
{onUpdate:function(){
		new Ajax.Updater('list-info', '/ajax/order', 
			{
				onComplete:function(request){
					new Effect.Highlight('list',{});
				}, parameters:Sortable.serialize('list'), evalScripts:true, asynchronous:true
			}
		)
	}
}
)
*/

$$ = function(target) {
	return document.getElementById(target);	
}

var Elem = {
	hidden : "ElemHidden"
	,
	shown : "ElemShown"
	,
	hide : function(target) {
		//Effect.Fade(target,{duration:0.3});
		Effect.SlideDown(target);
	}	
	,
	show : function(target) {
		//Effect.Appear(target, {duration:0.3});
		Effect.SlideUp(target);
	}
}

var Form = {
	length : "2"
	,
	check : function(target, fields) {
		var check = Array();
		var f = document.forms[target];
		for(i=0; i<fields.length; i++) {
			var field = fields[i];
			var elem = f.elements[field];
			var value = elem.value;
			var defaultValue = elem.defaultValue;
			
		if(field.toLowerCase().indexOf("email") != -1) {
				if(!this.email(target, field)) {
					check.push(field);	
					continue;
				}
			}
		if( (value.length < this.length)  ) {
				check.push(field);	
			}
		
		}
		
		if(check.length == 0) {
			return true;	
		}
		else {
			var out = "Please amend the following before submitting:\n";
			for(i=0; i<check.length; i++) {
				out +=  check[i]+" \n";
			}
			alert(out);
			f.elements[check[0]].focus();
			return false;	
		}
	}	
	,
	email : function(target, field) {
		var email = document.forms[target].elements[field].value;
		var atSym = email.indexOf('@');
		var dot = email.lastIndexOf('.');
		var space = email.indexOf(' ');
		var len = email.length;
		if (atSym < 1 || dot < atSym || len - dot <= 2 || space != -1) {
			return false;
		}
		else { 
			return true; 
		}
	}
	,
	values : function(target) {
		var f = document.forms[target];
		var out = "";
		for(i=0; i<f.elements.length; i++) {
			var elem = f.elements[i].name;
			var value = f.elements[i].value;
			out += "&"+elem+"="+value;
		}
		return out;	
	}
	,
	prep : function(target) {
		var f = document.forms[target];
		for (var i=0; i<f.elements.length; i++) {
			var element = f.elements[i];
			if (element.type == "reset"||element.type == "submit"||element.type == "radio"||element.type == "checkbox") { continue };
			if (!element.defaultValue) { continue };
			element.onfocus = function() {
				if (this.value == this.defaultValue) {
					this.value = "";
				}
			}
			element.onblur = function() {
				if (this.value == "") {
					this.value = this.defaultValue;
				}
			}
		}
	}
}

