// webform
function webForm_changeDateSelect(id) {
	var d = document.getElementById(id+'_D').value;
	var m = document.getElementById(id+'_M').value;
	var y = document.getElementById(id+'_Y').value;
	document.getElementById(id).value = d+'.'+m+'.'+y;
}
function datePickerStatusFunc(dateItem) {

	var d = new Date();
	var now = new Date(d.getFullYear(), d.getMonth(), d.getDate());
	var end = new Date(d.getFullYear()+1, d.getMonth(), d.getDate());
	return (dateItem < now) || (dateItem > end);

}
// app
function loadVehicle(form) {
    form.vehicle.selectedIndex = 0;
    form.usagePurpose.selectedIndex = 0;
    form.city.selectedIndex = 1;
    form.paymentPeriod.selectedIndex = 1;
    form.currentAssurer.selectedIndex = 1;
    form.bonus.selectedIndex = 3;
    //form.isSkoda[0].click();

    form.birthDate_D.selectedIndex = 29
    form.birthDate_M.selectedIndex = 8;
    form.birthDate_Y.selectedIndex = 15;
    form.birthDate.value='29.8.1976';

    form.zipcode.value = '04001';
    form.beginDate.value = '03.05.2010';

    //form.person[0].checked = true;
    form.person[0].click();

    form.sex.selectedIndex = 1;
    //form.birth.selectedIndex = 12;
    //form.job.selectedIndex = 4;
    form.licence.selectedIndex = 12;
    form.accident.selectedIndex = 1;

    //form.isParent.selectedIndex = 1;
    //form.isVszp.selectedIndex = 1;
    //form.countAllianz.selectedIndex = 1;
    //form.countWustenrot.selectedIndex = 1;
    form.countUnion.selectedIndex = 1;
    //form.hasMore[1].click();

    form.cubage.value = 1896;
    form.power.value = 63;
    form.year.value = 2001;
    form.weight.value = 1450;
    form.km.value = 10000;
    form.users.value = 1;
    form.cars.value = 1;
}

function description(url, title) {
    var win = window.open(url, 'descr', 'top=10,left=10,width=410,height=450,menubar=0,resizable=1,scrollbars=1');
    win.focus();
}

function resizee() {
    var w = document.images[0].width;
    var h = document.images[0].height;
    window.resizeTo(w+20, h+30);
}

function image(url, title) {
    var win = window.open(url, title, 'top=10,left=10,width=450,height=300,menubar=0,resizable=0,scrollbars=0');
}

function media(url) {
    var win = window.open(url, 'media', 'top=10,left=10,width=800,height=600,menubar=0,resizable=1,scrollbars=1');
    win.focus();
}

function runAllianz() {
	if (document.allianzContractForm.onsubmit()) {
		document.allianzContractForm.submit();
	}
}
function redirectOutput(myForm) {
	var w = window.open(myForm.action, 'win', 'top=10,left=10,width=850,height=600,menubar=0,resizable=1,scrollbars=1');
	myForm.target = 'win';
	w.focus();
	return true;
}

/* COMMON */

function disable_a(items) {
    var arr = items.split(',');
    for (i=0; i<arr.length; i++) {
	disable(arr[i]);
    }
}

function enable_a(items) {
    var arr = items.split(',');
    for (i=0; i<arr.length; i++) {
	enable(arr[i]);
    }
}

function disable(id) {
    var el = document.getElementById(id);
    if (el===null) {
		var elms = document.getElementsByName(id);
		for(var i=0;i<elms.length;i++) {
	    	    elms[i].disabled = true;
	    	    if (elms[i].type != 'radio' && elms[i].type != 'checkbox') {
		    	    elms[i].style.background = "#efefef";
		    	    elms[i].style.color = "#efefef";
	    	    }
		}
    } else {
		el.disabled = true;
		if (el.type != 'radio' && el.type != 'checkbox') {
			el.style.background = "#efefef";
        	el.style.color = "#efefef";
		}
    }
}

function enable(id) {

    var el = document.getElementById(id);
    if (el===null) {
		var elms = document.getElementsByName(id);
		for(var i=0;i<elms.length;i++) {
				elms[i].disabled = false;
			    if (elms[i].type != 'radio' && elms[i].type != 'checkbox') {
	    	    	elms[i].style.background = "#fff";
	    	    	elms[i].style.color = "#585858";
			    }
	        }
    } else {
    	el.disabled = false;
	    if (el.type != 'radio' && el.type != 'checkbox') {
			el.style.background = "#fff";
			el.style.color = "#585858";
	    	if (el.type == 'select-one' || el.type == 'select-multiple') {
				el.style.border = "1px solid #7f9db9";
	    	}
	    }
    }
}

function show(items) {
    var arr = items.split(',');
    for (i=0; i<arr.length; i++) {
	enable(arr[i].substring(3));
	document.getElementById(arr[i]).style.display='';
    }
}

function hide(items) {
    var arr = items.split(',');
    for (i=0; i<arr.length; i++) {
	document.getElementById(arr[i]).style.display='none';
    }
}

function hasChecked(object) {
    for(i=0;i<object.length;i++) {
	if (object[i].checked) return true;
    }
    return false;
}

function switchDisplay(objid)
{
	obj = document.getElementById(objid);

	if (obj)
	{
		if (obj.style)
		{
			if (obj.style.display == 'none')
			{
				obj.style.display = 'block';
			}
			else
			{
				obj.style.display = 'none';
			}
		}
	}
}

/* VEHICLE */

function refreshForm() {

 // vehicle

 var v = document.getElementById('vehicle');
 show('tr-usagePurpose,tr-city,tr-power,tr-cubage,tr-km,tr-year,tr-person,tr-sex,tr-birthDate,tr-licence,tr-accident,tr-countUnion'); //tr-isParent,tr-isVszp,tr-countAllianz,tr-isSkoda	tr-cars,tr-users,tr-job,
 switch (v.value) {
 	 case '4':
 	 break;
     case '25':
         hide('tr-km,tr-year');
		 //enable_a('power,cubage');
     break;
     case '26':
     case '27':
     case '28':
         hide('tr-power,tr-cubage,tr-km');
     break;
     case '16': case '17': case '18':
     	 hide('tr-usagePurpose,tr-sex,tr-birthDate,tr-licence'); //,tr-isParent,tr-isVszp		tr-job,
     break;
     //case '20':
     case '21':
     case '22':
     case '23':
     case '24':
     case '25':
     	hide('tr-city');
     break;
     default:
     	/*hide('tr-skodaBrand');*/
 }
 switch(v.value) {
     case '16':
        hide('tr-usagePurpose');
     break;
 }
 if (v.value!=4 && v.value!=30) {
	 //hide('tr-isSkoda');
 }

 // sex - isPregnant
 refreshSex();

 // poistnik totozny s drzitelom
 refreshIsSameHolder();

 // person (array)
 var p = document.getElementsByName('person');
 if ((p[0].checked && !p[0].disabled)) {
	show('tr-sex,tr-birthDate,tr-licence');//,tr-isParent,tr-childBirth,tr-isVszp		tr-job,
	// ak je vozidlo odlisne od OA
	if (v.value != 4) {
		//hide('tr-job'); //tr-cars,tr-users,tr-licence,
	}
	// isParent - childBirth
 	//refreshIsParent();
 	// licence - accident
 	refreshLicence();

 } else {
    hide('tr-sex,tr-birthDate,tr-licence');//,tr-isParent,tr-childBirth,tr-isVszp		tr-job,
    if (p[1].checked && !p[1].disabled) {
    	show('tr-birthDate,tr-licence');
    }
    if (v.value == 4) {
    	//show('tr-cars,tr-users');
    } else {
    	//hide('tr-cars,tr-users');
    }
 }

 // hasMore
 //refreshHasMore();

}

function refreshAllegation() {
	var r = document.getElementById('reason');
	var pr = document.getElementById('payment_return');
	var ad = document.getElementById('allegation_date');
	
	var return_row = document.getElementById('return_row');
	var bank_row = document.getElementById('bank_row');
	var date_row = document.getElementById('date_row');
	var date_row_info = document.getElementById('date_row_info');
	var date_info = document.getElementById('date_info');

	switch(r.value) {
		case '1':
			return_row.style.display = 'none';
			bank_row.style.display = 'none';
			date_row.style.display = '';
			date_row_info.style.display = '';
			break;
			
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
			return_row.style.display = '';
			date_row.style.display = 'none';
			date_row_info.style.display = 'none';
			break;
	}
	
	if(pr.value == 2 && r.value != 1) {
		bank_row.style.display = '';
	} else {
		bank_row.style.display = 'none';
	}
	
	var regex = new RegExp("^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}$");
	if (regex.exec(ad.value)) {
		inputActionTrigger(undefined, ad, "param", '/pzp');
	} else {
		date_info.innerHTML = "Zadajte prosím dátum ZAČIATKU Vašej súčasnej poistnej zmluvy.";
	}
}


function refreshIsSameHolder() {
	var h = document.getElementById('isSameHolder');
	if (h.checked) {
		hide('tr-isSameHolderInfo');
		document.getElementById('person-label').innerHTML = 'Poistník';
	} else {
		show('tr-isSameHolderInfo');
		document.getElementById('person-label').innerHTML = 'Držiteľ';
	}
}

function refreshHasMore() {
 var m = document.getElementsByName('hasMore');
 var d = document.getElementById('hasMoreDiv');
 if (!hasChecked(m) || (m[1].checked && !m[1].disabled)) {
    d.style.display='none';
 } else {
    d.style.display='';
 }
 refreshHasMoreList(1,'al','countAllianz');
 refreshHasMoreList(8,'un','crossUniqa[]');
}

function refreshHasMoreList(num,id,name) {
 var l = document.getElementById('hasMoreList_'+num);
 var d = document.getElementById(id);
 if (l.checked && !l.disabled) {
    d.style.display='';
 } else {
    d.style.display='none';
 }
 enable(name);
}

function refreshVillage(form,el,sel,oldvalue) {
	var regex = new RegExp("^[0-9]{5}$");
	if (regex.exec(el.value)) {
		if (el.value!=oldvalue) {
			document.getElementById('loading-v').style.display='';
			inputActionTrigger(form,el,sel,'/pzp');
		}
	} else {
		document.getElementById('village').options.length = 0;
	}
}
function emptyVillage(form,el,sel) {
	var regex = new RegExp("^[0-9]{5}$");
	if (!regex.exec(el.value)) {
		document.getElementById('village').options.length = 0;
	}
}

function refreshSex() {
	switch(document.getElementById('sex').value) {
		case '1' : hide('tr-isPregnant'); show('tr-isPregnantHusband');break;
		case '2' : hide('tr-isPregnantHusband'); show('tr-isPregnant');break;
		default:

			hide('tr-isPregnant,tr-isPregnantHusband');
	}
}

function refreshIsParent() {
	switch(document.getElementById('isParent').value) {
		case '1' : show('tr-childBirth');break;
		default: hide('tr-childBirth');
	}
}

function refreshLicence() {
	var lic = document.getElementById('licence').value;
	if (lic=='0') {
		//hide('tr-accident');
	} else {
		//show('tr-accident');
	}
}

function refreshBrand(form,el) {
	if (el.value=='') {
		hide('tr-model,tr-brandText,tr-modelText');
	} else if (el.value==0) {
		hide('tr-model'); show('tr-brandText,tr-modelText');
	} else if (el.value>0) {
		//document.getElementById('model').options.length = 0;
		inputActionTrigger(form,el,arguments[2],'/pzp');
		show('tr-model'); hide('tr-brandText,tr-modelText');
	}
}

function refreshModel(form,el) {
	switch (el.value) {
	  case  '0': show('tr-modelText');break;
	  case '-1': hide('tr-modelText');break;
	  default: hide('tr-modelText');
	}
}

function refreshBrandModel(form,el,sel) {
	if (el.value>0) {
		document.getElementById('loading-m').style.display='inline';
		inputActionTrigger(form,el,sel,'/pzp');
		//refreshModel(form,document.getElementById('model'));
	} else {
		document.getElementById('model').options.length = 0;
	}
}

function villageClick() {
	var zip = document.getElementById('zipcode');
	var regex = new RegExp("^[0-9]{5}$");
	if (!regex.exec(zip.value)) {
		alert('Najprv musíte zadať správne PSČ.');
	}
}

function oli_1(arg) {
	refreshVillage(null, document.getElementById('zipcode'), arg);
	/*
	if (arg==null) {
		document.getElementById('village').options.length = 0;
	} else {
 		refreshVillage(null, document.getElementById('zipcode'), arg);
	}
	*/
}

function oli_3(brand,model) {
	if (arguments.length==0) {
		document.getElementById('model').options.length = 0;
	} else {
		refreshBrand(null,document.getElementById('brand'),model);
		//refreshModel(null,document.getElementById('model'));
		switch (model) {
		  case  0:
		  case '':
		  		show('tr-modelText');break;
		  case -1: hide('tr-modelText');break;
		  default: hide('tr-modelText');
		}
	}
}

/* AGREEMENT */

function refreshTabber(tab) {
 window.onload = function() {
   refreshAgreement();
   document.getElementById('tr1').tabber.tabShow(tab);
 }
}

function refreshSpz() {
	var val = document.getElementById('spzRegion').value;
	if (val === '0') {
		hide('tr-spz,tr-tpNumber');
	} else {
		show('tr-spz,tr-tpNumber');
	}
}

/* ALLEGATION */
function allegationRender(f,href) {

	function getValue(f,elname) {
		return document.getElementById(f.name+'-'+elname).value
	}

	function getItem(f,elname) {
		return elname + '=' + getValue(f,elname);
	}

	var query = [
		'name=' + getValue(f, 'name'),
		'address=' + getValue(f,'address'),
		'assurer=' + getValue(f,'assurer'),
		'insuranceNumber=' + getValue(f,'insuranceNumber'),
		'spz=' + getValue(f,'spz'),,
		'allegationReason=' + getValue(f,'allegationReason'),
		'date=' + getValue(f,'date'),
	];


	var target = href + '?' + encodeURI(query.join('&'));
	//alert(target);
	media(target);
	return false;

	//query += '&address='+ f.address.value;
	//query += ''
}

function allegationRefreshEmail(checked) {

	var el = document.getElementById('tr-email');
	if (checked) {
		show('tr-email');
	} else {
		hide('tr-email');
	}
}

var browserName=navigator.appName;
if (browserName!="Microsoft Internet Explorer") {
	HTMLElement.prototype.click = function() {
		var evt = this.ownerDocument.createEvent('MouseEvents');
		evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
		this.dispatchEvent(evt);
	}
}