var coordinatesX = new Array();
var coordinatesY = new Array();
var seriesArray = new Array();
var xValues = new Array();

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function init() {
	if (document.postForm == null){
		return;
	}
	lsLine = document.postForm.line.value;
	lsSeries = document.postForm.series.value;
	index = lsSeries.indexOf(";");
	lsString="";
	sk=0;
	while (index>=0) {
		lsString = lsSeries.substring(0, index);
		lsSeries = lsSeries.substring(index+1, lsSeries.length);
		index = lsSeries.indexOf(";");
		seriesArray[seriesArray.length]=lsString;
	}
	index = lsLine.indexOf("|");
	while (index>=0) {
		lStr=""; lStr1="";
		lsString = lsLine.substring(0, index);
		lsLine = lsLine.substring(index+1, lsLine.length);
		index = lsLine.indexOf("|");
		iIndex = lsString.indexOf(";");
		lString = lsString.substring(0, iIndex);
		lsString = lsString.substring(iIndex+1, lsString.length);
		lArray = new Array();
		iIndex = lsString.indexOf(";");
		lArray[lArray.length] = lString;
		sk=0;
		while (iIndex >=0) {
			lStr1 = lsString.substring(0, iIndex);
			lArray[lArray.length] = lStr1;
			lsString = lsString.substring(iIndex+1, lsString.length);	
			iIndex = lsString.indexOf(";");
			lStr = lsString.substring(0, iIndex);
			lsString = lsString.substring(iIndex+1, lsString.length);	
			lStr = "<table><tr><td nowrap>"/*+seriesArray[sk] + " "*/ + lStr+"</td></tr></table>";
			lArray[lArray.length] = lStr;
			iIndex = lsString.indexOf(";");
			sk++;			
		}
		coordinatesX[coordinatesX.length]=lArray;
	}
};

function getOffsetTop(Element){
	var top=1; 
	if (document.postForm != null){
		Element = document.postForm.chart.offsetParent;
	    while (Element.offsetParent){				
			top += Element.offsetTop ;
			Element = Element.offsetParent ;					
		};
	}
	return top;
};	

function getOffsetLeft(Element){
	var left=1;
	if (document.postForm != null){
		Element = document.postForm.chart.offsetParent;
	    while (Element.offsetParent){				
			left += Element.offsetLeft;
			Element = Element.offsetParent ;					
		};
	}
	return left;
};

function getMouseX(evt) {
	var posx = 0;
	if (!evt) var evt = window.event;
	if (evt.pageX || evt.pageY)
	{
		posx = evt.pageX;
	}
	else if (evt.clientX || evt.clientY)
	{
		posx = evt.clientX + document.body.scrollLeft;
	}
	return posx;
};

function getMouseY(evt) {
	var posy = 0;
	if (!evt) var evt = window.event;
	if (evt.pageX || evt.pageY)
	{
		posy = evt.pageY;
	}
	else if (evt.clientX || evt.clientY)
	{
		posy = evt.clientY + document.body.scrollTop;
	}
	return posy;
};

function setDisplayTrue(t, event, coordX, coordY, maxX) {
	var screenX1 = getOffsetLeft(t);
	var screenX2 = screenX1;
	var screenY = getOffsetTop(t);
	var x=screenX1;
	var posX = getMouseX(event);
	var posY = getMouseY(event);
    var Str=""; var StrY;
	var yNr=0; var lnIndex=1;
	screenX1 += coordX; 
	screenX2 += maxX;
	var screenYStart=screenY;
	var sk = 0; var seriesNr=0;
	if  (posX >= screenX1 && posX <= screenX2) {
		while (sk<coordinatesX.length) {
			ln=0;
			lArray = coordinatesX[sk];
			ln = Math.round(lArray[0]);
			if ((ln+x) == posX) {
				while(lnIndex<lArray.length) {
					yNr = Math.round(lArray[lnIndex]);
					lnIndex++;
					Str = lArray[lnIndex];
					screenY += yNr;
					lnIndex++;								
					document.getElementById(seriesArray[seriesNr]).innerHTML=Str;
					document.getElementById(seriesArray[seriesNr]).style.display = "block";
					document.getElementById(seriesArray[seriesNr]).style.left = posX;
					document.getElementById(seriesArray[seriesNr]).style.top = screenY;
					seriesNr++;
					screenY = screenYStart;
				}
				lnIndex=1;
				break;				
			}
			sk++;
		}
	}	
};

function setDisplayFalse(t) {
	var seriesNr=0;
	while (seriesNr<seriesArray.length) {
		document.getElementById(seriesArray[seriesNr]).style.display = "none";
		seriesNr++;
	}
};


function checkChecked(cBox, id, amount) {
  var arr = document.forms[2].ids;
  
  if (arr && arr.length) {
     count = 0;
     for (i = 0; i < arr.length; i++) {
        if (arr[i].checked)
            count++;
     }
     if (count > 2) {
         for (i = 0; i < arr.length; i++) {
            if (arr[i].checked && arr[i].value != cBox.value) {
                arr[i].checked = false;
                break;
            }
         }
     }
  }
  
}

function checkCheckedForm1(cBox, id, amount) {
  var arr = document.getElementById("chkForm").ids;
  if (arr && arr.length) {
     count = 0;
     for (i = 0; i < arr.length; i++) {
        if (arr[i].checked)
            count++;
     }
     if (count > 2) {
         for (i = 0; i < arr.length; i++) {
            if (arr[i].checked && arr[i].value != cBox.value) {
                arr[i].checked = false;
                break;
            }
         }
     }
  }
  
}

function checkChecked2(cBox, id, amount) {
  var arr1 = document.forms[2].ids;
  var arr2 = document.forms[2].ids2;
  
  if( id == "ids" ) arr = arr1;
  else arr = arr2;
  
  if (arr && arr.length) {
     count = 0;
     for (i = 0; i < arr.length; i++) {
        if (arr[i].checked)
            count++;
     }
     if (count > 2) {
         for (i = 0; i < arr.length; i++) {
            if (arr[i].checked && arr[i].value != cBox.value) {
                arr[i].checked = false;
                break;
            }
         }
     }
  }
  if( id == "ids" ) {
  	if (arr2 && arr2.length) {
    	for (i = 0; i < arr2.length; i++) {
        	arr2[i].checked = false;
    	}
  	}
  } else for (i = 0; i < arr1.length; i++) {
  	if (arr2 && arr2.length) {
        arr1[i].checked = false;
  	}
  }
  
}


function checkChecked2Form(cBox, id, amount) {
  var arr1 = document.forms[1].ids;
  var arr2 = document.forms[1].ids2;
  
  if( id == "ids" ) arr = arr1;
  else arr = arr2;
  
  if (arr && arr.length) {
     count = 0;
     for (i = 0; i < arr.length; i++) {
        if (arr[i].checked)
            count++;
     }
     if (count > 2) {
         for (i = 0; i < arr.length; i++) {
            if (arr[i].checked && arr[i].value != cBox.value) {
                arr[i].checked = false;
                break;
            }
         }
     }
  }
  if( id == "ids" )
    for (i = 0; i < arr2.length; i++)
        arr2[i].checked = false;
  else for (i = 0; i < arr1.length; i++)
        arr1[i].checked = false;
  
}

function NewWindow(mypage, myname, w, h, scroll) {
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+', resizable,menubar'
    win = window.open(mypage, myname, winprops)
    if (parseInt(navigator.appVersion) >= 4) { 
        win.window.focus(); 
    }
}


function CheckIsIE() { 
    if  (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER')  { return true; }    else { return false; } 
  } 

  function PrintThisPage() { 
     if (CheckIsIE() == true) {
         document.printPage.focus(); 
         document.printPage.print(); 
      } else {
          window.frames['printPage'].focus(); 
          window.frames['printPage'].print(); 
      }
   }



function setZIndex(elemCount, thisId, idx) {
  for (i = 1; i <= elemCount; i++) {
    if (thisId != i && document.getElementById('sinfo' + i))
        document.getElementById('sinfo' + i).style.zIndex = idx + 1;
  }
}


function getDim (id) {  
    document.getElementById(id).style.height="auto";
    if (document.all) {
        gh = document.getElementById(id).offsetHeight;
    } else {
        gh = document.getElementById(id).offsetHeight;
    }
    return gh;
}


function isIE () {
    var detect = navigator.userAgent.toLowerCase();
    return detect.indexOf('msie') >= 0 ;
}
function setScroll(yScroll)
{
	        if((top.opera)&&(typeof window.pageYOffset != 'undefined'))
	        {
	            window.pageYOffset = yScroll;
	        }
	        else if((window.document.compatMode)&& (window.document.compatMode != 'BackCompat'))
	         {
	            window.document.documentElement.scrollTop = yScroll;
	         }
	        else if((window.document.body)&& (typeof window.document.body.scrollTop != 'undefined'))
	         {
	            window.document.body.scrollTop = yScroll;
	         }else
	           {
	            window.scrollTo(0, yScroll);
	           }
	    
}

function checkCookieSupport(cookieName) {
    var status;
    if (navigator.cookieEnabled) {
		status = true;
    } else {
		status = false;
    }
	if (typeof navigator.cookieEnabled == "undefined" && !status){
		if (document.cookie.indexOf(cookieName) != -1) {
			status = true;
		} else {
			status = false;
		}
	}
    return status;
}

function printDivWin(width, height) {
	var pwin = window.open("", "", "scrollbars=yes,width=" + width + ",height=" + height);
	pwin.document.open("text/html");
	pwin.document.write("<html><head>");
	pwin.document.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");
	pwin.document.write("<link href=\"/vbfin/style/style.css\" rel=\"stylesheet\" type=\"text/css\" />");
	pwin.document.write("<title>SEB banko finansų portalas</title>");
	pwin.document.write("</head><body>");  
	pwin.document.write(document.getElementById("print_div").innerHTML);	
	pwin.document.write('</body></html>');
	pwin.document.close();
}

/* compare funds */
function initFunds() {
	lsLine = $("#result p#legend input[name=line]").val();
	lsSeries = $("#result p#legend input[name=series]").val();
	index = lsSeries.indexOf(";");
	lsString="";
	sk=0;
	while (index>=0) {
		lsString = lsSeries.substring(0, index);
		lsSeries = lsSeries.substring(index+1, lsSeries.length);
		index = lsSeries.indexOf(";");
		seriesArray[seriesArray.length]=lsString;
	}
	index = lsLine.indexOf("|");
	while (index>=0) {
		lStr=""; lStr1="";
		lsString = lsLine.substring(0, index);
		lsLine = lsLine.substring(index+1, lsLine.length);
		index = lsLine.indexOf("|");
		iIndex = lsString.indexOf(";");
		lString = lsString.substring(0, iIndex);
		lsString = lsString.substring(iIndex+1, lsString.length);
		lArray = new Array();
		iIndex = lsString.indexOf(";");
		lArray[lArray.length] = lString;
		sk=0;
		while (iIndex >=0) {
			lStr1 = lsString.substring(0, iIndex);
			lArray[lArray.length] = lStr1;
			lsString = lsString.substring(iIndex+1, lsString.length);	
			iIndex = lsString.indexOf(";");
			lStr = lsString.substring(0, iIndex);
			lsString = lsString.substring(iIndex+1, lsString.length);	
			lStr = "<table><tr><td nowrap>"/*+seriesArray[sk] + " "*/ + lStr+"</td></tr></table>";
			lArray[lArray.length] = lStr;
			iIndex = lsString.indexOf(";");
			sk++;			
		}
		coordinatesX[coordinatesX.length]=lArray;
	}
};

function getOffsetTopFunds(Element){
	var top=300; 
	Element = document.chart.offsetParent;
    while (Element.offsetParent){				
		top += Element.offsetTop ;
		Element = Element.offsetParent ;					
	};

	return top;
};	

function getOffsetLeftFunds(Element){
	var left=1;
	Element = document.chart.offsetParent;
    while (Element.offsetParent){				
		left += Element.offsetLeft;
		Element = Element.offsetParent ;					
	};
	return left;
};

function setDisplayTrueFunds(t, event, coordX, coordY, maxX) {
	var screenX1 = getOffsetLeftFunds(t);
	var screenX2 = screenX1;
	var screenY = getOffsetTopFunds(t);
	var x=screenX1;
	var posX = getMouseX(event);
	var posY = getMouseY(event);
    var Str=""; var StrY;
	var yNr=0; var lnIndex=1;
	screenX1 += coordX; 
	screenX2 += maxX;
	var screenYStart=screenY;
	var sk = 0; var seriesNr=0;
	if  (posX >= screenX1 && posX <= screenX2) {
		while (sk<coordinatesX.length) {
			ln=0;
			lArray = coordinatesX[sk];
			ln = Math.round(lArray[0]);
			if ((ln+x) == posX) {
				while(lnIndex<lArray.length) {
					yNr = Math.round(lArray[lnIndex]);
					lnIndex++;
					Str = lArray[lnIndex];
					screenY += yNr;
					lnIndex++;
					
					if(posX > 600)
						posX -= (posX - 600);
					

					var element = document.getElementById(seriesArray[seriesNr]);
					var $obj = $(element)
							.html(Str)
							.show()
							.css({left:posX, top: screenY});



					//document.getElementById(seriesArray[seriesNr]).innerHTML = Str;
					//document.getElementById(seriesArray[seriesNr]).style.display = "block";
					//document.getElementById(seriesArray[seriesNr]).style.left = posX;
					//document.getElementById(seriesArray[seriesNr]).style.top = screenY;

					seriesNr++;
					screenY = screenYStart;
				}
				lnIndex=1;
				break;				
			}
			sk++;
		}
	}	
};

function setDisplayFalseFunds(t) {
	var seriesNr=0;
	while (seriesNr<seriesArray.length) {
		document.getElementById(seriesArray[seriesNr]).style.display = "none";
		seriesNr++;
	}
};

function deleteCookie(cookieName) {
	var cookieDate = new Date();
	cookieDate.setTime(cookieDate.getTime() - 1);
	document.cookie = cookieName + "=; expires=" + cookieDate.toGMTString();
}


$(function() {

	// GMpas search page
	$("#gm_search_page #region").change(function() {
		var lang = $("#curr_lang").val();
		var header = lang == "lt" ?  " - - Visi miestai - - " : " - - All cities - - ";
		if ($("#region")[0].selectedIndex != 0) {
			$("#city").removeOption(/./).addOption("-1", header)
				.ajaxAddOption("/vbfin/gmaps/ajax.fw", {"type" : "city_sel", "region_id" : $(this).val()}, false);
		} else {
			$("#city").removeOption(/./).addOption("-1", header)
				.ajaxAddOption("/vbfin/gmaps/ajax.fw", {"type" : "all_city_sel"}, false);
		}
	});	

	// subscribe.fw
	$("table.subsTable td[colspan=3] :checkbox").click(function() {
		$(":checkbox[id$=group_" + $(this).attr("id") + "]").attr("checked", this.checked ? "checked" : "");
		checkTypeCheckboxes();
	});

	$("table.subsTable :checkbox[id^=type_]").click(function() {
		var id = $(this).attr("id");
		var groupId = id.substring(id.indexOf("group_") + "group_".length);
		if ($.trim(groupId) != "") {
			var checkedGroup = $(":checkbox[id$=group_" +groupId + "]:checked").length == $(":checkbox[id$=group_" +groupId + "]").length;
			$(":checkbox[id=" + groupId + "]").attr("checked", checkedGroup ? "checked" : "");
		}
		checkTypeCheckboxes();
	});

	$("#subscribeNews #clear_subs").click(function() {
		$("table.subsTable :checkbox").attr("checked", "");
		$("#empty_info").show();
		moveToMessage();
		return false;
	});

	function checkTypeCheckboxes() {
		if ($("#subscriberId").length == 1 && $("#subscriberId").val() != "") {
			if ($("table.subsTable :checked[id^=type_]").length > 0) {
				$("#empty_info").hide();
			} else {
				$("#empty_info").show();
				moveToMessage();
			}
		}
	}

	function moveToMessage() {
		document.location = document.location + ($.trim(document.location.hash) == "" ? "#message" : "");	
	}

	// subscription archive
	$('.month ul').click(function(e) {
		e.stopPropagation()
	}).hide();

	$('.month').click(function(){
		var selfClick = $(this).find('ul:first').is(':visible');
		if(!selfClick) {
			$(this).parent().find('ul:visible').slideToggle('2000');
			$('.month').removeClass('active');	
		}
	    $(this).addClass('active').find('ul:first').stop(true, true).slideToggle('2000');		  
	});

	// SEBOffer
	$("#load_xml_btn").click(function() {
		$("#load_xml_fieldset").show();		
		return false;
	});
	$("#save_form_btn").click(function() {
		$("#load_xml_fieldset").hide();
		$("#save_form_xml_submit").click();
	});
	$("#generate_pdf_btn,#send_email_btn").click(function() {
		$("#load_xml_fieldset").hide();		
		return true;
	});
	$("form[name=product_form] #city").change(function() {
		$("#branch").removeOption(/./);
		var noCache = Date();
		$.getJSON("/vbfin/seboffer/ajax.fw", {"op_type" : "branches-by-city", "city_name" : $("#city").val(), "noCache" : noCache}, function(branchTypes) {
			$.each(branchTypes, function(index, branchType) {
				$("#branch").addOption(branchType.name, branchType.name, false);				
			});
		});		
	});

	if ($("form[name=offer_stat]").length > 0) {
		$("form[name=offer_stat] #from").datepick({dateFormat: 'yy-mm-dd', minDate: new Date(2010, 0, 1), showOn: 'both', buttonImageOnly: true, buttonImage: '/vbfin/images/ico.calendar.gif'});
		$("form[name=offer_stat] #till").datepick({dateFormat: 'yy-mm-dd', minDate: new Date(2010, 0, 1), showOn: 'both', buttonImageOnly: true, buttonImage: '/vbfin/images/ico.calendar.gif'});
		
		$("#offer_stat_pages a").click(function() {
			$("form[name=offer_stat] #currPage").val($.trim($(this).html()));
			$("form[name=offer_stat]").submit();
			return false;
		});

		$("a#excel_link").click(function() {
			$("#excel_button").click();
			return false;
		});		
	}

});
