// general purpose validation function

function foc(field)
{
	//if (str>"") alert(str);
	field.select();
	field.focus();
}

function ck_num(field)
{
	val = parseInt(field.value);
	if (isNaN(val)) 
	{
		foc(field, "Invalid number format !");
		return false;
	}
	
	return true;
}

function ck_pos_num(field)
{
	val = parseInt(field.value);
	if (isNaN(val)) {
		foc(field);
		alert("Invalid number format !");
		return false;
	}

	
	if (val>0) return true; 
		else 
	{	
		foc(field,"Invalid number format !");
		return false;
	}
}

function ck_float_pos_num(field)
{
	if (!Number(field.value)) {
		foc(field);
		return false;
	}
	val = parseFloat(field.value);	
	if (val>0) return true; 
		else 
	{	
		foc(field);
		return false;
	}
}

function ck_text(field, zval, str)
{
	if (field.value == zval) 
	{
		if (str!="")
		{
			foc(field);
			//msg="Please fill the "+field+" field!";
			alert(str);
		}
		return false;
	} else 
		return true;
}
	
function ck_select(field, zval, zindex, str)
{
	if (field.options[field.selectedIndex].value==zval||field.selectedIndex==zindex)
	{
		if (str!="")
		{
			foc(field, str);
		}
		return false;
	}
	else
		return true;
}
	

function ck_radio(field, str)
{
	for (i=0;i<field.length;i++)
		if (field[i].checked) return i+1;
		
	if (str!="")
	{
		foc(field[0], str);		
	}
	return false;
}
	
function validate_email(field, alert_str)
{
	var str = field.value;
	//alert(str);
	if (window.RegExp) {
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		if (!reg1.test(str) && reg2.test(str)) {
			return true;
		}
		alert(alert_str);
		field.select();
		return false;
	} else {
		if(str.indexOf("@") >= 0)
		{
			return true;
		}
		alert(alert_str);
		field.select();
		return false;
	}
}

function validate_email_string(field, alert_str)
{
	var str = field;
	//alert(str);
	if (window.RegExp) {
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		if (!reg1.test(str) && reg2.test(str)) {
			return true;
		}
		alert(alert_str);
		return false;
	} else {
		if(str.indexOf("@") >= 0)
		{
			return true;
		}
		alert(alert_str);
		return false;
	}
}

// auto fill form with supplied values
function set_form(f, names, values)
{
	var i;

	for (i=0; i<names.length; i++)
	{
		if (e = f.elements[names[i]]) 
		{
	//		alert(i + " " + e.name +" "+ e.type+" "+ values[i]);
			switch(e.type) {
			case "hidden" :
			case "text" :
			case "textarea" : e.value = values[i]; break;
			case "select-one" : set_select(e, values[i]); break;
			case "checkbox" : set_checkbox(e, values[i]); break;	
			}

			if (e.length>0&&e[0].type=="radio") 
				set_radio(e, values[i]);
		}
	}
}

// functions used by set_form

function set_text(field, val)
{
	field.value = val;
	return true;
}

function set_select(field, val)
{
	var i;
	for (i=0;i<field.options.length;i++)
		if (field.options[i].value == val) 
		{
			field.selectedIndex = i;
			return true;
		}
	return false;
}

function set_checkbox(field, val)
{
	if (field.value != val) return false;
	field.checked = true;
	return true;
}

function set_radio(field, val)
{
	var i;
	var ok;
	ok = false;
	for (i=0; i<field.length;i++)
	{
//	alert(field[i].value);
		if (field[i].value == val)
		{
	//		alert("Found i = "+i);
			field[i].checked = true;
			ok = true;
		}
		else field[i].checked = false;
	}
	return ok;
}


function isEmpty(obj)
{
	obj_type = obj.type;	
	if (obj_type == "text" || obj_type == "password" || obj_type == "textarea" || obj_type == "file")	{
		var objValue;
		
		objValue = obj.value.replace(/\s+$/,"");
		
		if (objValue.length == 0) {
			obj.focus();
			return true;
		} else {
			return false;
		}
	} else if (obj_type == "select") {
		for (i=0; i < obj.length; i++) {
			if (obj.options[i].selected) {
				if(obj.options[i].value == "") {
					obj.focus();
					return true;
				} else {
					return false;
				}
			}
			
		}
		return true;	
	} else if (obj_type == "radio" || obj_type == "checkbox") {
		if (!obj[0] && obj) {
			if (obj.checked) {
				return false;
			} else {
				obj.focus();
				return true;	
			}
		} else {
			for (i=0; i < obj.length; i++) {
				if (obj[i].checked) {
					return false;
				}
			}
			obj[0].focus();
			return true;
		}
	} else {
		return false;
	}
}

function ck_date_format(year, month, day)	//checks the date
{

	if(year==-1 && month==-1 && day==-1) 
		return true;

	if(year==-1 || month==-1 || day==-1) 
		return false;

	start_date = new Date(year, month-1, day);
	date_year=start_date.getYear();

	if(date_year<2000) date_year=date_year + 1900;

	//alert("Start_date:"+start_date.toString());
	
	if((start_date.getMonth() != month-1) || (start_date.getDate() != day)  || (date_year != year))
		return false;
	else
		return true;
}

function window_open(url, title, scrol, tool, w, h )
{
	f=window.open(url, title, "scrollbars="+scrol+",toolbar="+tool+",width="+w+",height="+h); 
	f.focus(); 
	return false;
}

function image_change(img_name, img_src)
{
	document.images[img_name].src=img_src; 
	return false;
}

function del()
{
	return confirm("Are you sure you want to delete?");
}

//AJAX Functions 

var xmlHttp

function changeCat(id)
{
	document.insert_firma_next.dom_choose.value = 0;
	var url = "./actions_categorii.php?id_cat_domeniu=" + id;
//	alert(url);
	xmlHttp = GetXmlHttpObject(catChanged);
	xmlHttp.open("GET", url , true);
	xmlHttp.send(null);
	
} 


function show_judet(id)
{
	document.insert_firma_next.oras_choose.value = 0;
	var url = "./actions_judete.php?id_judet=" + id + "&act=get_cities";
	//alert(url);
	xmlHttp = GetXmlHttpObject(stateChanged);
	xmlHttp.open("GET", url , true);
	xmlHttp.send(null);
} 

function showModel(id)
{
	
	var url = "./actions.php?id_judet=" + id + "&act=get_cities";
	//alert(url);
	xmlHttp = GetXmlHttpObject(stateChanged);
	xmlHttp.open("GET", url , true);
	xmlHttp.send(null);
} 

function stateChanged() 
{
	//alert(xmlHttp.responseText);
	if (xmlHttp.readyState == 4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("orase").innerHTML = xmlHttp.responseText;
	} 
} 

function catChanged() 
{
	//alert(xmlHttp.responseText);
	if (xmlHttp.readyState == 4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("domeniu").innerHTML = xmlHttp.responseText;
	} 
	
} 

function GetXmlHttpObject(handler)
{
	
	var objXmlHttp=null;
	if (navigator.userAgent.indexOf("Opera")>=0)
	{
		alert("This example doesn't work in Opera") ;
		return ;
	}
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{
		
		var strName="Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP";
		}
		try
		{
			objXmlHttp=new ActiveXObject(strName);
			objXmlHttp.onreadystatechange=handler ;
			return objXmlHttp;
		}
		catch(e)
		{
			alert("Error. Scripting for ActiveX might be disabled");
			return;
		}
		
	}
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp = new XMLHttpRequest();
		objXmlHttp.onload = handler;
		objXmlHttp.onerror = handler;
		return objXmlHttp;
	}
	
	alert(objXmlHttp);
}

function fill_text(id)
{
	document.insert_firma_next.oras_choose.value = id;
//	alert(document.insert_firma_next.oras_choose.value);
}

function fill_text_cat(id)
{
	document.insert_firma_next.dom_choose.value = id;
//	alert(document.insert_firma_next.dom_choose.value);
}