﻿// http://www.phpmyvisites.net/ 
// License GNU/GPL (http://www.gnu.org/copyleft/gpl.html)
// CallWebServiceMethods.js
// rewrite by Gary Chen
function pmv_plugMoz(pmv_pl) {
	if (pmv_tm.indexOf(pmv_pl) != -1 && (navigator.mimeTypes[pmv_pl].enabledPlugin != null))
		return '1';
	return '0';
}
function pmv_plugIE(pmv_plug){
	pmv_find = false;
	document.write('<SCR' + 'IPT LANGUAGE=VBScript>\n on error resume next \n pmv_find = IsObject(CreateObject("' + pmv_plug + '")) </SCR' + 'IPT>\n');
	if (pmv_find) return '1';
	return '0';
}
var pmv_jav='0'; if(navigator.javaEnabled()) pmv_jav='1';
var pmv_agent = navigator.userAgent.toLowerCase();
var pmv_moz = (navigator.appName.indexOf("Netscape") != -1);
var pmv_ie= (pmv_agent.indexOf("msie") != -1);
var pmv_win = ((pmv_agent.indexOf("win") != -1) || (pmv_agent.indexOf("32bit") != -1));
// Determine if cookie enabled
var pmv_cookie=(navigator.cookieEnabled)? '1' : '0';

//if not IE4+ nor NS6+
if ((typeof (navigator.cookieEnabled) =="undefined") && (pmv_cookie == '0')) { 
	document.cookie="pmv_testcookie"
	pmv_cookie = (document.cookie.indexOf("pmv_testcookie") != -1) ? '1' : '0';
}

var pmv_dir = '0'; 
var pmv_fla = '0'; 
var pmv_pdf = '0'; 
var pmv_qt = '0'; 
var pmv_rea = '0'; 
var pmv_wma = '0'; 

if (!pmv_win || pmv_moz){
	var pmv_tm = '';
	for (var i=0; i < navigator.mimeTypes.length; i++)
		pmv_tm += navigator.mimeTypes[i].type.toLowerCase();
	pmv_dir = pmv_plugMoz("application/x-director");
	pmv_fla = pmv_plugMoz("application/x-shockwave-flash");
	pmv_pdf = pmv_plugMoz("application/pdf");
	pmv_qt = pmv_plugMoz("video/quicktime");
	pmv_rea = pmv_plugMoz("audio/x-pn-realaudio-plugin");
	pmv_wma = pmv_plugMoz("application/x-mplayer2");
} else if (pmv_win && pmv_ie){
	pmv_dir = pmv_plugIE("SWCtl.SWCtl.1");
	pmv_fla = pmv_plugIE("ShockwaveFlash.ShockwaveFlash.1");
	if (pmv_plugIE("PDF.PdfCtrl.1") == '1' || pmv_plugIE('PDF.PdfCtrl.5') == '1' || pmv_plugIE('PDF.PdfCtrl.6') == '1') 
		pmv_pdf = '1';
	pmv_qt = pmv_plugIE("Quicktime.Quicktime"); // Old : "QuickTimeCheckObject.QuickTimeCheck.1"
	pmv_rea = pmv_plugIE("rmocx.RealPlayer G2 Control.1");
	pmv_wma = pmv_plugIE("wmplayer.ocx"); // Old : "MediaPlayer.MediaPlayer.1"

}
	
var pmv_do = document;
var pmv_rtu = '';
try {pmv_rtu = top.pmv_do.referrer;} catch(e) {

	if (parent) {
		if (parent.pmv_getReferer) {
			try {pmv_rtu = parent.pmv_getReferer;} catch(E3) {pmv_rtu = '';}
		}
		else  {
			try {pmv_rtu = parent.document.referrer;} catch(E) {
				try {pmv_rtu = document.referrer;} catch(E2) {pmv_rtu = '';}
			}
		}
		parent.pmv_getReferer = document.location.href;
	}
	else {
		try {pmv_rtu = document.referrer;} catch(E3) {pmv_rtu = '';}
	}
}
// Get the url to call phpmyvisites
function pmv_getUrlStat(pmv_urlDoc, pmv_urlPage, pmv_pname, pmv_typeClick, pmv_configPage)
{

	var pmv_da = new Date();
	pmv_src = '?url='+escape(pmv_urlDoc)+'&pagename='+escape(pmv_pname);
	pmv_src += '&res='+screen.width+'x'+screen.height+'&col='+screen.colorDepth;
	pmv_src += '&h='+pmv_da.getHours()+'&m='+pmv_da.getMinutes()+'&s='+pmv_da.getSeconds();
	pmv_src += '&page='+escape(pmv_urlPage)+'&cookie='+pmv_cookie;
	if ((pmv_typeClick) && (pmv_typeClick != "")) pmv_src += '&type='+escape(pmv_typeClick);
	pmv_src += '&ref='+escape(pmv_rtu);
	if ((pmv_configPage) && (pmv_configPage != "")) pmv_src += '&config='+escape(pmv_configPage);
	
	return pmv_src;
	
}

function pmv_click(pmv_urlDoc, pmv_urlPage, pmv_pname, pmv_typeClick) {
    var pmv_src = pmv_getUrlStat(pmv_urlDoc, pmv_urlPage, pmv_pname, pmv_typeClick, '')
    GetClickRecord(pmv_src,pmv_cookie);
}

function pmv_monitor() {
    var links = $A(document.getElementsByTagName('a'));
    var pmv_urlCur = document.location.href;
    
    links.each(function(link) {
        Event.observe(link, 'click', function() {
        var pmv_urlDoc = link.href;
        
            var pmv_pname = link.innerHTML;                
            var pmv_typeClick = link.position;
            
            if (pmv_typeClick != 'fontSize' && pmv_typeClick != 'personalSetClose' && pmv_typeClick != 'noRecord')
            { 
           
                if (pmv_typeClick == 'personalSet')               
                {
                    var pmv_src = pmv_getUrlStat('個人化設定','個人化設定', '個人化設定', 2, "");  
                }
                else
                {
                    if ((typeof(link.position) == 'undefined') && (pmv_typeClick == '')) pmv_typeClick = '0';
                    var pmv_src = pmv_getUrlStat(pmv_urlDoc, pmv_urlCur, pmv_pname, pmv_typeClick, "");  
                }      
               
                GetClickRecord(pmv_src,pmv_cookie);
            }
            
        }, false); 
        //link.onclick = function() {return false;}; 
    });    
       
}

// This function calls the Web service method 
// passing simple type parameters and the 
// callback function  
function GetClickRecord(pmv_url,pmv_cookie)
{
    //M2X.AspNet.WebService.GetClickRecord(pmv_url,SucceededCallback);
    M2X.AspNet.WebService.GetClickRecord(pmv_url,pmv_cookie);
}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object as a parameter.
function SucceededCallback(result, eventArgs)
{
    // Page element to display feedback.
//    var RsltElem = document.getElementById("ResultId");
//    RsltElem.innerHTML = result;
//alert(result);
}


// This is the callback function invoked if the Web service
// failed.
// It accepts the error object as a parameter.
function FailedCallback(error)
{
    // Display the error.    
    var RsltElem = 
        document.getElementById("ResultId");
    RsltElem.innerHTML = 
    "Service Error: " + error.get_message();
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();
