// (c) 2008 FlyCom

var bannerInfo = {
	neti_728x90: {
			banner: 'regular',
			dim1: [728, 90],
			dim3: [728, 300]
		},
	neti_600x60: {
			banner: 'regular',
			dim1: [600, 60],
			dim3: [600, 300]
		},
	neti_468x60: {
			banner: 'regular',
			dim1: [486, 60]
		},
	neti_tower: {
			banner: 'tower',
			dim1: [600, 60],
			dim2: [600, 240],
			dim3: [600, 300]
		},
	neti_replace: {
			banner: 'replace',
			dim1: [600, 60],
			dim2: [600, 300],
			dim3: [600, 300]
		},
	neti_resize: {
			banner: 'resize',
			dim1: [600, 300],
			dim2: [600, 60],
			dim3: [600, 300]
		},
	neti_popup: {
			banner: 'popup',
			dim1: [600, 60],
			dim2: [600, 300],
			dim3: [600, 300]
		},
	hot_600x200: {
			banner: 'regular',
			dim1: [600, 200]
		},
	hot_200x600: {
			banner: 'regular',
			dim1: [200, 600]
		},
	hot_200x200: {
			banner: 'regular',
			dim1: [200, 200]
		},
	hot_990x300: {
			banner: 'regular',
			dim1: [990, 300]
		},
	hot_vasakul: {
			banner: 'vasakul',
			dim1: [200, 600],
			dim2: [400, 600]
		},
	hot_165x165: {
			banner: 'regular',
			dim1: [165, 165]
		}
}


Event.observe(window,'load', function(){
	fcadSystem.imgDir = 'http://www.neti.ee/reklaam/files/';
	
	var banner_type = false;	
	$$('tr[class~=select-banner] input[type=radio]').each(function(g){
		if(g.checked){
			banner_type = g.value;
		}
	});
	
	$$('tr[class~=select-banner]').each(function(n){
		
		var c = n.down('input').value;
	
		n.observe('click', function(){
			n.down('input').checked = true;
			banner_type = n.down('input').value;
			$$('div[class~=banner-upload]').each(function(r){
				if(r.hasClassName(banner_type))
					r.show();
				else
					r.hide();
			});
		});
				
		var i = (new Element('img',{'src':'/gfx/scr/'+c+'.png'})).setStyle({
				width: '400px',
				height: '300px',
				zIndex:'1000',
				position: 'absolute',
				left: n.cumulativeOffset().left+n.getWidth()-350+'px'
		});
		
		n.observe('mouseover', function(){
			var y = n.cumulativeOffset().top+n.getHeight()-5;
			if(y+300>getDocumentHeight())
				y=getDocumentHeight()-300;
			i.setStyle({top: y+'px'});
			n.addClassName('banselect-hover');
			document.body.appendChild(i);
		});
		n.observe('mouseout', function(){
			n.removeClassName('banselect-hover');
			try{
				document.body.removeChild(i);
			}catch(E){}
		});
		
	});

	$$('div[class~=banner-upload]').each(function(r){
	if(r.hasClassName(banner_type))
		r.show();
	});

	$$('input[class~=file-input]').each(function(q){	
		var checkExt = function(){
			if(getExtension(q.value)!="jpg" && getExtension(q.value)!="jpeg" && getExtension(q.value)!="gif" && getExtension(q.value)!="png" && getExtension(q.value)!="" && getExtension(q.value)!="swf" && getExtension(q.value)!="html" && getExtension(q.value)!="htm"){
				q.up('tr').addClassName('file-upload-error');
				q.up('tr').removeClassName('file-upload-ok');
				q.up('tr').removeClassName('file-upload-warn');
				q.next('span').update('<br /><b>NB!</b> B�nner peaks olema meediafail (PILT/FLASH/HTML)!<br />Hetkel valitud faili t��p: <b>'+getExtension(q.value).toUpperCase()+'</b>');
			}
			else{
				q.up('tr').removeClassName('file-upload-error');
				q.up('tr').removeClassName('file-upload-ok');
				q.up('tr').removeClassName('file-upload-warn');
				q.next('span').update('');
			}
			
			if(getExtension(q.value)=="swf"){
				new Effect.Appear(q.up('tr').next('tr'), {duration: 0.4});
			}
			else{
				if($(q.up('tr').next('tr')).visible())
					new Effect.Fade(q.up('tr').next('tr'), {duration: 0.4});
			}
		}
		checkExt();
		q.observe('change', function(){
			checkExt();
		});
	});

	
	$$('input[class~=file-alternate]').each(function(q){
		var checkExt = function(){
			if(getExtension(q.value)!="jpg" && getExtension(q.value)!="jpeg" && getExtension(q.value)!="gif" && getExtension(q.value)!="png" && getExtension(q.value)!="" && !q.disabled){
				q.up('tr').addClassName('file-upload-error');
				q.up('tr').removeClassName('file-upload-ok');
				q.up('tr').removeClassName('file-upload-warn');
				q.next('span').update('<br /><b>NB!</b> Alternatiivne fail peaks olema pilt (JPEG/GIF)!<br />Hetkel valitud faili t��p: <b>'+getExtension(q.value).toUpperCase()+'</b>');
			}
			else{
				q.up('tr').removeClassName('file-upload-error');
				q.up('tr').removeClassName('file-upload-ok');
				q.up('tr').removeClassName('file-upload-warn');
				q.next('span').update('');
			}
		}
		checkExt();
		q.observe('change', function(){
			checkExt();
		});
	});

	$$('input[class~=radio-url-file]').each(function(q){
		var checkClick = function(){
			if(q.checked){
				var type=(q.value=='fail'?'file':'text');
				var a_type=(q.value=='fail'?'text':'file');
				q.up('table').getElementsBySelector('input[type='+a_type+']:not([name=time])').each(function(s){
					s.disabled = "disabled";
					s.style.display = "none";
				});
				
				q.up('table').getElementsBySelector('input[type='+type+']').each(function(t){
					t.disabled='';

					if(t.hasClassName('intro'))
						t.up('table').getElementsBySelector('input[name=intro]').each(function(r){
							if(!r.checked)
								t.disabled='disabled';
						});

					t.style.display='inline';
				});
			}
		};		
		checkClick();
		q.observe('click', function(){
			checkClick();
		});
	});

	
	$$('input[name=intro]').each(function(q){
		var checkClick = function(){
			var type = 'file';
			var a_type = 'text';
			q.up('table').getElementsBySelector('input[class~=radio-url-file]').each(function(r){
				if(r.checked){
					type=(r.value=='fail'?'file':'text');
					a_type=(r.value=='fail'?'text':'file');
				}
			});

			q.up('table').getElementsBySelector('input[class~=intro]').each(function(r){
				if(!q.checked || (r.type!=type && r.name!='time'))
					r.disable();
				else
					r.enable();
			});
		}
		checkClick();
		q.observe('click', function(){
			checkClick();
		});
	});	
	
});


getExtension = function(filename){
	var dot = filename.lastIndexOf("."); 
	if( dot == -1 ) return ""; 
	var extension = filename.substr(dot+1,filename.length); 
	return extension.toLowerCase(); 
}

getDocumentHeight = function(){
	var documentHeight;
	
	if (window.innerHeight && window.scrollMaxY)	
		documentHeight = window.innerHeight + window.scrollMaxY;
	else if (document.body.scrollHeight > document.body.offsetHeight) // all but Explorer Mac
		documentHeight = document.body.scrollHeight;
	else // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		documentHeight = document.body.offsetHeight;
	
	return documentHeight<document.viewport.getHeight()?document.viewport.getHeight():documentHeight;
}

upload_feedback = function(obj){
	checkCorrect(obj);
}

startBanUpload = function(form){
	startLoader();
	form.submit();
	return false;
}

stopBanUpload = function(obj){
	stopLoader();
	checkCorrect(obj);	
	createBanner(obj);
}

createBanner = function(obj){
	if(obj)
		GLOBAL_OBJ = obj;
	else
		obj = GLOBAL_OBJ;
	
	bannerFlush();
	
	var main_obj = false;
	for(var j=0; j<obj.length; j++)
		if(obj[j].name == 'file_1' && obj[j].height>0)
			main_obj = obj[j];
	
	if(main_obj){
		$('spacer').setStyle({height: main_obj.height+'px'});
		
		var banner = (new Element('div',{'id':'fcad_space'})).setStyle({
			position: 'absolute',
			width: main_obj.width+'px',
			height: main_obj.height+'px',
			left: $('spacer').cumulativeOffset().left+(main_obj.width>$('spacer').getWidth()?$('spacer').getWidth()-main_obj.width:Math.floor($('spacer').getWidth()/2 - main_obj.width/2))+'px',
			top: $('spacer').cumulativeOffset().top
		});
		document.body.appendChild(banner);
		
		drawBanner(obj, 'fcad_space');
	}else{
		$('spacer').setStyle({height: '0px'});
	}
}

bannerFlush = function(){
	var elements = document.body.getElementsByTagName('*');
	for(var i=0; i<elements.length;i++)
		try{
			if(elements[i].id.indexOf('fcad_banner')!=-1)
				elements[i].parentNode.removeChild(elements[i]);
		}catch(E){}
	fcadSystem.container = [];
	$('banner_control').hide();
	$('show-intro-control').hide();
	try{
		$('fcad_space').remove();
	}catch(E){}
	$('spacer').innerHTML = '';
	$('spacer').setStyle({height: ''});
}

checkCorrect = function(obj){
	
	$$('tr[class~=select-banner] input[type=radio]').each(function(g){
		if(g.checked){
			banner_type = g.value;
		}
	});
	
	$$('div[class~=banner-upload]').findAll(function(g){
		return g.visible()
	}).each(function(g){
		g.getElementsBySelector('input[class~=definpt]:not([name=time])').each(function(i){
			if(i.up('tr').visible() &&  !i.disabled){
				var olemas = false;
				var problems = [];
				var warnings = [];
				for(var j=0; j<obj.length; j++){
					if(obj[j].name == i.name)
						olemas = obj[j];
				}
				if(!olemas){
					if(i.value.length)
						problems[problems.length] = '<b>NB!</b> Viga faili �leslaadimisel, faili pole m��ratud v�i on see liiga suur!';
					else if(i.name.split('_')[0]!='alternate')
						problems[problems.length] = '<b>NB!</b> Fail on m��ramata!';
				}else{
					if(olemas.flashver>0 && !olemas.clickTAG)
						warnings[warnings.length] = '<b>NB!</b> Flash failist ei leitud <b>clickTAG</b> parameetrit, kontrolli kas b�nnerile klikkides avaneb �ige aken!';
					if(olemas.flashver>8)
						warnings[warnings.length] = '<b>NB!</b> Flash versioon on <b>'+olemas.flashver+'</b>, aga paljude kasutajate brauser seda esitada ei oska, flashi versioon v�iks olla kuni <b>8</b>!';
					if(olemas && bannerInfo[banner_type] && bannerInfo[banner_type]['dim'+olemas.name.split('_')[1]] && (bannerInfo[banner_type]['dim'+olemas.name.split('_')[1]][0]!=olemas.width || bannerInfo[banner_type]['dim'+olemas.name.split('_')[1]][1]!=olemas.height))
						problems[problems.length] = '<b>NB!</b> Faili m��dud on valed - fail peab olema m��dus <b>'+bannerInfo[banner_type]['dim'+olemas.name.split('_')[1]][0]+'&nbsp;x&nbsp;'+bannerInfo[banner_type]['dim'+olemas.name.split('_')[1]][1]+'&nbsp;px</b>, aga on <b>'+olemas.width+'&nbsp;x&nbsp;'+olemas.height+'&nbsp;px</b>!';					
					if(i.name.split('_')[0]=='alternate' && getExtension(i.value)!="jpg" && getExtension(i.value)!="jpeg" && getExtension(i.value)!="gif" && getExtension(i.value)!="png" && i.value.length){
						problems = ['<b>NB!</b> Alternatiivne fail peaks olema pilt (JPEG/GIF)!<br />Hetkel valitud faili t��p: <b>'+getExtension(i.value).toUpperCase()+'</b>'];
						warnings = [];
					}
				}
				if(problems.length){
					if(warnings.length)
						problems = problems.concat(warnings);
					i.up('tr').removeClassName('file-upload-ok');
					i.up('tr').removeClassName('file-upload-warn');
					i.up('tr').addClassName('file-upload-error');
					i.next('span').update('<br />'+problems.join('<br />'));
				}
				else if(warnings.length){
					i.up('tr').removeClassName('file-upload-ok');
					i.up('tr').addClassName('file-upload-warn');
					i.up('tr').removeClassName('file-upload-error');
					i.next('span').update('<br />'+warnings.join('<br />'));
				}
				else if(olemas){
					i.up('tr').addClassName('file-upload-ok');
					i.up('tr').removeClassName('file-upload-warn');
					i.up('tr').removeClassName('file-upload-error');
				        i.next('span').update('<br />Failiga on k&otilde;ik korras.');
				}else{
					i.up('tr').removeClassName('file-upload-ok');
					i.up('tr').removeClassName('file-upload-warn');
					i.up('tr').removeClassName('file-upload-error');
					i.next('span').update('');
				}
			}
		});
	});
}


drawBanner = function(obj, div_id){
		
	var options = {
		id: div_id,
		url: '/page/37'
	}

	$$('tr[class~=select-banner] input[type=radio]').each(function(g){
		if(g.checked){
			banner_type = g.value;
		}
	});
	
	options.intro = false;

	options.type = bannerInfo[banner_type].banner;

	files = {};
	for(var j=0; j<obj.length; j++){
		switch(obj[j].name){
			case 'file_1':
				files.ban1 = obj[j];
				if(obj[j].flashver)
					files.ban1.type = 'flash';
				break;
			case 'file_2':
				files.ban2 = obj[j];
				if(obj[j].flashver)
					files.ban2.type = 'flash';
				break;
			case 'file_3':
				files.ban3 = obj[j];
				if(obj[j].flashver)
					files.ban3.type = 'flash';
				break;
			case 'alternate_1':
				files.alt1 = obj[j];
				break;
			case 'alternate_2':
				files.alt2 = obj[j];
				break;
			case 'alternate_3':
				files.alt3 = obj[j];
				break;
		}
	}

	if(files.ban1){
		switch(files.ban1.type){
			case 'flash':
				options.swf1 = files.ban1.url;
				if(files.alt1)
					options.img1 = files.alt1.url;
				break;
			case 'text/html':
				options.html1 = files.ban1.url;
				break;
			default:
				options.img1 = files.ban1.url;
				break;
		}
		options.dim1 = [files.ban1.width, files.ban1.height];
	}
	if(files.ban2){
		switch(files.ban2.type){
			case 'flash':
				options.swf2 = files.ban2.url;
				if(files.alt2)
					options.img2 = files.alt2.url;
				break;
			case 'text/html':
				options.html2 = files.ban2.url;
				break;
			default:
				options.img2 = files.ban2.url;
				break;
		}
		options.dim2 = [files.ban2.width, files.ban2.height];
	}

	if(options.type=='resize'){
		options.dim1 = bannerInfo[banner_type].dim2;
		options.dim2 = bannerInfo[banner_type].dim1;
		$('spacer').setStyle({'height': options.dim1[1]+'px'});
	}
	
	if(files.ban3){
		$('show-intro-control').show();
		options.intro = {};
		switch(files.ban3.type){
			case 'flash':
				options.intro.swf1 = files.ban3.url;
				if(files.alt3)
					options.intro.img1 = files.alt3.url;
				break;
			case 'text/html':
				options.intro.html1 = files.ban3.url;
				break;
			default:
				options.intro.img1 = files.ban3.url;
				break;
		}
		options.intro.dim1 = [files.ban3.width, files.ban3.height];
		options.intro.expire = 1;
		options.intro.time = (parseInt($F(banner_type+'_time'))<=10 && parseInt($F(banner_type+'_time'))>0)?parseInt($F(banner_type+'_time')):5;
	}
	
	$('banner_control').show();
	new Effect.Highlight('banner_control',{duration: 1.2});
	fcadSystem.draw(options);
}


previewTextad = function(){
	bannerFlush();
	problems = [];
	
	if(!$('textad_title').value)
		problems[problems.length] = 'Pealkiri m&auml;&auml;ramata!';

	if($('textad_title').value.length>24)
		problems[problems.length] = 'Pealkiri on liiga pikk! (lubatud 24 t&auml;hem&auml;rki, hetkel '+$('textad_title').value.length+')';

	if(problems.length){
		$('textad_title').up('tr').removeClassName('file-upload-ok');
		$('textad_title').up('tr').removeClassName('file-upload-warn');
		$('textad_title').up('tr').addClassName('file-upload-error');
		$('textad_title').next('span').update('<br />'+problems.join('<br />'));
	}
	else{
		$('textad_title').up('tr').removeClassName('file-upload-ok');
		$('textad_title').up('tr').removeClassName('file-upload-warn');
		$('textad_title').up('tr').removeClassName('file-upload-error');
		$('textad_title').next('span').update('');
	}

	problems = [];
	if(!$('textad_contents').value)
		problems[problems.length] = 'Sisu m&auml;&auml;ramata!';
		
	if($('textad_contents').value.length>72)
		problems[problems.length] = 'Sisu on liiga pikk! (lubatud 72 t&auml;hem&auml;rki, hetkel '+$('textad_contents').value.length+')';
	
	if(problems.length){
		$('textad_contents').up('tr').removeClassName('file-upload-ok');
		$('textad_contents').up('tr').removeClassName('file-upload-warn');
		$('textad_contents').up('tr').addClassName('file-upload-error');
		$('textad_contents').next('span').update('<br />'+problems.join('<br />'));
	}
	else{
		$('textad_contents').up('tr').removeClassName('file-upload-ok');
		$('textad_contents').up('tr').removeClassName('file-upload-warn');
		$('textad_contents').up('tr').removeClassName('file-upload-error');
		$('textad_contents').next('span').update('');
	}
		
	if(!$('textad_link').value)
		problems[problems.length] = 'Link m&auml;&auml;ramata!';
		
	if($('textad_link').value.length>25)
		problems[problems.length] = 'Link on liiga pikk! (lubatud 25 t&auml;hem&auml;rki, hetkel '+$('textad_link').value.length+')';
	
	if(problems.length){
		$('textad_link').up('tr').removeClassName('file-upload-ok');
		$('textad_link').up('tr').removeClassName('file-upload-warn');
		$('textad_link').up('tr').addClassName('file-upload-error');
		$('textad_link').next('span').update('<br />'+problems.join('<br />'));
	}
	else{
		$('textad_link').up('tr').removeClassName('file-upload-ok');
		$('textad_link').up('tr').removeClassName('file-upload-warn');
		$('textad_link').up('tr').removeClassName('file-upload-error');
		$('textad_link').next('span').update('');
	}

	$('spacer').innerHTML = '<table id="preview_textad" border="0" width="100%"><tr><td>&nbsp;</td></tr></table>';
	
	var options ={
		type: 'textad',
		id: 'preview_textad',
		ad: [{
			type: 'textad',
			id: 'preview_textad',
			url: '/page/37',
			link: $('textad_link').value,
			title: $('textad_title').value,
			content: $('textad_contents').value,
			target: 'javascript:void(0);' 
		}]
	}
	fcadSystem.draw(options);
	return false;
}

startLoader = function(){
	var canvas = (new Element('div', {'class':'full-loader'})).setStyle({
		position: 'absolute',
		left: '0',
		top:'0',
		width:'100%',
		height:getDocumentHeight()+'px',
		background: '#666',
		opacity: 0.4,
		zIndex: 10000
	});

	function pageHeight() {
		var myHeight = 0;
		if( typeof( window.innerWidth ) == 'number' )
			myHeight = window.innerHeight;
		else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
			myHeight = document.documentElement.clientHeight;
		else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
			myHeight = document.body.clientHeight;
		return myHeight;
	}
	
	var loader = (new Element('div', {'class':'full-loader'})).setStyle({
		position: 'absolute',
		left: '0',
		top:document.viewport.getScrollOffsets().top + Math.round(pageHeight()/2-33)+'px',
		width:'100%',
		height:'66px',
		background: 'transparent url(/gfx/scr/ajax-loader.gif) no-repeat center center',
		zIndex: 10001
	});

	document.body.appendChild(canvas);
	document.body.appendChild(loader);
}

stopLoader = function(){
	$$('div[class~=full-loader]').each(function(q){q.remove()});
}
