function changeBgImage(element,img){
	var el = document.getElementById(element);
	el.src = img;
}
function makeImageOver(link){
	var el = document.getElementById(link);
	var img = el.src.split("_");
	el.src =img[0]+ "_hover_"+img[1]; 
	
}
function FormFullChecka(form_name){
	clearErrors(form_name);
	fields = EmptyFields(form_name);
	chars = Check_Characters(form_name);
	min_length = Check_Min_Length(form_name);
	max_length = Check_Max_Length(form_name);
	if(!fields || !chars || !min_length || !max_length){
		return false;
	}
	else{
		return true;
	}
}
function FormFullCheck(form_name){
	clearErrors(form_name);
	
	if(!EmptyFields(form_name)){
		error = 1;		
	}
	else{
		if(!Check_If_Email(form_name)){
			error = 1;			
		}
		else{
			if(!Check_Characters(form_name)){
				error = 1;				
			}
			else{
				if(!Check_Min_Length(form_name)){
					error = 1;					
				}
				else{
					if(!Check_Max_Length(form_name)){
						error = 1;
					}
					else{
						if(!CheckCaptcha(form_name)){
							error=1;
						}
						else{
							error=0;
						}
					}
				}
			}
		}
	}
	if(error==1){
		return false;
	}
	else{
		return true;
	}
}

function EmptyFields(form_name){
	var c_form = form_name;
	var error = 0;
	for(i=0;i<c_form.elements.length;i++){
		var error_el = document.getElementById(c_form.elements[i].name+"_error");
		if(c_form.elements[i].getAttribute('req')=="required"){			 
			if(error_el){
				if(c_form.elements[i].value.length<1){
					error_el.innerHTML = error_el.innerHTML + "<li>This field is required!</li>";
					c_form.elements[i].style.border = "1px solid red";
					error = 1;
				}
				else{
					error_el.innerHTML = "";
					c_form.elements[i].setAttribute('class','');
				}
			}
			else if(error==1){
				CreateErrorElement(c_form.elements[i],'<li>This field is required!</li>');
				error = 1;
			}
		}
	}
	if(error==1){
		return false;
	}
	else{
		return true;
	}
}
function CheckCaptcha(form_name){
	var c_form = form_name;
	var error = 0;
	for(i=0;i<c_form.elements.length;i++){
		var error_el = document.getElementById(c_form.elements[i].name+"_error");
		if(c_form.elements[i].getAttribute('captcha')){			 
			if(error_el){
				var cap = c_form.elements[i].getAttribute('captcha');
				var new_elem = document.getElementById(cap).value;
				if(new_elem!=c_form.elements[i].value){
					error_el.innerHTML = error_el.innerHTML + "<li>Captcha code invalid!</li>";
					c_form.elements[i].style.border = "1px solid red";
					error = 1;
				}
				else{
					error_el.innerHTML = "";
					c_form.elements[i].setAttribute('class','');
				}
			}
			else if(error==1){
				CreateErrorElement(c_form.elements[i],'<li>This field is required!</li>');
				error = 1;
			}
		}
	}
	if(error==1){
		return false;
	}
	else{
		return true;
	}
}
function Check_If_Email(form_name){
	var c_form = form_name;
	var error = 0;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;	
	for(i=0;i<c_form.elements.length;i++){
		var error_el = document.getElementById(c_form.elements[i].name+"_error");
		if(c_form.elements[i].getAttribute('email')=="check"){			
			if(error_el){
				var test = reg.test(c_form.elements[i].value);
				if(!test){
					error_el.innerHTML = error_el.innerHTML + "<li>" +c_form.elements[i].value+" is not a valid e-mail address.</li>";
					c_form.elements[i].style.border = "1px solid red";
					error = 1;
				}
				else{
					error_el.innerHTML = "";
					c_form.elements[i].setAttribute('class','');
				}
			}
			else if(error==1){
				CreateErrorElement(c_form.elements[i],'<li>This field is required!</li>');
				error = 1;
				
			}
		}
	}
	if(error==1){
		return false;
	}
	else{
		return true;
	}
}
Array.prototype.exists = function(search){
	  for (var i=0; i<this.length; i++)
	    if (this[i] == search) return true;
			
	  return false;
	}

function Check_Characters(form_name){
	var c_form = form_name;
	var error = 0;
	for(i=0;i<c_form.elements.length;i++){
		var error_el = document.getElementById(c_form.elements[i].name+"_error");
		if(c_form.elements[i].getAttribute('chars')){
			if(error_el){
				var chars = c_form.elements[i].getAttribute('chars');
				var accepted = new Array();
				switch (chars){
					case 'aZ':
						accepted=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
					break;
					case 'aZ9':
						accepted=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'];
					break;
					case 'aZ9+':
						accepted=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','-','_','.','@'];
					break;
					case '09':
						accepted=['0','1','2','3','4','5','6','7','8','9'];
					break;
					case 'aZs':
						accepted=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' '];
					break;
					case 'aZ9s':
						accepted=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9',' '];
					break;
					case 'aZ9+s':
						accepted=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','-','_','.','@',' '];
					break;
				}
				elem_val = c_form.elements[i].value;
				elem_arr = new Array();
				for(var t = 0; t<elem_val.length;t++){
					elem_arr[t] = elem_val.charAt(t);
				}
				si = elem_arr.length;
				for(ai=0;ai<si;ai++){
					if(error==0){
						if(accepted.exists(elem_arr[ai])){
							error = 0;
						}
						else{						
							error = 1;
						}		
					}
					else{
						break;
					}
				}
				if(error==1){
					error_el.innerHTML = error_el.innerHTML + "<li>Invalid characters used!</li>";
					c_form.elements[i].style.border = "1px solid red";
				}
			}
			else if(error==1){
				CreateErrorElement(c_form.elements[i],'<li>Invalid characters used!</li>');
				error = 1;
			}
		}
	}
	if(error==1){
		return false;
	}
	else{
		return true;
	}
}
function Check_Min_Length(form_name){
	var c_form = form_name;
	var error = 0;
	for(i=0;i<c_form.elements.length;i++){
		var error_el = document.getElementById(c_form.elements[i].name+"_error");
		if(c_form.elements[i].getAttribute('min-length')){
			if(error_el){
				if(c_form.elements[i].value.length<c_form.elements[i].getAttribute('min-length')){
					error=1;
					error_el.innerHTML = error_el.innerHTML + '<li>Minimum '+c_form.elements[i].getAttribute('min-length')+' characters!</li>';
					c_form.elements[i].style.border = "1px solid red";
				}
				else{
					error=0;
				}
			}
			else if(error==1){
				CreateErrorElement(c_form.elements[i],'<li>Minimum '+c_form.elements[i].getAttribute('min-length')+' characters!</li>');
				error = 1;
			}
		}
	}
	if(error==1){
		return false;
	}
	else{
		return true;
	}
}
function Check_Max_Length(form_name){
	var c_form = form_name;
	var error = 0;
	for(i=0;i<c_form.elements.length;i++){
		var error_el = document.getElementById(c_form.elements[i].name+"_error");
		if(c_form.elements[i].getAttribute('max-length')){
			if(error_el){
				if(c_form.elements[i].value.length>c_form.elements[i].getAttribute('max-length')){
					error=1;
					error_el.innerHTML = error_el.innerHTML + '<li>Maximum '+c_form.elements[i].getAttribute('max-length')+' characters!</li>';
					c_form.elements[i].style.border = "1px solid red";
				}
				else{
					error=0;
				}
			}
			else if(error==1){
				CreateErrorElement(c_form.elements[i],'<li>Maximum '+c_form.elements[i].getAttribute('max-length')+' characters!</li>');
				error = 1;
			}
		}
	}
	if(error==1){
		return false;
	}
	else{
		return true;
	}
}
function CreateErrorElement(MainElement,Error){
	parent = MainElement.parentNode;
	error_el = document.createElement('span');
	error_el.innerHTML = Error;
	error_el.setAttribute('class','error');
	parent.appendChild(error_el);
}
function clearErrors(form_name){
	var c_form = form_name;
	var error = 0;
	for(i=0;i<c_form.elements.length;i++){
		var error_el = document.getElementById(c_form.elements[i].name+"_error");
		if(c_form.elements[i].getAttribute('java_check')){
			error_el.innerHTML = '';
			c_form.elements[i].style.border = '1px solid #b9b9b9';
		}
	}
}

