﻿function CategoryClick(subblock)
{
	var div = document.getElementById(subblock);
	if(div.style.display == "none") { div.style.display = ""; }
	else { div.style.display = "none"; }
}

function checkBox(chk)
{
	var txtid = chk.name.replace("chk", "txt");
	var txt = document.getElementById(txtid );

	// first search down and select all children
	var cntchild = parseInt(txt.value);
		
	for(var i=0; i < cntchild; i++)
	{
		var chkchild = document.getElementById(chk.name + "_" + i);
		chkchild.checked = chk.checked;
		checkBox_child(chkchild);		
	}
	
	
	// find current items parent
	if(chk.name.search("_") > 0 && chk.checked)
	{
		// this is a child... get parent
		var chkparent = document.getElementById(chk.name.substring(0, chk.name.search("_")));
		chkparent.checked = true;
	} 
		
}

function checkBox_child(chk)
{
	var txtid = chk.name.replace("chk", "txt");
	var txt = document.getElementById(txtid );

	// first search down and select all children
	var cntchild = parseInt(txt.value);
		
	for(var i=0; i < cntchild; i++)
	{
		var chkchild = document.getElementById(chk.name + "_" + i);
		chkchild.checked = checked;
		checkBox_child(chkchild);
		
	}
			
}


/* GLOBAL VARIABLES */
// Registration Messages
var _CONFIRMPASSWORD_ERROR = "Password confirmation is invalid";
var _PASSWORDLENGTH_ERROR = "Password character length is invalid. Must be greater than 4 characters";
var _USERNAMELENGTH_ERROR = "Username character length is invalid. Must be greater than 4 characters";
var _FIRSTNAMELENGTH_ERROR = "First name field is required";
var _LASTNAMELENGTH_ERROR = "Last name field is required";
var _ANSWERLENGTH_ERROR = "Security answer field is required";
var _EMAILINVALID_ERROR = "Invalid email address";
var _INPUTERROR_BGCOLOR = "#cc0000";
var _INPUTERROR_COLOR = "#ffffff";
var _INPUTERROR_BORDER = "2px #ffffff solid";
var _INPUTVALID_BGCOLOR = "#ffffff";
var _INPUTVALID_COLOR = "#000000";
var _INPUTVALID_BORDER = "1px #808080 solid";

// Order form messages
var _BILLINGLENGTH_ERROR = "Order form requires billing details";
var _SHIPPINGLENGTH_ERROR = "Order form requires shipping details";
var _CONTACTLENGTH_ERROR = "Order form requires contact / note details"

// OUTPUT MESSAGE
var lblMessage = "";

var txtConPassword = "";
var txtPassword = "";
var txtUsername = "";
var txtFirstName = "";
var txtLastName = "";
var txtEmail = "";
var txtAnwser = "";

function ValidateUserRegistration()
{
	var errormsg = "";

	if(document.getElementById(txtFirstName).value.length < 1)
	{
		//errormsg += "<div class='message-error-line'>" + _FIRSTNAMELENGTH_ERROR + "</div>";
		errormsg += "<div class='message-error-line'>" + _FIRSTNAMELENGTH_ERROR + "</div>";
		InvalidInputStyle(txtFirstName);
	}
	else
		ValidInputStyle(txtFirstName);
	

	if(document.getElementById(txtLastName).value.length < 1)
	{
		errormsg += "<div class='message-error-line'>" + _LASTNAMELENGTH_ERROR + "</div>";
		InvalidInputStyle(txtLastName);
	}
	else
		ValidInputStyle(txtLastName);

	if(document.getElementById(txtUsername).value.length < 5)
	{
		errormsg += "<div class='message-error-line'>" + _USERNAMELENGTH_ERROR + "</div>";
		InvalidInputStyle(txtUsername);
	}
	else
		ValidInputStyle(txtUsername);
		
	if(document.getElementById(txtPassword).value.length < 5)
	{
		errormsg += "<div class='message-error-line'>" + _PASSWORDLENGTH_ERROR + "</div>";
		InvalidInputStyle(txtPassword);
	}
	else
		ValidInputStyle(txtPassword);
	
	if(document.getElementById(txtConPassword).value != document.getElementById(txtPassword).value)
	{
		errormsg += "<div class='message-error-line'>" + _CONFIRMPASSWORD_ERROR + "</div>";
		InvalidInputStyle(txtConPassword);
	}
	else
		ValidInputStyle(txtConPassword);
		
	if(document.getElementById(txtAnswer).value.length < 1)
	{
		errormsg += "<div class='message-error-line'>" + _ANSWERLENGTH_ERROR + "</div>";
		InvalidInputStyle(txtAnswer);
	}
	else
		ValidInputStyle(txtAnswer);

	
	if(!echeck(document.getElementById(txtEmail).value))
	{
		errormsg += "<div class='message-error-line'>" + _EMAILINVALID_ERROR + "</div>";
		InvalidInputStyle(txtEmail);
	}
	else
		ValidInputStyle(txtEmail);

	
	if(errormsg != "")
	{
		//document.getElementById(lblMessage).attribute["class"]="message-error";
		//document.getElementById(lblMessage).style.display="";
		document.getElementById(lblMessage).innerHTML="<div class='message-error'>" + errormsg + "</div>";
		return false;
	}
		
	return true;
}

function InvalidInputStyle(controlId)
{
	document.getElementById(controlId).style.background=_INPUTERROR_BGCOLOR;
	document.getElementById(controlId).style.color=_INPUTERROR_COLOR;
	document.getElementById(controlId).style.border=_INPUTERROR_BORDER;
}

function ValidInputStyle(controlId)
{
	document.getElementById(controlId).style.background=_INPUTVALID_BGCOLOR;
	document.getElementById(controlId).style.color=_INPUTVALID_COLOR;
	document.getElementById(controlId).style.border=_INPUTVALID_BORDER;

}

function echeck(str) 
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	   return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	   return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	   return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	   return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
	   return false;
	 }

	 return true;					
}

var prevfolder  = "";

function ShowHide(ID)
{

	var div = document.getElementById(ID);
	if(div.style.display == "none")
	{
		div.style.display = "";
	}
	else
	{	
		div.style.display = "none";	
	}
	
}



