// JavaScript Document
function machine_menus(el, targCell){
	if(el.value != '' && el.value != 'other'){ 
		url = '/machines/machine_form.php?'+ el.id +'='+ el.value;
		new Ajax.Updater(targCell, url);
		
		if(targCell == 'modelcell'){
			url += "&fetch_addons=1";
			new Ajax.Updater("addonsbox",url);
			new Ajax.Updater('', url);
		}
	}
	
	if(el.value == 'other'){
		html = "<input class='txt' style='float:left;' type='text' id='mk_"+ el.id +"' name='mk_"+ el.id +"' onChange='url = \"/machines/machine_form.php?mk_"+ el.id +"=\"+ this.value; new Ajax.Updater(\""+ targCell +"\",url); url += \"&fetch_addons=1\"; new Ajax.Updater(\"addonsbox\",url);'/>";
		html += "<a href='javascript:void(0);' class='reloadbt' style='float:left;'></a>";
		$(el.id).replace(html);
	}
}

function clear_validation(el){
	$el = $(el);
	$el.removeClassName('valid');
	$el.removeClassName('invalid');
}
function validate_field(el, type){
	$el = $(el);
	//alert(type);
	switch(type){
		case 'any':
		pattern = '\.+';
		break;
		case 'email':
		pattern = '^[a-zA-Z0-9_\.\-]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$';
		break;
		case 'phone':
		var str = $el.value;
		str = str.replace(/\D/g,'');
		if(str.charAt(0) == '1'){
			str = str.substr(1);
		}
		$el.value = str;
		pattern = '^[0-9]{10}$';
		break;
		case 'url':
		var str = $el.value;
		str = str.replace(/^http:\/\//gi,'');
		
		$el.value = str;
		pattern = '^[a-zA-Z0-9\.\-]*\.*[a-zA-Z]*';
		break;
		case 'number':
		pattern = '^[0-9\.]+$';
		break;
		case 'date':
		pattern = '^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$';
		break;
		case 'time':
		
		break;
		case 'datetime':
		break;
	}
	var reg = new RegExp(pattern,'i');
	if(reg.test($el.value) !== false){
		$el.addClassName('valid');
		
		invalids = getElementsByClassName(document, '*', 'invalid');
		if(invalids.length >0){
			//alert('disabled');
			//$('Submit').hide();
		}else{
			//alert('enabled');
			//$('Submit').show();	
		}
		return true;
	}else{
		$el.addClassName('invalid');
		//$('Submit').hide();
		return false;
	}
}


function addLoadEvent(func){
	var oldonload = window.onload;
	if(func != undefined){
		if (typeof window.onload != 'function'){
			window.onload = func;
		} else {
			window.onload = function(){
				oldonload();
				func();
			}
		}
	}
}

function getElementsByClassName(oElm, strTagName, strClassName){
  var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	 var arrReturnElements = new Array();
	 strClassName = strClassName.replace(/\-/g, "\\-");
	 var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	 var oElement;
	 for(var i=0; i<arrElements.length; i++){
	   oElement = arrElements[i];
	   if(oRegExp.test(oElement.className)){
	     arrReturnElements.push(oElement);
	   }
	 }
	 return (arrReturnElements)
}

function showDetails(menu, windowID, el_csv){
	val = $(menu).value;
	
	areas = el_csv.split(',');
	for(i=0; i<areas.length; i++){
		if(areas[i] == val){
			$(windowID +'_'+ areas[i]).show();
		}else{
			$(windowID +'_'+ areas[i]).hide();
		}
	}
}

function justNumbers(field, e){
	
	var keynum;
	var keychar;
	var numcheck;
	
	if(window.event){//IE
	  keynum = e.keyCode;
	  }
	else if(e.which){ // Netscape/Firefox/Opera
	  keynum = e.which;
	  }
	
	keychar = String.fromCharCode(keynum);
	numcheck = /\d/;
	if(!numcheck.test(keychar)){
		var input = $(field.id);
		input.value = input.value.substr(0, input.value.length-1);
	}
}
