var form, labels;

function downloadQuoteform(){
  if (this.value != '')
    window.open(this.value);
}

function showNotice(el) {
  var remarks_notice = document.getElementById("remarks_notice");
  remarks_notice.style.display = (el.value == 'Other') ? "block" : "none"; 
}

function setAsRequired(el, optionsArray, highlightID) {
   if (highlightID && document.getElementById(highlightID)) {
     var lblHighlight = document.getElementById(highlightID);
     var match = false;
     
     for (var i = 0; i < optionsArray.length; i++) {
      if (optionsArray[i] == el.selectedIndex) {
        match = true;
        break;
      }
     }
     
     if (match && lblHighlight.innerHTML.charAt(lblHighlight.innerHTML.length-1) != '*')     
      lblHighlight.innerHTML += '*';       
     else if (!match) 
      lblHighlight.innerHTML = lblHighlight.innerHTML.replace('*','');     
   }
}

function quoteFormInit() {  
	var els, vals, i, j;
	
	form = document.forms[0];
	labels = buildLabelsObj(form);
		
	/* Company */	
	form.txbCompany.validators = [
		{
			validator: notBlankValidator,
			errorKey: "txbCompanyEmpty"
		}
	];
	
	/* Address */
	form.txbAddress.validators = [
		{
			validator: notBlankValidator,
			errorKey: "txbAddressEmpty"
		}
	];
	
	/* Contact Person */
	form.txbContact.validators = [
		{
			validator: notBlankValidator,
			errorKey: "txbContactEmpty"
		}
	];
	
	/* Phone */
	form.txbPhone.validators = [
		{
			validator: notBlankValidator,
			errorKey: "txbPhoneEmpty"
		}
	];	
	
	/* Email */
	form.txbEmail.validators = [
		{
			validator: notBlankValidator,
			errorKey: 'txbEmailEmpty'
		},
		{
			validator: emailValidator,
			errorKey: 'txbEmailInvalid'
		}
	];
	
	/* Shipping */
	form.ddlShipping.validators = [
    {
      validator: optionSelectedActivator,
      values: ['CIF destination port','Door delivery'],
      fields: [form.txbDelivery],
      errorKey: 'always succeeds' 
    }  
  ];
  
  /* Delivery Address*/
  form.txbDelivery.validators = [
    {
			validator: notBlankValidator,
			errorKey: 'txbDeliveryEmpty'
		}
	];
	
	/* Instead of assigning the same errorHandler to each element manually */
	els = form.elements;
	for (i = 0; i < els.length; i++) {
		vals = els[i].validators;
		// els[i].setAttribute('autocomplete','off'); /* fix firefox exception: http://geekswithblogs.net/shahedul/archive/2006/08/14/87910.aspx */
		 
		if (vals) {
			for (j = 0; j < vals.length; j++) {
				vals[j].reset = resetHighlights;
				vals[j].errorHandler = displayAlertAndHightlightError;
			}
		}
	}
		
	// form.onsubmit = componentValidation;
	var send = document.getElementById("btnSend");
	if (send) {
  	send.elements = form.elements;	
  	send.onclick = componentValidation;
  }
  
  var cancel = document.getElementById("btnCancel"); 
  if (cancel)
    cancel.onclick = resetMyForm;	
      
  if(typeof(quoteFormInitFollowup)=="function")quoteFormInitFollowup();
}

var quoteFormInitFollowup;
if(typeof(window.onload)=="function") quoteFormInitFollowup = window.onload;
window.onload = quoteFormInit;

// addEvent(window, 'load', quoteFormInit);
