﻿//disablecontrols.js
function disableLinkObject(id)
{
	try {
		link= document.getElementById(id);
		if (link)
		{
			link.removeAttribute('href');
			link.onclick = new Function('return false;');
		}
	} catch (e){}
}

function disableButton(id)
{
	try {
		button=document.getElementById(id);
		button.disabled=true;
	} catch (e){}
}

function showWaitMessage()
{
	pls = document.getElementById("plzWait");
	pls.style.display = '';
}

function printPreview()
{
 var browserStub = '<OBJECT ID="webBrowser" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
 document.body.insertAdjacentHTML('beforeEnd', browserStub);
 webBrowser.ExecWB(7, 1);
 webBrowser.outerHTML = '';
}

//from http://www.java2s.com/Code/JavaScript/Form-Control/Blockentertextfield.htm
function blockEnter(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode :((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13) {
        return false;
    } else {
        return true;
    }
}

//from http://www.dynamicdrive.com/dynamicindex16/disableenter.htm
function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}   

    function set_rand_target()
    {
        var ran_unrounded = Math.random() * 100000;
        var ran_number = Math.floor(ran_unrounded);
        document.forms[0].target = "top" + ran_number;
    }

    function set_this_target()
    {
        //document.forms[0].target = "_self";
        //alert(document.forms[0].target);
        document.forms[0].removeAttribute('target');
    }
    
//atvērt formu citā logā (parasti drukāšanas skatu)
function openInNewWindow()
{
    set_rand_target(); //atveram print preview citā logā
    setTimeout('set_this_target()', 500); //atgriežamies uz galveno logu pēc neilga laika
}


function getCenterPosition(width, height)
{
    var left = (window.screen.width/2) - (width/2);
    var top = (window.screen.height/2) - (height/2);
    return 'top=' + top + ', left=' + left + ', width=' + width + ', height=' + height + ', scrollbars=1, menubar=0, resizable=1, toolbar=0, status=0, location=0';
}





// ----------------------------

	function disableButtonsInForm(form) {
		try {
	  		for (var i = 0; i < form.elements.length; i++)
  			{
  				try {
	    				if (form.elements[i].type.toLowerCase() == 'submit' || form.elements[i].type.toLowerCase() == 'button' )
      					form.elements[i].disabled = true;
      			} catch(e){}
      		}	
      	} catch(e){}
	}
	
function disableSelectsInForm(form) {
		try {
	  		for (var i = 0; i < form.elements.length; i++)
  			{
  				try {
	    				if (form.elements[i].tagName.toLowerCase() == 'select')
      					form.elements[i].disabled = true;
      			} catch(e){}
      		}	
      	} catch(e){}
	}
	function disableLink(id)
	{
		try {
				link =  document.getElementById(id);
				if (link)
				{
					link.removeAttribute('href');
					link.onclick = new Function('return false;');
				}

		} catch (e){}
	}
// -------------------




//utils.js
function switchStyle(r, style)
{
	r.className = 'row'+style;
}



//pkinput.js
var lastkey;

blockLetters = function(e)
{
    //var event = e || window.event;
    var intKeyCode = 0;
 
    if(window.event)
    {
        intKeyCode = event.keyCode;
    }
    else
    {
        intKeyCode = e.which;              
    }
 
      if( 
          intKeyCode != 0 //other functional keys (primary for TAB in Ff)
          &&
        intKeyCode != 8 //Backspace
          &&
        intKeyCode != 9 //TAB
          &&
//        intKeyCode != 32 //SPACE
//        &&
          intKeyCode != 43 //+
          &&
          intKeyCode != 44 //, 
          &&
          intKeyCode != 45 //-
          &&
          intKeyCode != 46 //.
          &&
          (intKeyCode < 48 ||  intKeyCode > 57)
    )
    {
        if(window.event)
        {
            event.returnValue = false;
        }
        else
        {
            e.preventDefault();
        }
    }

//event.which atgriež nospiestā simbola kodu iekš Ff un Opera
//event.stopPropagation() ir tas pats, kas event.cancelBubble = true
//event.preventDefault() ir tas pats, kas event.returnValue = false

//event.stopPropagation() NAV iekš IE
//event.stopPropagation() ir iekš Ff on Opera

//event.preventDefault() NAV iekš IE
//event.preventDefault() strādā kā vajag iekš Ff

//"return false" strādā kā vajag iekš IE
//"event.returnValue = false" strādā kā vajag iekš IE
}



function blockInvalidKeys(evt)
{
	block_type=0;
	try {
		if(arguments[1])
		{
			block_type=1;
		}
	} catch (e) {}
	
	var key;
	
    if(evt.which) // Netscape/Firefox/Opera
    {
        key = evt.which;
    }
    else // IE
    {
        key = evt.keyCode;
    }

	// delete (.) | backspace | pa kreisi | pa labi | tab 
	lastkey  = key;
	 
	    if(block_type == 0)
	    {
		    if ((key == 46) | (key == 8) | (key == 37) | (key == 39) | (key == 9) )
		    {
			    return true;
		    }
	    } else 
	    {
            if(block_type == 1)
            {
		            if ((key == 46) | (key == 8) | (key == 37) | (key == 39) | (key == 9)) 
		            {
			            return true;
		            }
            }
	    }
	    
	if ((key >= 48) && (key <= 57))
	{
		return true; 
	} else {
	
			if(key == 44)
		    {
		        // if (,) 
		        if(evt.keyCode)
		            evt.keyCode = 46; // works only IE
		        return true;		    
		    }
		return false;
	}
}



// personas koda ievads
var oFirstPart;
var oSecondPart;
function PKinput(firstPartId, secondPartId)
{
	oFirstPart = document.getElementById(firstPartId);

	oSecondPart = document.getElementById(secondPartId);
}

function PKinputOnKeyUp(evt)
{
	if (oFirstPart.value.length == 6 )
	{
		oSecondPart.focus();
	}
}

function PKinputOtherOnKeyUp(e)
{
	//alert(lastkey);
	if (oSecondPart.value.length == 0 && (lastkey==8 || lastkey==37))
	{
		oFirstPart.focus();
		tmp = oFirstPart.value;
		oFirstPart.value = tmp;
	}	
}


function setFocus(strElementID)
{
    document.getElementById(strElementID).focus();
}


function sleep(naptime)
{
    naptime = naptime * 1000;
    var sleeping = true;
    var now = new Date();
    var alarm;
    var startingMSeconds = now.getTime();
    //alert("starting nap at timestamp: " + startingMSeconds + "\nWill sleep for: " + naptime + " ms");
    while(sleeping){
     alarm = new Date();
     alarmMSeconds = alarm.getTime();
     if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
    }
}


var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
