	function reportError(form){
		var parameters = "";
		form.select("input,select,textarea").each(
			function(element){
				if(element.readAttribute("type") == "submit"){
					return;
				}
				if(element.readAttribute("type") == "radio"){
					if(element != form[element.name][0]){
						return;
					}
					var value = "";
					for(var i = 0; i < form[element.name].length; i++){
						if(form[element.name][i].checked){
							value = form[element.name][i].value;
							break;
						}
					}
					parameters += element.readAttribute("name") + "=" + escape(value) + "&";
				}else{
					parameters += element.readAttribute("name")+"=" + escape(element.value) + "&";
				}
			}
		)
		parameters += "reporterror=true";
		new Ajax.Request(
			form.action, 
			{
				method: "post",
				parameters: parameters
			}
		)
	}
	function ss_showError(element, show, msg){
		if(!msg){
			msg = "required field"
		}
		if(show){
			element.up().addClassName("ss_reqboxactive");
			if(!$("error_" + element.name)){
				var error = new Element("div", {style: "display: none", id: "error_" + element.name}).update(msg)
				error.className = "ss_error";
				
				element.up().insertBefore(error, element.nextSibling)
				error.appear({duration: 0.5});
			}else{
				$("error_" + element.name).appear({duration: 0.5})
			}
		}else{			
			if(element.up().hasClassName("ss_reqbox")){
				element.up().removeClassName("ss_reqboxactive");
			}
		
			if($("error_" + element.name)){
				$("error_" + element.name).fade({duration: 0.5});
			}
		}
	}

	function ss_checkForm(form){	
		$(form).select("input.submit").each(
			function (element){
				element.addClassName("submit-disabled")
				element.writeAttribute("disabled", "true");				
			}
		)
		
		
		var success = true;
		$(form).select("div.ss_reqbox input,div.ss_reqbox textarea,div.ss_reqbox select").each(
			function(element){
				if(element.className == "emailaddress" || element.className == "captcha"){
					return;
				}
				
				if(element.readAttribute("type") == "radio"){
					//Process radio only one time for the first element
					if(element != form[element.name][0]){
						return;
					}
					var checked = false;
					for(var i = 0; i < form[element.name].length; i++){
						if(form[element.name][i].checked){
							checked = true;
							break;
						}
					}
					if(checked == false){
						ss_showError(element, true, "reqired field");
						success = false;
					}else{
						ss_showError(element, false)
					}
				}else if(element.nodeName=="SELECT"){
					if(element.value.length == 0 || element.value == -1){
						ss_showError(element, true, "reqired field");
						success = false;
					}else{
						ss_showError(element, false)
					}					
				}else{				
					if(element.value.length == 0){
						ss_showError(element, true, "reqired field");
						success = false;
					}else{
						ss_showError(element, false)
					}
				}
			}
		);
		$(form).select("div.ss_reqbox input.emailaddress").each(
			function(element){
				var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				
				if (!filter.test(element.value)){
					success = false;
					ss_showError(element, true, "invalid email address")
				}else{
					ss_showError(element, false)
				}
			}
		)
		$(form).select("input.captcha").each(
			function (element){
				if(element.value.length == 0){
					success = false;
					$(form).select("input.submit").each(
						function (element){
							element.removeClassName("submit-disabled")
							element.writeAttribute("disabled", "false");
							element.removeAttribute("disabled");
						}
					)
					ss_showError(element, true, "invalid value");
					reportError(form)
					
				}else{
					var formtype = "";
					if(form.formtype){
						formtype = "&formtype=" + form.formtype.value
					}
					new Ajax.Request(
						"securimage/checkcapture.php", {
							method: "get",
							parameters: "code=" + element.value + formtype,
							onSuccess: function (transport){
								var result = transport.responseXML.documentElement.childNodes.item(0).nodeValue
								
								if(result == "valid"){
									ss_showError(element, false)
									if(success){
										form.submit();
									}else{
										$(form).select("input.submit").each(
											function (element){
												element.removeClassName("submit-disabled")
												element.writeAttribute("disabled", "false");
												element.removeAttribute("disabled");
											}
										)
										reportError(form);
									}
								}else{
									ss_showError(element, true, "invalid value")
									reportError(form)
									$(form).select("input.submit").each(
										function (element){
											element.removeClassName("submit-disabled")
											element.writeAttribute("disabled", "false");
											element.removeAttribute("disabled");
										}
									)
								}
							}
						}
					)
				}
			}
		);
		if($(form).select("input.captcha").length == 0){
			return success;
		}		
		return false;
	}
function showRequestBox(action){	
	if((navigator.appVersion.indexOf("MSIE") != -1) && parseFloat(navigator.appVersion.split("MSIE")[1]) < 7){
		if(action){
			initRequestBox();
		
			$('requestcallback1').setStyle({display: "none"});

			$('bottomborder').setStyle({display: "block"});

			$('recclosebutton').setStyle({display: "block"});

			$('requestpopup').setStyle({top: "-348px"});

			$$("div.requestacallback")[0].setStyle({overflow: "visible"})
			
		}else{
			$$("div.requestacallback")[0].setStyle({overflow: "hidden"})
			
			$('requestpopup').setStyle({top: "9px"});

			$('requestcallback1').setStyle({display: "block"});

			$('bottomborder').setStyle({display: "none"});

			$('recclosebutton').setStyle({display: "none"});
			
		}
		
	}else{
		if(action){
		
			initRequestBox();
		
			new Effect.Fade("requestcallback1", {duration: 0.5})
		
			window.setTimeout("new Effect.Move('requestpopup', { x: 0, y: -350, mode: 'relative', duration: 1}); new Effect.Appear('bottomborder')", 500);
				
			window.setTimeout('new Effect.Appear("recclosebutton")', 1000)
		}else{
			new Effect.Move('requestpopup', { x: 0, y: 350, mode: 'relative', duration: 1});
			window.setTimeout('new Effect.Appear("requestcallback1", {duration: 0.5})', 1000);
			new Effect.Fade("recclosebutton", {duration: 0.7})
			new Effect.Fade("bottomborder", {duration: 0.7})		
		}
	}
	return false;
}
function initRequestBox(){
	
	var form = $("callbackform")
	
	if(form.fullname.value.length != 0){		
		form.fullname.value = "";
	}	
	ss_showError($(form.fullname), false)
	
	if(form.phonenumber.value.length != 0){
		form.phonenumber.value = "";
	}
	ss_showError($(form.phonenumber), false)
	
	if(form.emailaddress.value.length != 0){
		form.emailaddress.value = "";
	}
	ss_showError($(form.emailaddress), false)
	
	if(form.code.value.length != 0){
		form.code.value = "";
	}
	ss_showError($(form.code), false)

	if(form.comments.value.length != 0){
		form.comments.value = "";
	}
	ss_showError($(form.comments), false)
	
	//$("requestcallback2").setStyle({display: "none"})
	$("recclosebutton").setStyle({display: "none"})
}
