var airpic = Class.create({
	initialize: function(ph_id,nAl,sAl,nAc,sAcCo,sAcMo,sAcVa,sAcDe,sRN,sCN,nCo,sCo,nCi,sCi,nAp,sAp,sPg,nPg,thumb,seourl){
		this.ph_id = ph_id;
		this.nAl = nAl;
		this.sAl = sAl;
		this.nAc = nAc;
		this.sAcCo = sAcCo;
		this.sAcMo = sAcMo;
		this.sAcVa = sAcVa;
		this.sAcDe = sAcDe;
		this.sRN = sRN;
		this.sCN = sCN;
		this.nCo = nCo;
		this.sCo = sCo;
		this.nCi = nCi;
		this.sCi = sCi;
		this.nAp = nAp;
		this.sAp = sAp;
		this.sPg = sPg;
		this.nPg = nPg;
		this.thumb = thumb;
		this.seourl = seourl;
		airpics.register(this);
	}
});

var airpics = {
	airpicsArray:[],
	register: function(ap){
		this.airpicsArray.push(ap);
	},
	clearAll: function(){
		this.airpicsArray.clear();
	},
	getAirpic: function(id){
		return this.airpicsArray.find(function(ap){
			return ap.ph_id == id;
		});
	}
};

function GenerateCrossData(id,n){
	var photo_sel = airpics.getAirpic(id);
	var el;
	var CrossDataTable='';
	element = $('crossdata_'+id);
	if(n==1){
		CrossDataTable+='<div id="medCross">';
	}else{
		CrossDataTable+='<div class="text" style="width:392px;">';
	}
	CrossDataTable+='<form id="crossform_'+ id +'" name="crossform_'+ id +'" style="margin:0;padding:0;">';
	CrossDataTable+='<table cellspacing="0" cellpadding="0" width="99%">';
	CrossDataTable+='<tbody>';
	CrossDataTable+='<tr>';
	CrossDataTable+='<td><img border="0" src="/images_net/cross.gif" style="vertical-align:middle;">';
	CrossDataTable+='<span class="red">Cross data search</span>';
	CrossDataTable+='</td>';
	CrossDataTable+='<td>';
	CrossDataTable+='<span class="HideCrossData" style="cursor:pointer;float:right;">';
	CrossDataTable+='<img src="/images_net/close.gif" border="0"></span></td>';
	CrossDataTable+='</tr>';
	CrossDataTable+='</tbody>';
	CrossDataTable+='</table>';
	CrossDataTable+='<table cellspacing="0" cellpadding="0" width="99%">';
	CrossDataTable+='<tbody>';
	if(photo_sel.sAl!=''){
		CrossDataTable+='<tr>';
		CrossDataTable+='<td width="85"><em>Airline:</em></td>';
		CrossDataTable+='<td><input type="checkbox" name="sAl" value="'+ photo_sel.nAl +'">'+ photo_sel.sAl +'</td>';
		CrossDataTable+='</tr>';
	}
	if(photo_sel.nAc!=''){
		CrossDataTable+='<tr>';
		CrossDataTable+='<td><em>Aircraft:</em></td>';
		CrossDataTable+='<td id="aircraft_'+ id +'"><input type="checkbox" name="sAcCo" value="'+ photo_sel.sAcCo.replace(/ /g,'_') +'">'+ photo_sel.sAcCo;
		CrossDataTable+=' <input type="checkbox" name="sAcMo" value="'+ photo_sel.sAcMo.replace(/ /g,'_').replace('\/',':') +'" onclick="CheckPrev(this);">'+ photo_sel.sAcMo;
		if(photo_sel.sAcVa!=''){
			CrossDataTable+=' <input type="checkbox" name="sAcVa" value="'+ photo_sel.nAc +'" onclick="CheckPrev(this);">'+ photo_sel.sAcVa;
		}
		if(photo_sel.sAcDe!=''){
			CrossDataTable+=' <input type="checkbox" name="sDe" value="'+ photo_sel.sAcDe +'" onclick="CheckPrev(this);">('+ photo_sel.sAcDe +')';
		}
		CrossDataTable+='</td>';
		CrossDataTable+='</tr>';
	}
	if(photo_sel.sRN!=''){
		CrossDataTable+='<tr>';
		CrossDataTable+='<td><em>RegNo:</em></td>';
		CrossDataTable+='<td><input type="checkbox" name="sRN" value="'+ photo_sel.sRN.replace(/ /g,'_') +'">'+ photo_sel.sRN +'</td>';
		CrossDataTable+='</tr>';
	}
	if(photo_sel.sCN!=''&&n==1&photo_sel.nAc!=''){
		CrossDataTable+='<tr>';
		CrossDataTable+='<td><em>C/N:</em></td>';
		CrossDataTable+='<td><input type="checkbox" name="sCN" value="'+ photo_sel.sCN.replace(/ /g,'_').replace(/\//g,':') +'" onclick="markVa(this,'+id+');">'+ photo_sel.sCN +'</td>';
		CrossDataTable+='</tr>';
	}
	CrossDataTable+='<tr>';
	CrossDataTable+='<td valign="top"><em>Location:</em></td>';
	CrossDataTable+='<td><input type="checkbox" name="sCo" value="'+ photo_sel.nCo +'" onclick="CheckPrev(this);">'+ photo_sel.sCo;
	if(photo_sel.sCi!=''){
		CrossDataTable+=' <input type="checkbox" name="sCi" value="'+ photo_sel.nCi +'" onclick="CheckPrev(this);">'+ photo_sel.sCi;
	}
	if(n!=1) CrossDataTable+='<br/>';
	if(photo_sel.sAp!=''){
		CrossDataTable+='<input type="checkbox" name="sAp" value="'+ photo_sel.nAp +'" onclick="CheckPrev(this);">'+ photo_sel.sAp;
	}
	CrossDataTable+='</td>';
	CrossDataTable+='</tr>';
	CrossDataTable+='<tr>';
	CrossDataTable+='<td><em>Photographer:</em></td>';
	CrossDataTable+='<td><input type="checkbox" name="sPg" value="'+ photo_sel.sPg.replace(/ /g,'_') +'">'+ photo_sel.sPg +'</td>';
	CrossDataTable+='</tr>';
	CrossDataTable+='<tr>';
	CrossDataTable+='<td></td>';
	CrossDataTable+='<td><input type="button" class="button2" style="margin-top:5px;" value="SEARCH" onclick="sendCrossData(\''+ id +'\');"></td>';
	CrossDataTable+='</tr>';
	CrossDataTable+='</tbody></table>';
	CrossDataTable+='</form>';
	CrossDataTable+='</div>';
	if(n==1){
		el = $('crossdata_'+id).up('div.text');
		var div_h = el.getHeight();
		if(div_h+50<194){
			$('crossdata_'+id).setStyle({
				height: '194',
				top:'-76px'
			});
		}else{
			$('crossdata_'+id).setStyle({
				height: (div_h+50) +'px',
				top:'-76px'
			});
		}
	}else{
		el = $('crossdata_'+id).up('div.textBox');
		CreateLinkSize(id,el);
	}
	element.update(CrossDataTable);
	$$('span.HideCrossData').each(function(el){el.observe('click',HideCrossData);});
	Effect.Appear(element);
}
function CreateLinkSize(id,el){
	var div_h = el.getHeight();
	$('crossdata_'+id).setStyle({
		height: (div_h-3) +'px',
		top: '-'+(div_h-30)+'px'
	});
}
function HideCrossData(ev){
	var el = Event.element(ev).up('div.crossdata');
	Effect.Fade(el);
}
function CheckPrev(el){
	el = $(el);
	el.previousSiblings().each(function(cb){
		if(cb.disabled==false&&el.checked==true){
			cb.checked=true;
			cb.disabled=true;
		}else{
			if(cb.disabled==true&&el.checked==true){
				cb.checked=true;
				cb.disabled=true;
			}else{
				cb.checked=false;
				cb.disabled=false;
			}
		}
	});
}
function markVa(el,id){
	el = $(el);
	var el2 = $('aircraft_'+ id);
	el2.childElements().each(function(cb){
		if(el.checked==true){
			cb.checked=true;
			cb.disabled=true;
		}else{
			cb.checked=false;
			cb.disabled=false;
		}
	});
}
function sendCrossData(id){
	var cross_search = '/results';
	var form = $('crossform_'+id);
	var sAcVa = form.getInputs('checkbox', 'sAcVa')[0];
	form.getElements().each(function(el){
	    if(el.getValue()!=null&&el.getValue().toUpperCase()!='SEARCH'){
	        if(el.name=='sDe'&&sAcVa.getValue()==null){
	            cross_search += '/sAcVa/'+ sAcVa.value +'/'+ el.name +'/'+ el.getValue();
	        }else{
	            cross_search += '/'+ el.name +'/'+ el.getValue();
	        }
	    }
	});
	if(cross_search!='/results')
		window.location.href = cross_search;
}
var aircraft = Class.create({
	initialize: function(nID,nAl,sAl,nAc,sAc,sAcName,sAcDe,sRN,sCN){
		this.nID = nID;
		this.nAl = nAl;
		this.sAl = sAl;
		this.nAc = nAc;
		this.sAc = sAc;
		this.sAcName = sAcName;
		this.sAcDe = sAcDe;
		this.sRN = sRN;
		this.sCN = sCN;
		aircrafts.register(this);
	}
});
var aircrafts = {
	aircraftsArray:[],
	register: function(ac){
		this.aircraftsArray.push(ac);
	},
	clearAll: function(){
		this.aircraftsArray.clear();
	},
	getAircraft: function(id){
		return this.aircraftsArray.find(function(ac){
			return ac.nID == id;
		});
	},
	getACRegNo:function(regno){
		var cl = this;
		cl.clearAll();
		var url = '/ajax/ajaxModule.asp';
		var params = 'mn=GetACRegNo_net&regno='+regno;
		new Ajax.Request(url,{
			parameters: params,
			onComplete: function(resp){
				resp.responseText.evalScripts();
				cl.showAircrafts();
			}
		});
	},
	chooseAircraft:function(id){
		var ac = this.getAircraft(id);
		$('ph_al_id').value = ac.nAl;
		$('ph_ac_id').value = ac.nAc;
		$('ph_cn').value = ac.sCN;
		$('ph_regno').value = ac.sRN;
		$('ph_de').value = ac.sAcDe;
		$('ph_acname').value = ac.sAcName;
		$('ph_al_id').show();
		$('ph_ac_id').show();
		$('ph_al_other').hide();
		$('ph_ac_other').hide();
		$('regno_info').hide();
	},
	showAircrafts:function(){
		if(this.aircraftsArray.length>0){
			this.createAircraftHTML();
		}else{
			alert('No similar data with\nthis registration number!');
		}
	},
	createAircraftHTML:function(){
		var HTML='';
		var i = 0;
		var ac;
		HTML += '<div class="title">Database results</div>';
		HTML += '<ul>';
		for(i = 0; i<this.aircraftsArray.length;i++){
			ac = this.getAircraft(i);
			HTML += '<li>';
			HTML += '<div class="radio">';
			if(i==0){
				HTML += '<input id="acacinfo_'+ i +'" name="regno_info_id" type="radio" value="'+i+'" checked>';
			}else{
				HTML += '<input id="acacinfo_'+ i +'" name="regno_info_id" value="'+i+'" type="radio">';
			}
			HTML += '</div>';
			HTML += '<div class="reg_ac">';
			HTML += '<b>Airline:</b> '+ ac.sAl;
			HTML += '<br><b>Type:</b> '+ ac.sAc;
			if(ac.sAcDe!='') HTML += ' (' + ac.sAcDe +')';
			HTML += '<br><b>Registration No:</b> '+ ac.sRN;
			HTML += '<br><b>Construction No:</b> '+ ac.sCN;
			HTML += '<br><b>Aircraft Name:</b> '+ ac.sAcName;
			HTML += '</div>';
			HTML += '</li>';
		}
		HTML += '</ul>';
		HTML += '<div class="title"><input type="button" value="Select" class="button2" onclick="GetAircraft();">';
		HTML += '&nbsp;&nbsp;<input type="button" value="Cancel" class="button2" onclick="CloseAircrafts();"></div>';
		$('ph_al_id').hide();
		$('ph_ac_id').hide();
		$('regno_info').update(HTML);
		$('regno_info').show();
		
	}
};
function GetRegDB(){
	var regno = $('ph_regno').value;
	if(regno!='') {
		aircrafts.getACRegNo(regno);
	}
}
function GetAircraft(){
	var radio_val;
	$('uploadform').getInputs('radio', 'regno_info_id').each(function(el){
    	if(el.checked==true){radio_val = el.getValue();}
	});
	aircrafts.chooseAircraft(radio_val);
}
function CloseAircrafts(){
	$('ph_al_id').value = '';
	$('ph_ac_id').value = '';
	$('ph_cn').value = '';
	$('ph_regno').value = '';
	$('ph_de').value = '';
	$('ph_acname').value = '';
	$('ph_al_id').show();
	$('ph_ac_id').show();
	$('regno_info').hide();
}
function refresh_preview(){
	var url ='/asp/preview.asp?';
	url += 'phid='+$('phid').value;
	url += '&wp='+$('watermark_position').value;
	if($('dark_watermark').checked)url += '&dr=D';
	$('image_preview').src=url;
}
function cancel_process(){
	if(window.confirm('Cancelation: Are you sure?')){
		$('ph_cancel').value='1';
		$('uploadform2').submit();
	}
}
var airport = Class.create({
	initialize: function(nApID,sApName,nCoID,sCoName,nCiID,sCiName,sApIATA,sApICAO){
		this.nApID = nApID;
		this.sApName = sApName;
		this.nCoID = nCoID;
		this.sCoName = sCoName;
		this.nCiID = nCiID;
		this.sCiName = sCiName;
		this.sApIATA = sApIATA;
		this.sApICAO = sApICAO;
		airports.register(this);
	}
});
var airports = {
	airportsArray:[],
	register: function(ap){
		this.airportsArray.push(ap);
	},
	clearAll: function(){
		this.airportsArray.clear();
	},
	getAirport: function(id){
		return this.airportsArray.find(function(ap){
			return ap.nApID == id;
		});
	},
	chooseAirport:function(id){
		var ap = this.getAirport(id);
 		$('iata_info').hide();
		$('ph_co_id').value = ap.nCoID;
		getCitiesUDD('ph_cityDD',ap.nCoID,ap.nCiID);
		getAirportsUDD('ph_airportDD',ap.nCiID,ap.nApID);
		$('ph_co_id').show();
// 		$('ph_ci_id').show();
// 		$('ph_ap_id').show();
	},
	getAirportAjax:function(iata){
		var cl = this;
		cl.clearAll();
		var url = '/ajax/ajaxModule.asp';
		var params = 'mn=GetAirport_net&ap_iata='+iata;
		new Ajax.Request(url,{
			parameters: params,
			onComplete: function(resp){
				resp.responseText.evalScripts();
				cl.showAirports();
			}
		});
	},
	showAirports:function(){
		if(this.airportsArray.length>0){
			this.createAirportHTML();
		}else{
			alert('No similar data with\nthis IATA code!');
		}
	},
	createAirportHTML:function(){
		var HTML='';
		var i = 0;
		var ap;
		HTML += '<div class="title">Database results</div>';
		HTML += '<ul>';
		for(i = 0; i<this.airportsArray.length;i++){
			ap = this.airportsArray[i];
			HTML += '<li>';
			HTML += '<div class="radio">';
			if(i==0){
				HTML += '<input id="iatainfo_'+ i +'" name="iata_info_id" type="radio" value="'+ap.nApID+'" checked>';
			}else{
				HTML += '<input id="iatainfo_'+ i +'" name="iata_info_id" value="'+ap.nApID+'" type="radio">';
			}
			HTML += '</div>';
			HTML += '<div class="reg_ac">';
			HTML += '<b>Country:</b> '+ ap.sCoName;
			HTML += '<br><b>City:</b> '+ ap.sCiName;
			HTML += '<br><b>Airport:</b> '+ ap.sApName;
			HTML += '<br><b>IATA code:</b> '+ ap.sApIATA;
			HTML += '<br><b>ICAO code:</b> '+ ap.sApICAO;
			HTML += '</div>';
			HTML += '</li>';
		}
		HTML += '</ul>';
		HTML += '<div class="title"><input type="button" value="Select" class="button2" onclick="GetAirport();">';
		HTML += '&nbsp;&nbsp;<input type="button" value="Cancel" class="button2" onclick="CloseAirports();"></div>';
		$('ph_co_id').hide();
		$('ph_ci_id').hide();
		$('ph_ap_id').hide();
		$('iata_info').update(HTML);
		$('iata_info').show();
		
	}
}
function GetApDB(){
	var iata = $('ph_ap_iata').value;
	if(iata!='') {
		airports.getAirportAjax(iata);
	}
}
function GetAirport(){
	var radio_val;
	$('uploadform').getInputs('radio', 'iata_info_id').each(function(el){
    	if(el.checked==true){radio_val = el.getValue();}
	});
	airports.chooseAirport(radio_val);
}
function CloseAirports(){
	$('ph_co_id').value = '';
	$('ph_ci_id').value = '';
	$('ph_ap_id').value = '';
	$('ph_co_id').show();
	$('ph_ci_id').show();
	$('ph_ap_id').show();
	$('iata_info').hide();
}

Object.extend(Array.prototype,{
	contains: function(element) 
	  {
	          for (var i = 0; i < this.length; i++) 
	       {
	              if (this[i] == element) 
	          {
	                      return true;
	              }
	          }
	          return false;
	  }
});
var Cookie = {
  set: function(name, value, daysToExpire) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
  },
  get: function(name) {
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
  },
  erase: function(name) {
    var cookie = Cookie.get(name) || true;
    Cookie.set(name, '', -1);
    return cookie;
  },
  accept: function() {
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    Cookie.set('_test', '1');
    return (Cookie.erase('_test') === '1');
  }
};

var basket = {
	update: function(itemID,quantity,refresh){
		if(Cookie.accept){
			var url = '/ajax/ajaxModule.asp?mn=BasketUpd&ac=upd';
			var params = '';
			if(parseInt(quantity,10)!=NaN){
				if(parseInt(quantity,10)>0){
					params='item='+itemID+'&quantity='+quantity;
					new Ajax.Request(url,{
						parameters: params,
						onComplete: function(resp){
							alert('Your basket is updated!\n');
							if(refresh==1) window.location.reload();
						}
					});
				}
			}
		}else{
			alert('To use shopping basket\nyou have to activate cookies.\n');
		}
	},
	remove:function(itemID,elem){
		var params = 'item='+itemID;
		var url = '/ajax/ajaxModule.asp?mn=BasketUpd&ac=rmv';
		if (elem!=null){
			elem = $(elem);
			elem.up('tr').hide();
		}
		new Ajax.Request(url,{
			parameters: params,
			onComplete:function(){
				if (elem!=null){
					elem = $(elem);
					elem.up('tr').hide();
					var randomVal = Math.random();
					if(window.location.href.indexOf('&r=')>0){
						window.location.href = window.location.href.substring(0,window.location.href.indexOf('&r='))+'&r='+randomVal
					}else{
	 					window.location.href = window.location.href+'&r='+randomVal
	 				}
				}
			}
		});
	},
	clear:function(){
		var url = '/ajax/ajaxModule.asp?mn=BasketUpd&ac=cle';
		new Ajax.Request(url,{
			onComplete:function(){
				var randomVal = Math.random();
				if(window.location.href.indexOf('&r=')>0){
					window.location.href = window.location.href.substring(0,window.location.href.indexOf('&r='))+'&r='+randomVal
				}else{
 					window.location.href = window.location.href+'&r='+randomVal
 				}
			}
		});
	}
}
