// JavaScript Document
function preloadImages( ) {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function unblur() {
	this.blur();
}

function blurLinks() {
	links = document.getElementsByTagName("a");
	for(i=0; i<links.length; i++) {
		links[i].onfocus = unblur;
	}
	inputs = document.getElementsByTagName("input");
	for(i=0; i<inputs.length; i++) {
		if (inputs[i].type == 'button' || inputs[i].type == 'submit') {
			inputs[i].onfocus = unblur;
		}
	}

}

function setFocus(obj) {
	x = document.getElementById(obj);
	x.focus();
}

function flashObjects (objPath,objWidth,objHeight,objTitle,objParam,wmode,altPath,altWidth,altHeight,altTitle) {
	document.write('<object type="application/x-shockwave-flash" data="'+objPath+'"width="'+objWidth+'" height="'+objHeight+'" '+objParam+'> \
					<param name="movie" value="'+objPath+'" /> \
					<param name="quality" value="high" /> \
					<param name="wmode" value="'+wmode+'" /> \
					<img src="'+altPath+'" width="'+altWidth+'" height="'+altHeight+'" alt="'+altTitle+'" /></object>');
}

function meadiaPlayerObjects (objPath, objWidth, objHeight) {
	document.write('<OBJECT ID="MediaPlayer" CLASSID="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6" standby="Loading Microsoft Windows Media Player components..."  TYPE="application/x-oleobject" width="'+objWidth+'" height="'+objHeight+'"  align="center"> \
			            <PARAM NAME="url" VALUE="'+objPath+'"> \
			            <PARAM NAME="AutoStart" VALUE=1> \
			            <PARAM NAME="ShowControls" VALUE=1> \
			            <PARAM NAME="uiMode" VALUE="full"> \
						<PARAM NAME="enableContextMenu" value="true"> \
						<embed type="application/x-mplayer2" src="'+objPath+'" ShowControls="1" AutoStart="1" ShowDisplay="0" ShowStatusBar="1" width="'+objWidth+'" height="'+objHeight+'"></embed> \
				      </OBJECT>');
}

function showMap(el) {
	x = $(el);
	x.style.visibility = 'visible';
}

function markSelected(el) {
	if (el.parentNode.className != 'selected') {
		el.parentNode.className = 'hover';
	}
}

function unmarkSelected(el) {
	if (el.parentNode.className != 'selected') {
		el.parentNode.className = '';
	}
}

function formElementsStyle () {
	if(document.getElementsByTagName) {

		var className = 'tr_hover',
		selected = 'tr_selected',
		selected_hover = 'tr_selected_hover',
		pattern = new RegExp('(^|\\s+)' + className + '(\\s+|$)'),
		selected_pattern = new RegExp('(^|\\s+)' + selected + '(\\s+|$)'),
		selected_hover_pattern = new RegExp('(^|\\s+)' + selected_hover + '(\\s+|$)'),
		rows = document.getElementsByTagName('tr');

		for (var i = 0, n = rows.length; i < n; ++i) {
			if (rows[i].className != 'buttons') {
				rows[i].onmouseover = 
					function() {
						if (this.className == 'dark '+selected || this.className == 'light '+selected) {
							this.className += ' ' + selected_hover;
						} else {
							this.className += ' ' + className;
						}
					};
				rows[i].onmouseout = 
					function() {
						if (this.className == 'dark '+selected+' '+selected_hover || this.className == 'light '+selected+' '+selected_hover) {
							this.className = this.className.replace(selected_hover_pattern, ' ');
						} else {						
							this.className = this.className.replace(pattern, ' ');
						}
					};
/*				rows[i].onclick = 
					function() {
						this.className = this.className.replace(pattern, ' ');
						if (this.className == 'dark '+selected+' '+selected_hover || this.className == 'light '+selected+' '+selected_hover) {
							this.className = this.className.replace(selected_hover_pattern, ' ');
							this.className = this.className.replace(selected_pattern, ' ');
						} else {
							this.className += ' ' + selected;
						}


//						ch = this.getElementsByTagName('input');
//						for (var j = 0, n = ch.length; j < n; ++j) {
//							//alert(ch[j].type);
//							if (ch[j].type == 'checkbox') {
//								if (ch[j].checked) {
//									ch[j].checked = false;
//								} else {
//									ch[j].checked = true;
//								}
//							}
//						}


					};
*/					
					
			}
		}
	}
	rows = null;	
}


function popUp(URL) {
	window.open( URL, "myWindow", "status = 1, height = 600, width = 700, resizable = yes" )
}


function popUpPrint(URL) {
	window.open( URL, "myWindow", "status = 1, height = 600, width = 700, toolbar=no, scrollbars=yes, menubar=no, resizable = yes" )	
}

function fade(el) {
	el.style.opacity =  0.5; 
	el.style.MozOpacity =  0.5; 	
	el.style.KhtmlOpacity =  0.5; 
	el.style.filter = "alpha(opacity=50)";
}

function unfade(el) {
	el.style.opacity =  1; 
	el.style.MozOpacity =  1; 	
	el.style.KhtmlOpacity =  1; 
	el.style.filter = "alpha(opacity=100)";
}


function btnHover(el) {
	el.className = 'searchBtnHover';
}

function btnRestore(el) {
	el.className = 'searchBtn';
}

function emptyFormFields(el,val) {
	if (el.value == val ) {
		el.value = '';
	}	
}

function fillFormFields(el,val) {
	if (el.value == '' ) {
		el.value = val;
	}
}

function formValid(form, errors, min_length, nonzero){
	errors.innerHTML = '';
	var elements = form.getElementsBySelector('[rel="validate"]');
	for (i=0;i<elements.length;i++) {
		if (elements[i] == null || elements[i].value == '' || (min_length>-1 && elements[i].value.length < min_length) || (nonzero==true && elements[i].value==0)) {
            errors.innerHTML = errors.innerHTML + elements[i].title + '<br />';
		}
	}

	if (errors.innerHTML == '') {
		return true;
	} else {
		return false;
	}
}
/*
	
*/
function validateElement(element, errorContainer, errorMsg, method, param){
	var errorContainer = document.getElementById(errorContainer);

	switch(method){
		case 'minlength':
			if (element.value.length < param){
				element.setAttribute('rel','validate');
				errorContainer.innerHTML=errorMsg;
			}else{
				element.setAttribute('rel','');
				errorContainer.innerHTML="";				
			}
		break;
		
		case 'filecheck':
			if ($(param) != 'undefined' && $(param) != null){
				element.setAttribute('rel','');
				errorContainer.innerHTML="";				
			}else{
				if (element.value.length < 1){
					element.setAttribute('rel','validate');
					errorContainer.innerHTML=errorMsg;
				}else{
					element.setAttribute('rel','');
					errorContainer.innerHTML="";				
				}
			}
		break;
		
		case 'rewriteNavigation':
			if (element.value.length < 1){
				element.setAttribute('rel','validate');
				errorContainer.innerHTML=errorMsg;
			}else{
				var ajax = new Ajax.Request(rootUrl + 'admin/ajax/rewriteNavigation/'+element.value+'/'+param+'.html', {
					method: 'get',
					asynchronous: false,
					onSuccess: function (transport) {
						var result = transport.responseText;
						if (result == "navigationexists"){
							element.setAttribute('rel','validate');
							errorContainer.innerHTML=errorMsg;
						}else{
							element.setAttribute('rel','');
							errorContainer.innerHTML="";				
						}
					}
				});
			}
		break;
	}
	
} 

function validateForm(errorMsg){
	var elements = $$('[rel="validate"]');

	if (elements.length > 0){
		for(i=0; i<elements.length; i++){
			elements[i].focus();
			elements[i].blur();
		}
	}

	var elements = $$('[rel="validate"]');
	
	if (elements.length > 0){
		alert(errorMsg);
		return false;
	}else{
		return true;
	}
}

function contactsFormValid(){
	var form = $('contactsForm');
	var err=0;
	
	var checks=new Array();
	var checks_static=new Array();
	var checks_boxes_all=new Array();
	var checks_boxes=new Array();
	
	warns=new Array();
	var warns_checks=0;
	var check_err=3;
	warns_texts=new Array();
	
	warns=$('contactsForm').getElementsByClassName('error');
//splitting warnings	
	for (i=0;i<warns.length;i++){
		if (warns[i].id=='c_company_error'){
			warns_checks=warns[i];
			//warns[i].style.display='none';
		}
		else{
			warns_texts.push(warns[i]);
		}
	}
	

//checkboxes spilt
	checks_boxes_all=form.getInputs('checkbox');
	for (i=0;i<checks_boxes_all.length;i++){
		if (checks_boxes_all[i].id=='c_company' || checks_boxes_all[i].id=='c_agency' || checks_boxes_all[i].id=='c_personal'){
			checks_boxes.push(checks_boxes_all[i]);
		}
	}
	
///	warns_texts[i].style.display='none';
	checks=form.getInputs('text'); // -> only text inputs
	for (i=0;i<checks.length;i++){
		switch (checks[i].id){
			case 'fullname':
				checks_static.push(checks[i]);
				break;
				
			case 'nationality':
				checks_static.push(checks[i]);
				break;
				
			case 'address':
				checks_static.push(checks[i]);
				break;
				
			case 'email':
				checks_static.push(checks[i]);
				break;
		}
	}
	
	for (i=0;i<checks_static.length;i++){
		if (checks_static[i].value==''){
			warns_texts[i].style.display='block';
			err++;
		}
		else{
			warns_texts[i].style.display='none';
		}
	}
	
	for (i=0;i<checks_boxes.length;i++){
		if (!checks_boxes[i].checked){
			check_err--;
		}
	}
	
	if (check_err>0){
		warns_checks.style.display='none';
	}
	else{
		err++;
		warns_checks.style.display='block';
	}

	if (err>0){
		return false;	
	}
	else{
		return true;
	}
}

function deletePhone(id, fieldid){
	var field = 'phone_title['+fieldid+']';
	var ajax = new Ajax.Request(rootURL + 'department_deletephone_'+id+'.html', {
		method: 'get',
		onSuccess: function (transport) {
		}
	});
	
	// TODO - remove html element!
}

function deleteAddress(id, fieldid){
	var field = 'address_title['+fieldid+']';
	var ajax = new Ajax.Request(rootURL + 'department_deleteaddress_'+id+'.html', {
		method: 'get',
		onSuccess: function (transport) {
		}
	});
	
	// TODO - remove html element!
}

function deleteEmail(id, fieldid){
	var field = 'email_title['+fieldid+']';
	var ajax = new Ajax.Request(rootURL + 'department_deleteemail_'+id+'.html', {
		method: 'get',
		onSuccess: function (transport) {
		}
	});
	
	// TODO - remove html element!
}

function deleteClientPhone(id, fieldid){
	var field = 'phone_title['+fieldid+']';
	var ajax = new Ajax.Request(rootURL + 'client_deletephone_'+id+'.html', {
		method: 'get',
		onSuccess: function (transport) {
		}
	});
	
	// TODO - remove html element!
}

function deleteClientAddress(id, fieldid){
	var field = 'address_title['+fieldid+']';
	var ajax = new Ajax.Request(rootURL + 'client_deleteaddress_'+id+'.html', {
		method: 'get',
		onSuccess: function (transport) {
		}
	});
	
	// TODO - remove html element!
}

function deleteClientEmail(id, fieldid){
	var field = 'email_title['+fieldid+']';
	var ajax = new Ajax.Request(rootURL + 'client_deleteemail_'+id+'.html', {
		method: 'get',
		onSuccess: function (transport) {
		}
	});
	
	// TODO - remove html element!
}


/* auto load functions */
Event.observe(window, 'load', blurLinks);
Event.observe(window, 'load', formElementsStyle);


function switchText(c,r,el) {
	if (el.value == c) {
		el.value = r;
	}
}