// Form Validator
function $(id){
    var obj = null;
    if(document.getElementById){
        obj = document.getElementById(id);
    }else if(document.all){
        obj = document.all[id];
    }
    return obj;
}




function isMail(elem) {
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(elem)) return true;
	else return false;
}

function matchit(item1,in_item2) {
  var re = new RegExp(item1);
  var m = re.exec(in_item2);
  if (m == null) return false;
  else return (m.index+1);
}
function set(type1,ITEMHERE){
	if(type1=="good"){
			$(ITEMHERE).style.backgroundColor="#EEFFEE";
			$(ITEMHERE).style.borderLeft="#33BB66 5px solid";			
	}else{
			$(ITEMHERE).style.backgroundColor="#FFEEEE";		
			$(ITEMHERE).style.borderLeft="#FF9999 5px solid";											
	}
}
var flag1=false,flag2=false, flag3=false, flag4=false, flag5=false, flag6=false;
var bad="<img src='images/invalid.gif' border='0' alt='Error' align='absmiddle' /> ";
var good="<img src='images/validate.gif' border='0' alt='Valid' align='absmiddle' /> ";	
function validate_item(itemID){
	var msg="";
	/*if(itemID!="CODE"){*/
		var finalID=itemID+"_validator";
		$(finalID).style.alignText="left";
	/*}*/
	//	var errs=new Array();
	switch(itemID){
	case "name":
		if(matchit("[0-9]",$(itemID).value)==1){
			msg=bad+"Name Cannot Start With a Number";
			set("bad",finalID);
			flag1=false;
		}
		else if($(itemID).value.length<4){
			msg=bad+"Name Must be At least 4 characters";
			set("bad",finalID);
			flag1=false;
		}else{
			$(finalID).innerHTML='';
			msg=good+"Name Is True ..";
			set("good",finalID);
			flag1=true;
		}
	break;
	case "email":
		if(matchit("[0-9]",$(itemID).value)==1){
			msg=bad+"Email Address Cannot Start With a Number";
			set("bad",finalID);
			flag2=false;
		}		
		else if(isMail($(itemID).value)==false){
			msg=bad+"Invalid Email Address";
			set("bad",finalID);			
			flag2=false;
		}else{
			$(finalID).innerHTML='';
			msg=good+"Email Address Is True ..";
			set("good",finalID);
			flag2=true;
		}
	break;
	case "subject":
		if($(itemID).value.length<1){
			msg=bad+"Subject Must Be Filled Before Submit";
			set("bad",finalID);
			flag4=false;
		}else{
			$(finalID).innerHTML='';
			msg=good+"Subject Is Filled ..";
			set("good",finalID);
			flag4=true;
		}
	break;
	case "message":
		if($(itemID).value.length<1){
			msg=bad+"Message Must Be Filled Before Submit";
			set("bad",finalID);
			flag5=false;
		}else{
			$(finalID).innerHTML='';
			msg=good+"Message Is Filled ..";
			set("good",finalID);
			flag5=true;
		}
	break;
	case "publish":
		if($(itemID).value.length<1){
			msg=bad+"Publish House Must Be Filled Before Submit";
			set("bad",finalID);
			flag6=false;
		}else{
			$(finalID).innerHTML='';
			msg=good+"Publish House Is Filled ..";
			set("good",finalID);
			flag6=true;
		}
	break;
	/*case "CODE":
		if($("captcha_result").innerHTML.indexOf("Correct")>-1)
			flag3=true;
		else
			flag3=false;
	break;*/
	}
	/*if(itemID!="CODE"){*/
		$(finalID).style.fontSize="9px";
		$(finalID).style.fontFamily="Tahoma";
		$(finalID).innerHTML=msg;
	/*}*/
	if($("form_title").innerHTML.indexOf("Press")>-1){
		if(flag1==true && flag4==true && flag5==true && flag6==true){
			$("subscribe").disabled="";
		}
		else
			$("subscribe").disabled="disabled";
	}
	else{
		if(flag1==true && flag2==true && flag4==true && flag5==true){
			$("subscribe").disabled="";
		}
		else
			$("subscribe").disabled="disabled";
	}
}
function register_complete(form_id){
	var form_element=new Array();
	for(var i=0;i<$(form_id).length;i++){
		/*if($(form_id).elements[i].id!="CODE"){*/
			if($(form_id).elements[i].id!="subscribe"){
				form_element[i]=$(form_id).elements[i].id+"="+$(form_id).elements[i].value;
			}
		/*}*/
	}
	var ajax_elements=form_element.join("&");
	sR("modules/check_user.php?op=subscribe&form_name="+form_id+"&"+ajax_elements,"","POST","");
	$("submit_div").innerHTML='Thank you ..';
	location.href="boat-show-home.html";
	return false;
}

function final_check()
{
	if( $('user_email').value=="" || $("user_email_validator").innerHTML.indexOf("invalid")>-1 || $("user_email_validator").innerHTML==''){
			$("result_subscribe").innerHTML='<span style="color:red">Retype your data!!</span>';
			$('user_email').focus();
			return false;
		}
		else{
			$("result_subscribe").innerHTML='okay';
			var	email		= $('user_email').value.toLowerCase();
			//sR("modules/check_user.php?op=subscribe&umail="+email,"","POST","result_subscribe");
			$("user_email_validator").innerHTML='';
			return true;
		}
}
function validate_mail(itemID){
	var msg="";
	var finalID=itemID+"_validator";
	$(finalID).style.alignText="left";
	if(matchit("[0-9]",$(itemID).value)==1){
		msg=bad+"Email Address Cannot Start With a Number";
		set("bad",finalID);
	}		
	else if(isMail($(itemID).value)==false){
		msg=bad+"Invalid Email Address";
		set("bad",finalID);			
	}
	else{
		msg=good+"valid Email Address";
		set("good",finalID);	
	}
	$(finalID).style.fontSize="11px";
	$(finalID).style.fontFamily="Tahoma";
	$(finalID).innerHTML=msg;
}
function send_mail(id){
	if( $('mail_address').value=="" ||	$("mail_address_validator").innerHTML.indexOf("invalid")>-1){
		$("mail_address_validator").innerHTML='&nbsp;&nbsp;Retype Email Address !!';
		return false;
	}
	else{
		var	email		= $('mail_address').value.toLowerCase();
		sR("modules/check_user.php?op=send_mail&umail="+email+"&id="+id,"","POST","send_mail_div");
		setTimeout('clear_mailDiv()',10000);
		//$("mail_address_validator").innerHTML='';
		return false;
	}
	return false;
}
function clear_mailDiv(){
	$("send_mail_div").innerHTML='';
}
var ctrlPressed=0;
var altPressed=0;
var shiftPressed=0;
function test_keys(e){
  var evt = navigator.appName=="Netscape" ? e:event;
  if (navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4) {
   // NETSCAPE 4 CODE
   var mString =(e.modifiers+32).toString(2).substring(3,6);
   shiftPressed=(mString.charAt(0)=="1");
   ctrlPressed =(mString.charAt(1)=="1");
   altPressed  =(mString.charAt(2)=="1");
   self.status="modifiers="+e.modifiers+" ("+mString+")"
  }
  else {
   // NEWER BROWSERS [CROSS-PLATFORM]
   shiftPressed=evt.shiftKey;
   altPressed  =evt.altKey;
   ctrlPressed =evt.ctrlKey;
  }
}
function validate(e,validation){
	test_keys(e);
	var correct=false;
	var unicode;
	try{ unicode=e.keyCode;	} catch(e){	unicode=e.keyCode;	}
	//window.status=unicode;
	if((unicode>7 && unicode<10) || (unicode>34 && unicode<40) || unicode==13 || unicode==27 || unicode==127 || unicode==116 || unicode==46 || unicode==16){
		return true;	
	}
	if(validation.indexOf("n")>-1){
		if( ((unicode>=48 && unicode<=57) && shiftPressed==0)|| (unicode>=96 && unicode<=105) )correct=true;
	}
	if(validation.indexOf("a")>-1){
		if((unicode>=65 && unicode<=90))correct=true;
	}
	if(validation.indexOf("S")>-1){
		if(unicode==32)correct=true;
	}
	if(validation.indexOf("E")>-1){
		if(unicode==189 || (unicode==189 && shiftPressed==1) || (unicode==190 && shiftPressed==0) || (unicode==50 && shiftPressed==1) || ((unicode>=48 && unicode<=57) && shiftPressed==0) || (unicode>=65 && unicode<=90))correct=true;
	}
	if(validation.indexOf("p")>-1)	if( unicode==107 || (unicode==61 && shiftPressed==1) || (unicode==187 && shiftPressed==1))correct=true;
	if(correct!=true)return false;
	return true;
}
function change_captcha(){
	$("captcha_result").innerHTML="";
	$("captcha_img").src="dskafgasdkjfrotyqwefzxhvmnvzxckadffakjdcgnzxvcxcvmnvadsfgasdfiutsaodfgkvvbkjsafgasdkgsakjdfasgdvv.php?dad="+Math.ceil(Math.random()*10000000);
}