﻿function Trim(str)
{
   return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function getServerData(page, bCacheConnection) {

   var _this = this;
   var _path = String(window.location);
   this.GenerateRandomString = function(len){
	   var _str = '';
	   var arrKeyStr = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'];
	   for(var i=1; i<=len; i++){
	      var iRndNum = Math.ceil((Math.random() * 100) / 2.8) - 1; //Generates a random number from 0-35
		   _str += arrKeyStr[iRndNum];
	   }
	   return _str;
   }
   this.GetTimeMod = function(){
      var _str = date.getMinutes();
      if(_str<15){
         _str = 15;
      }else if(_str<30){
         _str = 30;
      }else if(_str<45){
         _str = 45;
      }else{
         _str = 60;
      }
      return _str;
   }
	try{
		var _path = String(window.location);
		if(_path.substring(_path.length-1)!='/'){
			_path = _path.substring(0,_path.lastIndexOf('/')+1);
		}	
		_path += page;
		
		if(_path.indexOf('?')!=-1){
		   _path += '&';
		}else{
		   _path += '?';
		}
		var date = new Date()
		if(typeof(bCacheConnection)== 'undefined' || bCacheConnection == true){
		   _path += 'z=' + date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate() + '-' + date.getHours() + '-' + _this.GetTimeMod();
		}else{
		   _path += 'z=' + _this.GenerateRandomString(6);
		}
		var oRequest = new XMLHttpRequest();
        oRequest.open("get", _path, false);
        oRequest.send(null);
		return oRequest.responseText;
	}catch(e){
		alert('There was an error in the request:' + e.message)
	}finally{	
	}     
}

function SetOpacity(obj,opacity)
{
	obj.style.opacity = (opacity / 100); 
	obj.style.MozOpacity = (opacity / 100); 
	obj.style.KhtmlOpacity = (opacity / 100); 
	obj.style.filter = 'alpha(opacity=' + opacity + ')';
}

var calcTimerID = -1;
function Calculate(which) {
    clearTimeout(calcTimerID);

    var results = '';
    var a = document.getElementById('item_a').value;
    var b = document.getElementById('item_b').value;
    var c = document.getElementById('item_c').value;
    var d = document.getElementById('item_d').value;
    var e = document.getElementById('item_e').value;
    var f = document.getElementById('item_f').value;
    var g = document.getElementById('item_g').value;
    var h = document.getElementById('item_h').value;
    var k = document.getElementById('item_k').value;
    
    a = (a == '' ? 0 : parseInt(a));
    b = (b == '' ? 0 : parseInt(b));
    c = (c == '' ? 0 : parseFloat(c));
    d = (d == '' ? 0 : parseFloat(d));
    e = (e == '' ? 0 : parseFloat(e));
    f = (f == '' ? 0 : parseFloat(f));
    g = (g == '' ? 0 : parseFloat(g));
    h = (h == '' ? 0 : parseFloat(h));
    k = (k == '' ? 1 : parseFloat(k));

    switch (which) {
        case 'scout_staff':
            if (a + b != k) {
                var value = Math.floor(k / 2);
                var extra = Math.floor(k % 2);
                document.getElementById('item_a').value = value + extra;
                document.getElementById('item_b').value = value;
            }
            break;
        case 'general_staff':
            if (a + b != k || k == 1) {
                document.getElementById('item_k').value = a + b;
            }
            break;
    }

    if (document.getElementById('item_a').value == '') document.getElementById('item_a').value = a;
    if (document.getElementById('item_b').value == '') document.getElementById('item_b').value = b;
    if (which != 'c' && document.getElementById('item_c').value == '') document.getElementById('item_c').value = 20;
    if (which != 'd' && document.getElementById('item_d').value == '') document.getElementById('item_d').value = 16;
    if (which != 'e' && document.getElementById('item_e').value == '') document.getElementById('item_e').value = 20;
    if (which != 'f' && document.getElementById('item_f').value == '') document.getElementById('item_f').value = f;
    if (which != 'g' && document.getElementById('item_g').value == '') document.getElementById('item_g').value = g;
    if (which != 'h' && document.getElementById('item_h').value == '') document.getElementById('item_h').value = h;
    
    document.getElementById('item_i').innerHTML = 'Calculating...';
    document.getElementById('item_l').innerHTML = 'Calculating...';
    document.getElementById('item_m').innerHTML = 'Calculating...';
    document.getElementById('item_n').innerHTML = 'Calculating...';

    var url = 'roi_calc.aspx?';
    url += '&a=' + String(a);
    url += '&b=' + String(b);
    url += '&c=' + String(c);
    url += '&d=' + String(d);
    url += '&e=' + String(e);
    url += '&f=' + String(f);
    url += '&g=' + String(g);
    url += '&h=' + String(h);
    url += '&k=' + String(k);

    calcTimerID = setTimeout(function() {
        results = getServerData(url);
        var list = results.split('|');
        document.getElementById('item_i').innerHTML = list[0];
        document.getElementById('item_l').innerHTML = list[1];
        document.getElementById('item_m').innerHTML = list[2];
        document.getElementById('item_n').innerHTML = list[3];
    }, 500);
}

function cancelEvent() {
    try {
        var e = window.event;
        if(!e) e = window.Event;
        if(e) {
            e.returnValue = false;
            e.cancelBubble = true;
            e.stopPropagation();
        }
    } catch(c) {}
    return false;
}

function getElementsByPartialId(tag, id) {
	var items = document.getElementsByTagName(tag);

	var list = [];

	for (var i = 0; i < items.length; i++) {
		var item = items[i];

		if (item.id && item.id.length >= id.length && item.id.indexOf(id) != -1) {
			list.push(item);
		}
	}

	return list;
}

function getElementByPartialId(tag, id) {
	var items = document.getElementsByTagName(tag);

	for (var i = 0; i < items.length; i++) {
		var item = items[i];

		if (item.id && item.id.length >= id.length && item.id.indexOf(id) != -1) {
			return item;
		}
	}

	return null;
}

function echeck(str) {
   var at="@"
   var dot="."
   var lat=str.indexOf(at)
   var lstr=str.length
   var ldot=str.indexOf(dot)
   if (str.indexOf(at)==-1)
      return false;
   if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
      return false;
   if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
      return false;
   if (str.indexOf(at,(lat+1))!=-1)
      return false;
   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
      return false;
   if (str.indexOf(dot,(lat+2))==-1)
      return false
   if (str.indexOf(" ")!=-1)
      return false
   return true					
}

function validateContactForm()
{
    var cancel = true;
    var name = getElementByPartialId('INPUT', '_Name');
    var company = getElementByPartialId('INPUT', '_Company');
    var email = getElementByPartialId('INPUT', '_Email');
//    var comment = getElementByPartialId('TEXTAREA', '_Comments');

    if(!name || Trim(name.value) == '') {
        alert('Your name is required to continue.');
        name.focus();
    }else if(!company || Trim(company.value) == '') {
        alert('Your company name is required to continue.');
        company.focus();
    }else if(!email || !echeck(Trim(email.value))) {
        alert('Your email address is required to continue.');
        email.focus();
//    }else if(!comment || Trim(comment.value) == '') {
//        alert('Your question or comment is required to continue.');
//        comment.focus();   
    }else{
        cancel = false;
    }
        
    if(cancel)
        return cancelEvent();
    else
        return true;
}

function validateDemoForm()
{
    var cancel = true;
    var name = getElementByPartialId('INPUT', '_Name');
    var company = getElementByPartialId('INPUT', '_Company');
    var email = getElementByPartialId('INPUT', '_Email');

    if(!name || Trim(name.value) == '') {
        alert('Your name is required to continue.');
        name.focus();
    }else if(!company || Trim(company.value) == '') {
        alert('Your company name is required to continue.');
        company.focus();
    }else if(!email || !echeck(Trim(email.value))) {
        alert('Your email address is required to continue.');
        email.focus(); 
    }else{
        cancel = false;
    }
        
    if(cancel)
        return cancelEvent();
    else
        return true;
}

function validateEmailAFriendForm()
{
    var cancel = true;
    var name = getElementByPartialId('INPUT', '_RecommendName');
    var email = getElementByPartialId('INPUT', '_RecommendEmail');

    if(!name || Trim(name.value) == '') {
        alert('Your name is required to continue.');
        name.focus();
    }else if(!email || !echeck(Trim(email.value))) {
        alert('A recipient email address is required to continue.');
        email.focus(); 
    }else{
        cancel = false;
    }
        
    if(cancel)
        return cancelEvent();
    else
        return true;
}

function selectProductInterest(item)
{
		var field1 = document.getElementById('_Field1');
		var field2 = document.getElementById('_Field2');
		var field3 = document.getElementById('_Field3');
		var field4 = document.getElementById('_Field4');
		var row1 = document.getElementById('_Row1');
		var row2 = document.getElementById('_Row2');
		var row3 = document.getElementById('_Row3');
		var row4 = document.getElementById('_Row4');
		
		row1.style.display = 'none';
		row2.style.display = 'none';
		row3.style.display = 'none';
		row4.style.display = 'none';
		
		switch(item.selectedIndex) {
		    case 1: //Universal Edition
                field1.innerHTML = 'Number of staff';
                field2.innerHTML = 'Field of business';
                field3.innerHTML = 'Number of new cases per month';
                field4.innerHTML = 'Number of new clients logging in';
                row1.style.display = '';
		        row2.style.display = '';
		        row3.style.display = '';
		        row4.style.display = '';
			    break;
		    case 2: //SIU Edition
		        field1.innerHTML = 'Number of SIU staff';
                field2.innerHTML = 'Number of adjusters';
                field3.innerHTML = 'Number of vendor companies';
                field4.innerHTML = 'Average number of new cases per month';
                row1.style.display = '';
		        row2.style.display = '';
		        row3.style.display = '';
		        row4.style.display = '';
			    break;
		    case 3: //Agency Edition
		        field1.innerHTML = 'Number of administrators';
                field2.innerHTML = 'Number of investigators';
                field3.innerHTML = 'Number of clients logging in';
                field4.innerHTML = 'Average number of new cases per month';
                row1.style.display = '';
		        row2.style.display = '';
		        row3.style.display = '';
		        row4.style.display = '';
			    break;
		    case 4: //Vendor Manager
		        field1.innerHTML = 'Field of business';
                field2.innerHTML = 'Number of staff';
                field3.innerHTML = 'Number of vendor companies';
                row1.style.display = '';
		        row2.style.display = '';
		        row3.style.display = '';
			    break;
		}
}

function toggleFaqItem(id)
{
    var item = document.getElementById(id);
    
    if(item.style.display == 'none')
        item.style.display = '';
    else
        item.style.display = 'none';
    }
