var C_IMAGES_DIR = 'images';

function reload () {
	window.location.reload();
}

function header_location(href) {
	window.location=href;
}

function window_open(url, win_name, features) { 
  window.open(url, win_name, features);
}

function switch_working_address(obj_select, c_complaining_state_solved) {
	var obj_working_address = document.getElementById('working_address');
	if (obj_select.value == c_complaining_state_solved) {
		obj_working_address.style.display = '';
	} else {
		obj_working_address.style.display = 'none';
	}
}

function open_web_window(href, width, height) {
	if (href.match("http://") != 'http://') {
		href = 'http://' + href;
	}
	new_window=window.open(href,'','width=' + width + ',height=' + height + ', left=' + (screen.availWidth - width - 30) + ', top=' + (30) + ', resizable=1, scrollbars=1')
}

function switch_advocate_opinion_postfix(text_obj) {
	if (text_obj.value == '') {
		document.getElementById('advocate_opinion_postfix').style.display = 'none';
	} else {
		document.getElementById('advocate_opinion_postfix').style.display = '';
	}
}

function add_next_attachement(caption) {
	var complaining_attatchments = document.getElementById('complaining_attatchments');
	complaining_attatchments.innerHTML += '<p><b>' + caption + ': </b><input type="file" size="50" name="attachment' + Math.random() + '" value="" /></p>';
}

function switch_login_to_register(login_to_register) {
	var table_login = document.getElementById('table_login');
	var table_register = document.getElementById('table_register');
	var radio_login = document.getElementById('radio_login');
	var radio_register = document.getElementById('radio_register');
	
	if (login_to_register == 1) {
		radio_register.checked = false;
		table_login.style.display = '';
		table_register.style.display = 'none';
	} else {
		radio_login.checked = false;
		table_login.style.display = 'none';
		table_register.style.display = '';
	}	
}

function find_object_position(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [(curleft - window.pageXOffset), (curtop - window.pageYOffset)];
}

function print_company_item(company_param) {

	var company_field_obj = new Array();
	var id_company = document.getElementById('id_company').value;
	
	company_field_obj[0] = document.getElementById('id_company');
	company_field_obj[1] = document.getElementById('company_search');
	company_field_obj[2] = document.getElementById('id_location');
	company_field_obj[3] = document.getElementById('ico');
	company_field_obj[4] = document.getElementById('id_company_type_cl');
	company_field_obj[5] = document.getElementById('address');
	company_field_obj[6] = document.getElementById('zip');
	company_field_obj[7] = document.getElementById('dic');
	company_field_obj[8] = document.getElementById('e_mail');
	company_field_obj[9] = document.getElementById('phone');
	company_field_obj[10] = document.getElementById('fax');
	company_field_obj[11] = document.getElementById('web');
	
	
	
	if (company_param) {
		var company_array = company_param.split('^');
		open_company_extended ();
	}	

	for (i=0; i<company_field_obj.length; i++) {
		if (company_param) {
			company_field_obj[i].value = company_array[i];
		} else if ((i != 1) && (id_company > 0) ) {
			company_field_obj[i].value = ( ((i==2) || (i==4)) ? 0 : '');
		}
		if (i != 1) { //str.replace
			if (company_param) {
				company_field_obj[i].className = company_field_obj[i].className + ' readonly';
				company_field_obj[i].readOnly = true;
			} else {
				company_field_obj[i].className = company_field_obj[i].className.replace(' readonly', '');
				company_field_obj[i].readOnly = false;
			}
		}	
	}
	
	company_field_obj[2].disabled = (company_param ? true : false);
	company_field_obj[4].disabled = (company_param ? true : false);
	
	if (company_param) {
		layer_message_off();
	}
}

function layer_message_off() {
	var layer_message_main = document.getElementById('layer_message_main');
	layer_message_main.style.display = 'none';
}

function open_company_extended () {
	var prefix = 'company_extended_';
	document.getElementById(prefix + 0).style.display='none';	
	for (var i=1; i<=9; i++) {
		document.getElementById(prefix + i).style.display='';	
	}
}

function set_comp_stamp (id_source, id_target) {
	document.getElementById(id_target).value = document.getElementById(id_source).innerHTML;
}

function obj_click(obj_id) {
	return document.getElementById(obj_id).click();
}	

function hide_reaction_link(obj_link, id_caption) {
	var obj_caption = document.getElementById(id_caption);
	obj_link.style.display = 'none';
	obj_caption.style.display = '';
}
	
function resize_textarea(obj, min, max) {

	if (obj.style.height == (min + 'px')) {
		obj.style.height = max + 'px';
	} else {
		obj.style.height = min + 'px';
	}
	// windowResize();
}

function select_all(obj) { 
	obj.select();
}	

function add_favorit()
{
	var browserName = navigator.appName;
 	if (browserName == "Microsoft Internet Explorer" && browserVer >= 4) 
	{
	  window.external.AddFavorite("http://staznosti.sme.sk", document.title);
	} else {
		window_open('/doc/favorit.html','favorit','width=500,height=550');
	}
}

function set_id_parent_communication (id_communication) {
	var id_parent_communication = document.getElementById('id_parent_communication');
	id_parent_communication.value = id_communication;
}

function change_contacted_via (source, e_mail_user_claimant, e_mail_user_company, e_mail_third_party) {
	var contacted_via = document.getElementById('contacted_via');
	var company_send_date = document.getElementById('company_send_date');
	var mail_array = new Array();

	mail_array[0] = '';
	mail_array[1] = e_mail_user_claimant;
	if (source.length == 3) {
		mail_array[2] = e_mail_third_party;
	} else {
		mail_array[2] = e_mail_user_company;
		mail_array[3] = e_mail_third_party;
	}
	contacted_via.value = mail_array[source.selectedIndex];
	if (source.selectedIndex == 2) {
		company_send_date.style.display='';
	} else {
		company_send_date.style.display='none';
	}
}

function copy_message () {
	var target = document.getElementById('message_text_0');
	var select = document.getElementById('id_copy_text');
	if (select.value > 0) {
		var source = document.getElementById('text_' + select.value);
		var text_string = source.innerHTML;
		
		text_string =  text_string.replace('/<br />/g', ''); // BIZTOS HOGY  KELL AZ '..' a regularisba ?
		text_string =  text_string.replace('/<br />/g', "\n"); // BIZTOS HOGY  KELL AZ '..' a regularisba ?
		
		target.value = text_string
			+ "\n----------------------------------------\n" 
			+ target.value;
	}	
}

function hide_unhide_element(id_element, id_image) {
	var obj_element = document.getElementById(id_element);
	var obj_image = document.getElementById(id_image);
	
	if (obj_element.style.display == 'none') {
		obj_element.style.display = '';
		if (obj_image != '') {
			obj_image.src =  C_IMAGES_DIR + '/close_16.gif';
		}
	} else {
		obj_element.style.display = 'none';
		if (obj_image != '') {
			obj_image.src =  C_IMAGES_DIR + '/open_16.gif';
		}
	}
}

function generate_password() {
    
    if (parseInt(navigator.appVersion) <= 3) { 
        alert("Sorry this only works in 4.0 browsers"); 
        return true; 
    }
    
    var length = 8;
    var sPassword = "";
    var noPunction = true;
    var randomLength = true;
    var randomChar = '';
    
    if (randomLength) { 
        length = Math.random(); 
        length = parseInt(length * 100);
        length = (length % 7) + 6
    }
    
    for (i=0; i < length; i++) {
        numI = get_random_num();
        if (noPunction) { while (check_punc(numI)) { numI = get_random_num(); } }
        randomChar = String.fromCharCode(numI);
        if ((randomChar != '1') && (randomChar != 'l') && (randomChar != 'O') && (randomChar != '0')) {
        	sPassword = sPassword + randomChar;
        } else {
        	//alert(randomChar + ' HEEEEEEEEEEEEEEEEEE');
        }
    }

    return sPassword;
}

function get_random_num() {
    // between 0 - 1
    var rndNum = Math.random()
    // rndNum from 0 - 1000    
    rndNum = parseInt(rndNum * 1000);
    // rndNum from 33 - 127        
    rndNum = (rndNum % 94) + 33;
    return rndNum;
}

function check_punc(num) {
    if ((num >=33) && (num <=47)) { return true; }
    if ((num >=58) && (num <=64)) { return true; }    
    if ((num >=91) && (num <=96)) { return true; }
    if ((num >=123) && (num <=126)) { return true; }
    return false;
}

