function validateForm(thisForm) {
	var valid = true;
	var elementsInputs = thisForm.getElementsByTagName("input");
	
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) {
		var field = elementsInputs[intCounter];
		if(field.type == "text" || field.type == "password") {
			if (!validateField(field)) {
				valid = false;
				field.className = field.className.replace(/\binput_error\b/,'');
				field.className += " input_error";
			} else {
				field.className = field.className.replace(/\binput_error\b/,'');
			}
		}
	}
	
	return valid;
}

function validateField(field) {
	if(!validateRequired(field)) {
		return false;
	}
	if(field.name === 'email') {
		return validateEmail(field);
	}
	if(field.name === 'telephone') {
		return validatePhone(field);
	}
	return true;
}

function validateRequired(field) {
	if (field.value===null||field.value===""||field.value===field.defaultValue) {
		return false;
    } else {
    	return true;
    }
}

function validatePhone(field) {
	if (field.value.search(/^([0-9-\\.\\(\\)\\+ ]){5,20}$/)==-1) {
    	return false;
    } else {
    	return true;
    }
}

function validateEmail(field) {
	var emailFilter=/^[\w\.=-]+@[\w\.-]+\.[\w]{1,20}$/;
	if (!emailFilter.test(field.value)) {
		return false;
	}
	return true;
}

function show(id) {
	document.getElementById(id).style.display = 'block';
}

function hide(id) {
	document.getElementById(id).style.display = 'none';
}

window.navigateToRegistraionPage = function () {
	window.location = window.appLocation+'pages/navigation/OpenAccount';
}; 

window.navigateToRegistrationPage = function () {	
	window.location = window.appLocation+'pages/navigation/OpenAccount';
}; 

function changeToInstrument(src, instrument){
	InstrumentReplace.replaceFlash(src);
	InstrumentReplace.selectInstrument(instrument);
}

var InstrumentReplace = {
	selectedInstrument : 'hilo',
	replaceFlash : function (src){
		this.elmToReplace = document.getElementById('howToTradeBanner_banner');
		if(this.elmToReplace){
			var obj = '<object width="485" height="260" id="Demo_Trades"'+
					'codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"'+
					'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">'+
					'<param value="'+src+'" name="movie">'+
					'<param value="window" name="wmode">'+
					'<embed width="485" height="260" wmode="window" id="Demo_Trades"'+
						'align="middle" type="application/x-shockwave-flash" allowscriptaccess="sameDomain" '+
						'loop="true" play="true" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high"'+
						'src="'+src+'"></object>';
			this.elmToReplace.innerHTML = obj;			
		}
	},
	selectInstrument : function (instrument){
		if(instrument == this.selectedInstrument) {
			return;
		}
		
		if(this.selectedInstrument != null) {
			var selectedTab = document.getElementById(this.selectedInstrument+'_header');
			selectedTab.className = selectedTab.className.replace(/\bgwt-TabBarItem-wrapper-selected\b/,'');
		}
		
		var tabToSelect = document.getElementById(instrument+'_header');
		tabToSelect.className += 'gwt-TabBarItem-wrapper-selected';
		
		var instrumentBanner = document.getElementById(this.selectedInstrument);
		instrumentBanner.id = instrument;
		
		this.selectedInstrument = instrument;
	}
};

var languagePopup = new function() {  
	var hidePopup = false;
	return { 
		showLanguagesPopup : function() {
			show('languages');
			document.body.onclick = function() {
				if(hidePopup) {
					hide('languages');
					document.body.onclick = function() {};
					hidePopup = false;
				} else {
					hidePopup = true;
				}
			};
		}
	};
}();

//initiates the language selector
(function() {
	var popup = document.getElementById('languagePopup');
	if(popup !== null) {
		popup.onclick = languagePopup.showLanguagesPopup;
	}
})();

//initiates the form fields
(function() {
	var form = document.getElementById('form');
	if(form !== null) {
		var inputs = form.getElementsByTagName('input');
		for(var i = 0; i < inputs.length; i++) {  
		   var input = inputs[i];
		   if(input.type === 'text') {
			   input.onfocus=function() {
				   if(this.value==this.defaultValue)
					   this.value='';
			   };
			   input.onblur=function() {
				   if(this.value=='')
					   this.value=this.defaultValue;
			   };
		   }  
		} 
	}
})();

//initiates parameters to default
(function() {
	if(typeof window.appLocation === 'undefined' || window.appLocation === null) {
		window.appLocation = '/OptionFair/';
	}
	if(typeof window.currentLanguage === 'undefined' || window.currentLanguage === null) {
		window.currentLanguage = 'EN';
	}
})();

//initiates the steps banner
(function() {
	var hilo = document.getElementById('hilo_header');
	if(hilo !== null) {
		hilo.onclick=function() {
			changeToInstrument('images/FlashBanners/TradeBanner'+window.currentLanguage+'/High_Low_'+window.currentLanguage+'.swf', 'hilo');
		};
	}
	var onetouch = document.getElementById('onetouch_header');
	if(onetouch !== null) {
		onetouch.onclick=function() {
			changeToInstrument('images/FlashBanners/TradeBanner'+window.currentLanguage+'/One_Touch_'+window.currentLanguage+'.swf', 'onetouch');
		};
	}
	var boundary = document.getElementById('boundary_header');
	if(boundary !== null) {
		boundary.onclick=function() {
			changeToInstrument('images/FlashBanners/TradeBanner'+window.currentLanguage+'/Boundary_'+window.currentLanguage+'.swf', 'boundary');
		};
	}
})();

setTimeout(function() { 
	if(typeof $ == 'function' || typeof jQuery == 'function') {
		$(function() { // DOM ready shortcut
			$('#slider').nivoSlider({effect:'boxRain', pauseTime:12000});
		});
	} else {
		console.log('jquery not defined?');
	}
},1500); //1.5 second delay

