result=true; 
nogo = false; 
errMsg = ""; 
forsale = false;

var password = "";
// generic function called on every text field 

//alert("loaded");

function chkSelect (obj) {
	if (obj.value == -1 || obj.value=="") {
		obj.focus(); 
		alert("Please select from the pulldown menu"); 
		return false; 
	}
	else if (obj.name=="region" != -1 && obj.value==0) {
		obj.focus(); 
		alert("Please select an option from the pulldown menu"); 
		return false; 
	}
	else if (obj.name.indexOf("actor") != -1 && obj.value==0) {
		obj.focus(); 
		alert("Please select an option from the pulldown menu"); 
		return false; 
	}
	else if (obj.name=="director" != -1 && obj.value==0) {
		obj.focus(); 
		alert("Please select an option from the pulldown menu"); 
		return false; 
	}
	else if (obj.name=="studio" != -1 && obj.value==0) {
		obj.focus(); 
		alert("Please select an option from the pulldown menu"); 
		return false; 
	}
	else if (obj.name=="account_name" != -1 && obj.value==0) {
		obj.focus(); 
		alert("Please give your Account a name for your reference"); 
		return false; 
	}
	else if (obj.name=="sfx" != -1 && obj.value==0) {
		obj.focus(); 
		alert("Please select an option from the pulldown menu"); 
		return false; 
	}
	else if (obj.name=="months" != -1 && obj.value==0) {
		obj.focus(); 
		alert("You must enter a valid Date of Birth (Month required)"); 
		return false; 
	}
	else if (obj.name=="days" != -1 && obj.value==0) {
		obj.focus(); 
		alert("You must enter a valid Date of Birth (Day required)"); 
		return false; 
	}
	else if (obj.name=="years" != -1 && (obj.value==0||obj.value=="unknown")) {
		obj.focus(); 
		alert("You must enter a valid Date of Birth (Year required)"); 
		return false; 
	}
	return true;
}

function chkArea (obj) {
	if (obj.value == "") {
		if (obj.name != "description") {
			obj.focus(); 
			alert("You need to add information in the text area"); 
			return false;
		}
	}
	return true;
}

function chkReqText(obj) 
{ 
//alert(obj.name);
   if (obj.value == null || obj.value == '') { 
      if (result && obj.alt != "nocheck"){ 
         if (obj.name == "reason") { 
            errMsg = "You must enter a reason"; 
            nogo=true; 
         } 
         if (obj.name == "title") { 
            errMsg = "Title is required"; 
            nogo=true; 
         } 
         if (obj.name == "output1") { 
            errMsg = "You must use the slider provided to select an amount."; 
            nogo=true; 
         }  
         if (obj.name == "tagline") { 
            errMsg = "You need to add a Tagline"; 
            nogo=true; 
         }  
         if (obj.name == "companyname") { 
            errMsg = "A Name is required"; 
            nogo=true; 
         }  
         if (obj.name.indexOf("actor") != -1) { 
            errMsg = "You need to choose 'Actor As'"; 
            nogo=true; 
         } 
         
         else if (obj.name == "account_name") { 
            errMsg = "Please give your Account a name for your reference"; 
            nogo=true; 
         } 
         else if (obj.name == "email") { 
            errMsg = "Email address is required"; 
            nogo=true; 
         } 
         else if (obj.name == "producer") { 
            errMsg = "Producer is required"; 
            nogo=true; 
         } 
         else if (obj.name == "profilename") { 
            errMsg = "You need to add your name"; 
            nogo=true; 
         }      
         else if (obj.name == "password") { 
            errMsg = "Password is required"; 
            nogo=true; 
         } 
         else if (obj.name == "sale_cost") { 
         //alert("test a");
         	if (forsale) {
		    errMsg = "You need to give this script a cost if for sale"; 
		    nogo=true; 
		}
         } 
         else if (obj.name == "confirm_password") { 
            errMsg = "Please confirm your password"; 
            nogo=true; 
         } 
         if (nogo) { 
            obj.focus(); 
            alert(errMsg); 
            return false; 
         }  
      } 
   } 
   else if (obj.name == "companyname" && obj.value.indexOf("\\") != -1) {
  		alert("You have an invalid chracter '\\'"); 
		return false; 
   }
   else if (obj.name == "profilename" && obj.value.indexOf("\\") != -1) {
  		alert("You have an invalid chracter '\\'"); 
		return false; 
   }
   else if (obj.name == "email" && result && obj.alt != "nocheck") { 
	if (obj.value.indexOf('@',0) == -1) { 
		errMsg = "You need to enter a valid Email address"; 
		nogo=true; 
	} 
	if (nogo) { 
		obj.focus(); 
		alert(errMsg); 
		return false; 
	} 
   }
   else if (obj.name== "password") {
      	password = obj.value;
   } 
   else if (obj.name== "confirm_password") {
      	if (obj.value != password) {
		errMsg = "Your confirmation password differs from the password you entered"; 
		nogo=true; 
      	}
	if (nogo) { 
		obj.focus(); 
		alert(errMsg); 
		return false; 
	} 
   }
   else if (obj.name == "sale_cost") {
         //alert("test b");
         if (forsale) {
		if (!checkNumeric(obj.value)) {
			obj.focus(); 
			alert("Numbers 0...9 only"); 
			nogo=true; 
			return false; 
		}
		if (obj.value > 5000000) {
			obj.focus(); 
			alert("Max $5,000,000 only"); 
			nogo=true; 
			return false; 
		}
	}
         //alert("done checking");
   }
         //alert("done  all checking");
   return true; 
} 


function checkNumeric(numd) {
         //alert("checking");
	datad="1234567890";
	for (ii=0; ii<numd.length; ii++) {
		tempd = numd.substring(ii,ii+1);
         //alert("checking 2 "+tempd);
		if (datad.indexOf(tempd) == -1 && numd != "") return false;
	}
	return true;
}

//function to check the mandatory radio buttons' group 
function chkReqRadio(obj) { 
   found = false; 
   for(var i=0; i<(obj.length); i++) { 
      if (obj[i].checked && obj[i].name=="user_request_sale" && obj[i].value==1) { 
         forsale=true; 
         return true;
      }
   } 
   return true; 
}


msg = ""; 
// This is the main function which is called by the form to do ALL validation. 
function all_ok(form) { 
   // reset global variables 
   result2=true; 
   nogo = false; 
   errMsg = ""; 
   checkingRadio = ""; 

      // check for each form on the web page 
   for (j=0;j<form.elements.length;j++) { 
     if (form.elements[j].type == "text" && result2) {
     	result2 = chkReqText(form.elements[j]); 
         }
     if (form.elements[j].type == "password" && result2) {
     	result2 = chkReqText(form.elements[j]);
         	//alert(result2);
         }
     if (form.elements[j].type == "select-one" && result2) {
     	result2 = chkSelect(form.elements[j]); 
         }
     if (form.elements[j].type == "textarea" && result2) {
     	result2 = chkArea(form.elements[j]); 
         }
     else if (form.elements[j].type == "radio") { 
         // if first radio or different from last - perform check. This ensures only done 
         // once for each set of radio buttons. 
         if (checkingRadio != form.elements[j].name) { 
            eval("chkReqRadio(form."+form.elements[j].name+")"); 
            checkingRadio = form.elements[j].name; 
         } 
         } 
      } 
   return result2;
   }

function do_check(form) {
	if (all_ok(form)) form.submit();
   	}

function do_check_ajax(form) {
	if (all_ok(form)) postFormQuery(form);
}

function createQuery(form)
{
    var elements = form.elements;
    var pairs = new Array();

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

        if ((name = elements[i].name) && (value = elements[i].value))
            pairs.push(name + "=" + encodeURIComponent(value));
   }

    return pairs.join("&");
}
function postFormQuery(form) {
	//form = document.getElementById(formName);
	//alert(form.action+"?"+createQuery(form));
	getPage(form.action+"&"+createQuery(form));
} 