var until = "<h2><img src='./images/loading.gif' /> Изисква данни от сървъра ...</h2>";
var usualColor = "'#ffffff'";
var wrongColor = "'#ffb770'";
var urlString = '';

function GetXmlHttpObject(handler) {
	var objXmlHttp = null
	if (navigator.userAgent.indexOf("Opera") >= 0) {
		alert("Този пример не работи в Opera")
		return

	}
	if (navigator.userAgent.indexOf("MSIE") >= 0) {
		var strName = "Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5") >= 0) {
			strName = "Microsoft.XMLHTTP"
		}
		try {
			objXmlHttp = new ActiveXObject(strName)
			objXmlHttp.onreadystatechange = handler
			return objXmlHttp
		} catch (e) {
			alert("Error. Scripting for ActiveX might be disabled")
			return

		}
	}
	if (navigator.userAgent.indexOf("Mozilla") >= 0) {
		objXmlHttp = new XMLHttpRequest()
		objXmlHttp.onload = handler
		objXmlHttp.onerror = handler
		return objXmlHttp
	}
}

function DynamicContent(page,name,param) {
	var DynamicContentLink =  document.getElementById('menuTabsBuffer');
	DynamicContentLink.style.display = 'block';
	DynamicContentLink.innerHTML = '<a href="#" onClick="javascript:DynamicContent('+ "'" + page + "',"+ "'" + name + "'," + "'" + param + "');switchMenu(this.id,'main');" + '"  class="selected">'+ name +'</a>';
	switchMenu('menuTabsBuffer','main');
	creteHtmlField('./?page=' + page + '' + param + '&output=ajax','mainContainer');
}

function creteHtmlField(url, place) {
	eval("var buffer = typeof " + place + "HtmlField");
	if (buffer == "undefined") {
		eval(place + "HtmlField = new HtmlField()");
	}
	eval(place + "HtmlField.set('" + url + "&HtmlFieldName=" + place + "HtmlField','" + place + "')");
}

function HtmlField() {
	this.url = "";
	var divHtmlFieldID = 'mainContainer';

	this.setPlaceID = function(place) {
		divHtmlFieldID = place;
	}
	this.handleHttpResponse = function() {

		var targetObj = document.getElementById(divHtmlFieldID);
		targetObj.innerHTML = until;
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.status == 200) {
				try {
					targetObj.innerHTML = xmlHttp.responseText;
				} catch (e) {
					alert("Грешка при прочитене на отговора: " + e.toString());
				}

				try {
					if (document.getElementById("tabsdivcontainer")) {
						var tabs = new ddajaxtabs("tabsbody",
						"tabsdivcontainer");
						tabs.setpersist(true);
						tabs.setselectedClassTarget("link"); // "link" or
						// "linkparent"
						tabs.init();
					}
				} catch (e) {
					alert("Грешка при прочитене на отговора: " + e.toString());
				}

			} else {
				alert("Има проблем при извличането на данните:\n"
				+ xmlHttp.statusText);
			}
		}
	}
	this.sendData = function() {
		var myRandom = parseInt(Math.random() * 99999999); // cache buster
		xmlHttp = GetXmlHttpObject(this.handleHttpResponse);

		xmlHttp.open("GET", this.url + "&rand=" + myRandom, true);
		// xmlHttp.setRequestHeader("Content-Type","text/html;charset=");
		xmlHttp.send(null);
		document.title = "www.x3news.com";
		var alabala=this.url + "&rand=" + myRandom;
		/// alert(alabala.replace(/.\/\?, "$1"));
		// location.replace("");
		// alert(getURLString());
	}
}

function getURLString(){
	var href = window.location.href;
	var position = href.indexOf('#');
	if (position==-1){
		position = href.indexOf('?');
	}

	if (position>0){
		position++;
		return href.slice(position);
	}
	else{
		return "";
	}
}



HtmlField.prototype = {
	set : function(url, place) {
		this.url = url;
		if (place != '') {
			this.setPlaceID(place);
		}
		this.sendData();
	}
};

function liveSearch(str,url,place) {
	var divLiveSearchID = 'livesearch';
	if (place.length > 0) {
		divLiveSearchID = place;
	}
	/*	if (str.length == 0) {
	document.getElementById(divLiveSearchID).innerHTML = "";
	document.getElementById(divLiveSearchID).style.border = "0px";
	return;
	}*/

	this.handleHttpResponse = function() {
		var targetObj = document.getElementById(divLiveSearchID);
		targetObj.innerHTML = until;
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.status == 200) {
				try {
					targetObj.innerHTML = xmlHttp.responseText;
				} catch (e) {
					alert("Грешка при прочитене на отговора: " + e.toString());
				}
			} else {
				alert("Има проблем при извличането на данните:\n"
				+ xmlHttp.statusText);
			}
		}
	}

	var myRandom = parseInt(Math.random() * 99999999); // cache buster
	xmlHttp = GetXmlHttpObject(this.handleHttpResponse);

	xmlHttp.open("GET", url +"&sought=" + str + "&" + myRandom, true);
	xmlHttp.setRequestHeader("Content-Type","text/html;charset=utf-8'");
	xmlHttp.send(null);

}

function disableEnterKey(e){
	var key;
	if(window.event){
		key = window.event.keyCode; //IE
	} else {
		key = e.which; //firefox
	}
	return (key != 13);
}

function submitForm(url,submittedFields,place) {
	var divFormID = 'leftTop';
	if (place.length > 0) {
		divFormID = place;
	}
	this.requiredFilds = function(str) {
		urlString = '';
		var status = true;
		if (str.length > 0) {
			var fieldsArray = str.split("|");
			for (i in fieldsArray) {

				if(fieldsArray[i] == 'attachedFilesName' || fieldsArray[i] == 'recipientName'){
					var varName = 'attachedFileID[]';
					if(fieldsArray[i] == 'recipientName'){
						varName = 'recipientID[]';
					}
					var form = document.forms['ajaxForm']
					for (i = 0; i < form.elements.length; i++) {
						if (form.elements[i].type == "checkbox"){
							if(form.elements[i].name == varName){
								if (form.elements[i].checked) {
									urlString += form.elements[i].name + "=" + eval("form.elements[i].value") + "&";
								}
							}
						}
					}

				} else {
					fildStatus = true;
					urlString += fieldsArray[i] + "=" + eval("document.getElementById('" + fieldsArray[i] + "').value") + "&";
					eval("var " + fieldsArray[i] + " = document.getElementById('" + fieldsArray[i] + "').value");

					if (eval("(document.getElementById('" + fieldsArray[i] + "').tagName.toLowerCase() == 'input' || document.getElementById('" + fieldsArray[i] + "').tagName.toLowerCase() == 'textarea')" )) {
						eval("document.getElementById('" + fieldsArray[i] + "').style.backgroundColor=" + usualColor);
						if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase() == 'required'" )) {
							if (eval(fieldsArray[i] + ".length == 0"  )) {
								eval("document.getElementById('" + fieldsArray[i] + "').style.backgroundColor=" + wrongColor);
								fildStatus = false;
							}
						} else if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase() == 'email'" )) {
							fildStatus = emailValidation(eval("document.getElementById('" + fieldsArray[i] + "').value"));
						} else if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase() == 'length'" )) {
							fildStatus = lengthValidation(fieldsArray[i]);
						} else if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase() == 'float'" )) {
							fildStatus = floatValidation(eval("document.getElementById('" + fieldsArray[i] + "').value"));
						} else if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase() == 'bulstatuic'" )) {
							fildStatus = bulstatUicValidation(fieldsArray[i]);
						} else if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase() == 'date'" )) {
							fildStatus = dateValidation(eval("document.getElementById('" + fieldsArray[i] + "').value"));
						} else if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase() == 'is_date'" )) {
							fildStatus = isDateValidation(eval("document.getElementById('" + fieldsArray[i] + "').value"));
						} else if (eval("document.getElementById('" + fieldsArray[i] + "').className.toLowerCase().substr(0,6) == 'nomore'" )) {
							fildStatus = noMoreValidation(eval("document.getElementById('" + fieldsArray[i] + "').value"),eval("document.getElementById('" + eval("document.getElementById('" + fieldsArray[i] + "').className.toUpperCase().substr(7)") + "').value"));
						}

						if (fildStatus == false) {
							eval("document.getElementById('" + fieldsArray[i] + "').style.backgroundColor=" + wrongColor);
							status = false;
						}
					}
				}
			}
		}
		return status;
	}
	this.handleHttpResponse = function() {
		var targetObj = document.getElementById(divFormID);
		targetObj.innerHTML = until;
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.status == 200) {
				try {
					targetObj.innerHTML = xmlHttp.responseText;
				} catch (e) {
					alert("Грешка при прочитене на отговора: " + e.toString());
				}
				try {
					if (document.getElementById("tabsdivcontainer")) {
						var tabs = new ddajaxtabs("tabsbody",
						"tabsdivcontainer");
						tabs.setpersist(true);
						tabs.setselectedClassTarget("link"); // "link" or
						// "linkparent"
						tabs.init();
					}
				} catch (e) {
					alert("Грешка при прочитене на отговора: " + e.toString());
				}
			} else {
				alert("Има проблем при извличането на данните:\n"
				+ xmlHttp.statusText);
			}
		}
	}
	this.sendData = function(data) {
		var myRandom = parseInt(Math.random() * 99999999); // cache buster
		xmlHttp = GetXmlHttpObject(this.handleHttpResponse);

		xmlHttp.open("POST", url, true);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
		// xmlHttp.setRequestHeader("Accept-Charset", "UTF-8");
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.send(data + "&rand=" + myRandom);
	}

	if (this.requiredFilds(submittedFields)) {
		this.sendData(urlString);
	}

	/*
	for (i=0; i<obj.childNodes.length; i++) {
	alert(obj.childNodes[i].tagName );
	if (obj.childNodes[i].tagName == "INPUT") {
	if (obj.childNodes[i].type == "text") {
	getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
	}
	if (obj.childNodes[i].type == "checkbox") {
	if (obj.childNodes[i].checked) {
	getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
	} else {
	getstr += obj.childNodes[i].name + "=&";
	}
	}
	if (obj.childNodes[i].type == "radio") {
	if (obj.childNodes[i].checked) {
	getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
	}
	}
	}
	if (obj.childNodes[i].tagName == "select") {
	var sel = obj.childNodes[i];
	getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
	}

	}*/

}

function find_payment(PR, IN, PE) {
	var PAY = (PR * IN) / (1 - Math.pow(1 + IN, -PE))
	return PAY
}
function AcceptDigits(objtextbox){
	var exp = /[^0-9]/g;
	objtextbox.value = objtextbox.value.replace(exp,'');
}
function MinusAndAcceptDigits(objtextbox){
	var exp = /[^0-9\-]/g;
	objtextbox.value = objtextbox.value.replace(exp,'');
}

function AcceptDigitsAndSpace(objtextbox){
	var exp = /[^0-9\s]/g;
	objtextbox.value = objtextbox.value.replace(exp,'');
}
function AcceptDigitseAndDot(objtextbox){
	var exp = /[^0-9\.]/g;
	objtextbox.value = objtextbox.value.replace(exp,'');
}
function AcceptPhone(objtextbox){
	var exp = /[^0-9\s\;]/g;
	objtextbox.value = objtextbox.value.replace(exp,'');
}
function AcceptDigitsAndSpaceAndDot(objtextbox){
	var exp = /[^0-9\s\.]/g;
	objtextbox.value = objtextbox.value.replace(exp,'');
}

function dateValidation(date){
	//var emailPattern = ^([A-Za-z0-9]{1,}([-_\.&'][A-Za-z0-9]{1,}){0,}){1,}@(([A-Za-z0-9]{1,}[-]{0,1})\.){1,}[A-Za-z]{2,6}$;
	var datePattern =  /^[0-3]?[0-9]\-[01]?[0-9]\-[12][90][0-9][0-9]$/
	return datePattern.test(date);
}

function isDateValidation(date){
	if(date.length > 0){
		var datePattern =  /^[0-3]?[0-9]\-[01]?[0-9]\-[12][90][0-9][0-9]$/
		return datePattern.test(date);
	} else {
		return true;
	}
}

function emailValidation(email){
	//var emailPattern = ^([A-Za-z0-9]{1,}([-_\.&'][A-Za-z0-9]{1,}){0,}){1,}@(([A-Za-z0-9]{1,}[-]{0,1})\.){1,}[A-Za-z]{2,6}$;
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailPattern.test(email);
}
function floatValidation(number){
	//var emailPattern = ^([A-Za-z0-9]{1,}([-_\.&'][A-Za-z0-9]{1,}){0,}){1,}@(([A-Za-z0-9]{1,}[-]{0,1})\.){1,}[A-Za-z]{2,6}$;
	var floatPattern = /^[0-9]+(\.([0-9]{1,2}))*$/;
	return floatPattern.test(number);
}

function lengthValidation(id){
	if(eval("document.getElementById('" + id + "').value.length == document.getElementById('" + id + "').maxLength")){
		return true;
	} else {
		return false;
	}
}

function bulstatUicValidation(id){
	if(eval("document.getElementById('" + id + "').value.length == 10 || document.getElementById('" + id + "').value.length == 13")){
		return true;
	} else {
		return false;
	}
}

function ShowHide(id) {
	var e = document.getElementById(id);
	// alert (e.style.display );
	if(e.style.display == 'none')
	e.style.display = 'block';
	else
	e.style.display = 'none';
}


function ShowIndices(language) {
	var Indices = new SWFObject("./ticker/ChartMachine.swf?v=05012012", "Indices", "290", "260", "7", "#ffffff");
	Indices.addParam("allowScriptAccess", "sameDomain");
	Indices.addParam("wmode", "transparent");
	Indices.write("Indices");
	Indices.addVariable("lang", language);
}

function FillBULSTAT(name,id){
	document.getElementById('livesearcharea').value = name;
	document.getElementById('BULSTAT').value = id;
	document.getElementById('deleteCompany').style.display = 'inline';
	document.getElementById('deleteCompany').innerHTML = '<a href="javascript:DeleteBULSTAT();"><img src="./images/action_delete_short.png" alt="" title="" /></a>';
	ClearLiveSearchResults();
}

function ClearLiveSearchResults() {
	document.getElementById('LiveSearchResults').innerHTML = '';
}

function FillMessage(name,id,regarding){
	document.getElementById('message').value = name;
	document.getElementById('MESSAGE_TYPE').value = id;

	if (regarding.length > 0){
		document.getElementById('About').style.display = 'block';
		document.getElementById('REGARDING').value = regarding;

	} else {
		document.getElementById('About').style.display = 'none';
		document.getElementById('REGARDING').value = '';
	}
	document.getElementById('deleteRegarding').style.display = 'inline';
	document.getElementById('deleteRegarding').innerHTML = '<a href="javascript:DeleteMessage();"><img src="./images/action_delete_short.png" alt="" title="" /></a>';
}

function DeleteBULSTAT(){
	document.getElementById('BULSTAT').value = '';
	document.getElementById('livesearcharea').value = '';
	document.getElementById('deleteCompany').innerHTML = '';
	document.getElementById('deleteCompany').style.display = 'none';
}

function DeleteMessage(){
	document.getElementById('MESSAGE_TYPE').value = '';
	document.getElementById('message').value = '';
	document.getElementById('REGARDING').value = '';
	document.getElementById('About').style.display = 'none';
	document.getElementById('deleteRegarding').innerHTML = '';
	document.getElementById('deleteRegarding').style.display = 'none';
}

function switchMenu(id,menu){
	switch (menu)	{
		case 'navigator':
		var linkArray = new Array("X3Analyses","Publication","MyX3News","Companies","News","Reports");
		break;
		case 'main':
		var linkArray = new Array("LatestNews","LatestReports","menuTabsBuffer");
		break;
		case 'indices':
		var linkArray = new Array("ShowIndices","ExchangeRates");
		break;

	}
	for (i in linkArray) {
		document.getElementById(linkArray[i]).className = 'none';
	}
	document.getElementById(id).className = 'selected';
}

function showNews(id,extri_id,show){
	var div_id = 'newsContainer_'+id;
	ShowHide(div_id);
	if (document.getElementById(div_id).innerHTML.length == 0) {
		creteHtmlField('./?page=ShowNews&ExtriID='+extri_id+'&output=ajax',div_id);
	}

}

function showCompanyTarget(bulstat,target){
	ShowHide(target);
	//if (document.getElementById(target).innerHTML.length == 0) {
		creteHtmlField('./?page=Company&BULSTAT=' + bulstat + '&target=' + target + '&output=ajax',target);
	// }

}

function showNews_(id){
	var wrap = "newsWrap_"+id;
	var news = "newsContainer_"+id;
	document.getElementById(wrap).className = 'newsActivWrap';
	document.getElementById(news).className = 'newsActivContainer';
}

function showDataSet(){
	document.getElementById('dataSet').style.display = 'block';
	document.getElementById('dataSetFilter').style.display = 'none';
}

function showInvoices(lang){
	document.getElementById('Invoices').innerHTML = '<iframe src="https://www.x3news.com:9443/invoices/?lang=' + lang + '" width="690px" height="520px" frameborder="0" scrolling="auto"></iframe>';
}


 
function setCompaniesList(source_id,destination_id){
	var obj_source=document.getElementById(source_id); 
	var obj_destination=document.getElementById(destination_id); 
	for (var i=0; i<obj_source.options.length; i++) {
		obj_destination.value = obj_destination.value + obj_source.options[i].value+ '|' ;
	}
	
}
