// JavaScript Document



function trim(str) {
str = str.replace(/^[ ]+(.*)$/, '$1'); // Trims leading spaces
str = str.replace(/^(.*)[ ]+$/, '$1'); // Trims trailing spaces
return str;
}


function validateLogin(){
	var form = document.getElementById('login_form');

      form.submit();


}

function blurAllFields(form, func){
	var fields = form.getElementsByTagName("input");
	//form.setAttribute("func", func);
	window.formFunc = func;
	for(i=0;i<fields.length;i++){
		//fields[i].parentForm = form.id;
		fields[i].blur();
	}
}

function validateProject(){
	
	var form = document.getElementById('add_project_form');
	form.submit();
}

function addFormErrorMsg(id, msg){
	var errorFrame = document.getElementById('validation_message');
	errorFrame.style.display = 'block';
	
    //Check if error exists already
	removeFormErrorMsg(id);

	var div = document.createElement("div");
	var message = document.createTextNode(msg);
	div.appendChild(message);
	div.id = id+'_err';
	
	errorFrame.appendChild(div);
	
	//Hilight bad field
    highlightField(id);
}

function removeFormErrorMsg(id){
	var errorFrame = document.getElementById('validation_message');
	var checkError = document.getElementById(id+'_err');
	if(checkError != null){
		errorFrame.removeChild(checkError);
	    var goodField = document.getElementById(id);
	    goodField.className = 'null';
	}
}

function highlightField(id){
	var badField = document.getElementById(id);
	badField.className = 'error_field';
}

function validateRegistration(){
	var form = document.getElementById('user_registration_form');
      form.submit();

}

function ajaxValidate(field, type){
   if(trim(field.value) != ''){

		var ajaxValidateRequest = createXmlHttpRequestObject();
		ajaxValidateRequest.open("GET", "/functions/validate.php?type="+type+"&value="+encodeURIComponent(trim(field.value))+"&id="+field.id, true);
		ajaxValidateRequest.onreadystatechange = function () {
					if (ajaxValidateRequest.readyState == 4) {
						if (ajaxValidateRequest.status == 200) {
							displayValidateResult(ajaxValidateRequest.responseXML);
						} else {
							//alert("An error occurred: " + ajaxSectionRequest.statusText);
							alert('ajax validation error');
						}
					}            
				}
		ajaxValidateRequest.send(null);
   }else{
	   field.value = '';   
   }
}

function displayValidateResult(XML){
	var xmlRoot = XML.documentElement;
	
	
	   var replyMsg = xmlRoot.getElementsByTagName('msg')[0];
	   var badField = document.getElementById(replyMsg.getAttribute('id'));
	   
	   if(replyMsg.firstChild.data != 'OK'){
		   
		   
           //showFormErrorMsg(replyMsg.firstChild.data);
		   addFormErrorMsg(replyMsg.getAttribute('id'), replyMsg.firstChild.data)
		   //badField.className = 'error_field';	
		   badField.setAttribute("valid","false");
	   }else{
		   //hideFormErrorMsg();
		   removeFormErrorMsg(replyMsg.getAttribute('id'));
		   //badField.className = 'null';	
           badField.setAttribute("valid","true");
	   }
	   if(replyMsg.getAttribute('new_value') != null){
		  badField.value = replyMsg.getAttribute('new_value');
		  
       }	
	   if(window.formFunc != undefined){
		  var funcName = '';
		  funcName = window.formFunc;
		  delete window.formFunc;
		  eval(funcName);
		  
	   }


	
}

function showFormErrorMsg(msg){
	var validMsg = document.getElementById('validation_message');
	validMsg.style.display = 'block';
	validMsg.innerHTML = msg;
}

function hideFormErrorMsg(){
	var validMsg = document.getElementById('validation_message');
	validMsg.style.display = 'none';
}

function validateAddProduct(){
	var form = document.getElementById('add_product_form');
	form.submit();
	/*
	if(skpUploaded && jpgUploaded){
		alert('good to go');
		form.submit();
	}else{
	   alert('boo');
	}*/
}

function validateAddProductComment(){
	var form = document.getElementById('comment_form');
	form.submit();
}

function validateShareProject(){
	var form = document.getElementById('share_project_form');
	form.submit();
}

function validateEmailProject(){
	var form = document.getElementById('email_project_form');
	form.submit();
}

function validateChangePassword(){
	var form = document.getElementById('forgot_password_form');
	form.submit();
}

function validateChangeEmail(){
	var form = document.getElementById('change_email_form');
	form.submit();
}

function validateRequestPrototype(){
	var form = document.getElementById('prototype_form');
	form.submit();
}

function validateAddToProject(){
	var form = document.getElementById('add_to_proj_form');
	form.submit();
}