var ajaxValidate = false;
var gErr = false;
var chkFld = false;
var postUrl ;
var formx ;
var elm = null;

function makeRequest(url, parameters) 
{
	ajaxValidate = false;
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		ajaxValidate = new XMLHttpRequest();
		if (ajaxValidate.overrideMimeType) 
		{
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			ajaxValidate.overrideMimeType('text/html');
		 }
	} 
	else if (window.ActiveXObject) 
	{ // IE
		try 
		{
			ajaxValidate = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
		   		ajaxValidate = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
	 	}
	}
	
	if (!ajaxValidate) 
	{
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	
	ajaxValidate.onreadystatechange = alertContents;
	
	ajaxValidate.open('GET', url + parameters , true);
	ajaxValidate.send(null);
}



function alertContents() 
{

	if (ajaxValidate.readyState == 4)
	{	
		
		result = ajaxValidate.responseText;			
		parseResult(result);	
			
	}
	else
	{

	}

}

   
function formPost(obj,act) 
{
	var getstr = "?";
	formx = obj;
	postUrl = act;
	this.elm = null;
	getstr = showOfForm(obj);
	chkFld = false;
	
	//alert(getstr);
	if(gErr != true)
	{
		makeRequest('get.php', getstr);
	}
	else
	{
		
		makeRequest('/inc/form-validate.php', getstr);
	}
}

function chkField(obj,act,elm)
{
	var getstr = "?";
	formx = obj;
	postUrl = act;
	this.elm = elm;
	chkFld = true;
	//alert(elm.value);
	getstr = showOfForm(obj);
	
	//alert(getstr);
	if(gErr != true)
	{
		//makeRequest('get.php', getstr);
	}
	else
	{
		//alert(getstr);	
		makeRequest('/inc/form-validate.php', getstr);
	}	
}


function showOfForm(frm) 
{

	if(!frm || !frm.elements) 
	{
		return;
	}
	var elms = frm.elements;
	var getstr = "?";	
	//var sUrl = "validate.php";
	
	gErr = false;
	var parType = "";
	var parVal = "";
	var parName = "";
	var parId = "";

	//alert("geldi" + elms.length);
	//var elmlen = elms.length - 1;
	for(var i = 0, maxI = elms.length; i < maxI; ++i) 
	{
		var elm = elms[i];
				
		sRules = elm.className.split(' '); // get class name 
		sRequired = sRules[1]; // if field is required or not
		sTypeCheck = sRules[2]; //email, phone, date,number
		gShow = sRules[3]; // error message div id
		
		
		
		//Input text
		if(elm.type == "text") 
		{
		
			if(sRequired == 'required')
			{
				parType += sTypeCheck+",";
				parVal  += elm.value.replace(",","|")+",";
				parName += elm.name+",";
				parId   += gShow+",";
				gErr = true;
				//alert(elm.name);
			}
			else
			{
				getstr += elm.name + "=" + elm.value + "&";
			}
		}
		
	
		if (elm.tagName.toLowerCase = "textarea")
		{
			
			
			if(sRequired == 'required')
			{
				parType += sTypeCheck+",";
				//elm.vlaue = ;
				parVal  += elm.value.replace(",","|")+",";
				parName += elm.name+",";
				parId   += gShow+",";
				gErr = true;
				
			}
			else
			{
				getstr += elm.name + "=" + elm.value + "&";
			}
			
			if(sTypeCheck == "tiny")
			{
				tinyMCE.triggerSave();
			}
		}
		
		if (elm.tagName.toLowerCase == "select") 
		{
			var sel = elm;
			//getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
			
			if(sRequired == 'required')
			{
				//selArr = sTypeCheck.split("+");
				if(sel.options[sel.selectedIndex].value == "")
				{
					parType += sTypeCheck+",";
					parVal  += sel.options[sel.selectedIndex].value+",";
					parName += elm.name+",";
					parId   += gShow+",";
					gErr = true;
				}
				else
				{
					getstr += elm.name + "=" + elm.value + "&";
				}
				
			}
		}  	
		
	}
	
	var rand_no = Math.random();
	rand_no = rand_no * 100;

	getstr = "?type="+parType+"&val="+parVal+"&elName="+parName+"&elMess="+parId+"&rx="+rand_no;
	//alert(getstr);
	return getstr;

}

function printErrMsg(mess,id)
{
	//alert(mess+" "+id);
	document.getElementById(id).innerHTML  = mess;
}

function printAppMsg(mess,id)
{
	//alert(mess+" "+id);
	//document.getElementById(id).innerHTML  = document.getElementById(id).innerHTML + mess;
	document.getElementById(id).innerHTML  = mess;
	document.getElementById(id).style.visibility="visible";
	document.getElementById(id).style.display="block";
}


function parseResult(result)
{
	results = result.split(",");
	resBoy = results.length-1;
	
	gErr = false;
	//alert(elm);
	for(var arx = 0;arx < resBoy;arx++)
	{
		
		subResults = results[arx].split(" ");
		if(elm == null)
		{
			if(subResults[1] == "false")
			{
				printErrMsg("<img src='/images/icon/off.jpg'>",subResults[2]);
				gErr = true;
			}
			else
			{
				printErrMsg("<img src='/images/icon/on.jpg'>",subResults[2]);
	
			}
		}
		else
		{
			if(subResults[1] == "false")
			{
				if(subResults[2] == elm)
				{
					printErrMsg("<img src='/images/icon/off.jpg'>",subResults[2]);
				}
				
				gErr = true;
			}
			else
			{
			 	if(subResults[2] == elm)	
				{
					printErrMsg("<img src='/images/icon/on.jpg'>",subResults[2]);
				}
	
			}	
		}
		
	}
	
	if(gErr == false && chkFld == false)
	{
		//printAppMsg("<h1>Gönderiyorum formu</h1><br>",'mesajlar');
		formx.action=postUrl;
		formx.submit();
		
	}
	else
	{
		printAppMsg("Lütfen eksik bilgileri girin.",'mesajlar');
	}
	
}
