/* http://keith-wood.name/realPerson.html
   Real Person Form Submission for jQuery v1.0.1.
   Written by Keith Wood (kwood{at}iinet.com.au) June 2009.
   Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and 
   MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses. 
   Please attribute the author if you use it. */
(function($){var f='realPerson';function RealPerson(){this._defaults={length:6,includeNumbers:false,regenerate:'Click to change',hashName:'{n}Hash'}}var g='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';var h=[['   *   ','  * *  ','  * *  ',' *   * ',' ***** ','*     *','*     *'],['****** ','*     *','*     *','****** ','*     *','*     *','****** '],[' ***** ','*     *','*      ','*      ','*      ','*     *',' ***** '],['****** ','*     *','*     *','*     *','*     *','*     *','****** '],['*******','*      ','*      ','****   ','*      ','*      ','*******'],['*******','*      ','*      ','****   ','*      ','*      ','*      '],[' ***** ','*     *','*      ','*      ','*   ***','*     *',' ***** '],['*     *','*     *','*     *','*******','*     *','*     *','*     *'],['*******','   *   ','   *   ','   *   ','   *   ','   *   ','*******'],['      *','      *','      *','      *','      *','*     *',' ***** '],['*     *','*   ** ','* **   ','**     ','* **   ','*   ** ','*     *'],['*      ','*      ','*      ','*      ','*      ','*      ','*******'],['*     *','**   **','* * * *','*  *  *','*     *','*     *','*     *'],['*     *','**    *','* *   *','*  *  *','*   * *','*    **','*     *'],[' ***** ','*     *','*     *','*     *','*     *','*     *',' ***** '],['****** ','*     *','*     *','****** ','*      ','*      ','*      '],[' ***** ','*     *','*     *','*     *','*   * *','*    * ',' **** *'],['****** ','*     *','*     *','****** ','*   *  ','*    * ','*     *'],[' ***** ','*     *','*      ',' ***** ','      *','*     *',' ***** '],['*******','   *   ','   *   ','   *   ','   *   ','   *   ','   *   '],['*     *','*     *','*     *','*     *','*     *','*     *',' ***** '],['*     *','*     *',' *   * ',' *   * ','  * *  ','  * *  ','   *   '],['*     *','*     *','*     *','*  *  *','* * * *','**   **','*     *'],['*     *',' *   * ','  * *  ','   *   ','  * *  ',' *   * ','*     *'],['*     *',' *   * ','  * *  ','   *   ','   *   ','   *   ','   *   '],['*******','     * ','    *  ','   *   ','  *    ',' *     ','*******'],['  ***  ',' *   * ','*     *','*     *','*     *',' *   * ','  ***  '],['   *   ','  **   ',' * *   ','   *   ','   *   ','   *   ','*******'],[' ***** ','*     *','      *','     * ','   **  ',' **    ','*******'],[' ***** ','*     *','      *','    ** ','      *','*     *',' ***** '],['    *  ','   **  ','  * *  ',' *  *  ','*******','    *  ','    *  '],['*******','*      ','****** ','      *','      *','*     *',' ***** '],['  **** ',' *     ','*      ','****** ','*     *','*     *',' ***** '],['*******','     * ','    *  ','   *   ','  *    ',' *     ','*      '],[' ***** ','*     *','*     *',' ***** ','*     *','*     *',' ***** '],[' ***** ','*     *','*     *',' ******','      *','     * ',' ****  ']];$.extend(RealPerson.prototype,{markerClassName:'hasRealPerson',setDefaults:function(a){$.extend(this._defaults,a||{});return this},_attachRealPerson:function(a,b){a=$(a);if(a.hasClass(this.markerClassName)){return}a.addClass(this.markerClassName);var c={settings:$.extend({},this._defaults)};$.data(a[0],f,c);this._changeRealPerson(a,b)},_changeRealPerson:function(a,b,c){a=$(a);if(!a.hasClass(this.markerClassName)){return}b=b||{};if(typeof b=='string'){var d=b;b={};b[d]=c}var e=$.data(a[0],f);$.extend(e.settings,b);a.prevAll('.realperson-challenge,.realperson-hash').remove().end().before(this._generateHTML(a,e))},_generateHTML:function(a,b){var c='';for(var i=0;i<b.settings.length;i++){c+=g.charAt(Math.floor(Math.random()*(b.settings.includeNumbers?36:26)))}var d='<div class="realperson-challenge"><div class="realperson-text">';for(var i=0;i<h[0].length;i++){for(var j=0;j<c.length;j++){d+=h[g.indexOf(c.charAt(j))][i].replace(/ /g,'&nbsp;')+'&nbsp;&nbsp;'}d+='<br>'}d+='</div><div class="realperson-regen">'+b.settings.regenerate+'</div></div><input type="hidden" class="realperson-hash" name="'+b.settings.hashName.replace(/\{n\}/,a.attr('name'))+'" value="'+this._hash(c)+'">';return d},_destroyRealPerson:function(a){a=$(a);if(!a.hasClass(this.markerClassName)){return}a.removeClass(this.markerClassName).prevAll('.realperson-challenge,.realperson-hash').remove();$.removeData(a[0],f)},_hash:function(a){var b=5381;for(var i=0;i<a.length;i++){b=((b<<5)+b)+a.charCodeAt(i)}return b}});$.fn.realperson=function(a){var b=Array.prototype.slice.call(arguments,1);return this.each(function(){if(typeof a=='string'){$.realperson['_'+a+'RealPerson'].apply($.realperson,[this].concat(b))}else{$.realperson._attachRealPerson(this,a||{})}})};$.realperson=new RealPerson();$('.realperson-challenge').live('click',function(){$(this).next().next().realperson('change')})})(jQuery);
/* common functions
 * --------------------------*/
function sfHover () {
	var navbarEls = document.getElementById("navbar").getElementsByTagName("li");
	for (var i=0; i<navbarEls.length; i++) {
		navbarEls[i].onmouseover=function() {
			this.className+=" hover";
		}
		navbarEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" hover\\b"), "");
		}
	}
	var languageEls = document.getElementById("language_selector").getElementsByTagName("li");
	for (var i=0; i<languageEls.length; i++) {
		languageEls[i].onmouseover=function() {
			this.className+=" hover";
		}
		languageEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" hover\\b"), "");
		}
	}
}

$(document).ready(function() {
	sfHover();
	$("#newsletter_submit").click (function() {
		var newsletter_name = $("#newsletter_name");
		var newsletter_company = $("#newsletter_company");
		var newsletter_email = $("#newsletter_email");
		$(".newsletter_message").hide();
		var newsletter_error = false;
		var emailReg = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/i;
		
		if (newsletter_name.val() == '') {
			newsletter_name.addClass('highlight');
			newsletter_error = true;
		} else newsletter_name.removeClass('highlight');

		if (newsletter_company.val() == '') {
			newsletter_company.addClass('highlight');
			newsletter_error = true;
		} else newsletter_company.removeClass('highlight');

		if (newsletter_email.val() == '') {
			newsletter_email.addClass('highlight');
			newsletter_error = true;
		} else { 
			if (!emailReg.test(newsletter_email.val())) {
				newsletter_email.addClass('highlight');
				newsletter_error = true;
		  	} else newsletter_email.removeClass('highlight');
		}

		if (newsletter_error == false) {
			$("#newsletter_sending").show();
			var postString = $("#newsletter_form").serialize();
			$.ajax({  
				type: "POST",  
				url: $("#newsletter_form").attr('action'),  
				data: postString,  
				success: function() {  
					$("#newsletter_sending").hide();
					$('#newsletter_form').each (function(){
					  this.reset();
					});					
					$("#newsletter_okMessage").show();
					$('#newsletter_okMessage').delay(1500).hide();
                                        $("#hiddenFrame").attr('src', domainUrl+'/googleCodeNewsletter.html');
				},   
				error: function() {  
					$("#newsletter_sending").hide();
					$("#newsletter_errorMessage").show();
					$('#newsletter_errorMessage').delay(1500).hide();
				}
			});  			
			
		}
		else $("#newsletter_checkformMessage").show();
		
		return false;
	});
	
	$("#contact_submit").click (function() {
		var contact_name = $("#contact_name");
		var contact_company = $("#contact_company");
		var contact_email = $("#contact_email");
		var contact_phone = $("#contact_phone");
		$(".contact_message").hide();
		var contact_error = false;
		var emailReg = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/i;

		if (contact_name.val() == '') {
			contact_name.addClass('highlight');
			contact_error = true;
		} else contact_name.removeClass('highlight');

		if (contact_company.val() == '') {
			contact_company.addClass('highlight');
			contact_error = true;
		} else contact_company.removeClass('highlight');

		if (contact_phone.val() == '') {
			contact_phone.addClass('highlight');
			contact_error = true;
		} else contact_phone.removeClass('highlight');

		if (contact_email.val() == '') {
			contact_email.addClass('highlight');
			contact_error = true;
		} else { 
			if (!emailReg.test(contact_email.val())) {
				contact_email.addClass('highlight');
				contact_error = true;
		  	} else contact_email.removeClass('highlight');
		}

		if (contact_error == false) {
			$("#contact_sending").show();
			var postString = $("#contactRequestForm").serialize();
			$.ajax({  
				type: "POST",  
				url: $("#contactRequestForm").attr('action'),  
				data: postString,  
				success: function() {  
					$("#contact_sending").hide();
					$('#contactRequestForm').each (function(){
					  this.reset();
					});					
					$("#contact_okMessage").show();
					$('#contact_okMessage').delay(1500).hide();
                                       
                                        $("#hiddenFrame").attr('src', domainUrl+'/googleCodeWeCallYou.html');
				},   
				error: function() {  
					$("#contact_sending").hide();
					$('#contactRequestForm').each (function(){
					  this.reset();
					});					
					$("#contact_errorMessage").show();
					$('#contact_errorMessage').delay(1500).hide();
				}
			});  			
			
		}
		else $("#contact_checkformMessage").show();
		
		return false;
	});
	$('#defaultRealCaptcha').realperson();
});
