

function sendZoomIn() {		
	$.get("../ajaxmodule.jsp?module=standard_questionnaire&action=zoom&type=in");
}

function sendZoomOut() {		
	$.get("../ajaxmodule.jsp?module=standard_questionnaire&action=zoom&type=out");
}

function displayResults()
{
    $("#extra_div").hide();
    $("#results_div").fadeIn("fast");    
}

function swapClass(obj,strClassName) {
	obj.className = strClassName;
}

function selectAll(obj) {
	 for( len = 0; len < obj.options.length; len++ ) 
		obj.options[len].selected=true;
}

function go(url){
	location.href=url;
}

function popup(url,width,height)
{
    width = 500;
    height= 500;
    window.open(url,'','width='+width+',height='+height+',menubar=no,status=no,location=no,toolbar=no,scrollbars=yes');
}

//shortcut for getElementById
function el(id)
{
       // alert("el:"+id);
	return document.getElementById(id);	
/*
           if (document.layers){
      //Netscape 4 specific code
      pre = 'document.';
      post = '';
       }
       if (document.getElementById){
          //Netscape 6 specific code
          pre = 'document.getElementById("';
          post = '")';
       }
       if (document.all){
          //IE4+ specific code
          pre = 'document.all.';
          post = '';
       }
      // alert(pre + id + post);
      // alert(eval(pre + id + post));
       return eval(pre + id + post);
*/
}

//show or hide div by id
function toggle_visible(id, vis)
{
	var div=el(id);
	var show=vis;
	if (vis==undefined) 
	    show=(div.style.display=="none"); // else just toggle
	//alert("show "+id+" = "+ !show);
	div.style.display=(show)?"":"none";
}

function moveDualList1( side , moveAll , list1, list2) {

	SELECT_to = document.forms[0][list1];
	//alert(SELECT_to);
	SELECT_from = document.forms[0][list2];
	//alert(SELECT_from);
	
if (side=='to') {
		srcList=SELECT_from;
		destList=SELECT_to;
}
else
{
	srcList=SELECT_to;
		destList=SELECT_from;
}

  // Do nothing if nothing is selected
  if (  ( srcList.selectedIndex == -1 ) && ( moveAll == false )   )
  {
    return;
  }
  newDestList = new Array( destList.options.length );
  var len = 0;
  for( len = 0; len < destList.options.length; len++ )
  {
    if ( destList.options[ len ] != null )
    {
      newDestList[ len ] = new Option( destList.options[ len ].text, destList.options[ len ].value, destList.options[ len ].defaultSelected, destList.options[ len ].selected );
    }
  }
  for( var i = 0; i < srcList.options.length; i++ )
  {
    if ( srcList.options[i] != null && ( srcList.options[i].selected == true || moveAll ) )
    {
       // Statements to perform if option is selected

       // Incorporate into new list
       newDestList[ len ] = new Option( srcList.options[i].text, srcList.options[i].value, srcList.options[i].defaultSelected, srcList.options[i].selected );
       len++;
    }
  }

  // Sort out the new destination list
  //newDestList.sort();// compareOptionValues );   // BY VALUES
  //newDestList.sort( compareOptionText );   // BY TEXT

  // Populate the destination with the items from the new array
  for ( var j = 0; j < newDestList.length; j++ )
  {
    if ( newDestList[ j ] != null )
    {
      destList.options[ j ] = newDestList[ j ];
    }
  }

  // Erase source list selected elements
  for( var i = srcList.options.length - 1; i >= 0; i-- )
  {
    if ( srcList.options[i] != null && ( srcList.options[i].selected == true || moveAll ) )
    {
       // Erase Source

       //srcList.options[i].value = "";

       //srcList.options[i].text  = "";

       srcList.options[i]       = null;
    }
  }
} // End of moveDualList()


function emailCheck (emailStr) {
    alert(emailStr);
	/* The following pattern is used to check if the entered e-mail address
	   fits the user@domain format.  It also is used to separate the username
	   from the domain. */
	var emailPat=/^(.+)@(.+)$/
	/* The following string represents the pattern for matching all special
	   characters.  We don't want to allow special characters in the address. 
	   These characters include ( ) < > @ , ; : \ " . [ ]    */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	/* The following string represents the range of characters allowed in a 
	   username or domainname.  It really states which chars aren't allowed. */
	var validChars="\[^\\s" + specialChars + "\]"
	/* The following pattern applies if the "user" is a quoted string (in
	   which case, there are no rules about which characters are allowed
	   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
	   is a legal e-mail address. */
	var quotedUser="(\"[^\"]*\")"
	/* The following pattern applies for domains that are IP addresses,
	   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
	   e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	/* The following string represents an atom (basically a series of
	   non-special characters.) */
	var atom=validChars + '+'
	/* The following string represents one word in the typical username.
	   For example, in john.doe@somewhere.com, john and doe are words.
	   Basically, a word is either an atom or quoted string. */
	var word="(" + atom + "|" + quotedUser + ")"
	// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	/* The following pattern describes the structure of a normal symbolic
	   domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
	
	/* Finally, let's start trying to figure out if the supplied address is
	   valid. */
	
	/* Begin with the coarse pattern to simply break up user@domain into
	   different pieces that are easy to analyze. */
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
	  /* Too many/few @'s or something; basically, this address doesn't
		 even fit the general mould of a valid e-mail address. */
		//alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	// See if "user" is valid 
	if (user.match(userPat)==null) {
		// user is not valid
		//alert("The email username doesn't seem to be valid.")
		return false
	}
	
	/* if the e-mail address is at an IP address (as opposed to a symbolic
	   host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Email destination IP address is invalid!")
			return false
			}
		}
		return true
	}
	
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("The email domain name doesn't seem to be valid.")
		return false
	}
	
	/* domain name seems valid, but now make sure that it ends in a
	   three-letter word (like com, edu, gov) or a two-letter word,
	   representing country (uk, nl), and that there's a hostname preceding 
	   the domain or country. */
	
	/* Now we need to break up the domain to get a count of how many atoms
	   it consists of. */
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) {
	   // the address must end in a two letter or three letter word.
	   //alert("The address must end in a three-letter domain, or two letter country.")
	   return false
	}
	
	// Make sure there's a host name preceding the domain.
	if (len<2) {
	   var errStr="The email address is missing a hostname!"
	   //alert(errStr)
	   return false
	}
	
	// If we've gotten this far, everything's valid!
	return true;
}

function check_step1() {
	if (!document.register.cname.value || !document.register.employees.value || !document.register.suppliers.value || !document.register.customers.value || !document.register.customers_data.value) {
		alert('Please make sure you have supplied all required fields');
		return false;
	}
	var selectBox  = document.register.countryselect;
	var selectBox2 = document.register.industryselect;
	country        = selectBox.options[selectBox.selectedIndex].value;
	industry       = selectBox2.options[selectBox2.selectedIndex].value
	if (country == 0) {
		alert('Please select a country');
		return false;
	}
	if (industry == 0) {
		alert('Please select an industry');
		return false;
	}
	document.forms[0].submit();
	return true;
}

function check_step2() {
	if (!document.register.ufname.value || !document.register.usurname.value || !document.register.ucontact.value || !document.register.uname.value || !document.register.upassword.value) {
		alert('Please make sure you have supplied all required fields');
		return false;
	}
	if (document.register.upassword.value != document.register.upassword_confirm.value) {
		alert('Please make sure your password and confirmation password match');
		return false;
	}
	if (!emailCheck(document.register.uemail.value)) {
		alert('Please supply a valid email address');
		return false;
	}
	document.forms[0].submit();
	return true;
}

function check_enter(e){ //e is event object passed from function invocation
	var characterCode // literal character code will be stored in this variable
	
	if(e && e.which) { //if which property of event object is supported (NN4)
		e = e;
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else {
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}
	
	if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
		document.forms[0].submit(); //submit the form
		return false;
	}
	else{
		return true
	}
}

