/**
 * @author chardcastle
 */
xperta = {};
xperta.form = {
	startMessage:"<div style='float: right;'><a onclick=\"xperta.form.closeErrorMsgWindow();\"><img src='/tpl/xperta/images/common/box5/errorCloseBox.gif' alt='Close'/></a></div><h3>Error!</h3>Please ensure that you have completed the following fields:</br/></br/>",
	errorFields:{},
	endMessage:"<div id=\"errorContentBottom\"></div>",
	errorCount:0,
	test: function(){
		alert("Testing");
	},
	generateErrorMessage: function(){
		var message = xperta.form.startMessage; 
		for(var error in xperta.form.errorFields){
			if(xperta.form.errorFields[error] == true){				
				message += "<p>"+error+"<p>";		
			}
		}		
		message += xperta.form.endMessage;	
		return message;	
	},
	isEmpty: function(elementId){
		if($(elementId).value.length <= 0){
			return true;
		}else{
			return false;
		}
	},
	isDefaultSelected: function(elementId){
		if($(elementId).selectedIndex == 0){		
			return true;			
		}else{					
			return false;
		}	
	},
	isEmail: function(elementId){
		var emailregex = /^[\w-\.\+]+@([\w-]+\.)+[\w]{2,}$/;
		var error = true;
		if(!emailregex.exec($(elementId).getValue())) {
			error = false;			
		}		
		return error;				
	},
	openErrorMsgWindow: function(){
		var overlay = $('errorOuter');		
		var dialog = $("errorWrapper"); 
		overlay.setStyle("width", window.getWidth());	
		overlay.setStyle("height", window.getScrollHeight());	
		overlay.setStyle("display", "");
		
		if(window.ie6){
			var iframeShim = $('iframeOuter');
			iframeShim.setStyle("width", window.getWidth());	
			iframeShim.setStyle("height", window.getScrollHeight());	
			iframeShim.style.display = "";												
		}				
		dialog.setStyle("display", "");
	},

	closeErrorMsgWindow: function(){		
		var overlay = $('errorOuter');		
		var dialog = $("errorWrapper"); 
		overlay.setStyle("display", "none");
		if(window.ie6){
			var iframeShim = $('iframeOuter');
			iframeShim.setStyle("display", "none");
		}				
		dialog.setStyle("display", "none");
	}	
};
xperta.form.contact = {	
	submit: function(){
		errorCount = xperta.form.contact.isFormOk();
		if(errorCount > 0){	
			data = "";			
			data +=  xperta.form.generateErrorMessage();
			$("errorMessages").innerHTML = data;
			xperta.form.openErrorMsgWindow();
			return false;
		}else{
			return true;	
		}		
	},	
	isFormOk: function(){
		var errorCount = 0;
		if(xperta.form.isEmpty('name')){
			xperta.form.errorFields["Name"] = true;
			errorCount++;
		}	
		if(xperta.form.isEmpty('email') || !xperta.form.isEmail('email')){
			xperta.form.errorFields["Email Address"] = true;			
			errorCount++;
		}			
		return errorCount;					
	}
};
xperta.form.freeTrial = {	
	submit: function(){
		errorCount = xperta.form.freeTrial.isFormOk();
		if(errorCount > 0){	
			data = "";			
			data +=  xperta.form.generateErrorMessage();
			$("errorMessages").innerHTML = data;
			xperta.form.openErrorMsgWindow();
			return false;
		}else{
			return true;	
		}		
	},	
	isFormOk: function(){
		var errorCount = 0;
		xperta.form.errorFields = {};
		if (xperta.form.isDefaultSelected('trialService')){
			xperta.form.errorFields["Trial service"] = true;
			errorCount++;
		}			
		if (xperta.form.isEmpty('name')){
			xperta.form.errorFields["Your Name"] = true;
			errorCount++;
		}	
		if (xperta.form.isEmpty('email')){
			xperta.form.errorFields["Email Address"] = true;			
			errorCount++;
		}
		else if(!xperta.form.isEmail('email')){
			xperta.form.errorFields["Email Address"] = true;
			errorCount++;
		}			
		if (xperta.form.isEmpty('position')){
			xperta.form.errorFields["Position"] = true;			
			errorCount++;
		}
		if(xperta.form.isEmpty('telephone')){
			xperta.form.errorFields["Telephone"] = true;
			errorCount++;
		}			
		if(xperta.form.isEmpty('organisation')){
			xperta.form.errorFields["Organisation"] = true;
			errorCount++;
		}			
		return errorCount;					
	}
}
