/*
 
Correctly handle PNG transparency in Win IE 5.5 & 6.
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.

Use in <HEAD> with DEFER keyword wrapped in conditional comments:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->

*/
//////////////////

	function ShowPageImages() {
		var imgArray = document.getElementsByTagName('img');
		var baseUrl = document.getElementById('base_url').value;

		for(var i = 0; i < imgArray.length; i++) {
			if ( imgArray[i].getAttribute('src').indexOf('/../../', 0) > 0 ) {
				if ( imgArray[i].getAttribute('image_path') )
					imgArray[i].src = baseUrl + '/img/' + imgArray[i].getAttribute('image_path');
			}
		}

		var embedArray = document.getElementsByTagName('embed');

		for(var i = 0; i < embedArray.length; i++) {
			if ( embedArray[i].getAttribute('src').indexOf('/../../', 0) > 0 && embedArray[i].getAttribute('image_path').length > 0 ) {
				embedArray[i].src = baseUrl + '/img/' + embedArray[i].getAttribute('image_path');
			}
		}
		return false;
	}
	
	function GetPage( where, url ) {
		dojo.require("dojo.io.*");
		
		var iWhere = parseInt(where);
		var currentPage = parseInt(document.getElementById('current_page').value);
		var maxPage = parseInt(document.getElementById('max_page').value);
		
		if ( iWhere < 0 && currentPage > 1 ) {
			GetPageAction(currentPage - 1, url);
			document.getElementById('current_page').value = currentPage - 1;
		} else if ( iWhere > 0 && currentPage < maxPage ) {
			GetPageAction(currentPage + 1, url);
			document.getElementById('current_page').value = currentPage + 1;
		}
	}
	
	function GetPageAction( page, url ) {
		var bindArgs = {
		    url:        url + "?page=" + page,
		    mimetype:   "text/html",
		    error:      function(type, errObj){
		        alert('An error occured!');
		    },
		    load:      function(type, data, evt){
		    	if ( document.getElementById('page_container') ) {
		    		document.getElementById('page_container').innerHTML = data;
		    	}
		    	ShowPageImages();
		    }
		};
		// dispatch the request
	    var requestObj = dojo.io.bind(bindArgs);
	}
	
	function initMenuClickEvent() {
		var anchors = document.getElementById('menu_container').getElementsByTagName('a');
		for(var i = 0; i < anchors.length; i++) {
			anchors[i].setAttribute('onmouseup', 'Active(this);');
			anchors[i].onmouseup = function() {
				Active(this);
			}
		}
	}
	
	function Active( anchor ) {
		var divs = document.getElementById('menu_container').getElementsByTagName('div');
		for(var i = 0; i < divs.length; i++) {
			if ( divs[i].className == 'category_active' ) {
				divs[i].className = 'category';
			}
		}
		var trs = document.getElementById('menu_container').getElementsByTagName('tr');
		for(var i = 0; i < trs.length; i++) {
			if ( trs[i].className == 'onover_active' ) {
				trs[i].className = 'onover';
			}
		}
		var categoryDiv = anchor.parentNode.parentNode;
		if ( categoryDiv.tagName == 'TR' ) {
			categoryDiv.className = 'onover_active';
		} else {
			categoryDiv.className = 'category_active';
		}
	}
	
	
	


//////////////////



var baseURL = '';
if ( document.getElementById('cb_base_url') ) {
	baseURL = document.getElementById('cb_base_url').value;
}
/*
var supported = /MSIE ((5\.5)|[6789])/.test(navigator.userAgent) &&
				navigator.platform == "Win32";
				
if (supported) fixBgPng();
*/
function fixBgPng() {
/*	if(this.style.backgroundImage && this.style.backgroundImage != null && /url\(['"]?([^"'\)]+)/.test(this.style.backgroundImage)) {
		var bgSrc = RegExp.$1;
		if(bgSrc.indexOf('.png') > -1) {
		element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." +
					"AlphaImageLoader(src='" + bgSrc + "',sizingMethod='scale')";
		// remove backgroundImage property
		element.runtimeStyle.backgroundImage = 'none';
		}
	}*/
}

function laterFixPng() {
	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	if ((version >= 5.5) && (document.body.filters)) {
		for(var i=0; i<document.images.length; i++)	{
			var img = document.images[i]
	      	var imgName = img.src.toUpperCase();
	      	var imgSrc = img.src;
	      	var imgHeight = img.height;
	      	var imgWidth = img.width;
	      	if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
		        var imgID = (img.id) ? "id='" + img.id + "' " : ""
	    		var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	         	var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	         	var imgStyle = "display:inline-block;" + img.style.cssText 
	         	if (img.align == "left") imgStyle = "float:left;" + imgStyle
	         	if (img.align == "right") imgStyle = "float:right;" + imgStyle
	         	if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
	         	if ( imgSrc.toUpperCase().substring(0, 4) != "HTTP" ) {
	         		if ( imgSrc.toUpperCase().substring(0, 1) == "." )
	         			imgSrc = baseURL + imgSrc.substring(1, imgSrc.length);
	         		else
	         			imgSrc = baseURL + imgSrc;
	         	}
	         	if ( imgWidth <= 0 )
	         		imgWidth = '39';
	         	if ( imgHeight <= 0 )
	         		imgHeight = '29';
	         	var strNewHTML = "<span " + imgID + imgClass + imgTitle
	         		+ " style=\"" + "width:" + imgWidth + "px; height:" + imgHeight + "px;" + imgStyle + ";"
	         		+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	         		+ "(src=\'" + imgSrc + "\', sizingMethod='scale');\"></span>" 
         		img.outerHTML = strNewHTML
	         	i = i-1
	      	}
	   	}	
	}
//	if (supported) fixBgPng();
}

	function GetInnerText(node) {
		return (node.textContent || node.innerText || node.text) ;
	}
	
	
	function IsInteger(sText) {
	    var ValidChars = "0123456789";
	    var IsNumber = true;
	    var Char;

	    for (i = 0; i < sText.length && IsNumber == true; i++) { 
	        Char = sText.charAt(i); 
	        if (ValidChars.indexOf(Char) == -1) {
	        	IsNumber = false;
	        }
	    }
	    return IsNumber;
    }
	
	function IsDouble(sText) {
	    var ValidChars = "0123456789.";
	    var IsNumber = true;
	    var Char;

	    for (i = 0; i < sText.length && IsNumber == true; i++) { 
	        Char = sText.charAt(i); 
	        if (ValidChars.indexOf(Char) == -1) {
	        	IsNumber = false;
	        }
	    }
	    return IsNumber;
    }
    
    function getNumber( sText ) {
	    var ValidChars = "0123456789";
	    var dot = '.';
	    var comma = ',';
	    var newNumber = '';
	    var Char;

	    for (i = 0; i < sText.length; i++) { 
	        Char = sText.charAt(i); 
	        if (ValidChars.indexOf(Char) == -1) {
	        	if ( dot.indexOf(Char) > -1 ) {}
	        	if ( comma.indexOf(Char) > -1 ) {
	        		newNumber += '.';
	        	}
	        } else {
	        	newNumber += Char;
	        }
	    }
	    return newNumber;
    }
    
    function ChangeSeparators( sText, sep1, sep2 ) {
	    var ValidChars = "0123456789";
	    var newNumber = '';
	    var Char;

	    for (i = 0; i < sText.length; i++) { 
	        Char = sText.charAt(i); 
	        if (ValidChars.indexOf(Char) == -1) {
	        	if ( sep1.indexOf(Char) > -1 ) {
	        		newNumber += sep2;
	        	}
	        	if ( sep2.indexOf(Char) > -1 ) {
	        		newNumber += sep1;
	        	}
	        } else {
	        	newNumber += Char;
	        }
	    }
	    return newNumber;
    }
	
	function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas) {
		/**********************************************************************
			IN:
				NUM - the number to format
				decimalNum - the number of decimal places to format the number to
				bolLeadingZero - true / false - display a leading zero for
												numbers between -1 and 1
				bolParens - true / false - use parenthesis around negative numbers
				bolCommas - put commas as number separators.
		 
			RETVAL:
				The formatted number!
		**********************************************************************/
		
		if (isNaN(parseInt(num))) return "NaN";
	
		var tmpNum = num;
		var iSign = num < 0 ? -1 : 1;		// Get sign of number
		
		// Adjust number so only the specified number of numbers after
		// the decimal point are shown.
		tmpNum *= Math.pow(10,decimalNum);
		tmpNum = Math.round(Math.abs(tmpNum))
		tmpNum /= Math.pow(10,decimalNum);
		tmpNum *= iSign;					// Readjust for sign
		
		
		// Create a string object to do our formatting on
		var tmpNumStr = new String(tmpNum);
	
		// See if we need to strip out the leading zero or not.
		if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
			if (num > 0)
				tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
			else
				tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
			
		// See if we need to put in the commas
		if (bolCommas && (num >= 1000 || num <= -1000)) {
			var iStart = tmpNumStr.indexOf(".");
			if (iStart < 0)
				iStart = tmpNumStr.length;
	
			iStart -= 3;
			while (iStart >= 1) {
				tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
				iStart -= 3;
			}		
		}
	
		// See if we need to use parenthesis
		if (bolParens && num < 0)
			tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";
	
		return ChangeSeparators(tmpNumStr, '.', ',');		// Return our formatted string!
	}

	function ShowPageImages() {
		var imgArray = document.getElementsByTagName('img');
		var baseUrl = document.getElementById('base_url').value;

		for(var i = 0; i < imgArray.length; i++) {
			if ( imgArray[i].getAttribute('src').indexOf('/../../', 0) > 0 ) {
				imgArray[i].src = baseUrl + '/img/' + imgArray[i].getAttribute('image_path');
			}
		}

		var embedArray = document.getElementsByTagName('embed');

		for(var i = 0; i < embedArray.length; i++) {
			if ( embedArray[i].getAttribute('src').indexOf('/../../', 0) > 0 ) {
				embedArray[i].src = baseUrl + '/img/' + embedArray[i].getAttribute('image_path');
			}
		}
		return false;
	}
