// Nox Solutions javascript functions.

function setSelectByValue(selectid, putselectto) {
	var x=document.getElementById(selectid);
  	for (i=0;i<x.length;i++) {
    	if (x.options[i].value == putselectto) {
			x.options[i].selected = true;
		} else {
			x.options[i].selected = false;
		}	
    }
}

function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
}

function getURLParam(strQueryString, strParamName){
  var strReturn = "";

    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
  }
  return strReturn;
}

var compares = new Array();
var compareids = new Array();
	

function addComparison(checkbox) {
	pid = checkbox.value;
	checkid = checkbox.id;
	if (checkbox.checked == true) {
		compares.push(pid);
		compareids.push(checkid);
	} else {
		//it is in the array already, we need to remove it.
		compares2 = new Array();
		for ( var i = 0 ; i < compares.length ; i++ ) {
			if (compares[i] != pid) {
				compares2.push(compares[i]);
			}
		}
		compares = compares2;
		
		compares3 = new Array();
		for ( var i = 0 ; i < compareids.length ; i++ ) {
			if (compareids[i] != checkid) {
				compares3.push(compareids[i]);
			}
		}
		compareids = compares3;
	}
	//alert(compares);
}

function sendComparison() {
	var compareParams = '';
	for ( var i = 0 ; i < compares.length ; i++ ) {
		 compareParams += '&compare' + i + '=' + compares[i];
	}
	window.location = '/site/product?action=compare' + compareParams;
}

function checkCompareBoxes() {
	for ( var i = 0 ; i < compareids.length ; i++ ) {
		if (document.getElementById(compareids[i]) != null) {
			document.getElementById(compareids[i]).checked = true;
		}
	}
}

function bottomPaging() {
	if (document.getElementById('paging2') != null) {
		document.getElementById('paging2').innerHTML = document.getElementById('pagingBottom').innerHTML;
	}
}

function displayOptions(thisid, otherid, chartpage, dispic) {
	document.getElementById(thisid + '1').style.display = 'none';
	document.getElementById(thisid + '2').style.display = 'none';
	document.getElementById(otherid + '1').style.display = '';
	document.getElementById(otherid + '2').style.display = '';
	
	if (dispic != null) {
		displayPic = dispic;
	}
	
	if (chartpage != null) {
		chartGlobal = chartpage;
	}
	
	if (thisid == '1per') {
		document.getElementById('text1').style.display = 'none';
		document.getElementById('text2').style.display = 'none';
		document.getElementById('pic1').style.display = 'none';
		document.getElementById('pic2').style.display = 'none';
		displayPic = true;
	} else if (thisid == '3per' && displayPic == true) {
		document.getElementById('text1').style.display = '';
		document.getElementById('text2').style.display = '';
		document.getElementById('pic1').style.display = 'none';
		document.getElementById('pic2').style.display = 'none';
	}		
	loadChart();

}


function setCookie(c_name,value,expiredays) {
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

function getCookie(c_name) {
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1 
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return ""
}

var chartStart = 0;

function changePage(start) {
	if (start == null || start == '') {
		start = 0;
	}
	chartStart = start;
	setCookie('chartStart', start, 1);
	showall = 'false';
	loadChart();
}

function showAllPages() {
	showall = 'true';
	loadChart();
}

function setWindowSize(selectedvalue) {
	setSelectByValue('windowSize', selectedvalue);
	pageSize = selectedvalue;
	loadChart();
}

function currentlyPlaying(url, artistID, songID){
var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
	page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
		page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
		try{
		page_request = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch (e){}
		}
	} else
	return false

	page_request.onreadystatechange=function(){
		putPlaying(page_request, artistID, songID)
	}	

page_request.open('POST', url, true)
page_request.send(null)
}

function putPlaying(page_request, artistID, songID){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
workingXML = page_request.responseText;

document.getElementById(artistID).innerHTML= "&nbsp;-&nbsp;" + getStringBetweenTags(workingXML, 'Artist');
document.getElementById(songID).innerHTML=getStringBetweenTags(workingXML, 'Title');
}
}

function getStringBetweenTags(rawText, s) {
     try {
         s1 = '<' + s + '>';
         s2 = '</' + s + '>';
         i = rawText.indexOf(s1);
         if(i != -1) {
             j = rawText.indexOf(s2);
             s3 = rawText.substring(i + s1.length, j);
             return s3;
         }
     }
     catch(e){}
     return '';
 }
 
 
function newWindow(dest){
window.open (dest, "newWindow", "location=1,status=1,scrollbars=1,menubar=1,toolbar=1,resizable=1");
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function setProp(prop, val) {
	for (var i = 2; i < arguments.length; i++) {
		var el = document.getElementById(arguments[i]);
		if (el) {
			var props = prop.split('.');
			if (props.length > 1) {
				for (var j = 0; j < props.length - 1; j++) {
					el = el[props[j]];
				}
			}
			el[props[props.length-1]] = val;
		}
	}
}

function changeClass(which, className) {
	document.getElementById(which).className = className;
}
