
// addEvent and removeEvent
// cross-browser event handling for IE5+,  NS6 and Mozilla
function addEvent(elm, evType, fn) {
	if (elm.addEventListener){
		elm.addEventListener(evType, function(e){elm[fn](e);}, false);
		return true;
	} else if (elm.attachEvent){
		var r = elm.attachEvent("on"+evType, function(e){elm[fn](e);});
		return r;
	} else {
		var originalHandler = elm["on" + evType]; 
		if ( originalHandler ) { 
			elm["on" + evType] = function(e){originalHandler(e);elm[fn](e);}; 
		} else { 
			elm["on" + evType] = elm[fn]; 
		}
	}
} 

//funkcijas kas veic visas lapas sagatavoshanas lietas
window.initLinksHandler = initLinks;
addEvent(window, 'load', 'initLinksHandler');
window.initDeletesHandler = initDels;
addEvent(window, 'load', 'initDeletesHandler');
window.initInputsHandler = initInputs;
addEvent(window, 'load', 'initInputsHandler');
window.initFiltersHandler = initFilters;
addEvent(window, 'load', 'initFiltersHandler');
if (document.all) {
	window.initMenusHandler = initMenus;
	addEvent(window, 'load', 'initMenusHandler');
}
window.initGoogleHandler = initGoogle;
addEvent(window, 'load', 'initGoogleHandler');

var packs = {
	buttons : [],
	currid : 0,
	initButton : function (id) {
		if (id != '' && this.buttons[id] == undefined) {
			this.buttons[id] = 0;
		}
	},
	findButton : function (html) {
		var divs = html.getElementsByTagName("div");
		var id = 0;
		for (var i=0;i<divs.length;i++) {
			if (divs[i].id != '') {
				id = divs[i].id.substr(0,4);
				if (id == 'hsfb' || id == 'pgfb') {
					this.currid = divs[i].id.substr(4,divs[i].id.length);
					this.initButton(this.currid);
					return divs[i];
				}
			}
		}
		return false;
	},
	updateByClass : function (id, clname) {
		// by default nav pievienots
		var tmpstatus = 0;
		// ir pievienots
		if (clname == "brem") {
			tmpstatus = 1;
		}
		// ja ir izmainiijies
		if (this.buttons[id] != tmpstatus) {
			var oldprice = 0;
			var newprice = 0;
			var featprice = 0;
			var prcont = document.getElementById('price_cont');
			// vecaa cena kopeejaa
			if (prcont) {
				oldprice = parseFloat(prcont.childNodes[0].data);
			}
			// shiis fiichas cena
			var fprcont = document.getElementById('pgfpr'+id);
			if (fprcont) {
				featprice = parseFloat(fprcont.childNodes[0].data);
			}
			// ja ir pievienots, jaapieskaita
			if (tmpstatus == 1) {
				newprice = oldprice + featprice;
			// ja ir nonjemts - jaaatnjem
			} else {
				newprice = oldprice - featprice;
			}
			// aizvieto gala cenu
			prcont.childNodes[0].replaceData(0,prcont.childNodes[0].data.length,newprice.toFixed(2));
		}
		this.buttons[id] = tmpstatus;
	},
	beforeButton : function (html) {
		var but = this.findButton(html);
		if (but && this.currid > 0) {
			if (this.buttons[this.currid] == 1) {
				but.className = "brem";
			} else {
				but.className = "badd";
			}
			but.onclick = function() {
				var currid = this.id.substr(4,this.id.length);
				if (this.className == "badd") {
					this.className = "brem";
				} else {
					this.className = "badd";
				}
				packs.updateByClass(currid, this.className);
			}
		}
	},
	afterButton : function (html) {
		var but = this.findButton(html);
		if (but && this.currid > 0) {
			var pgbut = document.getElementById("pgfb"+this.currid);
			pgbut.className = but.className;
			packs.updateByClass(this.currid, but.className);
		}
	}
}

//inicializee visas lietas, kas var buut uz linkiem
function initLinks() {
	var shs_load = false;
	var elems = document.getElementsByTagName('a');
	for (var i=0; i<elems.length; i++) {
		// pieliek hs izsaukumus formu linkiem
		if (/(add_link)|(adv_search_link)|(edit_link)|(add_to_nav_link)|(copy)/i.test(elems[i].className)) {
			elems[i].rel = "highslide-iframe";
			// ja nav statiskais links
			if (/id=/i.test(elems[i].href)) {
				elems[i].href += '&layout=aplain';
			// ja statiskais links
			} else {
				if (elems[i].href.substring(elems[i].href.length-1) != '/') {
					elems[i].href += '/';
				}
				elems[i].href += 'layout,aplain/';
			}
			shs_load = true;
		}
		// pieliek klikshkji uz tabulas rindas, ja ir edit saite
		if (/(edit_link)|(show)/i.test(elems[i].className) && elems[i].parentNode.parentNode.id != '') {
			var father = elems[i].parentNode.parentNode;
			if (father.tagName.toLowerCase() == "tr") {
				for (var j=0; j<father.childNodes.length; j++) {
					var td = father.childNodes[j];
					if (td.nodeType == 1) {
						if (td.tagName.toLowerCase() == 'td' && !/actions/i.test(td.className)) {
							td.style.cursor = 'pointer';
							td.edit_handler = send_to_edit;
							addEvent(td, 'click', 'edit_handler');
						}
					}
				}
			}
		}
		// pieliek klikshkji uz tabulas rindas, ja ir edit saite
		if (/(medit_link)/i.test(elems[i].className)) {
			elems[i].medit_handler = append_ids;
			addEvent(elems[i], 'click', 'medit_handler');
		}
		//aizsardziiba email linkiem
		if (/(email)/i.test(elems[i].className) && document.getElementById) {
			var mail = '';
			var add_span = false;
			// without span
			if (elems[i].firstChild.nodeType == 3) {
				mail = elems[i].firstChild.nodeValue;
				add_span = true;
			// with span
			} else if (elems[i].firstChild.nodeType == 1) {
				mail = elems[i].firstChild.firstChild.nodeValue;
			}
			if (mail != '') {
				if (mail != '') {
					var new_mail = 'mailto:';
					for (var j=mail.length-1; j>=0; j--) {
						new_mail = new_mail + mail.charAt(j);
					}
					elems[i].href = new_mail;
					if (add_span) {
						var tmp = document.createElement('span');
						tmp.appendChild(document.createTextNode(mail));
						elems[i].replaceChild(tmp, elems[i].firstChild);
					}
				}
			}
		}
		// pieliek HS izsaukumus
		if (/shs/i.test(elems[i].rel)) {
			shs_load = true;
			packs.beforeButton(elems[i].parentNode.parentNode);
		}
	}
	if (shs_load) {
		var prefix = '';
		var suffix = '_src';
		var head = document.getElementsByTagName('head')[0];
		var shsjs2 = document.createElement('script');
		shsjs2.src = 'scripts/shs'+suffix+'.js';
		shsjs2.type = "text/javascript";
		head.appendChild(shsjs2);
		var shsjs1 = document.createElement('script');
		if (/(admin)/i.test(document.location)) {
			prefix = 'admin_';
		}
		shsjs1.src = 'scripts/'+prefix+'shs_init'+suffix+'.js';
		shsjs1.type = "text/javascript";
		head.appendChild(shsjs1);
		var tmp = document.createElement('link');
		tmp.media = "screen, presentation";
		tmp.href = 'css/shs.css';
		tmp.type = "text/css";
		tmp.rel = "Stylesheet";
		head.appendChild(tmp);
	}
}
//atver editeeshanas formu
function send_to_edit() {
	var id = this.parentNode.id;
	var elems = this.parentNode.getElementsByTagName('a');
	var edit = -1;
	var show = -1;
	var trigger = -1;
	// find edit and/or show links
	for (var i=0; i<elems.length; i++) {
		if (/(edit_link)/.test(elems[i].className)) {
			edit = i;
		}
		if (/(show)/.test(elems[i].className)) {
			show = i;
		}
	}
	// show links have higher priority, so if they are there - trigger them first
	if (show != -1) {
		trigger = show;
	} else if (edit != -1) {
		trigger = edit;
	}
	// if some trigger found
	if (trigger != -1) {
		if (elems[trigger].onclick) {
			this.href = elems[trigger].href;
			this.onclick = elems[trigger].onclick;
			this.onclick();
		} else {
			window.location = elems[trigger].href;
		}
	}
	return true;
}
//pieliek izveletos medit idus
function append_ids() {
	var itids = mults.getFullBoxes();
	if (!this.defhref) {
		this.defhref = this.href;
	} else {
		this.href = this.defhref;
	}
	// ja nav statiskais links
	if (/id=/i.test(this.href)) {
		this.href += '&itid='+itids;
		// ja statiskais links
	} else {
		if (this.href.substring(this.href.length-1) != '/') {
			this.href += '/';
		}
		this.href += 'itid,'+itids+'/';
	}
	return false;
}
//iekjeksee checkboksu rindai
function check_multiple() {
	var id = this.parentNode.id.replace(/it/,'');
	var elems = this.parentNode.getElementsByTagName('input');
	for (var i=0; i<elems.length; i++) {
		if (/(check_multiple)/.test(elems[i].className)) {
			if (elems[i].checked == true) {
				elems[i].checked = false;
				mults.disableBox(id);
				this.parentNode.className = this.parentNode.className.replace(/checked/,'');
			} else {
				elems[i].checked = true;
				mults.enableBox(id);
				this.parentNode.className += ' checked';
			}
		}
	}
	return true;
}

//pieliek visiem dzeeshanas linkiem tukshu paarbaudes pop-up ar OK un CANCEL opcijaam
function initDels () {
	var elems = document.getElementsByTagName('a');
	for (var i=0; i<elems.length; i++) {
		if (elems[i].className.indexOf("del_link") != -1) {
			elems[i].onclick = function() {
				var answer = confirm("");
				if (answer) {
					return true;
				} else {
					return false;
				}
			}
		}
	}
}
var mults = {
	boxes : [],
	currid : 0,
	initBox : function (id) {
		if (id != '' && this.boxes[id] == undefined) {
			this.boxes[this.boxes.length] = {id: id, val: 0};
		}
	},
	enableBox : function(id) {
		for (var i=0; i<this.boxes.length; i++) {
			if (this.boxes[i].id == id) {
				this.boxes[i].val = 1;
				break;
			}
		}
	},
	disableBox : function(id) {
		for (var i=0; i<this.boxes.length; i++) {
			if (this.boxes[i].id == id) {
				this.boxes[i].val = 0;
				break;
			}
		}
	},
	getFullBoxes : function() {
		var ret = ''
		for (var i=0; i<this.boxes.length; i++) {
			if (this.boxes[i].val>0) {
				ret += this.boxes[i].id+',';
			}
		}
		if (ret.substring(ret.length-1) == ',') {
			ret = ret.substring(0, ret.length-1);
		}
		return ret;
	}
}
//pieliek noClick event'us selektbokshu veertiibu paarvietoshanas pogaam
function initInputs () {
	var elems = document.getElementsByTagName('input');
	for (var i=0; i<elems.length; i++) {
		if (elems[i].className.indexOf("move") != -1) {
			elems[i].onclick = function() {
				move(this.id);
			}
			//pieliek formas onsubmit, ka ir jaaieselektee visi _select elementi pirm submita
			if (!elems[i].parentNode.parentNode.parentNode.onsubmit) {
				var selectable;
				selectable = document.getElementById(elems[i].id.substr(0, elems[i].id.indexOf("_")) + '_selected');
				elems[i].parentNode.parentNode.parentNode.onsubmit = function() {
					for (var i = 0; i < selectable.length; i++) {
						selectable.options[i].selected = true;
					}
					return true;
				}
			}
		}
		//lai nebuutu lieka vazaashanaas pa input laukiem, pieliek shito arii sheit klaat
		if (elems[i].name == 'clear' && elems[i].type == 'button') {
			initClear(elems[i].id);
		}
		//pieliek autofocus autorizaacijas formai
		if (elems[i].name == 'handle' && /auth/i.test(elems[i].parentNode.parentNode.parentNode.className) && /main/i.test(elems[i].parentNode.parentNode.parentNode.id)) {
			elems[i].focus();
		}
		//pieliek arii accesskey chekoshanu
		if (elems[i].getAttribute('accesskey')) {
			var acckey = elems[i].getAttribute('accesskey');
			if (elems[i].type == 'submit') {
				elems[i].value = elems[i].value + ' [Alt+' + acckey + ']';
			}
		}
		// pieliek onlcik visai tabulas rindai pie multiple checkboksiem
		if (/(check_multiple)/i.test(elems[i].className) && elems[i].parentNode.parentNode.id != '') {
			mults.initBox(elems[i].parentNode.parentNode.id.replace(/it/,''));
			var father = elems[i].parentNode.parentNode;
			if (father.tagName.toLowerCase() == "tr") {
				for (var j=0; j<father.childNodes.length; j++) {
					var td = father.childNodes[j];
					if (td.nodeType == 1) {
						if (td.tagName.toLowerCase() == 'td') {
							if (!/check_multiple/i.test(td.className) ) {
								td.style.cursor = 'pointer';
								td.check_handler = check_multiple;
								addEvent(td, 'click', 'check_handler');
							}
							//nonjem edit funkciju
							td.edit_handler = function(){};
						}
					}
				}
			}
		}
	}
}
	
//paredzeeta tiesiibu selektbokshu veertiibu paarvietoshanai
function move(id) {
	var curr_parts = new Array();
	curr_parts = id.split('_');
	if (curr_parts.length == 2) {
		//selekts, no kura biida prom un kuram liek klaat
		if (curr_parts[1] == 'left') {
			from = document.getElementById(curr_parts[0] + '_all');
			to = document.getElementById(curr_parts[0] + '_selected');
		} else {
			from = document.getElementById(curr_parts[0] + '_selected');
			to = document.getElementById(curr_parts[0] + '_all');
		}
		if (from.length > 0) {
			for (var i = 0; i < from.length; i++) {
				if (from.options[i].selected == true) {
					to.options[to.length] = new Option(from.options[i].text, from.options[i].value);
					from.options[i] = null;
					i = i-1;
				}
			}
		} else {
			return false;
		}
	} else {
		return false;
	}
}

//pieliek clear pogaam visu lauku notiiriishanu
function initClear (id) {
	var obj = document.getElementById(id);
	obj.onclick = function () {
		var formobj = this.parentNode.parentNode;
		for (var i = 0; i < formobj.elements.length; i++) {
			var eltype = formobj.elements[i].type;
			if (eltype == 'text' || eltype == 'password' || eltype == 'textarea') {
				formobj.elements[i].value = '';
			}
		}
	}
}

//pieliek visiem filtru selektbokshiem onChange notikumu
function initFilters() {
	var fss = document.getElementsByTagName('select');
	for (var i=0; i<fss.length; i++) {
		if (fss[i].parentNode.parentNode.className.indexOf('filter') != -1) {
			fss[i].onchange = function() {
				this.form.submit();
				return true;
			}
		}
	}
}

//prieksh IE inicializee dorp-down menu
function initMenus() {
	var menus = document.getElementsByTagName('ul');
	for (var i=0; i<menus.length; i++) {
		if (menus[i].currentStyle.color == "maroon") {
			var lis = menus[i].getElementsByTagName('li');
			for (var i=0; i<lis.length; i++) {
				lis[i].onmouseover = function () {
					var uls = this.getElementsByTagName('ul');
					if (uls[0]) {
						uls[0].style.display = 'block';
					}
				}
				lis[i].onmouseout = function () {
					var uls = this.getElementsByTagName('ul');
					if (uls[0]) {
						uls[0].style.display = 'none';
					}
				}
			}
		}
	}
}
//pieliek analytics vajadziigo gabalu beigaas
function initGoogle() {
  var b = document.getElementsByTagName('body');
  if (window.location.pathname.indexOf('admin') == -1 && b[0] != null) {
    b = b[0];
    var tmp = document.createElement('script');
    tmp.src = 'http://burti.lv/ga.js';
    tmp.type = "text/javascript";
    b.appendChild(tmp);
    var tmp = document.createElement('script');
    tmp.src = 'scripts/google_ga.js';
    tmp.type = "text/javascript";
    b.appendChild(tmp);
  }
}

