var descritionText = "";

function chekFormContents(obj){
	var formelements = new Array();
	
	formelements["al_title"]				= 1;
	formelements["desc_text"]				= 1;
	formelements["al_comment"]			= 1;	
	formelements["al_siteurl"]			= 2;
	formelements["al_returnurl"]		= 2;
	formelements["al_emailaddress"] = 3;


	for(i=0;i< obj.elements.length;i++){

		if(obj.elements(i).type.toUpperCase() == "TEXT" || obj.elements(i).type.toUpperCase() == "TEXTAREA"){
			
			switch(formelements[obj.elements(i).name]){
				case 1:
					if((obj.elements(i).name != "al_comment") && !checkForBlankField(obj.elements(i).value)){
						obj.elements(i).focus();
						return false;
					}
				break
				case 2:
					if(!checkForCorrectURL(obj.elements(i).value)){
						obj.elements(i).focus();
						return false;
					}
				break;
				case 3:
					if(!checkForCorrectEmail(obj.elements(i).value)){
						obj.elements(i).focus();
						return false;
					}
				break;
				default:
				break;
			}
			
		}
		
		if(!checkReturnAdressInCorrectDomain()){
			alert("The return address doesnt belong to the website domain");
			return false;
		}

	}
}

function checkForBlankField(strg){
	var blankRegExp = new RegExp("^(\\s)+$","gi");
	if(strg.match(blankRegExp) == strg || strg == ""){
		alert("This field cant be a blank");
		return false;
	} else {
		return true;
	}
}

function checkForCorrectURL(strg){
	var regexpMatches = Array();
	var blankRegExp = new RegExp("^(http(s?)\:\/\/)?([A-Za-z0-9\\-])+\\.(\\w|\\-|\\.|\\/|\\&|\\?|\\=)+"); //Esta expresion regular garantiza que se pase un url legal
	
	if((regexpMatches = strg.match(blankRegExp)) != null){
		if(regexpMatches[0] != strg){
			alert("Incorrect URL"); //Aqui se llega si el url tiene espacios o algun caracter ilegal
			return false;
		} else {
			return true;
		}
	} else {
		alert("Incorrect URL"); //Aqui se llega si se escribe solo http://
		return false;	
	}
	
}

function checkForCorrectEmail(strg){
	var regexpMatches = Array();
	var blankRegExp = new RegExp("^[A-Za-z0-9_\.]+\@[A-Za-z0-9\-]+\.[A-Za-z0-9\-\.]+"); //Esta expresion regular garantiza que se pase un url legal
	
	if((regexpMatches = strg.match(blankRegExp)) != null){
		if(regexpMatches[0] != strg){
			alert("Incorrect emailaddress"); //Aqui se llega si el url tiene espacios o algun caracter ilegal
			return false;
		} else {
			return true;
		}
	} else {
		alert("Incorrect emailaddress"); //Aqui se llega si se escribe solo http://
		return false;	
	}
}

function checkDescriptionLenght(obj){
	document.all.wordcounter.rows[1].cells[0].innerText = obj.value.length;
	if(obj.value.length == 200){
		obj.value = descritionText;
	}
	descritionText = obj.value
}

function checkReturnAdressInCorrectDomain(){
	try{
		var urlRoot   = document.al_form.al_siteurl.value;
		var urlReturn = document.al_form.al_returnurl.value;
		var re 				= new RegExp("^(http(s?)\:\/\/)");
	
		urlRoot = urlRoot.replace(re,"");
		if(urlReturn.match(urlRoot) == null){
			document.al_form.al_returnurl.focus();
			return false
		} else
			return true;
	} catch(e) {
		return true;
	}
	
}
