//Some of tundra theme for jQuery


var t_tooltip = '#dijit__MasterTooltip_0';

function initText(element){
	element.blur(function() {
		//check value
		if (String($(this).attr('required')) == 'true'){
			var val = $(this).val();
			var reg = $(this).attr('regExp');
			if (val == '' || reg && !val.match(reg))
				$(this).parents('.dijitTextBox').addClass('dijitTextBoxError dijitError');
			else
				$(this).parents('.dijitTextBox').removeClass('dijitTextBoxError dijitError');
		}
		// trim
		if (String($(this).attr('trim')) == 'true'){
			$(this).val(jQuery.trim($(this).val()))
		}
		// Upcase first letter
        if (String($(this).attr('propercase')) == 'true'){
			var val = $(this).val();
			val = val.charAt(0).toUpperCase() + val.slice(1);
			$(this).val(val);
		}
		//Hide tooltip
		$(t_tooltip).css({'display': 'none','opacity': '0'})
	});
	element.focus(function() {
		//Show tooltip if 'dijitError'
		if ($(this).parents('.dijitTextBox').hasClass('dijitError')){
			//Set tooltip text
			var text = $(this).attr('invalidMessage');
			if (!text){
				text = 'The value entered is not valid.';
			}
			$(t_tooltip+' .dijitTooltipContainer').html(text);
			//Check tooltip size and if it fit to right
			$(t_tooltip).css({'display': 'none','opacity': '0', 'left': '0px'})
			var toolwidth = $(t_tooltip).width();

			var offset = $(this).offset();
			var width = $(this).width();
			var x;
			var top = offset.top - 14;

			//if not fit to right, show in left
			if (toolwidth + offset.left + width + 24 > $('body').width()){
                      x = offset.left - toolwidth - 14;
			    $(t_tooltip).removeClass('dijitTooltipRight').addClass('dijitTooltipLeft');

			} else{
				x = offset.left + width + 20;
				$(t_tooltip).removeClass('dijitTooltipLeft').addClass('dijitTooltipRight');
			}
			$(t_tooltip).css({'display': 'block','opacity': '1', 'top': top, 'left': x, 'filter':'none'})
		}
		$(this).parents('.dijitTextBox').removeClass('dijitTextBoxError dijitError');
	})
}

function formValidate(formId){
	// check if valid all elements
	$(formId + ' input[type=text]').each(function(){
		if (String($(this).attr('required')) == 'true'){
          		var val = $(this).val();
			var reg = $(this).attr('regExp');
                  if (val == '' || reg && !val.match(reg))
				$(this).parents('.dijitTextBox').addClass('dijitTextBoxError dijitError')
		}
	});
	// check if valid
	var not_good = $(formId + ' .dijitError').first();
	if (not_good.length){
		not_good.find('input').focus();
		return false;
	}
	if ($('#condition').length && ! $('#condition').is(':checked')){
      		alert('You must agree with our Terms and Conditions!');
              $('#cb').css('background-color','#f9f7ba');
              return false;
	}
	return true;
}

function formSubmit(formId){
	// check if valid all elements
	$(formId + ' input[type=text]').each(function(){
		if (String($(this).attr('required')) == 'true'){
          		var val = $(this).val();
			var reg = $(this).attr('regExp');
                  if (val == '' || reg && !val.match(reg))
				$(this).parents('.dijitTextBox').addClass('dijitTextBoxError dijitError')
		}
	});
	// check if valid
	var not_good = $(formId + ' .dijitError').first();
	if (not_good.length){
		not_good.find('input').focus();
		return false;
	}
	if ($('#condition').length && ! $('#condition').is(':checked')){
      		alert('You must agree with our Terms and Conditions!');
              $('#cb').css('background-color','#f9f7ba');
              return false;
	}

	var url;

	if (typeof form_url=="undefined")
		url = "submit.php";
	else
		url = form_url;

    $.ajax({
	    url: url,
	    type: "POST",
	    data: $(formId).serialize(),
	    success: function(){
			$("#formwrapper").slideUp("slow", function () {
                $('#formwrapper').html('<div id="message"></div>');
            	$('#message').html("<h2>Form Submitted!</h2><p>We will be in touch soon.</p>");
				$("#formwrapper").show("slow");
			});
		},
	    error: function(){
			$("#formwrapper").slideUp("slow", function () {
               	$('#formwrapper').html('<div id="message"></div>');
            	$('#message').html("Error!</h2><p>Sorry, try again later.</p>");
				$("#formwrapper").show("slow");
			});
		}
	});
	return false;
}

function initForms(formId){
	var e;
	if (! $(formId))
		return;
	//some strange wrap manipulations
	if ($.browser.msie && $.browser.version.substr(0,1)<=8){
    	$(formId+' input[type=text]').each(
			function(){	$(this).wrap('<div class="dijit dijitReset dijitInlineTable dijitRight dijitTextBox" style="width:'+ $(this).width() +'px" />'); initText($(this));}).before('<div class="dijitReset dijitValidationIcon"><br /></div>').wrap('<div class="dijitReset dijitInputField" />').addClass('dijitReset');
	} else {
    	$(formId + ' input[type=text]').each(
		function(){	$(this).wrap('<div class="dijit dijitReset dijitInlineTable dijitRight dijitTextBox" style="width:'+ $(this).width() +'px" />'); initText($(this));})
		$(formId + ' input[type=text]').wrap('<div class="dijitReset dijitInputField" />').addClass('dijitReset');
		$(formId + ' input[type=text]').parent().before('<div class="dijitReset dijitValidationIcon"></div>');
		$(formId + ' .dijitValidationIcon').prepend('<br />');
	}

	if ($(formId + ' textarea').length){
		$(formId + ' textarea').addClass("dijitTextArea");
		$(formId + ' textarea').val('Comments');
		$(formId + ' textarea').blur(function(){
			if (! $(this).val())
				$(this).val('Comments');
		})
		$(formId + ' textarea').focus(function(){
	      		if ($(this).val() == 'Comments')
				$(this).val('');

		})
	}

	if ($(formId + ' textarea').length){
		$(formId + ' select').each(
			function(){	$(this).wrap('<div class="dijit dijitReset dijitInlineTable dijitRight dijitComboBox" style="margin:0 21px 4px 0" />'); initText($(this));}).wrap('<div class="dijitReset dijitInputField" />').addClass('dijitReset');
		$(formId + ' select').each(
			function(){$(this).parents('.dijitComboBox').width($(this).outerWidth());$(this).css({'margin':'-1px 0px'})})
	}


	if ($.browser.msie && $.browser.version.substr(0,1)<=7){
    	$(formId + ' select').each(
			function(){
				$(this).parent().width($(this).width() - 2);
				$(this).parent().height($(this).height() - 4);
				$(this).css({'margin':'-2px -1px'})
			}
		)
	}


	$(formId + ' input.css_dft1m_1').parents('.dijitTextBox').addClass('css_dft1m_1');
	$(formId + ' input.css_dft1m_2').parents('.dijitTextBox').addClass('css_dft1m_2');

	$('#submitButton').click(function(){formSubmit(formId);})

	$('body').append('<div id="dijit__MasterTooltip_0" class="dijitTooltip dijitTooltipRight" widgetid="dijit__MasterTooltip_0" style="display:none"><div wairole="alert" dojoattachpoint="containerNode" class="dijitTooltipContainer dijitTooltipContents" role="alert"></div><div class="dijitTooltipConnector"></div></div>');

}

$(document).ready( function(){initForms('#myForm')});