//var HTTP_URL = "http://ceeol.questa.de/";
//var HTTPS_URL = "https://securedev.questa.de/ceeol/";
var HTTP_URL = "http://www.ceeol.com/";
var HTTPS_URL = "https://secure.questa.de/ceeol/";

var wdw  = null;
var wECart = null;
var wPayment = null;
var wLogin = null;
var wHistory = null;
var wAccount = null;
var wReports = null;
var sPassedALN = "";
var sPassedAFN = "";
var sPassedAID = "";
var detailsWindowName = "CEEOLDetails";


function OpenNewWindow(sURL) {	
	wdw = _OpenWindow(wdw, null, sURL, 'menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=20,width=560,height=480');
	wdw.focus();
}

function openPublicationDetails(publicationId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./publicationdetails.aspx?publicationId=" + publicationId, detailsWindowName, features, false);
	wdw.focus();
}

function openPublicationDetailsFromHome(publicationId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./aspx/publicationdetails.aspx?publicationId=" + publicationId, detailsWindowName, features, false);
	wdw.focus();
}

function openPublicationDetailsFromIssue(issueId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./publicationdetails.aspx?issueId=" + issueId, detailsWindowName, features, false);
	wdw.focus();
}

function openPublicationDetailsFromeBooks(issueId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("../../aspx/publicationdetails.aspx?issueId=" + issueId, detailsWindowName, features, false);
	wdw.focus();
}

function openIssueDetailsFromeBooks(issueId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("../../aspx/issuedetails.aspx?issueId=" + issueId, detailsWindowName, features, false);
	wdw.focus();
}

function openIssueDetails(issueId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("aspx/issuedetails.aspx?issueId=" + issueId, detailsWindowName, features, false);
	wdw.focus();
}

function openIssueDetailsForArticle(issueId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./issuedetails.aspx?issueId=" + issueId, detailsWindowName, features, false);
	wdw.focus();
}

function openPublisherDetails(publisherId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./publisherdetails.aspx?publisherId=" + publisherId, detailsWindowName, features, false);
	wdw.focus();
}

function openeBookDetails(eBookId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./ebookdetails.aspx?ebookId=" + eBookId, detailsWindowName, features, false);
	wdw.focus();
}

function openeBookDetailsFromPeriodicals(eBookId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("../ebooks/aspx/ebookdetails.aspx?ebookId=" + eBookId, detailsWindowName, features, false);
	wdw.focus();
}

function openeBookDetailsFromHome(eBookId) {
	var top = 20;
	var height = screen.height - top - 75;	
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./aspx/ebookdetails.aspx?ebookId=" + eBookId, detailsWindowName, features, false);
	wdw.focus();
}

function openAuthorsDetails(authorId) {
	var top = 20;
	var height = screen.height - top - 75;
	var features = "menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=" + top + ",width=640,height=" + height;
	var wdw = window.open("./authordetails.aspx?authorId=" + authorId,"AuthorDetails", features,true);
	wdw.focus();
}

/*internal function. do not use it directly*/
function _OpenWindow(objWindow, sTitle, sURL, sAttributes) {
	if (objWindow) {
		if (!objWindow.closed) {
			//objWindow.document.location.href = sURL;
			objWindow.close();
		}
		objWindow = null;
	}
	objWindow = window.open(sURL, sTitle, sAttributes, false);

	return objWindow;
}

function OpenECart(sURL) {	
	var lWidth = 360;
	var lHeight = 460;
	var lLeft = screen.width - lWidth - 8;
	var lTop = 20;
	wECart = _OpenWindow(wECart, 'eCart', sURL, "menubar=no,resizable=no,scrollbars=yes,status=no,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight, false);
	wECart.focus();	
}

function ViewArticle(Department, ItemID) { //Department : 0 = periodicals, 1 = books	
	var lWidth = 630;
	var lHeight = 450;
	var lLeft = screen.width/2 - lWidth/2;
	var lTop = screen.height/2 - lHeight/2;	
	var sURL = "eCart.aspx?AddItemID=" + ItemID;
	if (Department==1) sURL = "../../aspx/" + sURL
	wPayment = _OpenWindow(wPayment, 'Payment', sURL, "menubar=no,resizable=no,scrollbars=no,status=yes,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight, false);	
}

function OpenPaymentFromECart(sCookieID) {	
	var lWidth = 630;
	var lHeight = 450;
	var lLeft = screen.width/2 - lWidth/2;
	var lTop = screen.height/2 - lHeight/2;	
	wPayment = _OpenWindow(wPayment, "Payment", HTTPS_URL + "asps/pgw.asp?CookieID=%7B" + sCookieID.replace("-","%2D") + "%7D&extra=0&step=1", "menubar=no,resizable=no,scrollbars=no,status=yes,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight, false);	
}

function OpenPaymentForSubscription() {	
	var lWidth = 630; 
	var lHeight = 450;
	var lLeft = screen.width/2 - lWidth/2;
	var lTop = screen.height/2 - lHeight/2;
	wPayment = _OpenWindow(wPayment, "Payment", HTTPS_URL + "asps/pgw.asp?step=2&extra=0", "menubar=no,resizable=no,scrollbars=no,status=yes,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight, false);	
}

function OpenPaymentToCreateAccount() {	
	var lWidth = 630;
	var lHeight = 450;
	var lLeft = screen.width/2 - lWidth/2;
	var lTop = screen.height/2 - lHeight/2;
	wPayment = _OpenWindow(wPayment, "Payment", HTTPS_URL + "asps/pgw.asp?step=1&extra=1", "menubar=no,resizable=no,scrollbars=no,status=yes,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight, false);	
}

function OpenPaymentForPrePaidAccount() {	
	var lWidth = 630;
	var lHeight = 450;
	var lLeft = screen.width/2 - lWidth/2;
	var lTop = screen.height/2 - lHeight/2;
	wPayment = _OpenWindow(wPayment, "Payment", HTTPS_URL + "asps/pgw.asp?step=1&extra=2", "menubar=no,resizable=no,scrollbars=no,status=yes,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight, false);	
}

function OpenLogin(lTarget) {
	var sResizable = "no";
	var lWidth = 320;
	var lHeight = 180;
	var lLeft = (screen.width - lWidth)/2;
	var lTop = (screen.height - lHeight)/2;
	if (navigator.appName == 'Netscape') sResizable = "yes";
	wLogin = _OpenWindow(wLogin, "Login", HTTPS_URL + 'ASPs/login.asp?target=' + lTarget, "menubar=no,resizable=" + sResizable + ",scrollbars=no,status=no,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight, false);
	wLogin.focus();	
}

function OpenHistory(UserType) {
	var sResizable = "no";
	var lWidth = 640;
	var lHeight = 480;
	var lLeft = (screen.width - lWidth)/2;
	var lTop = (screen.height - lHeight)/2;
	if (navigator.appName == 'Netscape') sResizable = "yes";
	if (UserType==1) {		
		wHistory = _OpenWindow(wHistory, "MyFiles", HTTPS_URL + 'ASPs/history.asp?CookieID={11111111-1111-1111-1111-111111111111}', "menubar=no,resizable=" + sResizable + ",scrollbars=no,status=no,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight);
	} else {			
		wHistory = _OpenWindow(wHistory, "MyFiles", HTTPS_URL + 'ASPs/history.asp?CookieID=' + GetCookie('eShoppingCart').split('=')[1], "menubar=no,resizable=" + sResizable + ",scrollbars=no,status=no,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight);	
	}
	wHistory.focus();
}

function OpenMyAccount(UserType) {
	var sResizable = "no";
	var lWidth = 640;
	var lHeight = 480;
	var lLeft = (screen.width - lWidth)/2;
	var lTop = (screen.height - lHeight)/2;
	if (navigator.appName == 'Netscape') sResizable = "yes";
	//if (UserType==1) {		
		wAccount = _OpenWindow(wAccount, "MyAccount", HTTPS_URL + 'ASPs/MyAccount.asp?CookieID={11111111-1111-1111-1111-111111111111}', "menubar=no,resizable=" + sResizable + ",scrollbars=no,status=no,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight);
	//} else {			
	//	wAccount = _OpenWindow(wAccount, "MyAccount", HTTPS_URL + 'ASPs/MyAccount.asp?CookieID=' + GetCookie('eShoppingCart').split('=')[1], "menubar=no,resizable=" + sResizable + ",scrollbars=yes,status=no,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight);	
	//}
	wAccount.focus();
}

function OpenReports() {
	var sResizable = "no";
	var lWidth = 660;
	var lHeight = 480;
	var lLeft = (screen.width - lWidth)/2;
	var lTop = (screen.height - lHeight)/2;
	if (navigator.appName == 'Netscape') sResizable = "yes";	
	wReports = _OpenWindow(wReports, "Reports", HTTPS_URL + 'ASPs/Reports.asp?CookieID={11111111-1111-1111-1111-111111111111}', "menubar=no,resizable=" + sResizable + ",scrollbars=yes,status=no,left=" + lLeft + ",top=" + lTop + ",width=" + lWidth + ",height=" + lHeight);	
	wReports.focus();
}

function InitHistory() {
	var lWidth = 640;
	var lHeight = 480;
	var lLeft = (screen.width - lWidth)/2;
	var lTop = (screen.height - lHeight)/2;
	window.resizeTo(lWidth, lHeight);
	window.moveTo(lLeft, lTop);
}

function CloseWindow() {
	window.close();
	return;
}

function showDetails(elementId) {
	var rowElement = document.getElementById("Row" + elementId);
	var buttonElement = document.getElementById("button" + elementId);
	
	if (buttonElement.activeText)
	{
		rowElement.cells[0].innerHTML = buttonElement.activeText;
		buttonElement.activeText = ''; //release memory
	}
	else
		rowElement.style.display = 'inline';

	buttonElement.innerHTML = "Hide Details";
	buttonElement.href = "JavaScript:hideDetails('" + elementId + "')";
}

function hideDetails(elementId) {
	var rowElement = document.getElementById("Row" + elementId);
	var buttonElement = document.getElementById("button" + elementId);
	
	buttonElement.activeText = rowElement.cells[0].innerHTML;
	rowElement.cells[0].innerHTML = '';
	
	buttonElement.innerHTML = 'Show Details';
	buttonElement.href = "JavaScript:showDetails('" + elementId + "')";
}

function SearchArticles() {
	var params = "";
	var param = "";
	for (var i=0; i < document.Criterias.elements.length-1; i++)
	{
		param = "";
		if (document.Criterias.elements[i].name == "domains")
			param = document.Criterias.elements[i].options[document.Criterias.elements[i].selectedIndex].value;
		else
		{
			if (document.Criterias.elements[i].name == "publications")
				param = document.Criterias.elements[i].options[document.Criterias.elements[i].selectedIndex].value;
			else				
				param = document.Criterias.elements[i].value;
		}
		
		params = params + param + "!";
	}
    
	
	//if (params.length < 85)
	//	alert ('Please refine your search criteria !');
	//else
	//{
		params = AnsiToUnicode(params);
		//alert(params);
		document.location.href='SearchArticles.asp?param=' + params;
	//}
}

/* 
function QuickSearch()
{
   params=document.QuickS.Keyword
   params=AnsiToUnicode(params);
   parent.results.location.href='ResultsQuickS.asp?param=' + params;      
	
}
*/

function SearchBooks() {
	var params = "1!";
	var param = "";
	for (var i=0; i < document.Criterias.elements.length-1; i++)
	{
		param = "";
		
		if (document.Criterias.elements[i].name != "SearchA")
		  {   
		   if (document.Criterias.elements[i].name == "domains")
			  param = document.Criterias.elements[i].options[document.Criterias.elements[i].selectedIndex].value;
		   else
		      {
			    if (document.Criterias.elements[i].name == "pubh")
			       param = document.Criterias.elements[i].options[document.Criterias.elements[i].selectedIndex].value;
			    else  
			       param = document.Criterias.elements[i].value;
		      }		
		   params = params + param + "!";
		  } 
	}

	//if (params.length < 85)
	//	alert ('No or too short search criteria!');
	//else
    // {
		params = AnsiToUnicode(params);
		parent.Results.location.href='ResultsBooks.asp?param=' + params;
	// }
}

function CheckISBNCode(sString) {
	var i=0;	
	var nChkSum =0;
	retString = '';
	for (i=0; i < sString.length; i++){ //all un-digit characters are removed
		switch(sString.charAt(i)){
		   case '0':		            
		   case '1':
		   case '2':
		   case '3':
		   case '4':
		   case '5':
		   case '6':
		   case '7':
		   case '8':
		   case '9':
		   case 'X': //it can appear only as check digit (last position)
		   case 'x':
			   retString = retString + sString.charAt(i);
			   break;
		}
	}
	retString = retString.toUpperCase()
	
	if(retString.length != 10)	   
	   alert('The ISBN number must contain 10 digits. Please check again your ISBN.');	   
	else{   //proceed to check the sum control
	   
	   for(i=8;i>=0;i--){ // the formula of ISBN checksum http://www.bisg.com/algorithms.html
	      nChkSum= nChkSum + (i+2)*retString.charAt(8-i);
	   }
	   
	   nChkSum = 11 - nChkSum % 11;
	   
	   if( ((nChkSum<10) && (nChkSum == retString.charAt(9))) || ((nChkSum==10) && ('X' == retString.charAt(9))))	   	 
	     //ISBN is OK. Proceed to the book finding.
	     parent.Results.location.href='ResultsBooks.asp?param=2!' + retString;	     
	   else
	     alert('The ISBN specified is NOT a valid ISBN. Please check again each digit from your ISBN.');
	     
	}   
	return retString;
}

function AnsiToUnicode(sString) {
	var i=0;
	retString = '';
	if(sString){
	  for (i=0; i < sString.length; i++)
	    {
		  if (sString.charCodeAt(i) > 127 || sString.charCodeAt(i)== 38 || sString.charCodeAt(i)== 32 || sString.charCodeAt(i)==35 ) // 38=&, 32=space, 35=#
		    	retString = retString + '$$' + sString.charCodeAt(i) + ';';
		   else
			    retString = retString + sString.charAt(i);		
	     }
	   return retString;
	}else{
	     return "";
	}  
}


function SearchLinks() {
	var params = "";
	var param = "";
	for (var i=0; i < document.LinkSearch.elements.length-1; i++)
	{
		param = "";
		if (document.LinkSearch.elements[i].name == "domains")
			param = document.LinkSearch.elements[i].options[document.LinkSearch.elements[i].selectedIndex].value;
		else
		{
			if (document.LinkSearch.elements[i].name == "countries")
				param = document.LinkSearch.elements[i].options[document.LinkSearch.elements[i].selectedIndex].value;
			else
				param = document.LinkSearch.elements[i].value;
		}
		
		params = params + param + "!";
	}

	//if (params.length < 11)
	//	alert ('No search criterias !');
	//else
	//{
		params = AnsiToUnicode(params);
		//alert(params);
		document.location.href='SearchLinks.asp?param=' + params;
	//}
}


function onchangeAuthorLN(obj){
  if(obj.value == sPassedALN)  
     document.Criterias.elements[6].value = sPassedAID;
  else
     document.Criterias.elements[6].value = "";   
}

function onchangeAuthorFN(obj){
  if(obj.value == sPassedAFN)  
     document.Criterias.elements[6].value = sPassedAID;
  else
     document.Criterias.elements[6].value = "";
}


function SendAuthor(LN,FN,ID){ 
   sPassedALN = LN;
   sPassedAFN = FN;
   sPassedAID = ID;
   document.Criterias.elements[3].value = LN;
   document.Criterias.elements[4].value = FN;
   document.Criterias.elements[6].value = ID;         
}


function SetSessionID(SessionID) {
	sSessionID = SessionID;
}

function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break; 
  }
  return null;
}

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

function MM_preloadImages() { //v3.0
  var d=document;
  if(d.images){
        if(!d.MM_p) 
            d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
        for(i=0; i<a.length; i++)
            if (a[i].indexOf("#")!=0){
                d.MM_p[j]=new Image;
                d.MM_p[j++].src=a[i];
             }
  }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function OpenPriceWindow(sURL) {	
	wdw = _OpenWindow(wdw, null, sURL, 'menubar=no,resizable=yes,scrollbars=yes,status=yes,left=0,top=20,width=580,height=480');
	wdw.focus();
}

function OpenMesseWindow(sURL) {	
	wdw = _OpenWindow(wdw, null, sURL, 'menubar=no,resizable=no,scrollbars=no,status=no,left=0,top=20,width=748,height=498');
	wdw.focus();
}