// Food NW Awards JS


function getElementsByClassName(object,name){
	var allNodes=object.getElementsByTagName('*');
	if(!allNodes){
		var allNodes=object.all;	
	}
	var returnObj=new Array;
	var count=0;
	for(var i=0;i<allNodes.length;i++){
		if(allNodes[i].className.replace(name,"")!=allNodes[i].className){
			returnObj[count]=allNodes[i];
			count++;
		}
	}
	return returnObj;
}



//------------------------------------------------------------------------------------------
// form validation

function validate(theform){
	
	//check user info form
	
	var field='';
	var errorcount=0;
	var question='';
	var errmsg = '';
	var errmsg_default = '';
	var patt = /^[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
	var formFields = getElementsByClassName(theform,'requiredfield');

	for(var i=0;i<formFields.length;i++){
		field=formFields[i];
		if(field.value.length<1){
			field.style.border="1px solid red";
			errmsg_default = 'You must complete the form fields marked in red. \nPlease complete these and try again.\n';
			errorcount++;
		}else{
			field.style.border="1px solid #cccccc";
		}
		if(field.name == "email"){
			if(!field.value.match(patt)){
				errmsg = 'The email address you have entered appears to be invalid.';
			}
		}
	}	
	if(errmsg || errmsg_default){
		alert(errmsg_default + errmsg);
	}else{
		// submit form	
		theform.submit();
	}
}







//============================================================================================
/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/
if(document.getElementById('statusbar')){
	var oldStatusBackground=document.getElementById('statusbar').style.backgroundImage;
}
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
    	//before load, set statusbar to loading icon
    	if(document.getElementById('statusbar')){
    		document.getElementById('statusbar').style.backgroundImage="url(/duocms-resources/icons/loading2.gif)";
    	}
    		
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete){
        	//after loaded set statusbar back to old background
        	if(document.getElementById('statusbar') && oldStatusBackground){
	    		document.getElementById('statusbar').style.backgroundImage=oldStatusBackground;
    		}else if(document.getElementById('statusbar')){
    			document.getElementById('statusbar').style.backgroundImage='';
    		}
        	
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}


function whichBrs(){
	var agt = navigator.userAgent.toLowerCase();
	if (agt.indexOf("firefox") != -1) 
		return 'firefox';
	if (agt.indexOf("safari") != -1) 
		return 'safari';
	if (agt.indexOf("msie") != -1) 
		return 'ie';
	if (agt.indexOf('\/') != -1) {
		if (agt.substr(0, agt.indexOf('\/')) != 'mozilla') {
			return navigator.userAgent.substr(0, agt.indexOf('\/'));
		}
		else 
			return 'Netscape';
	}
	else 
		if (agt.indexOf(' ') != -1) 
			return navigator.userAgent.substr(0, agt.indexOf(' '));
		else 
			return navigator.userAgent;
}

function unt8Decode(s){
		var str = s.split("");
		var l = str.length;
		for(var i=0;i<l;i++){
			if(str[i].charCodeAt(0) >= 127){
				str[i]='&#'+str[i].charCodeAt(0)+';';
			}
		}
		return str.join("");
		//return s;

}


